
Tue, 10/09/2012 - 15:11
Forums:
the following Line creation generates an unexplained exception:
gp_Pnt P1(-999999.0, -537768535.94744217, 1.0);
gp_Pnt P2(999999.0, 537784345.33313346, 1.0);
TopoDS_Edge aCurrentEdge;
aCurrentEdge=BRepBuilderAPI_MakeEdge(P1,P2); //
any ideas why?
Tue, 10/09/2012 - 15:34
What if you built it with a gp_Lin as an argument?
Tue, 10/09/2012 - 16:07
thanks! it helps.
Tue, 10/09/2012 - 16:20
there's still an issue.
if i try limiting the line between the two given points, the exception remains:
aCurrentEdge=BRepBuilderAPI_MakeEdge(ln,P1,P2)
Tue, 10/09/2012 - 16:37
Dear Yaron,
You are welcome to register the issue (exception) in Mantis Bugtracker which is available now via the Collaborative portal - http://dev.opencascade.org/index.php?q=home/get_involved.
Regards
Wed, 10/10/2012 - 15:30
Dear Yaron,
For your information.
The problem in the reported case is that you try to create an edge with length of ~1e9 (1.000 km, if we assume that units are mm), while OCCT is configured to work with much smaller objects and uses internal precision (Precision::Confusion()) equal to 1e-7. The resolution provided by double numbers in C++ (16 digits) is not sufficient to represent this scale of values with that precision.
Regards
Wed, 10/10/2012 - 15:36
ok, thanks for the clarification.