Thu, 01/24/2013 - 08:57
Forums:
Hi All,
Load attached brep file. Use BRepOffsetAPI_ThruSections to create a loft surface by selecting two circle curves. It will crash in
BRepFill_Generator.cxx. Crash point is:
gp_Circ k1 = (Handle(Geom_Circle)::DownCast(C1))->Circ();
Here C1 is a TrimmedCurve and its basic curve is a circle. So this conversion will failed.
I have compared OCC6.5.3 and OCC6.5.4. No updates in this file.
Thanks in advance.
Ding
Thu, 01/24/2013 - 14:54
Dear Cauchy Ding,
It seems the problem is in your data (the first wire).
Simple rebuilding of the wire allows to get the expected result.
> pload ALL
> restore error3.brep s
> explo s
# s_1 s_2
> explo s_1
# s_1_1
> whatis s_1_1
# s_1_1 is a shape EDGE REVERSED Modified Orientable Closed
> mkcurve c1 s_1_1
> mkedge e1 c1
> wire w1 e1
> thru r 0 0 w1 s_2
> checkshape r
# This shape seems to be valid
See the resulting shell attached.
Regards
Thu, 01/24/2013 - 15:11
Dear Supervisor,
Thanks for your feedback. Those two edges are from faces which topology correct. Yes, the crash is not caused by algorithm but a type conversion bug in BRepFill_Generator.cxx. Rebuild curve will erase this problem because the tolerance will be reset.
Thanks.
Ding