View Issue Details

IDProjectCategoryView StatusLast Update
0029334Open CASCADEOCCT:Modeling Algorithmspublic2019-09-07 16:27
ReporterssvAssigned Toabv  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2013 
Target Version7.4.0Fixed in Version7.4.0 
Summary0029334: Modeling Algorithms - Simple offsets complicate geometry
DescriptionImagine you have a canonical shell like the one attached. Then you apply "simple offsets" to make a thick solid out of the shell. The problem is that the resulting geometry contains offset surfaces which are hardly reasonable for planes and cylinders. Essentially, it means that the resulting geometry should be simplified with canonical recognition which is a commercial product and not available for the community.

Probably this is as-designed behavior, but I have found it quite frustrating. We can make offsets more intelligent and do not build offset surfaces for canonic like cylinders and planes.
Steps To Reproduce// Make offset (use any offset value)
BRepOffsetAPI_MakeThickSolid mkOffset;
mkOffset.MakeThickSolidBySimple(inputShell, offsetValue);

// Get result
TopoDS_Shape result;
if ( mkOffset.IsDone() )
{
  result = mkOffset.Shape();
}
TagsNo tags attached.
Test case numberbugs modalg_7 bug29334

Attached Files

  • inputShell.brep (175,179 bytes)

Activities

ssv

2017-11-19 18:01

developer  

inputShell.brep (175,179 bytes)

git

2017-11-20 08:51

administrator   ~0072326

Branch CR29334 has been created by abv.

SHA-1: ac8aa278ddc21df75a38e9ffb6f82ca17ac43e56


Detailed log of new commits:

Author: abv
Date: Mon Nov 20 08:51:32 2017 +0300

    0029334: Simple offsets complicate geometry
    
    Method BRepOffset::Surface() is used in simple offset algorithm to create offset surface, instead of direct and unconditional construction of new Geom_OffsetSurface instance.

abv

2017-11-20 08:52

manager   ~0072327

Note that standard offset algorithm behaves as desired: offsetting planes and cylinders results in faces built on planes and cylinders, not offset surfaces. I see no reason why "simple offset" algorithm should not use corresponding method (BRepOffset::Surface()).

git

2017-11-20 16:26

administrator   ~0072338

Branch CR29334 has been updated by abv.

SHA-1: cc28b067c88a9331169a7b4ac55b0a44dd3eac37


Detailed log of new commits:

Author: abv
Date: Mon Nov 20 16:26:05 2017 +0300

    Added test bugs modalg_7 bug29334

abv

2017-11-20 16:27

manager   ~0072339

Fix pushed to CR29334, please review. Jenkins tests passed, see job CR29344-master

msv

2017-11-20 19:07

developer   ~0072347

tests/bugs/modalg_7/bug29334
- It is not needed to call 'pload MODELING' in the test case. This plugin is loaded in bugs/begin.

aml

2017-11-21 07:40

developer   ~0072352

No remarks from my side, please fix msv remark.

git

2019-09-02 08:11

administrator   ~0086606

Branch CR29334_1 has been created by abv.

SHA-1: 090ef040125d33234fa6110f313987a63b4b8701


Detailed log of new commits:

Author: abv
Date: Mon Nov 20 08:51:32 2017 +0300

    0029334: Simple offsets complicate geometry
    
    Method BRepOffset::Surface() is used in simple offset algorithm to create offset surface, instead of direct and unconditional construction of new Geom_OffsetSurface instance.
    
    Added test bugs modalg_7 bug29334

abv

2019-09-02 14:56

manager   ~0086614

Patch corrected according to remarks is rebased on master and tested, see branch CR29334_1 and Jenkins job CR29334-abv; please review

msv

2019-09-02 17:11

developer   ~0086621

Reviewed.

apn

2019-09-02 17:16

administrator   ~0086622

Combination -
OCCT branch : CR29334_1
master SHA - 090ef040125d33234fa6110f313987a63b4b8701
5f5b1aed1c6e139bbd34314eca77ae7abcd8895c
Products branch : master SHA - 34e9bf11c6b525830b5dee35839707da81e7d1ab
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16169.9099999999 / 16167.270000000033 [+0.02%]
Products
Total CPU difference: 10504.550000000041 / 10484.930000000048 [+0.19%]
Windows-64-VC14:
OCCT
Total CPU difference: 18190.453125 / 18256.515625 [-0.36%]
Products
Total CPU difference: 11674.71875 / 12168.265625 [-4.06%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-09-07 16:27

administrator   ~0086943

Branch CR29334_1 has been deleted by inv.

SHA-1: 090ef040125d33234fa6110f313987a63b4b8701

git

2019-09-07 16:27

administrator   ~0086959

Branch CR29334 has been deleted by inv.

SHA-1: cc28b067c88a9331169a7b4ac55b0a44dd3eac37

Related Changesets

occt: master 090ef040

2017-11-20 05:51:32

abv


Committer: abv Details Diff
0029334: Simple offsets complicate geometry

Method BRepOffset::Surface() is used in simple offset algorithm to create offset surface, instead of direct and unconditional construction of new Geom_OffsetSurface instance.

Added test bugs modalg_7 bug29334
Affected Issues
0029334
mod - src/BRepOffset/BRepOffset_SimpleOffset.cxx Diff File
add - tests/bugs/modalg_7/bug29334 Diff File

Issue History

Date Modified Username Field Change
2017-11-19 18:01 ssv New Issue
2017-11-19 18:01 ssv Assigned To => msv
2017-11-19 18:01 ssv File Added: inputShell.brep
2017-11-20 08:51 git Note Added: 0072326
2017-11-20 08:52 abv Note Added: 0072327
2017-11-20 16:26 git Note Added: 0072338
2017-11-20 16:27 abv Note Added: 0072339
2017-11-20 16:27 abv Assigned To msv => aml
2017-11-20 16:27 abv Status new => resolved
2017-11-20 16:27 abv Target Version 7.4.0 => 7.3.0
2017-11-20 19:07 msv Note Added: 0072347
2017-11-21 07:40 aml Note Added: 0072352
2017-11-21 07:40 aml Assigned To aml => abv
2017-11-21 07:40 aml Status resolved => assigned
2017-12-05 17:08 msv Target Version 7.3.0 => 7.4.0
2019-08-12 16:37 msv Target Version 7.4.0 => 7.5.0
2019-09-02 08:11 git Note Added: 0086606
2019-09-02 14:56 abv Note Added: 0086614
2019-09-02 14:56 abv Assigned To abv => msv
2019-09-02 14:56 abv Status assigned => resolved
2019-09-02 17:11 msv Note Added: 0086621
2019-09-02 17:11 msv Assigned To msv => bugmaster
2019-09-02 17:11 msv Status resolved => reviewed
2019-09-02 17:11 msv Target Version 7.5.0 => 7.4.0
2019-09-02 17:14 apn Test case number => bugs modalg_7 bug29334
2019-09-02 17:16 apn Note Added: 0086622
2019-09-02 17:16 apn Status reviewed => tested
2019-09-04 12:06 kgv Summary Simple offsets complicate geometry => Modeling Algorithms - Simple offsets complicate geometry
2019-09-07 11:38 abv Changeset attached => occt master 090ef040
2019-09-07 11:38 abv Assigned To bugmaster => abv
2019-09-07 11:38 abv Status tested => verified
2019-09-07 11:38 abv Resolution open => fixed
2019-09-07 16:27 git Note Added: 0086943
2019-09-07 16:27 git Note Added: 0086959