Yes! exactly, i already have tried into my project unfortunately, it doesnt work for me, because the Line.ByBestFitThroughPoints node doesnt work perfectly due to its complexity of the floor geometries itself… so at PolyCurve.ByJoinedCurves node its always failure to construct because polycurve arent connected
allright looks complicated…it was just an example there probably could work on your blue example…in your situation there probably more we had to take into account and many things can go wrong
So no architectural model at all? That seems like a unique project workflow - would love to hear more as it has conjured up ideas of 'here is the framework, owners pick out a base module and customize it and then we fabricate it and slide it into place"… Seems like a fun project although rather unique and you’d still have control over the overall envelope so you’d have a massing model to intersect with somewhere (or so I imagine).
Another possibility would be to take the convex hull of the points as a starting point; if the resultant curve doesn’t intersect a curve’s midpoint then you discard it, add the curves which intersect the base curve, and use the PolyCurve.ByJoinedCurves method that allows for extension and trimming of the base curves (as shown in your last screenshot).
Yes, so this project is to engineer and calculate safety elements at the building construction stage under BIM and QHSE management. such as engineering the location of safety nets, scaffolding, etc. with dynamo programming. so I was only given a structural model. ya i thought this project was unique too and unusual…
You don’t need to know the perimeter of the floor plate, you need to know where people can fall and decipher which type of protection to provide at each location…
Gather the top surface of each floor plate AND beam. Union into polysurfaces by floor/elevation. You should have one ‘walkable’ surface per floor when done, though you may want to study this floor by floor to start with.
Take each floor and get the sketch loops as individual polycurves. Offset each polycurve by the desired thickness at which ‘falling’ is a concern (if a person can fit though is a different concern than if a screwdriver can fit through). Be sure to use the + and - offset.
Loft the offset surfaces into one donut shape.
The surface area which intersects the polysurface doesn’t need any protection - you have a floor there, while the surface area which doesn’t is a concern. So we use a Surface.Difference node to remove the floor from the donut. This illustrates where the concern lies, but it doesn’t yet illustrate where you need the protection.
Intersect the original polycurve with the surface - the resulting curves are the ‘edges’ of the floor plate where protection is required. This will catch elevator shafts, stair shafts, and building edges wholistically.
Hmm due to you’re selecting elements manually, and im trying to select the element based by level. It turns out that there are several elements that do not have level parameters (pictures no. 1)… im still figuring out how to getting those element that without level parameters. ive tried to getting all the elements (bypass the level filtering) and it turns out the results are far from what was desired