offset face with hole

Hi, does anyone knows how to offset a face which has a hole(s) inside?

in other words, I want to offset the outer and inner wires of the face at the same time with (+) or (-) values..

"BRepOffsetAPI_MakeOffset" only works if the face does not have any hole(s) inside, or if the input to the function is only the outer wire of the face..

but if the wire has two loops (inner + outer) the function does not work..

Cauchy Ding's picture

Hi Ata,

In fact, BRepOffsetAPI_MakeOffsetShape works well for most case. But if the offset distance is too small or the face/shell has some large tolerances or topology problems, I often get wrong or invalid result. You'd better upload your testing face, let us try it.

Ding

ataeft's picture

Thanks, but what I was meant is generating offset for face wires not the actual face. I attached a figure. lets say we have a face with hole (black lines) and we need to generate offsets (red lines). How do we do that if the face has a hole(s) inside?

Attachments: 
Cauchy Ding's picture

Hi Ata,
Sorry, I mistake understanding BRepOffsetAPI_MakeOffset as BRepOffsetAPI_MakeOffsetShape. If you want to offset face containging multiple wires, I suggest you offet the wires firstly, and fill a plane by those offseting wires manually.

Ding

ataeft's picture

Thanks, but still I have my problem, any idea on how to create these offsets (attached pic) in occ?

Attachments: 
Forum supervisor's picture

Dear Ata,
OPEN CASCADE has a good experience in solving similar tasks for our customers working in modeling domain. We have a good level of expertise and some re-usable solutions which can be offered on a paid basis. Please, do not hesitate to contact us via http://www.opencascade.com/contact/ for more detailed information.
Regards

JiangMing's picture

This should the best and last solution for our developers' problem!

jelle's picture

any serious thread, suggesting issues with the OCC kernel is dealt seamingly in this fashion.
its hard to take OCC serious as an OS project. good thing that there is OCE...