I would like to use RIR for daylight studies. In this connection, I need to assign different reflectance value to interior and exterior walls respectively. I have managed to extract interior and exterior walls separately using the following commands.
However, I still need to be able to assign different values to the exterior and the interior wall surfaces. So to clarify, the end result should look like the following, where all surfaces on an external wall is considered as interior walls (grey) except for the one surface facing the exterior (orange).
Hi Mark, Are you using Rhino or Revit for the daylight study?
Assuming the the Interior Wall / Exterior Wall Types all had the correct function assigned, you would then need the Exterior Walls to have their Compound Structure Analyzed for the Interior/Exterior… if all are assigned properly you should get all the correct info.
To get the normal you can cast the wall to a surface or plane.
Thanks for the quick reply. I’ll use Ladybug Tools for the simulation, so grasshopper. My hope is that I will be able to do all necessary configurations directly in Revit which having to bake elements into Rhino, as this will make it easier to make adjustments e.g. changing window size etc. I will only use Rhino to colour code the imported geometry to verify that the correct values are assigned to each construction.
Using the Deconstruct Compound Structure component as you suggested I have now identified the exterior structure layer. However, I still can’t seem to figure out how to convert the layer name into a geometry. Here are 5 of my failed attempts haha
Grafting didn’t solve the issue either.
I also receive this error, when I insert inputs to Element Parts Geometry. I think that there are a few walls in the Revit sample model that only consist of concrete and hence does not have multiple “element parts”. My best guess is that they cause this error.
In the following you will find how to select and differentiate between wall layers/surfaces according to their exterior and interior orientation within Revit.
First steps is querying all walls, getting only exterior walls.
Second, getting walls parts geometry for each wall and splitting walls into walls with single layer and others with more than one layer.
From here, you can easily easily classify the multi-layered geometry by getting the first item in the layers (the exterior layer geom.) and getting the last item in the layers (the interior layer geom.).
Now with the multi-layer walls out of the way, we only have single layer exterior wall left to sort its surfaces, so we get the wall geometry… deconstruct the faces and compare each face’s normal vector against the wall orientation to get the exterior surface (your orange color) and the rest of the surfaces interior or (your grey color).
Hope this is what you were trying to achieve, if you have any doubts feel free to ask.
Just a little update. I found that the Element Parts Geometry component made the script extremely slow when working on large projects. This makes sense, as the component sub-divides all the wall geometry into its respective sublayers. So a wall with 5 layers would mean an approximately 5 times larger model.
Luckily I found that I could modify the “single layer walls” part of your script slightly and apply it to all external walls in the model to parse exterior from interior wall sides. This approach seems to work just fine and I makes the script much faster.