I found this challenge in the AutoCAD forums and decided to tackle it.
The tricky part is getting the corners near the rotation to line up and stretch correctly. Here is the end result.
Alrighty, here goes:
- Create geometry
- Add rotation
- Setup parametric constraints
- Add point at 0,0 for reference.
- Draw two separate polylines, red and green as shown, equidistant from the 0,0 reference. We draw these as polylines so that when the block flexes the lines will ‘extend’ to meet each other.
- Add two lines or polylines for the end caps.
- Add the rotation set at 0,0 as shown.
- Add the yellow line segment to the rotation selection set. We only need to rotate the single object since the rest of the objects will react accordingly once we have our parametric constraints setup.
Setup Parametric Constraints
Alrighty, time for the fun/confusing/frustrating part. Working with parametric constraints can be tricky so I’ll try and explain my methodology here.
- First, I’m going to lock down the geometry that I absolutely do not want to move. In this case the white line is not connected to a polyline nor part of any parameters so I can ignore it. I do want the right hand side of both the red and green polylines to remain horizontal so I add that constraint to both items.
- I also know that I want the right hand end points of the polylines to remain where they are ‘connected’ to the white line so I use the fix constraint on those two endpoints.
- I also know that I need the top lengths of the polylines and the right hand lengths to always be Equal in length so I go ahead and add those constraints. Top green to right green. Top red to right red.
- Ok, now for the magic. Right now if we flex our block the only thing that moves is the yellow line. So I know that the top red and green portion of the polylines need to remain perpendicular to the yellow line. So I add the Perpendicular constraint to both. Be sure to first select the yellow line, then the polyline. Do this for both polylines.
- If you flex (test) your block now you’ll notice that the polylines do not stay connected to the yellow line. To fix this we use the Coincident restraint on the yellow line and the polylines. First select an endpoint of the yellow line and then the corresponding end point for the polyline. Do this for both.
- Test your block and everything should be gravy now!
Good luck and let me know how it turns out for you.