For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings


Need to speed up your development?
Have a look at our:

Samples & Tools


Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Filleting speed problem

Christian Schormann's picture

I have the following very simple code:

TopoDS_Shape theBox = BRepPrimAPI_MakeBox(200, 60, 60);
TopoDS_Shape theSphere = BRepPrimAPI_MakeSphere(gp_Pnt(100, 20, 20), 80);
TopoDS_Shape Base = BRepAlgoAPI_Fuse(theSphere, theBox);

BRepFilletAPI_MakeFillet MF(Base);

// add all the edges  to fillet 
TopExp_Explorer  ex(Base, TopAbs_EDGE);

while (ex.More()) {
    MF.Add(size, TopoDS::Edge(ex.Current()));

ShapeFused = MF.Shape();

BRepMesh_IncrementalMesh(ShapeFused, 0.5);

This produces a model with fillets on all edges. However, it also takes about 1.2-1.5 seconds to compute on a pretty fast machine. That is too slow for interactive modeling operations. If I create the same scene in other CAD systems, I can interactively manipulate fillets of this sorts without much problems. Is there a faster way to create the fillets in OpenCascade?

Thanks a lot!