Booleans too slow

Hello!

I'm using OpenCASCADE under Windows 2000, hardware - PIII - 500MHz, 512 Mb RAM, GeForce 256 DDR 32M and i found that some algorythms are very slow! For example CUT - i use BRepAlgoAPI_Cut. When i cut complex solid with simple cylinder it takes aproximately 2 seconds!!! 10 cut operations take 18 seconds! I compared that with ProEngineer2000i2 - ProEngineer2000i2 make cuts 10 times faster. So what's the problem? Maybe i can use another function, or this problem will be resolved later?

Best regards, Dima

Philippe Centa's picture

In my opinion, you never do a cut with Pro/E but something like a BRepFeat_MakePrism() with a circular profile. Anyway I do not how OpenCASCADE compares with Pro/E on that topic in term of performance, but it should be quicker than a cut anyway.

Regards

d-ivanets's picture

Hello!

Thanks for reply!

I tried to use BRepFeat_MakePrism() but i didn't find it faster. Could you, please, explain me, what the difference between using BRepFeat_MakePrism() and using BRepPrimAPI_MakePrism and then BRepAlgoAPI_Cut? Maybe you can advice me another method - my task is to make a hole in a complex solid. Currently i make prism using BRepPrimAPI_MakePrism and then i cut the solid with this prism using BRepAlgoAPI_Cut.

Thanks in advance, Dima

Mikael Aronsson's picture

Hi !

BRepPrimAPI_MakePrism will just create an extruded shape.

BRepFeat_MakePrism will create a prism and add or delete it from a shape (I think this use BRepAlgoAPI_Cut to remove the prism).

BRepAlgoAPI_Cut will cut away one shape from another.

As usual I may be wrong so please correct me in that case.

Mikael

d-ivanets's picture

> Hi !

Hi!

> BRepPrimAPI_MakePrism will just create an
> extruded shape.

Yes, i understand

> BRepFeat_MakePrism will create a prism and
> add or delete it from a shape (I think this
> use BRepAlgoAPI_Cut to remove the prism).

i think so

> BRepAlgoAPI_Cut will cut away one shape from
> another.

> As usual I may be wrong so please correct me
> in that case.

> Mikael

Yes, Mikael, but is this only way to make hole in a solid? I used profiler and found that BRepAlgoAPI_Cut operation on a slow PC (Celeron 433 MHz) takes 7.25 seconds and BRepFeat_MakePrism::Perform takes 7,35 seconds. It's terrible - imagine regeneration of 50 holes!

Best regards, Dima

Philippe Centa's picture

> Hi!

> Yes, i understand

I am not sure I do ...

> i think so

I do not think so : it uses the concept of local operation, smarter than boolean (see LocOpe)

> Yes, Mikael, but is this only way to make
> hole in a solid? I used profiler and found
> that BRepAlgoAPI_Cut operation on a slow PC
> (Celeron 433 MHz) takes 7.25 seconds and
> BRepFeat_MakePrism::Perform takes 7,35
> seconds. It's terrible - imagine
> regeneration of 50 holes!

No it's not ! So try and tell us !

> Best regards, Dima

Regards, Philippe

Igor Feoktistov's picture

Hi

Algo of BRepFeat_MakePrism is based on local boolean operation (see LocOpe package) and can make hole in shape faster then topological operation "cut" (BRepAlgoAPI_Cut) between shape and cylinder. But sometimes in case when local operation failes, algo calls cut of two shapes.

Igor,

Monty Sagar's picture

Hello

I was wondering if you could ever get the BRepAlgoAPI_Cut perform any better, or did you find any other alternative.

I am in a very simialr situation, making shapes with 60 or more holes and it took almost 4 minutes on a 2GHz Windows XP machine. This is simply not acceptable.

Any help is appreciated.

Thanks

Monty Sagar