Missing surfaces in 6.5.4

Linux Ubuntu 12.04.1
FreeCAD 0.13 rev 1766 (GR)
OpenCASCADE 6.5.4

I just compiled and installed 6.5.4 and am using it in FreeCAD 0.13.
When I reach some unknown level of complexity, when using the CUT function, surfaces start going missing.

(I'm only guessing, but it seems like that's the kind of thing to expect if the program had run out of memory.)

(Please run the attached file DEMO.fcstd in FreeCAD.)

Choose Part workbench

Select Cut012
Ctrl Torous002
Make a cut of two shapes

At the point where the shapes intersected, note how the appropriate surfaces are missing, and an inappropriate one is still there.

Is there anything I can do about that?

ratnadeep mukkirwar's picture

Hi Fester,
I am also facing similar problem. I am trying to use BRepAlgoAPI_Common for getting common between helical tubes and a cylindrical surface but for some reason it is missing surfaces and adding some inapproproate ones.
I am a new user to OCCT. I am wondering if going back to older versions of opencascade can help me. Have you tried it before with any other older versions?? Also did you get any solution?
Thank you.

fester's picture

> Have you tried it before with any other older versions??

This has been a problem since 6.5.2. The only older version available for download is 6.5.1, so I don't plan to try it. This was a very good idea though!

> Also did you get any solution?

No. So far you are the only one to reply. Thank you for replying, this proves I'm not the only one with the problem!

kylin's picture

I'm now with the similar problem, when using new api BRepAlgoAPI_Cut to cut some cylinder from anotherone, it looses some faces. Meanwhile the old api BRepAlgo_Cut works well. I think it's a common problem. May it be fixed soon.

P G's picture

It works in OCC 6.3.X series with BRepAlgoAPI_Cut !!!

It fails in in OCC 6.5.4 Test harness environment on Win7 too using bopargcheck command

fester's picture

Do you know where I can get OCC 6.3.X? (It is no longer available on the Open Cascade Website.)

Forum supervisor's picture

Dear fester,
You can find it at the next link
Just take into account, please that we not support more this old version.

fester's picture

Is there a link available for the Linux version?

Forum supervisor's picture

Dear fester,
Only source package is available:
You should build it by your own.

Forum supervisor's picture

Dear kylin,
Unfortunately it is not possible to reproduce your case because OCCT is not support *.fcstd format.
Simple test with two cylinders was successful. No missed faces.

Draw[]> pcyl cy1 20 100
Draw[]> plane pln -50 0 50 1 0 0
Draw[]> pcyl cy2 pln 15 100
Draw[]> don cy1 cy2
# cy1 cy2
Draw[]> bop cy1 cy2
Draw[]> bopcut Result
Draw[]> don Result
Draw[]> vdisplay RC
Draw[]> vfit
See the result attached.
If it is possible could you attach a script
and arguments of the operation in any format supported by OCCT.

P G's picture

Tried to create cylinder's from the above data (brep attached). trying to perform 'bopargcheck' before using the cut operation gave a message that the shapes are not suitable for boolean in 6.5.4 windows test harness. why ?

Forum supervisor's picture

Dear PG,
The issue is not reproducible in OCC6.5.4 (vc9 win32) environment.
See below.
Draw[40]> restore cylin.brep cylin
Draw[41]> restore cylout.brep cylout
Draw[42]> fit
Draw[43]> bopargcheck cylin
# Shape(s) seem(s) to be valid for BOP.

Draw[44]> bopargcheck cylout
# Shape(s) seem(s) to be valid for BOP.

Draw[45]> bopcheck cylout
# This shape seems to be OK.

Draw[46]> bopcheck cylin
# This shape seems to be OK.


P G's picture

After restoring the brep's as 'out' and 'in', i did a bopargcheck with with -C (cut) option. Am i doing something wrong ?

# brestore cylin in
# brestore cylout out
# bop out in
# bopargcheck out in -C
faulties, that can not be treated by BOP, are detected

P G's picture

just a small correction - typo mistake
# brestore cylin.brep in
# brestore cylout.brep out

but, bopcut R returns a valid shape !!!!

Forum supervisor's picture

Warning returned by
may be the result of bug or it may be result of
not synchronized criteria of validity. It is not possible
to identify it right now as it requires more deep investigation.
I suggest you you to register the issue in Mantis Bugtracker which
is available via the Collaborative portal -