Hi -
We show all our existing doors at a 45 degree angle. Currently, we just have an angle parameter to adjust the family to show the door swing at 45 or 90 degrees. Is it possible to have a formula built into the door family to automatically show the door at 45 degrees (visibility or angle parameter) depending on what phase the door is built in? This is a small thing but would save us time from having to select every existing door and adjusting the angle. It would be great if it just automatically adjusted to the 45 degrees when assigned to existing phase.
Gelöst! Gehe zur Lösung
Gelöst von mhiserZFHXS. Gehe zur Lösung
Not fully automatic, no. I put a yes/no parameter in our door families for existing vs new, which is then scheduleable and drives the swing angle of the door. I also made a Dynamo script that will then set that parameter for all doors based on their phase of creation. Honestly, I don't use it much. I usually just set the yes/no parameter as I go, but our projects also aren't massive, so its not a big deal.
Autodesk really needs to make built-in parameters more functional with user-created parameters. There is an immense amount of automation/quality control we are missing out because of these separations.
what about a Phase Parameter in the Door Family for the Swing? A Visibility parameter associated with each Swing. Phase Existing=one door swing. Phase New Construction=not(Phase Existing).
....never mind, that won't do it. I would probably share and nest the Swing into Door Family. The Swing linework/geometry would be in its own Subcategory of Doors. Then I would use a Rule-Based View Filter to control which one is Visible. Maybe a View Template with that View Filter (e.g. "Existing Phase" View Template and "New Construction" View Template).
...Phase/Phase Filter is a View thing anyways.
@ryanNGREA wrote:
... would save us time from having to select every existing door and adjusting the angle. ...
Have a view whose phase is existing, then all the doors you see there are existing. Then select all doors in the view at once and change their rotation value. That can be done very quickly.
You sure about that, @Alfredo_Medina?
Subcategory to control Visibility. Not Instance Parameter in Family. Right? Or am I misunderstanding you?
If a view is set to existing, and the existing doors are set as existing, simply select all doors and change their rotation property to be 45. Is there anything else to do?
@barthbradley wrote:what about a Phase Parameter in the Door Family for the Swing? A Visibility parameter associated with each Swing. Phase Existing=one door swing. Phase New Construction=not(Phase Existing).
....never mind, that won't do it. I would probably share and nest the Swing into Door Family. The Swing linework/geometry would be in its own Subcategory of Doors. Then I would use a Rule-Based View Filter to control which one is Visible. Maybe a View Template with that View Filter (e.g. "Existing Phase" View Template and "New Construction" View Template).
...Phase/Phase Filter is a View thing anyways.
Hm, that's not a bad idea. We use the phase parameter I described above to drive a concatenated (EX) at the end of our door panel quantity, so we'd lose that with your system, but that'd be a good one if someone just needs to drive the swing angle.
@Alfredo_Medina wrote:If a view is set to existing, and the existing doors are set as existing, simply select all doors and change their rotation property to be 45. Is there anything else to do?
You might be right. I was reading it differently. The doors exist in all Phases. They just show a different swing depending on the Phase of the View.
The point isn't to find a work around. I am curious if there is a parameter formula that works with a family's built phase. I am looking to build a smart family that will do this automatically for you, work smarter not harder. After more research, it doesn't like there is any formula that allows this. Revit desperately needs more user customization
@ryanNGREA wrote:The point isn't to find a work around. I am curious if there is a parameter formula that works with a family's built phase. I am looking to build a smart family that will do this automatically for you, work smarter not harder. After more research, it doesn't like there is any formula that allows this. Revit desperately needs more user customization
I'm not clear what it is that you want. I'm also having a problem reconciling these statements: "the point isn't to find a work around" and "Revit desperately needs more user customization". Don't "workarounds" facilitate user customizations?
@barthbradley wrote:
@ryanNGREA wrote:The point isn't to find a work around. I am curious if there is a parameter formula that works with a family's built phase. I am looking to build a smart family that will do this automatically for you, work smarter not harder. After more research, it doesn't like there is any formula that allows this. Revit desperately needs more user customization
I'm not clear what it is that you want. I'm also having a problem reconciling these statements: "the point isn't to find a work around" and "Revit desperately needs more user customization". Don't "workarounds" facilitate user customizations?
Eh, I understand what they want and I also get their frustration. In this case, I would genuinely consider our solutions to be workarounds. Sometimes folks throw that word around a bit willy-nilly because they don't like how Revit wants them to do something, even though there is nothing functionally wrong with it.
In this case, there is room for mistakes to happens and/or a lack of efficiency. Your solution works but doesn't allow for the phasing to drive further aspects of the family. My solution works and allows for phasing to drive other things like text parameters within the family, but its not directly linked to the Revit phase so there's room for those two things to go out of sync.
Ideally, we could associate parameters within the family to their project phase, or at least if they are existing, demolished or new within the phase. That allows for all of the pros of both of our solutions without the cons. This is what OP is wanting to do, and unfortunately its not possible right now.
Okay, I get it...I think. So, the OP wants the Door Family to automatically display differently in the Project Views based on Phase the Door was created in. For example, I place a Door in three different Phases in my Project and I want the Door Panel to be closed one Phase, open 45-degrees in another Phase and open 90-degrees in another. Do I have it right?
...just being half facetious.
Yea, either that or have it based on if the door (or any family/element) is existing, new, demolished or temporary in a given phase. I think both would have their own quirks to figure out, but it'd be a very helpful connection to create.
Not all door families have a parameter called Door Swing (or whatever might be used by the end user).
Even if they did have the exact same parameter (a new built-in parameter) to control the door swings on each door... that would control the swing on that particular door everywhere in the model regardless of the view's phase.
So... You start a new project. Everything goes on the "New Construction" phase.
5 years later you remodel that project. "New Construction" becomes "Existing" and all Existing doors need to be modified to have a 45 degree swing, yet, in the "Existing" drawings they need to maintain their previous 90 degree swing...
Same thing for any and all future remodels. Furthermore, what if you are developing two or more phases of construction at the same time and need to print from multiple phase document sets? Not to mention that a Phase could be named anything so how does Autodesk plan ahead for the infinite possibilities?
What we're actually talking about is needing to override the graphics (as opposed to the door instance itself) relative to the phase of the view and the "Phase Created" of the door instance to determine if it should show the swing at 45 or 90 (assuming that the user's desire is to show them as such since not everyone has the same standards) in that particular view (similar to phase Graphic Override settings).
I'm not sure that I want Autodesk hard-coding such a function into our Revit Environment.
But, back to the original question, even if they did allow us access to the instance specific Phase Created value... How would you write a formula within a door family to say:
"if this door instance's Phase Created does not equal this project's newest Phase..."
when neither of those values have any scope until an instance is placed in a project, at which time it can finally take on or be assigned Project specific values..
-G
@GaryOrrMBI wrote:Not all door families have a parameter called Door Swing (or whatever might be used by the end user).
Even if they did have the exact same parameter (a new built-in parameter) to control the door swings on each door... that would control the swing on that particular door everywhere in the model regardless of the view's phase.
Right. I'm not talking exclusively about door swings. I want to be able to access phasing, in one way or another, for all parameters. If people don't want phasing associated with any parameters, they don't have to.
So... You start a new project. Everything goes on the "New Construction" phase.
5 years later you remodel that project. "New Construction" becomes "Existing" and all Existing doors need to be modified to have a 45 degree swing, yet, in the "Existing" drawings they need to maintain their previous 90 degree swing...
Same thing for any and all future remodels. Furthermore, what if you are developing two or more phases of construction at the same time and need to print from multiple phase document sets? Not to mention that a Phase could be named anything so how does Autodesk plan ahead for the infinite possibilities?
Yea, this is why I don't think associating the parameters with phase created/demolished is the way to go. Works fine for simple projects, but can get messy. I'd go with something more like your solution below, similar to the graphic overrides in the phasing menu.
What we're actually talking about is needing to override the graphics (as opposed to the door instance itself) relative to the phase of the view and the "Phase Created" of the door instance to determine if it should show the swing at 45 or 90 (assuming that the user's desire is to show them as such since not everyone has the same standards) in that particular view (similar to phase Graphic Override settings).
I'm not sure that I want Autodesk hard-coding such a function into our Revit Environment.
Again, not advocating for this to solely be hard-coded to door swings. That's silly. I simply think it would be beneficial to access the phasing of families and be able to have parameters within the family interact with the phasing. Door swings would likely just be a super common example that a lot of firms would use.
But, back to the original question, even if they did allow us access to the instance specific Phase Created value... How would you write a formula within a door family to say:
"if this door instance's Phase Created does not equal this project's newest Phase..."
when neither of those values have any scope until an instance is placed in a project, at which time it can finally take on or be assigned Project specific values..
Couple things. One, the entire parameter system is extremely lackluster as is. It really needs an overhaul, in which case this could be more easily implemented. Two, if its purely based on whether the element is existing, demo, new, or temporary in a given phase, then those are four set-in-stone options that would exist within every single family. It SHOULD be simple to reference that (should, because again, Revit's parameter system is a mess, so it could very well be impossible within the current system). Within a new system, though, ideally formulas could, one way or another, be incorporated within families from within the project environment. Perhaps its an option within the families editor to have a parameters formula accessible from the project environment, so as to avoid the wild west breaking out within the project environment. In that case, perhaps the creation/demolition phases could be directly interacted with, rather than the relation between those phases and the views phase.
-G
An instance parameter still changes the swing for that instance regardless of what view you're looking at it from (a view set to Existing" phase or a view set to "New Construction" phase)
I wasn't referring to type vs instance for the parameter, the entire response was assuming an instance parameter.
In the partial quote that you included I did, specifically, say "that would control the swing on that particular door", nothing about "Door Type"...
-G
Yah, I know. I bumped the post as soon as my brain registered what you were saying. It's talking longer these AARP days. he, he.
In my defense though, that's exactly why I suggested nesting and subcategories earlier in this thread.
Oh, I agree completely that the current parameter system needs an overhaul.
Why, for example, can we not change a built-in parameter from a Type to an Instance? Why can't we change a built-in parameter from one type of value to another (text to a number for instance)? Why can't we set a instance based project parameter that has numeric type to "can vary in groups", why, why, why... and many of my current frustrations with parameters include all of the ones that get added after you load it into a project (like the one that we're discussing come to think of it
) because I might like to preset a few values that I can't get to...
But, even if they did... you see them as new, existing, demo, etc... those are derived values depending on "Phase Created" and "Phase Demolished", but yes, it would be good if they could give us access to those two parameters so we can derive our own values and yes, they could possibly expose a "Constant" within the family editor to represent the Project's "Newest" phase and perhaps one for the Project's oldest phase since order does matter.
-G
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.