Our objective in this case will be to make a piston be restricted in a cylinder. We accomplish the task by adding work surface features to each body and then add transitional constraints to these surfaces. In our case below we edit our cylinder and place a sketch within a plane in the cylinder's body. On that sketch we project the 2 inside ends (dark blue below) of our cylinder and then draw a line between them that stops short by the distance of our piston's head length (0,.5 in my case). In my case below the new line is black and is 0.5 from either end as shown by the 2 dimensions.
Ok, with that done on our first part, lets add a similar surface to our piston head. We make a similar sketch inside the piston part and again we project the ends of the cylinder's head to establish the length. We draw a line between the 2 projected ends and lastly make a surface based on that new line. In the image below, you see we have sliced the graphics and the 2 projected edges are in dark blue with the newly drawn line in light blue as it is being extruded into a surface. My surface size is again bi-directional and large enough to encompass the model's size.
With these work surfaces on both parts, in the assembly, we add a simple axial constraint between the piston and the rod. You can see the 2 work surfaces in the image below shown as brown translucent surfaces. After the axial constraint is applied, adding a mate constraint between the two newly created workplanes. The mate constraint can either be a mate or flush constraint.
Lastly we add a transitional constraint between the work surface on each part. This is show being added below with the surfaces in bright blue. We apply the constraint and we're done.
The piston assembly is complete and the head will not exit the cylinder, yet it will have kinematic freedom to move within its stroke. For visible clarity, you can edit each part and turn off the visibility of both surfaces as they aren't required. The completed assembly is shown below.
©2003-2009,Drew Fulford, edited by Dennis Jeffrey |