Question-and-Answer Resource for the Building Energy Modeling Community
Get s tarted with the Help page

# Change floor height in OpenStudio

I've used the "Create spaces from diagram" method, and I entered 3 meters as the floor height, and I modeled number of floors as 6.

After a while, I realized the floor height is actually 3.6 meters for all my floors.

Is there an easy way to do so in OpenStudio?

Using the push/pull tool after going into each of my zones doesn't really cut it.

edit retag close merge delete

Sort by » oldest newest most voted

So the ideal way to do this, in particular if you want to use it for a parametric analysis is to write a measure. The SketchUp Plugin has a user script to alter the height of interior partitions. You could do something similar to similar for base surfaces and skylights. Here is the code for that user script, with the relevant section highlighted.

# loop over all interior partitions
interior_partition_surfaces = model.getInteriorPartitionSurfaces
interior_partition_surfaces.each do |interior_partition_surface|

# create a new set of vertices
newVertices = OpenStudio::Point3dVector.new

# get the existing vertices for this interior partition
vertices = interior_partition_surface.vertices
vertices.each do |vertex|

# initialize new vertex to old vertex
x = vertex.x
y = vertex.y
z = vertex.z

# if this z vertex is not on the z = 0 plane
if (z - 0.0).abs > 0.01
z = height
end

# add point to new vertices
newVertices << OpenStudio::Point3d.new(x,y,z)
end

# set vertices to new vertices
interior_partition_surface.setVertices(newVertices)

end


The trick to doing this to change floor height is to loop through stories. Then for each story above the first not only do you need to change the "z" height of vertices with non-0 values, but you need to move the space origin up as well do adjust for taller stories below. This would work easily on buildings with vertical walls where base surfaces are not split, but would take more thought for it to work on more complex geometry. Also need to define logic to address fenestration if height is reduced and interferes with existing windows.

Now that I've given my pitch for the measure based approach, below are some screenshots describing how to do this in SketchUp using the experimental workflow user scripts. Note that the experimental script creates raw SketchUp groups. There are no observers with live links to OSM objects; instead layers are used to flag SketchUp groups as spaces or shading groups when you merge back to an OSM. This allows you to use any native SketchUp tools to manipulate it. You can even send it to someone without OpenStudio to alter and return back to you. The modeler is responsible for making surfaces that will make sense to OpenStudio when you merge it back. For example You can't have one window contain in another and expect it to work correctly, and you can't nest one space inside of another.

This is the original model viewed in the plugin

Close the model (make new empty one) and navigate through the Experimental Workflow menu as shown

Select all objects, or the ones that you want to scale

Select the Scale Tool

Then drag the top center handle and type 1.2 (to go to 3.6m from 3) Then click return to commit it.

Save the geometry back to the original model. Note, that the experimental workflow preserves space names, but re-generates all surfaces, so they will have new names. You can leave "Merge Selected Spaces Only?" dialog to false. On a large model ...

more

Hello,

I tried to use the function above but I did not have success on it. I do not know why but the first step (Import OSM file as SketchUp groups) is not working for me. I have a simple two floors building and I want to receuce the wall's height. I tried the scale but it messes up my building when I open the file after saving it. I also saw that there is an code for the user script but I do not know what to do with it. Can someone help me please.

Thank you

Lucas

( 2015-10-09 14:25:04 -0500 )edit

What happens when you use "Import OSM file as SketchUp groups"? You should get a dialog and then you need to pick an OSM file to import. The script was provided as an example of a user script that is already in the plugin to change interior partition heights. I was proposing that someone could write a user script or measure based on that to change space heights, but it would take some script or measure knowledge to do so.

If you can't figure out why import as groups isn't working, you can also go into each space and hand extrude them, how big is your model?

( 2015-10-09 15:29:53 -0500 )edit

more