MantisBT - Community
View Issue Details
0026935Community[OCCT] OCCT:Modeling Algorithmspublic2015-11-29 18:362016-03-15 09:33
Vico Liang 
msv 
lowfeature 
assignedopen 
 
[OCCT] Unscheduled 
0026935: Implement Thicken Sheet in OCCT
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.
No tags attached.
png shell.PNG (27,708) 2016-02-16 18:32
https://tracker.dev.opencascade.org/
png thicksolid.PNG (36,584) 2016-02-16 18:32
https://tracker.dev.opencascade.org/
Issue History
2015-11-29 18:36Vico LiangNew Issue
2015-11-29 18:36Vico LiangAssigned To => msv
2015-11-30 12:32msvNote Added: 0048648
2015-11-30 12:32msvTarget Version7.0.0 => Unscheduled
2016-02-03 16:18alainbNote Added: 0050383
2016-02-03 16:19alainbNote Edited: 0050383bug_revision_view_page.php?bugnote_id=50383#r12868
2016-02-03 16:19alainbNote Edited: 0050383bug_revision_view_page.php?bugnote_id=50383#r12869
2016-02-03 16:20alainbNote Edited: 0050383bug_revision_view_page.php?bugnote_id=50383#r12870
2016-02-12 05:43Vico LiangNote Added: 0050656
2016-02-12 05:51Vico LiangNote Added: 0050657
2016-02-16 18:31msvNote Added: 0050842
2016-02-16 18:32msvFile Added: shell.PNG
2016-02-16 18:32msvFile Added: thicksolid.PNG
2016-02-16 18:32msvAssigned Tomsv => Vico Liang
2016-02-16 18:32msvStatusnew => feedback
2016-03-10 04:49Vico LiangNote Added: 0051494
2016-03-10 04:50Vico LiangAssigned ToVico Liang => msv
2016-03-10 04:50Vico LiangStatusfeedback => assigned
2016-03-14 15:17msvNote Added: 0051598
2016-03-14 15:17msvAssigned Tomsv => Vico Liang
2016-03-14 15:17msvStatusassigned => feedback
2016-03-15 06:32Vico LiangNote Added: 0051608
2016-03-15 06:32Vico LiangAssigned ToVico Liang => msv
2016-03-15 06:33Vico LiangStatusfeedback => assigned
2016-03-15 09:33msvPrioritynormal => low

Notes
(0048648)
msv   
2015-11-30 12:32   
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.
(0050383)
alainb   
2016-02-03 16:18   
(edited on: 2016-02-03 16:20)
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.

(0050656)
Vico Liang   
2016-02-12 05:43   
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.
(0050657)
Vico Liang   
2016-02-12 05:51   
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?
(0050842)
msv   
2016-02-16 18:31   
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
(0051494)
Vico Liang   
2016-03-10 04:49   
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?
(0051598)
msv   
2016-03-14 15:17   
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.
(0051608)
Vico Liang   
2016-03-15 06:32   
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.