Surface from Intersecting Curves


#1

I want to create a closed surface from 2 sets of intersecting arcs as outlined. Some of the lower ones I don’t want so they will be culled later (cyan).

I tried using Geometry .intersect with itself but I don’t know how to reconstruct the points into a surface. I tried to create an extruded tube and intersecting the arcs with it but no surfaces. Surface.ProjectInputOnto does not work.

Thanks for the help.


#2


2nd image


#3

Hey,

I think your strategy might not be the best for the tools that Dynamo has (others may correct me)

I would create the overall surface, split it by the lines to get the sub-surfaces, then filter the sub-surfaces you want.

I don’t have exactly your example, but this is similar…

You can see that the taco shape has been created from splitting the nurbs surface by curves (I pulled lines up to split, but you don’t necessarily need to).

Hope that helps,

Mark


#4

Thanks for the help.

I tried using Geometry.Split (I can’t find Surface.SplitByCurves in Dynamo 1.3.3) using an extruded surface but it only results in one surface. Pulling the lines onto the surface and splitting them dosent seem to work for multiple curves.


#5

Hey,

If you could chuck me a rvt and dyn I can have a look when i’m at a pc tomorrow? Just a stripped out purged one would be fine.

The thread shows some other approaches… Zach split lines to get points, made lines from those and lofted to make surfaces…

Cheers,

Mark

Edit: so your approach is the same as the one here? Split the surface with multiple curve? It should work… I wonder if you could extrude your cutting surface through the other… i’ve had false fails in the past…


#6


Thank you so much! I was able to get it to work by joining on set of surfaces in 1 direction and dicing the tube, then joining the 2nd set and dicing the strips.

I culled the surfaces I don’t want by area to get rid of larger or smaller panels, but I don’t know if there is an Range testing node, or why the AND node dosen’t seem to work. The workaround I posted would work but it is too long.