About using BRepAlgoAPI on OCCT 6.7.1

Hello, I am using BRepAlgoAPI_Common for boolean operation.
This code runs fine on OCCT version 6.5.4.

BRepAlgoAPI_Common api(solid1, solid2);

#if OCC_VERSION_MAJOR >= 6 && OCC_VERSION_MINOR >= 6
api.SetOperation(BOPAlgo_COMMON);
#else
api.SetOperation(BOP_COMMON);
#endif

api.Build();

if (api.IsDone() && !api.ErrorStatus()) {
TopoDS_Shape result = api.Shape();
// ....
}
else {
// ...
}

I ported this code from OCCT 6.5.4 to 6.7.1.

I waited over of 3 hours, but the constructor of BRepAlgoAPI_Common blocks and it doesn't release the operation. Of course, Arguments solid1 and solid2 are same BRep shape in each environment. They are loaded from BRep file.

I found the case of arguments combination;

Solid x Solid => Not return from API constructor.
Face x Solid => Done.
Edge x Solid => Done.

This problem happend at only `solid by solid' arguments combination.

I tested the code on Windows XP, 7 and Debian GNU/Linux. I trying to use BOPAlgo_BOP class(is this new api?), but the operation blocked by constructor of it.

How can I change my code for boolean operation?

Thank you for reading my poor English.

Forum supervisor's picture

Dear Transom,
If you still have this problem I would suggested you to register the issue in Mantis BugTracker which is available via the Collaborative portal - http://dev.opencascade.org/index.php?q=home/get_involved.
Don't forget to attach the shapes allowing to reproduce the case.
Best regards
Sergey

dyama_44228's picture

Thank you for your reply.
I will join to your project and I will post the issue and BRep files to bug tracker.
I will be happy if I can be of any help.

P G's picture

could u share the BREP files in the forum for analysis
thanks