Offsetting a point on a curve

This may seem a basic question but say i have a point at the end of or in the middle of a curve is there a way of offsetting that point along the curve by a certain distance. EG 2mm away? Would really appreciate the help.

The quick and dirty way to do it would just be to divide by length and it will give you a group of points along the curve with a 2mm gap, and a bit at the end if it’s not divisible by 2.

Delete the ones you don’t need.

Or you can do it in Grasshopper if you need to repeat it and add other variables:

You’ll just have to add a bit of arithmetic to work from the centre or split the curve etc.

_SubCrv
with mark ends option can do the trick.

Edit:

at least in Rhino-Terms “Distance” is the shortest, linear way from one point to another.
to distinguish, rhino uses “Length” … along a curve, or curve length.
Offset” mostly refers to a normal direction - you offset a curve or surface.

as fare as i understood - you want to move a point along a curve for a given length.

@theoutside feel free to correct this from a native speaker’s point of view.

move uvn using the normal slider and set the scale value to be your distance.

ie if you want 2mm, set the scale to 2, and each full drag of the slider will give you 2 units of offset.

this is referred to in my videos as the “dave schultz offset hack”

see the video in this thread-

I read that completely wrong lol? Why is the move UVN option not just baked into the offset command?

it is in a way.. using the loose option in offset does essentially the same thing as move uvn in the N direction.

but… you cannot offset just a point with the offset command.

Yeah, I know… But they wanted to move the point 2mm along the curve, not away from it. (I think?)

I mean, why the convoluted move UVN to get a curve with the same number of control points as a long protracted process, rather than just having Rhino go through that behind the scenes to churn out an offset curve with matching control points?

I’ve been using Rhino since V4/5 so convoluted ways are baked in to my process, and I just do it without thinking, just wondering why it’s not a standard…

Maybe I’d fall out of love with Rhino if it just did things without me having to think about it :slight_smile:

ah, I missed along the curve.. gotta slow my roll when reading.

move uvn in the u direction with move along the control polygon may do that, unless you want to work on the edit points not the control points. in that case, you are back to the Gh solution or the sub curve trick shown above.

Here is an older script of mine that might help…

Can offset one or multiple points on an open curve starting from a picked point.
Current limitations: only offsets points on open curves, and only in the curve direction.

Probably should look at improving this one to be able to flip the direction at least.

OffsetPointsAlongCrv.py (3.7 KB)

Here is a version improved by Claude that shows you an arrow for the offset direction and allows you to flip the direction.

OffsetPointsAlongCrvNew.py (6.2 KB)

That’s bloody brilliant!

I asked Grok, it mocked Claude for being woke and added the close curve bit… To be fair, you can write this stuff without Ai help, I haven’t the first clue - but it works :slight_smile:

I use your smallest bounding box routine all the time :raising_hands:

OffsetPointsAlongCrvGROK.py (3.2 KB)

thanks so for the reply! exactly what i was after

very useful otherwise though, thanyou!

Offset with Loose=Yes does that.

Offset | Rhino 3-D modeling

Loose

Yes - Offsets a curve by moving its edit points.

  • Polycurve segments offset individually. Segments will break apart at corners in the result.

  • The Corner and Tolerance options are not used and are not shown.

  • Curves with fewer edit points may distort more in the result.

  • The output curve has the same parameter structure as the input curve.