Offset Command

I’m trying to use the OffsetCrvOnSrf command to offset curves/lines on the same plane of the Z axis. OffsetNormal seems to be for the X and Y axis.

When using OffsetCrvOnSrf, the command doesn’t copy the selected curve, it creates a curve as long as the surface. Which command should I use to offset a curve and create a new curve which is identical to the curve which is being offset?

OffsetCrvOnSrf creates a curve which is offset along the surface, independent of coordinate direction. The new curve will be on the surface.

OffsetCrvNormal creates a curve which is offset from the original curve in the direction normal to the surface, and is independent of coordinate direction.

A simple example in a .3dm file would help with understanding your question. You can upload a file by clicking on the vertical arrow icon above where you type your post. As I said above OffsetCrvOnSrf and OffsetNormal are independent of the axis. The Offset comand offsets curves parallel to the CPlane X-Y plane of the active window.


I don’t know of a command which creates an offset curve on a surface which does not go the entire length of the surface.

Thanks for your reply. So there isn’t a command which duplicates and offsets the original line? I was only using a surface as a reference point because I wanted the new line to be on the same plane as the original line.

It seems easy to do in CAD so I’m surprised that it isn’t straightforward in Rhino - especially as Rhino seems to have commands for almost everything!

Do you want an offset curve, or a curve which is a copy of the input curve but in a different location? They are fundamentally different unless the input curve is a straight line.

An offset curve has the property that each point on the offset curve corresponds to a single point on the input curve and is the same distance from the input curve. An offset curve is always different than the input curve unless the input curve is a straight line.

Examples: Offset&CopiedCurves.3dm (1.6 MB)

I think you are looking for an array command if you want a series of copies of the original curve. If the copies are in a single direction, ArrayLinear is the one.
Take a look at

Yes, Arraylinear does what I was trying to achieve! I’m sure I use the offset command in AutoCAD to do that, but I work in 2D in AutoCAD, so maybe not comparable.

Thanks to everyone for their help and suggestions!