DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0026935

Implement Thicken Sheet in OCCT

CommunityOCCT:Modeling Algorithmsassigned8 public notes

Search issues

Description

Other modeling engines, such as ACIS and Parasolid, have the functions to thicken a sheet with a specified thickness. It's very useful feature to construct solids from sheet.

I know that there are functions to offset faces in OCCT, it would be nice to make solid from the offset faces.

Public activity

8 archived notes

Participants are labeled by their role within this record.

01Commenter 1
In order to implement such feature it is needed first to specify how it will be done. OK, we have functionality that makes offset shell of a shell. But in order to make solid we need to define how to construct the surfaces between original faces and their offsets.
Without well-defined specification the development of a new feature is not possible.
02Commenter 1
I very much agree with original poster that "Other modeling engines, such as ACIS and Parasolid, have the functions to thicken a sheet with a specified thickness. It's very useful feature to construct solids from sheet.".

It is a feature that is missing from OCC. You may be interested in this thread : http://forum.freecadweb.org/viewtopic.php?f=9&t=3248

As for the specification although not expressely stated by original poster, I think that most users would resquest that thickening be done normal to the surface at any point.

03Author
Dear msv,

Yes, I agree that it need well-defined specification to construct the surface between original faces and their offsets. I suppose the surface can be ruled-surface to connect the original faces and their offsets. Does OCCT have schedule to implement such feature? I'm sure this modeling feature will be a big hilight of OCCT.
04Author
Salome stated that it implements its own offset feature in latest release base on OCCT6.9.1. Why not consider to make it in OCCT?
05Commenter 5
I consulted with SALOME experts, and this is the answer:

In fact, SALOME does not implement any specific algorithm of thickening, it just uses OCCT functionality, namely:

• Create thick solid from face or shell:

FACE or SHELL -> SOLID

      BRepOffset_MakeOffset myOffsetShape(aShapeBase, anOffset, aTol, BRepOffset_Skin, Standard_False, Standard_False, GeomAbs_Intersection, Standard_True);

• Create hollowed solid (by pointing faces on which material is removed):

SOLID -> SOLID

      BRepOffsetAPI_MakeThickSolid aMkSolid(aShapeBase, aFacesToRm, anOffset, aTol, BRepOffset_Skin, Standard_False, Standard_False, GeomAbs_Intersection);


I am sorry that I was unaware of such feature (it is impossible to know everything by one person :) ). Indeed, this is available by the Draw command thickshell:

Draw[16]> help thickshell
thickshell : thickshell r shape offset [jointype [tol] ]

I have attached the snapshots of original shell and result thick solid:
thickshell res shell 0.2 i
06Author
Dear msv,

Sorry for later responsing.

I checked the class BRepOffset_MakeOffset. It implemented the thicken feature as your described. But there is no entry in public API to use this feature(BRepOffset_MakeOffset is not a public entrance i think). So why not make the thickness parameter avalible in class BRepOffsetAPI_MakeThickSolid? OCCT have such wonderful feature, why not let outside world know?
07Commenter 7
Dear Vico,
Though BRepOffset_MakeOffset is not present in User Guide it is still a public API. It presents in the reference manual (http://www.opencascade.com/doc/occt-6.9.1/refman/html/class_b_rep_offset___make_offset.html).
Of course, it would be nice to make an entry for this functionality in BRepOffsetAPI_MakeThickSolid, and properly update documentation.
If you have time and willing to make such contribution you are very welcome.
08Author
Dear msv,
Yes, BRepOffset_MakeOffset is accesible for public user. It would be better to make such change in OCCT internal team. The priority should be low.