These are two more examples to show how versatile the Assembly4 LCS, attachment, variables, and expression tools are when creating more complex constrained motion in your assemblies.
In addition to a circle and an ellipse, a spline (think, cam surface) can be used to constrain the motion in an assembly as this example shows. In this instance, the datum point reference is attached to the sketch spline with an On Edge mode. The point can be moved along the spline path using the Map Path Parameter found in the Attachment property view. The map path parameter varies from 0 to 1 starting at the single spline vertex (zero to 100% of the spline length).
If you describe this with a variable (e.g. c_theta) and an expression then it is possible to animate the movement of the reference point which the rods will follow exactly as constrained by the LCS attachment modes. One example is shown in the following video.
alignrod7.jpg (261.75 KiB) Viewed 572 times
'
This video was created with the Save function of the Assembly4 animator:
This next example shows how you can combine different motions simultaneously as long as you can describe them all as a function of a single independent variable, such as time.
You can accomplish this by constraining the body link attachment offset rotation( angle about its Z axis) with a variable as shown in the property view. Only this rod will rotate if the variable is changed by the animator as shown in the next video. If you want all of the rods to rotate the same, then use the variable for the attachment offset of its body link LCS.
One final example to demonstrate the possibilities. Consider two followers and an arbitrary cam path that can be defined by a spline:
The first step is define the variables: math path parameter, time, distance between the wheels, and the path spline length. Next, set the range limits of the independent variable, time, in the Assembly4 animator as shown in the image.
A constraint sketch is used to define the cam path with a spline. '
wheels1.jpg (240.45 KiB) Viewed 469 times
The next step is to attach LCS 'mating connectors' to the path using a normal or tangent to edge mode. In order to move the LCS's along the path we will again use the map path parameter variable as shown in the property panel.
Remember, the map path parameter is a percentage of the distance along the path. It can be greater than one or negative if you want to increase the number of trips around the path or to reverse its direction.
The inset image shows how the two LCS's are separated using the offset and spline length variables. '
wheels2.jpg (817.17 KiB) Viewed 469 times
The final step is to assemble the wheels by attaching the LCS's. At this step you are done if the follower slides along the path. If not, and you want the wheels to turn then define the attachment offset angle of the body LCS with an expression.
In this example, the time variable, actually the distance along the path, is divided by the wheel circumference to produce some desired number of wheel rotations (360 deg) around the path as shown in the following video. '
So much for the fancy stuff. Now for some basic examples.
The Assembly4 LCS 'mating connector' is a universal assembly constraint in that it can be tailored for various assembly requirements. This can done using variables and expressions in the LCS attachment map mode and offset properties and the body assembly link attachment offset properties as shown in the previous examples. What follows are examples some of the basic constraint expressions for first time users:
When you assemble two body links using an LCS mating connector it is a static joint in which all of the six (6) degrees of freedom (DOF) are locked. If you need to allow some relative motion then you must release the necessary DOF's. This can be done with a motion variable that is applied in an expression that defines the allowable motion which is limited by the animator.
In this example we want to allow the pin to slide in a hole. First, assemble the Base body link to the Parent LCS and the Pin link to the Base link LCS.
Next, define an Assembly4 variable 'pin' to control the motion. The allowable range of motion is controlled by the range values in the animator as shown in the Animate Assembly dialog box.
The final step is to assign the motion variable to an expression in the body link attachment offset properties to define the pin's distance along its Z axis direction. This provides a sliding joint. The position can only be changed with the animator. If you run the animator you verify the pins motion within its allowable range which constrains the assembly joint. '
pin in hole.jpg (306.81 KiB) Viewed 86 times
In this example, we want to allow some relative hinge motion between common edges of two boxes. When you first create the box make sure that its default LCS is located at the common edge.
Assemble one box to the parent assembly. The other box is assembled to the common edge using the LCS at the edge. If this is to be a hinge joint, then the motion of one of the boxes about its common edge must be released with a variable and an expression.
Define a variable 'corner' that will limit the motion about the box's link Z axis in the attachment offset properties as shown in the image. The range of motion can be limited by the animator to 270 deg to prevent any collision.
Use the animator slider to check its allowable motion. '
edge to edge.jpg (303.3 KiB) Viewed 86 times
This is common screw joint constraint which a bit more complicated because we have one constraint dependent upon another. For instance, the nut cannot move along the screw unless it can turn. This requires an independent variable 'nut' to move it along the screw's axis and an expression in its attachment offset angle about its Z axis to allow the nut to turn.
The expression is shown in the attachment offset property uses the nut's placement and the thread pitch (1 mm) to insure that it always turns 360 deg for 1 mm of motion along the Z axis.
In this example, the screw is fixed and assembled to the parent assembly. The nut is also assembled to the parent. If the nut is fixed, then it can be handled is a like manner but the independent variable is the number of turns or angle about its Z axis and the screw Z position is derived from the nut's placement property using the thread pitch similar to the above. '
Nut on Screw.jpg (255.98 KiB) Viewed 86 times
This is another common constraint where one motion is dependent upon another. This example is a pinion and gear constraint. The variable called 'gear' is the independent variable which controls the gear link rotation about its Z axis in its attachment properties.
Both the gear and pinion are assembled to their respective parents. In this instance the pinion is located by using the pitch radii to offset it in its X direction.
If the gear turns then the pinion must be constrained to also turn but in the opposite direction according to the ratio of the number of teeth on each. This can be done in an expression for the pinion angle about its Z axis.
The -1 in the expression reverses the direction of rotation for the pinion and the added 360/teeth angle aligns the gear and pinion at 0 deg to insure that the gears are always properly meshed.
gear & pinion.jpg (321.98 KiB) Viewed 86 times
In this example the rack moves in its Y direction using the variable 'rack' and the pinion angle is dependent upon rack's motion. The expression used for the pinion offset angle about its Z axis insures that it rotates the correct number of degrees based on the transverse pitch of the rack. I.e. if the rack moves one pitch then the pinion must rotate one tooth spacing which is 360/teeth. The 1 mm in the expression keeps all the units correct so that rotation is in degrees and the -1 determines the direction of rotation.
rack & pinion.jpg (315.98 KiB) Viewed 86 times
'
In the next post I will include several more examples along with the assembly file which has all of the constraints described in these images for your review and comment.