DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0024652

It is necessary to always store p-curves on planes

Open CASCADEOCCT:Modeling Algorithmsnew1 public note

Search issues

Description

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.

Public activity

1 archived note

Participants are labeled by their role within this record.

01Commenter 1
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.

Related records