| exception on MakeEdge |
 |
| Yaron |
2012/10/09 13:11 |
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); // <= exception thrown!
any ideas why? |
 |
| |
 | | jelle |
2012/10/09 13:34 |
| What if you built it with a gp_Lin as an argument? |
 |
| |
 | | Yaron |
2012/10/09 14:07 |
| thanks! it helps. |
 |
| |
 | | Yaron |
2012/10/09 14: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) |
 |
| |
|
|
 | | Forum supervisor |
2012/10/10 13: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 |
 |
| |
 | | Yaron |
2012/10/10 13:36 |
ok, thanks for the clarification.
|
 |
| |