Area Boundary Lines on center line (curtain) walls

Good day fellow Dynamo users,

I have created a script that creates Area Boundary Lines on the center lines of walls, between rooms, and between rooms and curtain walls.


Area boundary lines on center walls.dyn (16.6 KB)

However, I’m trying to create a tool that places Area Boundary Lines on both the center line of walls and on the center line of curtain walls.

I suspect that the problem lies in the Python Script of the Element.Location node.

I really appreciate any help.

1 Like

It seems confusing: is it not the tool you describe at first place? Could you elaborate a little on the difference between both?

@Wouter The script you are showing will only create Area Boundary Lines for the room boundaries, since you are only collecting rooms. So if you want to also create lines for the wall centerlines, you will also have to collect the walls and obtain their centerlines. A quick forum search brought me to this: Automation of Area Boundary Lines

Also I am wondering what the purpose of the Element.Location node is because the Room Boundaries output node already outputs the curves. Additionally it looks like you are feeding a PolyCurve.ByJoinedCurves node into another PolyCurve.ByJoinedCurves which won’t work.

1 Like

The difference is that the tool does not place Area Boundary Lines on the center line on curtain walls.

The script is already create lines for the wall centerlines, the prablem is only that it does not create Area Boundary Lines on the curtain wall centerlines. The Element.Location node has a Python Script that locates the centerlines.

Did you try with the OOTB Element.GetLocation node? It works correctly on my side.

1 Like

How would the Element.GetLocation node fid in?

The picture above shows that the Element.Location locates the wall centerlines, but not the curtain wall centerlines.

Very quick answer, it needs elements as an input, see here:
http://dictionary.dynamobim.com/#/Revit/Elements/Element/Action/GetLocation
Or try the forum search tool.
I just used a Select Model Element node to select a curtain wall to feed in.

Element.Location for curtainwalls will return the location line which is as intended. If you want the geometric centerline you will need to get either the panels or the mullions (this will be two very different lengths) and offset the location line by 1/2 of the offset to the panels or mullions + 1/2 of the thickness of the panels or mullions.

1 Like

Totally right, I did not get that point in the question…

@Wouter - Sharing the script (or rather the relevant parts) you have built and a sample Revit file will make it so others have a way to experiment and help you solve your problem. The fact that your room boundaries appear to not be picking up the location of the curtainwall correctly has me wondering if there is something odd going on (a room separation line that was added to tweak the room geometry as one example).

Thanks for the help.
I found that the problem lies in my Revit sample. The problem was caused by Room Separation lines who were placed on both sides of all the curtain walls.

1 Like

Ahh I had misunderstood the language of your initial post - I thought you were trying to create separation lines for 1) the rooms (so the faces of the bounding walls) and 2) the center lines of the walls, including curtain walls. In retrospect, I don’t know why anyone would want to be doing that, ha, but that is why I said this part:

I’m glad you’ve figured out the issue with the curtain walls. Is your script running now, though? It still appears to me that you are feeding a Polycurve.ByJoinedCurves node into another Polycurve.ByJoinedCurves.

Bad inputs make for bad results. Glad you were able to resolve this though.

Can you confirm that the separation lines are generating correctly now sot that future visitors can learn from this thread?

2 Likes