How to set the wall height to respond to ceiling heights instead of levels?

How to set the wall height to respond to ceiling heights instead of levels?

Anonymous
Not applicable
9,330 Views
14 Replies
Message 1 of 15

How to set the wall height to respond to ceiling heights instead of levels?

Anonymous
Not applicable

By default, walls may be constrained to floor levels or reference planes, but not to ceilings.

Most wall heights are respective to ceiling height - not the floor level - and most projects have various ceiling heights.

Since Revit has the RCP information, can wall families be set to rise up to (or offset from) the ceiling in that defined room?

For instance: All walls in "family A" set to a height of 6" above the ceiling, within that room volume?

This way, all walls in "family A" would be adjusted to rise above the ceiling across the project, regardless of the ceiling height in that volume.

Thanks!!

0 Likes
Accepted solutions (1)
9,331 Views
14 Replies
Replies (14)
Message 2 of 15

constantin.stroescu
Mentor
Mentor

if you create some extra Levels at the Cieling heights, you will be able to adjust the height of the walls relative to the ceiling. 

If the wall exist , first , Detach them from the top Floor Level and then set the Top Constraint to new created Levels , with or without offset....

Constantin Stroescu

EESignature

Message 3 of 15

Anonymous
Not applicable

Thanks for the response! 


The problem is that there are several different ceiling heights, so a single level will not work.

Reference planes will, but then I'd have to draw hundreds for each room. 😞 

I just don't understand why the height of a wall can not be respective to the highest adjacent ceiling - if not connected to the deck.

If Revit has the ceiling heights (and can even determine volume?), then why can't the height of a wall use this as a variable?

Is there a script, macro, or Dynamo definition that could accomplish this?

0 Likes
Message 4 of 15

RDAOU
Mentor
Mentor

@Anonymous wrote:

Thanks for the response! 

 

I just don't understand why the height of a wall can not be respective to the highest adjacent ceiling - if not connected to the deck.

 


@Anonymous

 

Because if it is the case; and the height is set by default to the heighest or lowest respective ceiling; you or maybe others will complain "WHY AND WHO TOLD REVIT THAT I WANT TO ATTACH TO THIS CEILING AND NOT THAT"

 

Hence; user has to set the constraints because its as simple as this...the constraints that suite one person do not suit another user. ie: you want it to be set to the highest, someone else to the lowest, and a third to the average...hence; the option is there "Do not attach" set your wall height to the one level you have + or - a top offset

 

It would be a waste of time seeking aid of/from Dynamo and/or other computational design apps and script (which I am 100% you would need assistance with, otherwise you wouldn't have asked if it is possible in dynamo) when one can simply draw those dummy levels, reference planes and/or set enter the Top Constraint offset to get it over with

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


Message 5 of 15

Anonymous
Not applicable

@RDAOU


@RDAOU wrote:

 

 

Because if it is the case; and the height is set by default to the heighest or lowest respective ceiling; you or maybe others will complain "WHY AND WHO TOLD REVIT THAT I WANT TO ATTACH TO THIS CEILING AND NOT THAT"

 

Hence; user has to set the constraints because its as simple as this...the constraints that suite YOU do not suit other users.

 


I'm talking about making a family type with a user-set constraint that sets the wall height respective to the ceiling creating the room volume.  (as opposed to the deck level, reference plane, or user-set level). 

I'm not saying it should replace the current system, but rather that the system ***could be improved*** with a simple "if : then" constraint. 

@RDAOU wrote:


 

 

Instead of wasting the time seeking aid of/from Dynamo and/or other computational design apps and script (which I am 100% you would need assistance with, otherwise you wouldn't have asked if it is possible in dynamo) one can simply draw those dummy levels or reference planes and get it over with

 

Nothing personal; but thats Revit 101



Instead of drawing those dummy levels or reference planes for ***hundreds of rooms*** in a 200,000 square foot building, I'd much prefer to have the walls respond to changes in the ceiling by other users in the central model. 

It would prevent user-error and change orders down the line. 

Obviously, I would need help with Dynamo and scripting - that would be why I asked for help with dynamo and scripting. 


 

0 Likes
Message 6 of 15

RDAOU
Mentor
Mentor

@Anonymous

 

Your statement: setting wall heights respective to the ceiling creating the room volume

 

Reply - Revit 101: Room volume is only computed after you define the room constraints and walls are one of those constraints (ceiling and floor are the other constraints)  so the dependancy doesn't work the opposite way round... you set your floor, ceiling then walls in order to calculate the volume. This is not the system this is geometry. There is no volume for a none existing geometry

 

 

Your statement:Instead of drawing those dummy levels or reference planes for ***hundreds of rooms*** in a 200,000 square foot building, I'd much prefer to have the walls respond to changes in the ceiling by other users in the central model.

 

Reply - Wall heights respond to changes in the ceiling once they are attached to that ceiling. If you just set the height without attaching the wall (either top or base) it will not respond or adapt to changes in floor/ceiling.

 

And Dynamo doesn't prevent errors; as a matter of fact if the chance exists that an error may occure;  Dynamo would multiply those chances exponentially ... It is a script. You will have to rerun it. Imagine users start updating the central without running the script to update local modal...Have you thought about the mess that creates?

 

 

EDIT: If you want to try your luck this is the Dynamo forum http://dynamobim.org/forums/forum/dyn/ check it out see if someone is available to assist you. However; before you venture in that direction, it is advisable to consult the BIM Manager in your organization/institute/company.

YOUTUBE | BIM | COMPUTATIONAL DESIGN | PARAMETRIC DESIGN | GENERATIVE DESIGN | VISUAL PROGRAMMING
If you find this reply helpful kindly hit the LIKE BUTTON and if applicable please ACCEPT AS SOLUTION


0 Likes
Message 7 of 15

Anonymous
Not applicable

@RDAOU
____Revit 101: Room volume is only computed after you define the room constraints and walls are one of those constraints (ceiling and floor are the other constraints)  so the dependancy doesn't work the opposite way round... you set your floor, ceiling then walls in order to calculate the volume. 

Lets say those constraints are satisfied in this order:  Floor, walls, ceiling. 

I know the walls need to be 6" above the ceiling, but I have not drawn in the ceilings yet - so the walls go to the upper floor for now. 

I draw in the ceilings (establishing their height).  

There are now four senarios: 

1- equal height ceilings on both side of wall. 
2- one ceiling is higher than the one on the other side of the wall. 
3- there is a ceiling on one side of the wall, an not on the other. 
4- there is no ceilings in either volume. 

In 1, obvioulsy the user-defined constraint goes into effect: the wall is reduced in height from the upper deck, to be 6" above the ceiling level.

In 2, the higher ceiling is used to determine the wall height. 

In 3 and 4, this particular wall type would not be appropriate, and should not be used.  An error message would inform the user that the wall is incorrect so they can change it. 

If the ceiling is deleted, conditions 3 and 4 woudl occur, and again, the error message would inform the user so they are **at least AWARE** that there is an issue with the wall partitiions. 


I would like to fix these walls to accurately reflect their parameters in the project (that is the entire point of BIM).  Dynamo is awful, but without a way to modify a wall family to incorporate this I'm out of ideas. 


0 Likes
Message 8 of 15

Anonymous
Not applicable

Beware of using Levels for Ceilings...

 

If you have multiple levels and want to change the view range to level below....guess what?  It is going to see your ceiling level instead of the floor below!

 

While I can see this being a good idea for non-structural walls that do not go up to the building structure, most walls do go up to the structure and that is more important than walls stopping at the ceiling.

 

Remember this is a user forum...more than likely you will get questions or statements that are telling you not to do something as more than likely we tried it it once before and realized that it was a bad idea and just sparing you the headache.  With that in mind, if you want levels for ceilings, go for it!  I recommend creating another type and make them non-floor plan levels and put them on a different workset.  When you get to exterior elevations you will understand.

0 Likes
Message 9 of 15

Anonymous
Not applicable

@Anonymous

Thanks for the response!  

I really do not want levels - or reference planes - for a multitude of reasons. 

I would prefer to have certain wall-family types with parameters set that are respective to the ceiling (non-structural, interior partitions). 

If a script - or Dynamo - could evaluate adacent ceiling heights to a wall, and raise the height of that wall to (x) inches above the highest ceiling - that would be amazing. 


0 Likes
Message 10 of 15

loboarch
Autodesk
Autodesk
Accepted solution

Global parameters could help manage this. I am not sure how many different ceiling heights you are taking about, but you could make a global parameter to manage the differnt ceiling offsets and then make a second global parameter to manage the top of a wall based on a formula using the ceiling heights.

 

Here is an example where I have 2 ceiling heights defined and then 2 wall heights defined. If I change the global paramter for the ceiling the walls will follow. It still takes some setting up, and am not sure if it is much easier than manually setting the wall height, but if the ceiling changed the wall would follow.

 

global_parameter.png 

 

global_parameter2.png



Jeff Hanson
Principal Content Experience Designer
Revit Help |
Message 11 of 15

Anonymous
Not applicable

This is awesome! 

Is there any way to set a global parameters to a wall-type family? One that adjusts the height relative to the highest ceiling touching the wall? 

0 Likes
Message 12 of 15

loboarch
Autodesk
Autodesk
Wall height is not a type parameter of a wall. it is an instance parameter, so no you could not do as you are saying. Making a global parameter and "feeding" it to the wall height instance parameter of a wall like this kind of makes it act like a type parameter. You can change the global parameter in one place and have it affect many objects, but you still have to manually assign this global parameter to the height of a wall.

I suppose you could use the "create similar" tool to make a "palette" of walls in a view to create the kind of walls you wanted. This would be kind of like having the global parameter as a type, but it might be a kind of strange workflow to always have to place a wall with "create similar".


Jeff Hanson
Principal Content Experience Designer
Revit Help |
0 Likes
Message 13 of 15

Keith_Wilkinson
Advisor
Advisor

@Anonymous wrote:


I would like to fix these walls to accurately reflect their parameters in the project (that is the entire point of BIM).  Dynamo is awful, but without a way to modify a wall family to incorporate this I'm out of ideas. 



Walls will reflect their parameters, what you are wanting to do here is automate the setting of their parameters based on a particular set of rules which in this instances is difficult to do as there are so many permutations and it would also depend on how the walls themselves have been built.  That is not about BIM but about the functionality of the software.

 

You can rule out being able to modify the wall family in terms of its functionality.

 

As for Dynamo being awful, I'd have to assume from that that you either don't understand it or you haven't used it.  Dynamo is an incredibly powerful tool which allows you to do a lot of stuff you couldn't before unless you were able to program.  It would be able to do what you are looking for here but it would be complex, simply because the problem is complex.

 

so for now alas I think you are going to have to do the task manually.



"Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime."
Maimonides
0 Likes
Message 14 of 15

Anonymous
Not applicable

 


Walls will reflect their parameters, what you are wanting to do here is automate the setting of their parameters based on a particular set of rules which in this instances is difficult to do as there are so many permutations and it would also depend on how the walls themselves have been built.  That is not about BIM but about the functionality of the software.

 

 


Instead of a level or reference plane, I would like the walls to adjust to the ceiling height of the room volume. 

If Revit can use the ceiling height and slope to determine volume (can it?), then that result could be used in place of the reference plane or level.


If it can't, why?  Its not too complicated to calculate- other 3D modeling programs do it fine (like max and Rhino).

I just don't understand how this is so much more difficult to do than using a reference plane or level.   


 


As for Dynamo being awful, I'd have to assume from that that you either don't understand it or you haven't used it.  Dynamo is an incredibly powerful tool which allows you to do a lot of stuff you couldn't before unless you were able to program.  It would be able to do what you are looking for here but it would be complex, simply because the problem is complex.



I took a 2 day seminar on Dynamo a few years ago- back then, you had to update the model once you were satisfied with the definition.  (Contrasted to Grasshopper in Rhino, where the result was instantanious.)

With my limited expeience, I found it to be a  painful knock-off of grasshopper, with the only benifit being the compatibility with Revit.  

I know its a great tool, and its probably far better than it was when I tried it out.  I'm just more familiar with grasshopper is all. 

All I need is to select all the walls of a certain type in the project, then raise or lower the height to a certain distance above the highest adjoining ceiling - can revit detect the ceilings touching a wall? 


 

0 Likes
Message 15 of 15

Keith_Wilkinson
Advisor
Advisor

The 'problem' is as you've already indicated yourself - a wall would bound more than one room - so whatever solution you come up with you have to overcome that problem.

 

Not quite sure how you can compare this problem to Max or Rhino though as neither are really BIM authoring software in the same sense as Revit or Archicad (although I recall there was a BIM addin for Rhino being developed - no idea if this came to fruition or not?).  

 

Revit has a set of control parameters for walls and that doesn't include ceiling heights.  To be honest i'm not sure I'd want another way of restaining wall heights - just another way for users to screw things up!!  😉

 

If you are family with Grasshopper you should give Dynamo another go - it's come a long way in the last few years.

 

 



"Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime."
Maimonides