Wall Location Node / Wall Exterior Location Line

Is there a node that gives you the wall exterior line (finish face and/or core face)? I see there is a Wall Location Node, but it doesn’t allow any inputs so I can’t figure out how to use it. Is this intentional or am I missing something?

I am currently using the Wall CompoundStructureLayers Node from Genius Loci, but this gives the centerline of the various layers, I then have to get the wall’s exterior direction using the Wall.ExteriorDirection node from archilab and offset it half the distance of the exterior layer thickness, it seems kind of convoluted for something that should be straighforward (I could do something similar just using the wall’s standard location line offset by the total width of the wall.)

This is the method I would recommend.

Hi,

There is a Wall CompoundStructureLayersLocation node in the Genius Loci package.
It could help you to achieve your goal.

1 Like

One issue I am currently having is that I want a closed loop of lines. If I offset the individual lines, they no longer form corners.

I tried making a polycurve prior to translate but getting an error the “Curve join produced more than one WIRE in PolyCurve”… these are not neat rectangles.

The Genius Loci node provides the centerline of the layers.

Best way to get a closed loop (lines or polycurve) for the interior/exterior face of wall?

You have options.

  1. Offset as you are to get all of the lines. Then build a surface of each layer by lofting between subsequent lines (List.Transpose(List.DropItems(crvs@@L2, [1,-1]));), extract the perimeter curves from them and build a polycurve.

  2. Use the previous compound structure layers node from Genius Loci which returns the centerline of each layer, and use a PolyCurve.ByThickeningCurveNormal node in conjunction with the thickness of each layer.

  3. Create parts from the wall, pull the solids, delete the parts, extract the bottom face of each solid, and move on. The benefit of this is that the wall’s joins would be pulled as well. The bad part is that it requires a transaction…

Can you perhaps elaborate a bit more on these methods? These are not techniques I have used yet, and I am not getting anything to work. This is the most challenging thing I have attempted so far.

Using Option #1, I am not sure what to put into that Designscript code. I tried lofting using nodes, but it is giving me an error that not all sections meet.

Using the Option 2 as I understand what you described above, the polycurve does not form clean ends:

For option #3, I can extract the top/bottom faces without using parts, no? I have done this (by filtering surfaces based on Z Normal), but extracting the perimeter curves also does not give me a closed loop of lines.

I was able to get the points I want to connect (by extending the offset lines and getting the intersection points), but I can’t get the polycurve or polygon to connect them properly. Is it a way to force a polycurve connecting the points only using specified vectors?

I am really surprised there is no node to trim/extend lines to intersections, this seems like kind of a fundamental task, at least as a Revit user.

Thanks!

This seems to be working (this is interior face), but I would still love to learn how to do this without custom nodes.