View Issue Details

IDProjectCategoryView StatusLast Update
0026935CommunityOCCT:Modeling Algorithmspublic2016-03-15 09:33
ReporterVico Liang Assigned Tomsv 
PrioritylowSeverityfeature 
Status assignedResolutionopen 
Target VersionUnscheduled 
Summary0026935: Implement Thicken Sheet in OCCT
DescriptionOther 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.
TagsNo tags attached.
Test case number

Attached Files

  • shell.PNG (27,708 bytes)
  • thicksolid.PNG (36,584 bytes)

Activities

msv

2015-11-30 12:32

developer   ~0048648

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.

alainb

2016-02-03 16:18

reporter   ~0050383

Last edited: 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.

Vico Liang

2016-02-12 05:43

developer   ~0050656

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.

Vico Liang

2016-02-12 05:51

developer   ~0050657

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?

msv

2016-02-16 18:31

developer   ~0050842

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

msv

2016-02-16 18:32

developer  

shell.PNG (27,708 bytes)

msv

2016-02-16 18:32

developer  

thicksolid.PNG (36,584 bytes)

Vico Liang

2016-03-10 04:49

developer   ~0051494

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?

msv

2016-03-14 15:17

developer   ~0051598

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.

Vico Liang

2016-03-15 06:32

developer   ~0051608

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.

Issue History

Date Modified Username Field Change
2015-11-29 18:36 Vico Liang New Issue
2015-11-29 18:36 Vico Liang Assigned To => msv
2015-11-30 12:32 msv Note Added: 0048648
2015-11-30 12:32 msv Target Version 7.0.0 => Unscheduled
2016-02-03 16:18 alainb Note Added: 0050383
2016-02-03 16:19 alainb Note Edited: 0050383
2016-02-03 16:19 alainb Note Edited: 0050383
2016-02-03 16:20 alainb Note Edited: 0050383
2016-02-12 05:43 Vico Liang Note Added: 0050656
2016-02-12 05:51 Vico Liang Note Added: 0050657
2016-02-16 18:31 msv Note Added: 0050842
2016-02-16 18:32 msv File Added: shell.PNG
2016-02-16 18:32 msv File Added: thicksolid.PNG
2016-02-16 18:32 msv Assigned To msv => Vico Liang
2016-02-16 18:32 msv Status new => feedback
2016-03-10 04:49 Vico Liang Note Added: 0051494
2016-03-10 04:50 Vico Liang Assigned To Vico Liang => msv
2016-03-10 04:50 Vico Liang Status feedback => assigned
2016-03-14 15:17 msv Note Added: 0051598
2016-03-14 15:17 msv Assigned To msv => Vico Liang
2016-03-14 15:17 msv Status assigned => feedback
2016-03-15 06:32 Vico Liang Note Added: 0051608
2016-03-15 06:32 Vico Liang Assigned To Vico Liang => msv
2016-03-15 06:33 Vico Liang Status feedback => assigned
2016-03-15 09:33 msv Priority normal => low