Hi Joach,

The intersection between two surfaces is usually a very complicated
curve. If there exists a nurbs curve which represents this
intersection perfectly, chances are it will need a massive degree
(think 30) and an enormous amount of control points. This is why we do
not provide those curves as results.

Internally, Rhino calculates the intersection to a much higher
accuracy than you request. The thousands of intersection points it
finds between the surfaces are fitted with a single nurbs curve. This
nurbs curve is not allowed to deviate from the intersection points by
more than the tolerance. So, even if all the intersection points are
on the same plane, it is possible that the fitting curve will deviate
from this plane by a maximum of <tolerance> units.

When we test for planarity, we also need to pick a tolerance. If you
have a flat curve with no z-elevation at all, then it's obviously
flat, but if you rotate the curve so that the plane is tilted along
each axis, then the very accuracy of floating point numbers will cause
it wobble, ever so slightly away from the ideal plane.

The planar component in Grasshopper is set to maximum accuracy. I'll
adjust it to only operate within current Document Absolute Tolerance.
Incidentally, the planar component will output the deviation from the
ideal plane. You could also compare this to a numeric value and so
decide upon your own tolerance within Grasshopper. What is the
deviation that you get?

--
David Rutten
[email protected]
Robert McNeel & Associates




On Mar 8, 10:06 pm, joach <[email protected]> wrote:
> It wasnt visually? I used planar component for fast test and there
> isnt possible set a tolerance. When I used VB.net definition
> (.isplanar) and your tip its work perfect. Thanks for you David for
> your quick answer!!! What exactlly is mean by tolerance?
>
> Thank for GH, a special with vb.net component it is so strong tool.
> GOOD WORK!!!!!
>
> Joach
>
> On Mar 8, 9:38 pm, David Rutten <[email protected]> wrote:
>
> > Hi Joach,
>
> > if the intersection tolerance is less than the planarity test
> > tolerance, curves will appear to be non-planar. Or are you getting
> > visually wacky results?
>
> > --
> > David Rutten
> > [email protected]
> > Robert McNeel & Associates
>
> > On Mar 8, 9:26 pm, joach <[email protected]> wrote:
>
> > > When I make a intersection of two Breps (first is from onNurbsSurface,
> > > second is a plane surface define from a frame of curve, function
> > > pointAt(w = 0) ) result of this operation is a array of onCurve. How
> > > is possible that curves arent planar? tolerace of intersection of brep
> > > is set to 0.01
>
> > > Any idea? Thanks
> > > Joach

Reply via email to