Breakpoints of the intersected walls in finish room boundary

Hi, I tried this a lot but I couldn’t make it which is about the room boundaries, how it’s possible to remove every breakepoints of the intersected walls ( the point in red )

Remove intersecting walls points01 .dyn (37.3 KB)


First off, you need to make sure your curves are ordered/consecutive (a compound curve)

Next, you ideally need to use text-based programming as a while loop (not a for loop) is needed for checking if curve B is collinear to curve A and you need to keep track of where you can ‘merge’. If AB are collinear for example, you’ll need to store the startpoint of A and the endpoint of B (assuming of course, all your boundary edges are linear. If you have arcs, then you’ll need to decide if tangency should also be considered) then evaluate C; if C is also collinear, the you need to replace the endpoint B with the endpoint of C until you get a deviation in the next curve, afterwhich you can create a new ‘merged’ curve using the start/end points. This will need to repeat until you evaluate all curves in your list, and don’t forget; the last curve in your list might be colonear with your fist, so you will also need to evaluate A with your final curve after you’ve completed evaluation of all curves in your list.

Thanks for Reply , it seems complicated more than what i thought , is there any example for similar cases that you saw maybe ?

There might be ways of doing this using nodes, maybe using solids and extracting faces. I wouldn’t recommend it however for two reasons:

  1. It will have major performance issues which will likely crash Dynamo if you need to scale it on a large project
  2. Its not robust - if you use the same curves as to define a profile to extrude into a solid, those intermediate points will typically result in an edge between faces, meaning you’ll be back to square 1 when you eventually locate the face and extract its boundaries as curves.

Although its not necessarily the most useful solution if you cant code, coding for this type of problem is without any doubt the simplest, most efficient and appropriate way to solve it. You could also add some tolerance so if there is a fractional deviation between two curves directions, you can make a decision as to whether to ‘merge’ them or not. Using solids, assuming it did work, wont be able to provide such levels of control.