exception on MakeEdge

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?

jelle's picture

What if you built it with a gp_Lin as an argument?

Yaron Holdstein's picture

thanks! it helps.

Yaron Holdstein's picture

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)

Forum supervisor's picture

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

Forum supervisor's picture

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

Yaron Holdstein's picture

ok, thanks for the clarification.