As many know in Revit you can turn a string of dimension segments into an equality constraint by clicking an EQ control. I'll summarize some of the capability:
Clicking the control creates a constraint. If you delete an equality dimension you will see the warning:
"A Dimension with Lock and/or EQ Constraints is being deleted, but the elements will still be constrained. Push "Unconstrain" to remove the Constraints or "OK" to leave elements constrained."
Essentially the message allows you to remove the dimension annotation and the constraint or just the dimension annotation. If the constraint is kept the elements will still try to maintain an equal spacing.
When a dimension is turned into an equality you can choose what text to display or if values are displayed instead.
The type property "Equality Text" controls the text value:
An the instance property "Equality Display" controls if the text is used in lieu of the actual value:
Now onto the requests:
Some of you have asked for a third option where the equality string can be customized. In this case an entire equality string would display a single value derived from a formula such as 3 @ 4' - 6" or 3 X 4' - 6" = 13' - 6".
The elements that could be used in a formula would be:
- Number of Extension Lines
- Repeat Segment Length
- Number of repeating Segments
- Total Length
There are also different graphic styles for the interior segments:
I'd like to get more feedback from people that this matches your requests or if there is another aspect to equality dimensions you can't create easily with the current version of Revit such as display properties derived from the elements being dimensioned.
_erik
Just so I understand, one would do (Number of repeating Segments) @ (Repeat Segment Length) = (Total Length), which would yield 3 @ 4'-8" = 14'-0" Yes?
I think that's great, and would match the way we'd like to annotate. Is this a project-wide setting, with Project Units, or an instance property of the dimension string?
You may not want this feedback here, but there are two variations of the equal tool that we've been missing: the ability to have non-contiguous elements be equal, and the ability to set up some sort of A-B-A-B-A rhythym.
One use case for the non-contiguous, yet equal elements would be for a run of custom casework that has a sink offset from the middle. The surrounding elements want to be the same sizes but they're not particularly "pretty" dimensions. Achieving this is a manual process in Revit now, but I'd like to be able to tell Revit to make one set of repeating elements the same size another repeating set (not the overall sizes, but the calculated dimensions within).
Alternating rhythyms has all sort of uses. Suffice it to say that it sure would be handy to have the ability to just place a label/parameter, as in the family editor. All of a sudden, the parametric possibilities explode.
Posted by: Joel Osburn | March 29, 2011 at 05:13 PM
Great blog.
Thanks
Jocelyn
Posted by: Kitchen | March 29, 2011 at 07:34 PM
in addition I'd like to that the symbol "@" is not hard-coded into the dimension line but could be changed somewhere in the settings
Posted by: Priit | March 30, 2011 at 01:00 AM
PLease set this up so users can conttrol the dimension text in much the same way as labels. Give the user the parameters and let us assemble them in whatever order we want and add whatever text pieces we want (@, =, etc)
Posted by: Ben Osborne | March 30, 2011 at 08:19 AM
copy that. The ui you menton does exist in tag annotations and would likely be a good precident
Posted by: Anthony Hauck | March 30, 2011 at 08:45 AM
Graphically I like option 2 of your 3 illustrations - it seems to convey the message best. Having said that, we have not needed to display formulas in dimension text.
But what we often need to do is the non-contiguous equal dimensions, as mentioned by Joel. Typically we might want to have a string of 3 dimensions where the two outside ones are equal, but the middle one shows a value (and is different from the outside ones).
In terms of using Equals as a constraint, again we often want to do non-contiguous equality constraints. In this instance we may not want to actually dimension the middle segment. we can easily achieve this in a component with parameters, but not so in the project environment.
Incidentally, once you delete a constrained equal dimension, but keep the constraint, how on earth are we supposed to find and remove that constraint when we don't want it?
Posted by: Tim Waldock | March 30, 2011 at 07:37 PM
"Incidentally, once you delete a constrained equal dimension, but keep the constraint, how on earth are we supposed to find and remove that constraint when we don't want it?"
Good question. The system should really display a control to do this. The only way I can see is to move a participating element using the "disjoin" option. The align locks have a similar issue.
Posted by: Erik | March 31, 2011 at 09:45 AM
Joel, your understanding is correct and would be applicable to linear, aligned and arc length dimension types. The ABABA rhythm (not to be confused with ABBA rhythm) is more complicated but I understand many would like to see this too. The use case is helpful. BTW do you know of any other products that do this. I'm curious to see how it was approached.
Posted by: Erik | March 31, 2011 at 09:50 AM
I have a pet peeve which I would like to see initiated. I was taught decades ago that when one is dimensioning any dimension 2'-0" or less should be expressed in inches rather than feet and inches. I would rather express a dimension annotaion as 12 spaces @ 16"oc rather than 12 spaces @ 1'-4" oc.
Posted by: Dick Barath | March 31, 2011 at 11:36 AM
That could be easily taken care of with a project setting (check box and threshold value) I for one wish we would just switch to metric.
Posted by: Anthony Hauck | March 31, 2011 at 11:39 AM
Great post!
Option "C" - with the ability to tweak or revise the "@" to something else.
For example:
3 EQ SPACES = 14'-0"
Posted by: Mike Jones | April 02, 2011 at 02:37 PM
agree. all non value text strings should be customizable
Posted by: Anthony Hauck | April 02, 2011 at 03:29 PM
Erik-
Re. non-contiguous but equal dimensions, I can see two ways to go. First, one could invent an Equal tool, which when active would let one select multiple dimensions strings to be made equal to one another. Then one could specify what that value would be, either for an individual segment or for the overall (similar to the way array works), and then you'd have to re-arrange the surrounding elements as desired. If two or more of the strings were contiguous, then they would display as you've outlined in this post. Single elements would simply display the value. Using this twice, on different elements might allow creating an ABABA rhythm, too, but it could be dicey given that Revit won't necessarily know what to move without breaking the first set of A constraints.
The other way would be to simply allow Project Parameters to be applied to individual dimensions like one would do in a family. If I were able to create Parameter Groups with Project Parameters similar to what one can with Shared Parameters (hint, hint), then I'd make a Casework Dimensions group, and have Room 117 A Dim, Room 117 S Overall Dim, and Room 117 Sink Dim. Then the A dim is Overall - Sink. And the individuals (Room 117 Casework Unit Dim) are A/quantity. Or whatever was appropriate. This way then solves both use cases mentioned above, and paves the way for more parameter driven modelling.
Posted by: Joel Osburn | April 04, 2011 at 06:01 PM
Thank you for the examples. That does seem flexible/powerful.
Posted by: Anthony Hauck | April 05, 2011 at 09:48 AM
How difficult would it be to add a double arrow to the end of an equal spacing dimension string to indicate that the spacing continues?
Posted by: Dick Barath | April 12, 2011 at 03:37 PM
Do you mean a double tick mark annotation or are you referring to a Revit control?
Posted by: Anthony Hauck | April 12, 2011 at 05:11 PM
Erik:
Guess it would be a double tick mark pointing into empty space - probably would have to be some sort of control marker. To bad I can't send image.
Thanks
Posted by: Dick Barath | April 12, 2011 at 09:08 PM