Curve from 2 views - result not coincident

I have two curves that are both planar. One circle on the the front CPlane, and one curve on the right CPlane.

I now do a Curve From 2 Views operation:

Hiding the input curves and examinig the resulting curve (very) closely in the right view, by scrolling (way) in, it appears the two “arms” of the curve are not coincident.

I dont want to cut the resulting curve at the right CPlane and mirror it, because that would lead to a discontinuity where the mirrored halves meet.

In order to measure the deviation, I projected the resulting curve to the right CPlane (orange color) and measured the distance at some arbitrary place (somewhere in the middle of the curved section).
11a

The distance is very very small, but these little deviations still seem to cause problems further down the road, especially, when resulting curves are beeing used as inputs for further operations. I then often have had problems with continuity when joining curves, or not beeing able to join them in the first place. Because I find it hard to then repair these things, I try to always get exact curves.

I would very much like to learn if others have had similar problems with the Curve From 2 Views function, and how they got around them.

Thanks for reading and best regards,

Frido

Questions can be answered better if a .3dm file with the geometry (both input and output) is included in the post asking the question.

I assume you created the circles using the Circle command. If so the resulting circle is a rational NURBS curve which is an exact circle.

Crv2View results in a non-rational NURBS curve which will not be “exact”. It’s deviation from “exact” will be less than the absolute tolerance.

A deviation of 0.00000055 is less than an absolute tolerance of 0.0001, which is the smallest recommended absolute tolerance. Deviations this small should not cause problems.

In general you should keep the absolute tolerance setting in the range of 0.01 to 0.0001. And never set it below 1.0e-5. If you need a tighter tolerance, use smaller units instead.
https://wiki.mcneel.com/rhino/faqtolerances

Thank you again for your quick response.

here is the file.
example.3dm (154.6 KB)

I am aware that the deveations here are redicuously small.

But, when I input two curves that are exactly planar und perpendicular to each other, shouldn’t the result be symmetrical to the last digit?

When I set the tolerance to say 0.001, does that mean rhino just handels a gap smaller than that as no gap? Does the set tolerance influence the precision of the calculations rhino performs, and can you tell me what the internal precision is?

Best regards,

Frido

Hi Frido -
Is the deviation causing an actual problem in modeling, or is it just bothering you?

-Pascal

No. Because of how NURBS curves and surfaces work.

Non-Uniform Rational B-Splines are the basic form used in Rhino and other free-form modeling software to represent curves and surfaces. One of the shortcomings of NURBS is the intersection of two NURBS surfaces is not exactly a NURBS curve except in special situations. The result of Crv2View is equivalent to the intersection of two extruded surfaces. However the exact curve can be represented within any non-zero tolerance by a NURBS curve, but with increasing accuracy requiring additional control points.

The absolute tolerance is used by Rhino in several ways. One is the decision of how many control points to use when a curve cannot be represented exactly. The number of control points will be increased until the NURBS curve is within the tolerance of the exact curve. Another use of absolute tolerance is deciding if the edges of two curves are close enough. If the edges are within twice the absolute tolerance Rhino considers the edges as coincident.

The absolute tolerance does not affect the precision of the arithmetic used in Rhino.

https://wiki.mcneel.com/rhino/faqtolerances

Hello Pascal,

Maybe both. I suspect that it causes problems later, and it bothers me, because it gives me a feeling of uncertainty.

I often have problems with, for example, no longer being able to join curves at some point, and I then try to understand why that is.
I then start looking at the curves I generated earlyer and then reused.
When and I see they are - for example like in the file I uploaded - not symmetrical, I think this may have somehow accumulated along the way, but I can never really tell where the problem originated. this causes a general feeling of uncertainty when working with rhino, and I’m trying to get over that feeling somehow.

I am used to working with Catia and Solidworks, and I never had this kind of problems there.
Problem is, curves are not that powerful in the basic SolidWorks version that I have (without special curve functions which cost extra), and Catia is just prohibitively expensive.

Best regards,

Frido

Hello David,

Thank you very much for your precise answers.

I have extruded my two curves und and intersected the surfaces. Strangely the curve I get this way is better (“more symmetric”) then the result of Crv2View.

example.3dm (165.6 KB)

Plese note, I don’t want to be nitpicking here, I’m sort of digging on the limits, to get a feeling for why things sometimes break, and how to avoid that.

For now I’m happy with what I learned, and I’ll go on exploring.

Thank you very much for your help, best regards,

Frido