I write 2 functions to get a brepface or a surface iso curves
most time these functions work fine,but sometimes will get a lot confused curves. test.rar (1.3 MB) is the test 3dm file which has a brepface and a surface.
RhinoGetBrepFaceIsoCurves can get the brepface isocurves,but I also need get the surface isocurves,and
i want know why GetIsoCs function I writed can’t work fine
@dale, @NiceDay replied RhinoGetBrepFaceIsoCurves() can get good isocurves from brepface. He would like to know why GetIsoCs() works for most cases, but not for the two surfaces in the 3dm that he has attached. The on_surface isocurves extracted from the two surfaces by GetIsoCs() are pretty messed up, too long and not even on the surface. Implementing RhinoGetBrepFaceIsoCurves() in GetIsoCs() doesn’t make it work. Can you please test GetIsoCs() with the two surfaces and see what is wrong?
The following sample command seems to work just fine on the shoe shaped surface. But it will not work on the trimmed surface as ON_Surface::IsoCurve only works on the underlying surface, not the trimmed ON_BrepFace, which is why I suggested using RhinoGetBrepFaceIsoCurves()
dale:
Thanks very much.
you sample comand is work fine
and I know what problem in my code after see you sample.
the problem is next two line codes used the same dir params.
in fact ,they should use the opposite params.
when Domain using 0,then GetIsoCurves should using 1. ON_Interval udomain= face->Domain(dir);
face->GetIsoCurves(dir,c,cs);