For a one-button workflow to work a basic selection and workflow scheme needs to be followed.
Rapid SDK is based on an initial selection which defines driver and driven objects. Since there is no selection order in Blender but everything is based on an active object and an additional selection the system defines the selection rule: The active object is the driver and all other selected object are defined being driven.
Because of this requirement it’s currently not possible to have more than one driver object during the setup.
When setting up a driven key relationship the general procedure is to first define the starting values and, after storing these, to then define the end values of the range. Using a predefined range of motion (ROM) by having a temporary animation on the driver is a common practice and helps going back to specific values to further refine the relationship.
With these fundamentals it’s easy for Rapid SDK to identify what the driving and driven properties are; everything which changed between the start and end of the defined range will be a part of the created driver. If more than one property changed on the driver the sum of these values will be used as the driving value. If one or more properties changed on the driven object the driver will affect these individually.
To edit an existing driver only one object may be active. Again, this is a limitation by the selection system of Blender.
When going into Edit mode only driven properties are being recorded and evaluated for editing. Any animated properties are skipped. All driving curves of driven properties will be muted. This allows the user to change the current values. Either on the start or end point of the driven range or at any point in between, for example to adjust the linearity of the relationship.
After editing the driven value and leaving Edit mode either existing driven keypoints are updated or a new keypoint is created. Any previously muted driver curves are set back to active.
These simple steps allow Rapid SDK to evaluate and choose the current mode based on the selection and furthermore take only the changing properties into consideration. Therefore it’s necessary to setup more complex relationships in a one-by-one fashion to guarantee that only the right properties are considered for the setup.