ERROR : Polycurve from Room FinishBoundary lines produces Multiple WIRE

Dear All,
I know that the issue of multiple wire has been discussed in this forum before. The solutions like grouping the curves were also advised. But I am wondering how the lines extracted from room boundary lines could give such a headache in creating a polycurve. I thought room boundaries would be perfect loops without branching. Kindly see the attached screenshot and let me know if someone has a solution.

NB: I tried changing the scale to Large/Medium/Small etc… Nothing worked.

1 Like

I believe that if your room is donut shaped (it has a void space in the middle) you will also get this same warning.

Try using a GroupCurves node from ArchiLab prior to the PolyCurve creation.

3 Likes

Hi Jacob,
Thanks for the suggestion.
Tried grouping the curves too. The room has four columns inside, creating the internal loops. That’s ok. But instead of creating one single loop for the outer boundary, it has produced 3 polycurves for the outer loop. Seems like the three has their end points not coinciding. Here is the rvt file for replicating the issue. I am trying to offset the outer boundary of the room inside, after creating a polycurve.

Hi @harilalmn ,

Check out this topic :slight_smile:

Hi @harilalmn

Is this what you need?

1 Like

@Kulkul,
Yes, if this PolyCurve could be offseted inside by a given value.

I kept Python and Revit API calls as the last resort, yet was keen to know how this could be done using Dynamo minus API calls. I think you have followed the steps of extracting the Room.BoundarySegments, extracting curves of each loop, and then creating a CurveLoops. However please share the Python script, if it was a different approach. Thanks for your time…!!!

@Daan
Thanks for the advice. That post contributes significantly too…

Here is a trick to achieve using OOTB Nodes:

Don’t forget to mark the post as solved :wink:

5 Likes

@harilalmn as the Polycurve.ByJoinedCurves node works for Kulkul I think you may need to set the geometry scaling back to medium so that the start points don’t shift out of position.

2 Likes


@jacob.small
The boundary lines segments of the room not forming one single polycurve. I have tried the scaling setting it to medium, large etc… and used the Group Curve to group the lines and create the polycurves. Here I colored them. There are three separate polycurves. This indicates that the Red and Magenta polycurves are not connected each other. Same with magenta and green too… If the room boundary lines are extracted from the room itself, how come they are not forming s single loop is what I am wondering about…

Tested this and was only able to return the results you got by using the Ampersand node [&]PolyCurve.ByCurves. Using the PolyCurve.ByJoinedCurves node returns results without issue at any geometry scale. Swap out that node and things should work without issue. If not, post your DYN here and we can keep looking it over.

I just wanted to point out that for room boundaries the first sublist contains the outermost curves.

So you can use a get item at index or something and get that first list to then patch the curves.

2 Likes

Kulkul,

Can you please release that Python script?