Mesh.CreateFromCurvePipe is extremely slow

Hi all,

I been working with some curves, and I wanted to create some renders out of them. For this I decided to use the ‘Curve Piping’ inside the Properties tab of the object. When I turned it on Rhino just froze for eternity.

I tried running the method from a C# component inside GH, and it took about 5 minutes to calculate with accuracy set to 1. I didn’t bother tweaking the variables as it would have taken ages.

I then decied to export my curve as .obj > import into blender > 3d fill. It took 1 second for Blender to pipe my curve. I exported back to .obj and opened in Rhino.

I don’t get this, can someone explain? Why is Rhino’s piping so much slower and useless? Blender is open source, copy the code. I guess that under the hood whatever Rhino is doing is killing a simple operation of mesh piping a curve.

It would be nice to have a fast working piping tool.

Can you post a test file that slows Rhino to a crawl?

You don’t really need it, it will be of no use, but have at it. This one has 10k points. Blender took about 30 secs for 50k.

curves.3dm (403.0 KB)

Mesh Pipe from Mesh Tools or Parameter Mesh Pipe from Pufferfish seems to do it pretty quick (they use the same algorithm from Mateusz). Note, I did first run fit curve on the curve to 0.001 tolerance and it removed about 2k unnecessary points.

What does accuracy mean in Rhinocommons Mesh Pipe? Is it distance tolerance or radians angle or degrees angle?

If I do 1 as angle in degrees it take about 4 minutes with Mateusz’s algorithm, although it seems like a bit of overkill in the mesh density.


But I guess we need to know what does Rhinocommon’s Accuracy mean in terms of values, it doesn’t say in the description.

Type: System.Int32
The accuracy of the pipe.

Thank you for the tries Micheal, but it really does not come even close to a smooth workflow inside Rhino.

I realized that besides the impossible piping, working with this type of geometry inside Rhino is a bumpy road: laggy viewport, extremely long computing times inside GH with mesh components, long saving times, etc etc etc.

What the piping method can’t handle, Rhino will not be able to handle as a whole.

I guess that for this kind of stuff I am better of using a mesh modeler software. I am asking too much from Rhino here.

If you have multiples curves mentioned plugin are slow because they generate a mesh for each curve. I have done a script that output a single mesh but at the moment it only work for lines

Actually it is a single very long curve

It is just one curve with around 10k control points. (Around 8k if you fit it).