"Offset curve on surface" fails to create an offset curve

I just had a situation at which the “Offset curve on surface” tool failed to create an offset curve when I clicked on the target surface at a specific point. However, it was able to create an offset curve when I clicked on the opposite side of the surface. Is that a bug, or the “Offset curve on surface” tool is limited to work only on one side of the surface?

Still no reply? Should I assume that the aforementioned inability to build an offset curve on surface is a known behaviour/bug for this tool? :slight_smile:

Hi @Rhino_Bulgaria,

Could you post the model (or just the part that exhibits the problem)? Normally you can pick any point, including points outside the surface.

Sure, here is the surface from the video along with an extracted surface edge coloured in blue that Rhino 7 fails to offset if mouse clicking on the upper edge of the surface.



Offset curve on surface fails to create an offset curve.3dm (65.9 KB)

I see this here with your surface. It isn’t just the edge: near the initial curve you can select any point on the surface apart from the right edge and the offset works but the further you go away from the initial curve the closer you have to get to the left edge for it to work.

Perhaps unsurprisingly it doesn’t work for a point outside the right edge but does for one outside the left one.

Looks like one for the experts @pascal

Yeah, it’s super strange that the offset curve will fail on the right side edge.

@Rhino_Bulgaria , @jeremy5, @pascal

Is even worse.
This function/command is unusable and has nothing to do with CAD precision, respectively with what is supposed to do.
Distance is not kept !!!

  1. _OffsetCrvOnSrf (distance somewhere )
  2. _SubCrv from edge, starting point at offset curve end, sub to original, repeat starting point at offset curve start, sub to original.
    Compare the length of the two SubCrv, the deviation is extreme !!!

Hello - I see this, thanks. -

RH-62817 OffsetSrcOnSrf: fails on ThroughPt


1 Like

Pascal, the report for the latest service release (Rhino 7, version 7.5.21068) mentions that the bug “OffsetCrvOnSrf: ThroughPoint failed in some cases (RH-62817)” have been fixed. However, I just updated my Rhino 7 and tried exactly the same 3dm file that I uploaded in post #4 in this topic 24 days ago and the latest Rhino 7.5 still fails to create an offset curve on surface.



Hi Bobi - yes, it is still possible to get out of range of a segment that is relatively short compared to the offset distance but it should get more cases now


Since the old days of Rhino 2 or 3 I solve such issues by simply creating a pipe around the original curve and snap its radius to the desired point (it works even better if the curve is extended outside the surface), then I extend the surface and create an intersection curve between the original surface and the pipe. That results into a curve which is very close to the target point (about 0,0000311 mm away in this particular example), so I move the intersection curve and then snap it to the point.
However, many Rhino users don’t know how to do such tricks and it would be nice to have a properly working “Offset curve on surface” tool in the future. :slight_smile:

This reminds me of an old request that I had somewhere in this forum a long time ago. Is it possible to add a “FlipDirection” option in the command line while the “Pipe” command is active? It’s a bit annoying to figure out too late that the starting end of the curve used to build a pipe around is at the opposite end, then be forced to cancel the command and use another tool to flip the direction of the curve (like “Analyze direction”), and then finally go back to the “Pipe” tool. This adds too many unwanted mouse clicks and slows the workflow. Could you add this to the pile for a future upgrade of the “Pipe” tool? :slight_smile: Something like that:

Adding my experiences:
These are identical holes in a sphere yet only one edge can be offset. Is it a bug?

Rhino Offset on Surface.3dm (313.8 KB)

Is not it possible for Rhino to use the “brute force” method shown in my YouTube video above to handle the offset curves on surface/polysurface, by calculating the radius based on an invisible pipe and then use curve intersections to build the final offset curve? It works on polysurfaces, too.

It is possible to overcome that. Thanks for your tips. Pipes are helpful on many occasions :slight_smile:

My example is not any serious job to be made so I don’t need to finish it.
I was just checking if I can do something in Rhino instead of other program, and it took me only a few steps to realize that without workarounds - no I can’t.
I published this example because I would like to do something in Rhino and maybe show others that it can be done here.

If I would like to show it to others, should I even mention OffsetCrvOnSurface or go straight to the pipe method?

There was no “Offset curve on surface” tool in older Rhino versions, so many Rhino users relied on the pipe method for years. Another way to do an offset curve on surface is to use the “Fin” command to build a surface normal to the input surface, then make an offset surface of the fin surface.

Hello - Rebuilding the sphere to say 24 by 12 at degree 5 (pretty good approximation) will allow the offset to work. The sphere is rational and has fully multiple knots - I do not know but I can imagine that presents some difficulties in the calculation.


Thanks Pascal, I did what you said and it heled, but helped just a bit. :confused:

I rebuilded surface as you proposed.
Offseting edge by 100 works ok.
Offseting edge by 50, and then offseting curve by any distance causes trouble.

I noticed, that created curve is self-intersecting… it is strange because it’s a product of offset where the edge was an input.