MantisBT - Open CASCADE
View Issue Details
0024652Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2014-02-21 14:072019-08-12 16:37
ifv 
ifv 
normalfeature 
newopen 
 
[OCCT] 7.5.0 
Not required
0024652: It is necessary to always store p-curves on planes
The function :

Handle(Geom2d_Curve) BRep_Tool::CurveOnSurface(const TopoDS_Edge& E,
                                               const Handle(Geom_Surface)& S,
                                               const TopLoc_Location& L,
                                               Standard_Real& First,
                                               Standard_Real& Last)

in cases when S is a Plane make P-curve every time the function is invoked.
So for the Planes the P-curve is made on the fly.
For large shapes it takes a lot of time, some preliminary tests for shapes containing large amount of planar faces, show that storing p-curves on plane can help inprove perfomance ~ 2 time for assembly part of BO.
No tags attached.
related to 0024860assigned ifv Community [Regression] OCC 6.7.1 beta BRepBuilderAPI_Transform loses pcurves 
Issue History
2014-02-21 14:07ifvNew Issue
2014-02-21 14:07ifvAssigned To => ifv
2014-04-29 10:33abvRelationship addedrelated to 0024860
2014-09-12 14:23abvTarget Version => 7.1.0
2015-04-07 14:55msvNote Added: 0039309
2016-10-28 11:54msvTarget Version7.1.0 => 7.2.0
2017-07-24 09:32msvTarget Version7.2.0 => 7.3.0
2017-07-31 15:42apvTest case number => Not required
2017-12-05 17:01msvTarget Version7.3.0 => 7.4.0*
2019-08-12 16:37msvTarget Version7.4.0* => 7.5.0

Notes
(0039309)
msv   
2015-04-07 14:55   
During fixing this issue, it is needed to avoid changing the behavior of the method BRep_Tool::CurveOnSurface. This method should work as it is for compatibility with old shapes (that do not store pcurves on planes).

What it is needed to do:

1. Provide a new method (probably in one of ShapeFix or BRepLib packages) that will process the shape, build and store absent pcurves on planes. This method will allow restoring pcurves in old shapes when necessary. A draw command must be created implementing this method.

2. Force all OCC algorithms that can create a face to store pcurves.