Extract / Create curve that follows surface quad?

Is there a way to get a curve that follows the quad of a surface? i.e. the outer most point of the surface in that axis.


As an example, I want to split this surface along it’s apex, lengthwise. Basically creating a seam along the highest edge of the surface in the Y-axis.

It would look something like this:

I used Extractisocurve to do that, but the isocurve doesn’t follow the apex.

Can you post that surface? If it is not an isocurve, it may be hard to find – probably a matter of sampling a bunch of locations and approximating.


I think the Silhouette command could help

Hm - I don’t see that working here, but maybe - I think that curve is not one that you’d see as a silhouette from any one view- the ‘quad’ here changes all along the surface, it is not relative to anything external - if I am reading things right.


Yes, that’s correct Pascal.

My not-totally-accurate work around is to extract a whole bunch of isocurves in the short direction all along the surface. Then us the IntrpCrv tool to draw a curve by snapping to the Quad of each extracted isocurve. I was just hoping there was an easier / more accurate way.

Like this:

Hi Dave - Quad is relative to the current CPlane - if that is consistent, then @DiegoKrause 's suggestion of using Silhouette may just work. Your original image did not look to me like it was going to be that consistent but if it is, you’re all set, I think with Silhouette.


I read somewhere that in V7 you can use draftangle at desired angles and make curves on it I’m right @pascal? maybe that could help to but again, it relies on the cplane

Hi Diego - yes, there is a tool for draft angle curves in V7. But as you say, it is based on a single direction.


Sorry to confuse; the last image was a different surface. I was just using it as an example. Silhouette wouldn’t work in this case because parts of the surface are hidden by others in planar view.

Using what @DiegoKrause is talking about sounds like it could work; using draft angle to extract curves from a surface. Does that exist in Rhino 6?

maybe you can use a custom cplane like this and test with silhouette

To find that plane - ExtractRenderMesh or Mesh the object, PlaneThroughPt on the mesh, rotate the plane 90 degrees on the ‘obvious’ axis, and CPlane> Object that plane. Delete the mesh and plane. Silhouette from the Plan view.

@Dave3 - here’s a python that might be useful - it is worth a test probably but it needs tuning up to become more friendly, if it basically does the right thing.

  • the surface U direction is assumed, for the moment to be the short direction, not the direction of the eventual curve. Use the Dir command to verify and swap if necessary.

  • There cannot be any holes in the surface

  • it must be U-shaped like your example - completely flat bits or closed tubes will mess it up.

All that said, I think it ought to work on your example.

To use the Python script use RunPythonScript, or a macro:

_-RunPythonScript "Full path to py file inside double-quotes"

Highline.py (2.0 KB)


touch both edges use tween command and Project
so you get the curve on the y-axis from the front view


1 Like