Saturday, August 18, 2012

Constraining Tangents

I read a post at AUGI the other day which originated with a post in July (2012). The goal was to create a rebar shape for detailing purposes. A few people offered ideas even a file or two. It seemed simple enough to do but digging into it I found several variations in a theme to constrain the geometry works. Here's my exploration captured in these images.

This image is the overview of what parameters are desired: Length, Depth, Fillet Radius and Angle.


Simply sketching the "bones, muscle and skin" is often enough. In this situation, as you flex the parameters the tangent arc starts to distort eventually. Revit does not understand how to respect the arc and line end points, keeping the lines tangent to the arc. That means it needs more constraints. One way to see how well Revit understands our intentions is to turn on Automatic Sketch Dimensions (ASD's).


When you see little blue dimensions you know that Revit doesn't understand you, you need to be more explicit. If you look closely at the very last image you'll a single ASD (showing 0'-0") along the vertical reference plane. Unfortunately just getting rid of ASD's with better constraints isn't a guarantee for success.

This image is the messiest solution, I used a circle to "see" how the geometry moved around and then used it to create enough constraints so that it flexes correctly.


This image is a variation on the previous theme but using Reference Lines as the underlying "bones", pretty "messy" too eh?


This is yet another approach. I used a pair of model lines (assigned to Invisible) to govern the location of the arc and line endpoints.


This final one is the simplest in appearance but it has two line segments instead of one along the angled segment. I noticed that connecting the end of the angled line would break the relationships. I tried pulling the end of the line away from the end of the arc, leaving them apart, and flexing geometry worked. That led me to try a second line between the end of the arc and the end of a smaller line and it worked too. Not obvious at all. It also means that the family will break if one of these segments is flex too far, assuming the changes result in a zero length segment. The family will break easily anytime the angle entered creates a zero length segment of the vertical line too (all of them, not just this one). Fragile but the family works.


In the thread at AUGI the member that started it all replied that he figured out how to solve it after reading a post at BIM & BEAM. I tried using the formulas as well but found it was necessary to play the "two lines instead of one trick" to get it to behave.

If you'd like to play around with the families I created doing this I've posted them HERE. I'd be interested if anyone can find simpler solutions.

[Edit 08/20/2012: Alfredo Medina shared a solution at the AUGI thread that uses formulas to define the relationships consistently. CLICK to watch his video of it flexing. CLICK to download his family. (You'll need to log into AUGI to download it most likely)

No comments:

Post a Comment