From: ikochetkova Date: Tue, 22 Apr 2025 17:01:06 +0000 (+0100) Subject: Data Exchange, IGES Export - Missing Model Curves in transfer cache #483 X-Git-Tag: V7_9_1~7 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=784bf6d4b9f1d551eeb92fef7a2e6f7c2cbdf269;p=occt.git Data Exchange, IGES Export - Missing Model Curves in transfer cache #483 Check if the curve was already created and use it. Works for shared edges cases. --- diff --git a/src/BRepToIGESBRep/BRepToIGESBRep_Entity.cxx b/src/BRepToIGESBRep/BRepToIGESBRep_Entity.cxx index 586f67291f..266abaf2fb 100644 --- a/src/BRepToIGESBRep/BRepToIGESBRep_Entity.cxx +++ b/src/BRepToIGESBRep/BRepToIGESBRep_Entity.cxx @@ -317,6 +317,13 @@ Handle(IGESData_IGESEntity) BRepToIGESBRep_Entity::TransferShape( Handle(IGESData_IGESEntity) BRepToIGESBRep_Entity::TransferEdge(const TopoDS_Edge& myedge) { + Standard_Integer anInd = IndexEdge(myedge); + if (anInd != 0) + { + Handle(IGESData_IGESEntity) ICurve3d = Handle(IGESData_IGESEntity)::DownCast(myCurves(anInd)); + if (!ICurve3d.IsNull()) + return ICurve3d; + } BRepToIGES_BRWire BR(*this); BR.SetModel(GetModel()); TopTools_DataMapOfShapeShape anEmptyMap;