Get curve surrounding point

We have detail lines and tech racks in the model and I want to create solids from them to find data instances to connect and/or control parameters for the data instances based on their zone.

I’ve gotten the line work and the points of the racks. I need to find a way to find the curves of the lines that surround the points of the racks and then create solids from it. The lines don’t always create rectangles and they often relate to more than one zone. For example, the line on the far left runs all the way up the west exterior wall.

I feel like I almost need a paintbucket-like node here.

Maybe there is another way to try to create a polygon or solid from these lines.

You could try something like this…

  1. Create a bounding Surface/Solid (slightly larger than than the extents)
  2. Extrude all your lines to create surfaces
  3. Join the surfaces and create a polysurface
  4. Use the polysurface as the cutting tool to slice the bounding surface
  5. Eliminate the peripheral surface, the rest should be what you need
2 Likes

Thanks, for the quick response. I will give that a shot.

So the racks are just linework, not Revit families? Is this information coming from a consultant?

Not knowing al the details - you could create room separations from all the linework and then use the points to create rooms. From there you would get either the boundaries of the room or the solid of the room and use that information for whatever new object you are creating. Then destroy the rooms and room separation lines. Rooms work like a paint bucket tool (areas and spaces too)

This all assumes that other rooms, room separation lines and walls wouldn’t get in the way of what you are doing. You could work around that by making a new phase before anything else and working there to collect the data.

I don’t think this is the best option, but would need to know more about what starting elements you have and what your end result is to point you in the right direction. You mention zones? Do you have spaces and zones to work with? If so - then it gets easy.

I managed to get the first draft of this working, almost. I’m new to doing geometry in dynamo so I probably made something horribly inefficient.

Some of the surfaces are not getting split properly and I don’t know why.

Made the main surface oversized thinking that might fix the issue, but it hasn’t:

[edit]
BUUUUUUUUT!, I think I have it figured out. I noticed that there were some gaps in the lines. I thought I fixed one area but I didn’t notice a change. I then found another line not connected and fixed it. I had to open the script again in order for the script to recognize the change. So the serving lines have gaps.

I assumed earlier that is was an issue and tried to fix it by extending the curves by 10’ and using those. For some reason it didn’t work. Maybe I’ll try doing that again becuase I’m not happy giving people script that can be tripped up so easily by accedentally not drawing lines exactly.

Extending the curves by 10’ on this project would work becuase the building is so large but I’m worried that it could cause issues on some more typically sized projects. Ideally I would want to extend lines when necessary to the closes line to it’s endpoint but I’m not sure how to do that yet.

[edit]
I’ve extended the curves and thus the surfaces but when I do that the split node creates only 1 element, which is just the original surface:
image

I think becuase of this and the pattern I see in the zones that were not split and how the detail lines were drawn that the node does not like intersecting surfaces in the polysurface. It seems like surfaces need to meet exactly and they can not cross. So I have to split the curves at intersection.

You’ll need to clean up the lines from which you create the Polysurface. You cannot have intersecting lines. All internal loops should be clean closed loops