Wall profile - Callout to the experts

This is not a request per se, but I mean to have seen that extracting wall geometries with openings is not so easy? I stumbled over this over at The Building Coder. They utilize the ExporterIFCUtils.SortCurveLoops method in the API, and I was wondering whether the programming experts in here have looked at it? (For me it includes too many unknown API methods and classes…) I for one think that extracting wall geometries with openings would be awesome to have available in Dynamo!

And if it turns out that there already is a node for this then sorry for wasting your time! :slight_smile:

hmm, I tried to edit the post to say “wall curves” rather than “wall geometries”, but no such luck apparently?..

jostein what do you expect as a result?

geometry?

materials?volumes, areas???

length, width?

pls. be more specific!

i may provide custom nodes for compound structures but their expected output is to be defined

 

 

 

 

 

 

Sorry for not being specific, Peter! What I meant, as I was trying to explain in my reply, is that I want to extract the curves from a wall or list of walls with it’s openings. I’ve been under the impression that this was not straightforward and I was curious to see if the programmers in here had discovered the possibilities with the ExporterIFCUtils methods as it’s not a part of the “traditional” Revit API, even if it should be! :slight_smile:

Hi Jostein,

It might be easier to try to solve this problem graphically rather than with coding. Maybe you could try the following:

-Collect your walls

-read their geometry (it will ignore the windows and door’s geometry but the opening will remain)

-create a parallel plane inside the wall and intersect the two

The intersection of a solid and a plane will leave you with a surface, which you could later extract curve information from.

2015-01-30_105346

Alternatively you could also extrude the wall’s location line and intersect that with the wall solid.

2015-01-30_110418

I’m with Dimitar on this one. This actually shows the power of Dynamo. The script featured on the Building Coder blog is basically proof that there is no easy way to get this kind of information through the Revit API (basically it’s a hack, right?) whereas doing it with Dynamo’s geometry library is a piece of cake.

EDIT: I think the second solution Dimitar is proposing is superior in that it also works for walls that do not have a linear location line. The only context where the solution from the BC blog may be better suited is for non-planar walls (walls by face).

Thank you for your input!

One of the reasons for looking up the BC example was because of the ability to sort into inner/outer loops. Any idea on how to do this most efficiently?

Like this for instance:
[0][0][0]Wall 1,Outer curve, Outer curve 1
[0][0][1]Wall 1,Outer curve, Outer curve 2
[0][0][2]Wall 1,Outer curve, Outer curve 3
[0][0][0]Wall 1,Outer curve, Outer curve 4

[0][1][0] Wall 1, Opening Curve 1, curve 1
[0][1][1] Wall 1, Opening Curve 1, curve 2
[0][1][2] Wall 1, Opening Curve 1, curve 3
[0][1][3] Wall 1, Opening Curve 1, curve 4

etc…

 

Hmm, I thought about splitting the list, and came up with a partial solution:

So the host (our wall) is usually always larger than the hosted object( window, door, what have you) , therefore it’s safe to bet that the host’s perimeter curves will be the largest of the list of curves. Therefore what you could try doing, is sorting the curves by lengths and separating the last four from the rest. I found out that this works great for walls with just hosted windows in it but only works partially if you have a door, because the door eats up a chuck from the base of the wall. I sorted the curves with Colin’s extremely useful “Sort list by a key list” node.

You should keep in mind that this theory completely fails when you have a very narrow wall with a tall window/ door in it or a wall with an edited profile that has more than four sides. Other than that it should work acceptably.

I added the poly-curve nodes to help with the bit of wall profile being eaten by the door.

Hope someone comes up with a better idea.

capture 2

 

Hi, according to this nearly one year old thread I tried this way to get a gross area of walls and at least also the areas below 2,5m² for german users.

Here is my dyn so far. Wall profile

And her an example revit file wandfläche_test_v0.9

Inside revit the net area of a wall is always shown in its properties. (Or you get it after the Intersection of the geometry in dynamo) So i want to filter only the holes in a wall sort them above and under 2.5m² and add those areas to the net area to get the gross an in german VOB area.

Our way so far is to gather the windows and doors with the element.host from clockwork but as described here this ist not the top way . Any ideas if this could be a solution? Capture_01 kind regards Dominik

Hi Dimitar, I don’t see clearly your images. I’m finding a way to edit profile of wall when it intersect with shape of beam from a linked file. I’m interesting your sharing! if you can, you can upload it clearer? thanks advance! :slight_smile:

@hainhanxd, this is what you’re looking for (original thread):
http://dynamobim.org/forums/topic/wall-profile-callout-to-the-experts/

1 Like

Thanks alot Zhukoven :wink: