RhinoCommon - Get Curve Piping Mesh


Is there a way to get the mesh generated by the curve piping (or the curve piping parameters) in RhinoCommon (rhino6) in an Export context? They don’t seem to be accessible as render meshes or even when using CurveObject.GetMeshes(MeshType.Any). Additionally CurveObjects with “Curve piping” enabled still return IsMeshable()->false. The PolyLineCurve and Curve class don’t seem to be storing the piping parameters either.

We’ve seen there is a Rhino.Geometry.Mesh.CreateFromCurvePipe() function but that creates a new mesh and without a way to know the CurvePiping parameters you’re just guessing what that mesh look like.

Running the command “_-Properties _CurvePiping” as demonstrated in [Python] Add Curve Piping Render Property to curves comes really close to getting the curve pipping properties in the console message, but unfortunately there doesn’t seem to be a way to get the current message displayed in the console (and the “_On” property seems to be bugged to always display true, even when curve pipping is disabled).

Thank you.

Hi @benoit.deschenes,

I don’t know if there is a RhinoCommon method (I’ll check). But you can always script the ExtractPipedCurve command.

– Dale

Thanks @Dale,

Unfortunately it appears that the ExtractPipedCurve command generates a mesh even when the CurvePiping is disabled on the curve object. Because of this, it wouldn’t work for the exporter plugin we are developing (unless there is a way to know whether the piping is enabled or not, but from my understanding this info is stored in the inaccessible UserDataList of the curve object).

@andy, @nathanletwory - is this something you can help with?

This is still on the list to be added:


I’ll chat with @andy and @DavidEranen to see if it can be scheduled during 7.x

Okay thank you!