I’ve creating a line based family with embedded text, click dragging left to right, the text looks fine, but if I click drag right to left, the text becomes upside-down.
How do I overcome this problem?
Solved! Go to Solution.
Solved by CoreyDaun. Go to Solution.
Solved by CoreyDaun. Go to Solution.
In the nested annotation Family for the text, you will find a Parameter "Keep Text Readable" under Family Category and Parameters, or under Properties while no elements are selected. Enable that and the text should behave.
That issues doesn't have such a straightforward fix. In your line-based Family, create two new Yes/No Instance Parameters: one for horizontal text and one for vertical. Set the formula for the vertical text to "= not(HorizontalParameterName)". Then place another instance of the nested Generic Annotation Family and rotate it 90°. Select that text and under Properties, click the small gray button beside Visibility and select the corresponding Yes/No Parameter from the list. Do the same for the other instance of the nested Family (should be the opposite Yes/No Parameter). Place the instances overlapping each other. Now, once loaded into a Project, you will have a manual control for the direction of the text, horizontal vs. vertical. Note that this will not account for angled placements.
Thank you for the detailed explanation Corey.
Could I instead add a rotate parameter and lock the text to this? Could that be a better solution?
Sure. I would build the rotation into the nested Generic Annotation Family itself, so it is easier to control in the Host Family. In order to do so, just Group the Text with a Reference Line and then create parametric constraints that rotate the Group based on the embedded Reference Line. See image below.
Once loaded into the Host Line-Based Family, you can create a new Angle Parameter (Instance) to control the Nested Family's rotation; select the nested Family and, under Properties, link the rotation Parameter from the Nested Family to that of the Host Family.
Attached in a quickly hashed-together example Family (in 2014 format).
Corey, I must be doing something wrong. Here’s a rundown.
I open a Generic Annotation Family, draw a reference line, and lock the end point of the reference line to the center of the two reference planes.
I then add an angular dimension, and apply a instance “rotate” parameter.
I then open the family type, and flex the rotate parameter. 0 to 179 degrees works perfect, soon as I type in 180, the parameter breaks.
Brilliant Corey, checked out your .rfa and was able to replicate it.
I think the mistake I was making was locking the reference line end point to the reference planes. Anyway all work well now, so cheers again.
That's actually a common "Revit thing", where you change the angle constraint to zero and it breaks it. If the rotation appears to work correctly for the other angles, leave it at some other angle and load it into host like that. It should perform properly (i.e. accept a zero angle) once manipulated in the host family.