There is a bug with Rhino which leads to an unwanted loss of accuracy when extruding planar curve profiles on a custom CPlane. The bug is caused by the '_CPlane _Object which fails to maintain true planar coordinates. On the other hand, a Cplane set by the '_CPlane _3Point command properly aligns the coordinates to the planar curves. You can observe the bug in the attached video. I also upload the same 3dm file here (Rhino 7): Never trust Rhino for 90-degree extrusions.3dm (141.8 KB)
P.S. A similar bug was found when dealing with the ! _Distribute command which uses inaccurate bounding box for each object. That other bug was discussed in this topic:
the problem is, that there is some trading between intuition, easiness of use, tolerance and mathematical correctness with 12 digits …
set the cplane to whatever you like (object or _cplane _3Point) , _projectToCplane to make the curve 100% planar - the issue is gone.
sorry to say but it is not a bug but a limitation of CAD to dealing with tolerances and ease of use.
By the way: looking at your video, you re using Center and Near snap as persistent - did you ever try one shot Osnaps ? click on one of the snap buttons with shift to get a one - shot osnap. I strongly recommend to not use near, center as permanent / persistent osnaps.
kind regards and marry Christmas - hope you’ve eaten less diner then my mother served me today ;-D
Tom
The funny thing is that I created a custom CPlane first, then I drew the curves on it, so they are supposed to be flat if Rhino is programmed properly. I even have the whole process captured on a video, but it was made for a customer and the work is private, so I can’t show it to anyone else.
However, as discussed in the other topic I mentioned and a few others, bounding boxes and CPlanes use some rough calculations that leave room for errors caused by Rhino itself. These calculations could be more accurate. As far as I remember, they were made rough (with less digits?) back in the time some 20-25 years ago when CPU’s were quite weak. However, it’s 2024 now (2025 soon) and processors are much more capable, so I think that having more accurate calculations at the cost of a few milliseconds delay is worth the trade.
As for the Osnap options, the ones I use work best for my type of workflow, but I also have some key shortcuts to turn off all snap types except for circle, or turn the circle snap off and leave the rest ones. Depends on the situation.
can you provide a workflow, that allows to repeatable create a non-planar curve on a c-plane - at least if we look at the 5th digit.
this point is 0.0000603 of from the others.
@Rhino_Bulgaria I tried to reproduce by drawing a similar polycurve on a cplane most close to the curve you posted. When I run boundingbox on your curve, it is indeed not flat, but when I run boundingbox on the new curve, it is.
I’m curious how you created the curve you posted.
That particular straight line next to the round curve pointed out by @Tom_P was created via curve intersection between two planar surfaces. Then that curve was used to trim the excess area of both planar surfaces. The whole assembly includes 3 metal plates (not on the same plane) that touch together in one spot. Maybe the ! _Intersect tool causes some inaccuracy? I work with Absolute tolerance of 0.001 millimeters. Is not it possible to set custom tolerance for certain tools, so that they will work as accurate as possible?