Hello to everyone
I created a solid from a closed wall ring, and I need to get the outer and inner polyline.
The problem is that I can’t group the inner and the outer rings.
As you can see, there’s only a group of lines, instead of a group of two lines.
There is a node called ‘GroupCurves’ in the Archilab package which will give you a sublist of the outer and inner loop. This post by also gives a method for doing so via Design script: Grouping Curves with Design Script .
Once grouped you can search the forum for ‘hole in floor’ and similar terms to find posts to edit the sketch lines to create the opening.
This Archilab node isn’t working in this case. It only groups the list of curves instead detecting the outer and inner ring.
Thanks a lot
Try it without the Solid.byUnion node
It gets worse. I don’t have loops, but intersecting open lines:
Try
Intersect those lines and close the loops
It doesn’t work. I suppose there should be an easier way to get the rings from holed surfaces.
I’m thinking of going back to the Solid.byUnion version and a Curve.isClosed or Loop.isClosed node with crossed lacing…then filter and see which is the longer one (outboard)
Marcel_Rijsmus:
Curve.isClosed
When I take the polylines forming edges, all vertical faces form a closed loop of 4 lines. But the horizontal faces take all lines instead spliting them in two groups or rings.
And I would try to create permutations of n/2 lines, but my RAM wouldn’t support it.
I feel like you’d be better off going another way:
Get all the wall’s solids.
Union all the wall solids into one solid.
Pull the faces from the unioned solid.
Filter the list of surfaces to just those with a normal with a Z component of 1.
Pull the perimeter curves.
I already did it. I needed to intersect solid lines with exterior lines of wall, given by Compound Surfaces References.
It’s working. Thanks a lot. But I’ve a problem:
You can also use “RemoveIfNot” node to sort.
[image]
RemoveIfNot is not working to remove the points from lists, to get only polylines.
Edit: Sorry. I’ve already realized that the string is “Autodesk.DesignScript.Geometry.Point”
hmmm… can you start a new topic, and provide a screenshot with the data preview expanded?