View Issue Details

IDProjectCategoryView StatusLast Update
0025654Open CASCADEOCCT:Data Exchangepublic2023-08-01 15:09
ReporterabvAssigned Togka 
PrioritynormalSeverityintegration request 
Status assignedResolutionopen 
Target VersionUnscheduled 
Summary0025654: Data Exchange - Disable writing pcurves to STEP and IGES by default
DescriptionCurrently global DE parameter write.surfacecurve.mode is set to 1 by default, i.e. pcurves are stored in the file when it is written to STEP and IGES.

Theoretically this should improve quality of translation and make import faster. However in practice it seems to be not the case. For instance, problem reported in #25523 disappears if pcurves are not written. On that model, writing without pcurves reduces size of the file 3 times, eliminates problems of loading that file to Hoops Exchange Demo, and improves loading to Pro Engineer.

On some other models from customers we also observe considerable difference in size of STEP file written with pcurves vs. one without it (3.6 Mb vs. 17 Mb), with no visible effect on performance of import.

Hence it will be logical to change default value of write.surfacecurve.mode to 0.
Steps To ReproduceThis bug is reproduced only when you open the step file in external CAD systems(such as ProEngineer, SolidWorks, Rhinoceros).
http://tracker.dev.opencascade.org/view.php?id=25523
TagsNo tags attached.
Test case number

Attached Files

  • progress.docx (14,340 bytes)

Relationships

related to 0028025 assignedgka Community Bad triangulation if step file was exported with write.surfacecurve.mode = 0 

Activities

git

2014-12-30 10:51

administrator   ~0035869

Branch CR25654 has been created by ink.

SHA-1: 9b633447fb4567efafa4756818b301db9c6e0944


Detailed log of new commits:

Author: ink
Date: Tue Dec 30 10:50:21 2014 +0300

    0025654: Disable writing pcurves to STEP and IGES by default
    
    Changed default value of write.surfacecurve.mode to 0.
    Added SplitClosedFaces to XSTEPResource/STEP. This is necessary for correct display of closed surfaces (such as a torus) in applications such as ProEngineer, SolidWorks, Rhinoceros.

abv

2014-12-30 12:46

manager   ~0035877

Reviewed and tested in external CAD systems, please run OCCT non-regression tests and integrate.

Model from #25523 is now opened fine in ProEngineer, Rhinoceros 4.0, Solidworks (there are minor artifacts however, looking like too rough mesh at the end of a pipe), and Hoops Exchange demo.

Also tested on complete Stator model in CAD Assistant on Android (ASUS Nexus 7):

- with pcurves: file size is 64 Mb, opened in ~ 2200 sec, 77 K faces, mesh has 1.3 M triangles

- without pcurves: file size is 29 Mb, opened in ~ 1100 sec, 76 K faces, mesh has 1.5 M triangles

Note that variant without pcurves is not only twice less and is loaded twice faster, but also does not fail on reading of sub-shape subject of #25523, this is a reason of having more faces and triangles.

Memory usage is of the same scale (VM ~ 1400 Mb), the only different parameter is Working Set (611 Mb vs 643 Mb).

git

2015-01-16 15:31

administrator   ~0036146

Branch CR25654 has been updated forcibly by mkv.

SHA-1: 0d46b096c8b0e5bd923fb96651ad4ea1636bf8e4

mkv

2015-01-19 14:08

tester   ~0036203

Dear BugMaster,
Branch CR25654 was rebased on current master of occt git-repository.

mkv

2015-01-19 14:09

tester   ~0036204

Dear BugMaster,
Branch CR25654 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 0d46b096c8b0e5bd923fb96651ad4ea1636bf8e4

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)

products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)

Regressions/Differences:
http://occt-tests/CR25654-master-occt/Debian60-64/summary.html
http://occt-tests/CR25654-master-products/Debian60-64/summary.html

Testing on Linux:
occt component :
Total MEMORY difference: 315865072 / 319325816
Total CPU difference: 35996.94000000016 / 33649.83000000009
products component :
Total MEMORY difference: 108405040 / 110985888
Total CPU difference: 16655.759999999966 / 15822.40999999997

git

2015-02-11 13:16

administrator   ~0037348

Branch CR25654 has been updated by ink.

SHA-1: dd4afe2fb68fefe496596aada5595841af9547b6


Detailed log of new commits:

Author: ink
Date: Wed Feb 11 12:53:18 2015 +0300

    Tests changed in connection with changing tolerance

ink

2015-02-11 13:17

developer   ~0037349

Tests changed in connection with changing tolerance(tolerance decreased).

git

2015-02-12 11:56

administrator   ~0037421

Branch CR25654 has been updated forcibly by ink.

SHA-1: 7f6574299e86e91aab73097fa0a393172070b54c

git

2015-02-12 11:56

administrator   ~0037422

Branch CR25654 has been updated forcibly by ink.

SHA-1: 499045ff88d9b046b59d94de40b19dc39b34bc3f

gka

2015-02-16 11:52

developer   ~0037563

Branch CR25654 is ready to be tested

git

2015-02-16 13:33

administrator   ~0037566

Branch CR25654 has been updated forcibly by mkv.

SHA-1: 9729c0dd9065da7cd78698dba87abc97fb7bcc6a

mkv

2015-02-16 20:11

tester   ~0037601

Dear BugMaster,
Branch CR25654 was rebased on current master of occt git-repository.

mkv

2015-02-16 20:12

tester   ~0037602

Dear BugMaster,
Branch CR25654 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 9729c0dd9065da7cd78698dba87abc97fb7bcc6a

Number of compiler warnings:

occt component :
Linux: 18 (18 on master)
Windows: 0 (0 on master)

products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR25654-master-occt/Debian60-64/summary.html
http://occt-tests/CR25654-master-occt/Windows-32-VC10/summary.html

http://occt-tests/CR25654-master-products/Debian60-64/summary.html
http://occt-tests/CR25654-master-products/Windows-32-VC10/summary.html

git

2015-03-25 12:08

administrator   ~0038875

Branch CR25654 has been updated forcibly by ink.

SHA-1: 0af52d84ea78b77a44c3ad73749a61fb313db5d7

kgv

2018-06-15 15:43

developer   ~0076800

> 2015-02-16 20:12 mkv Status reviewed => assigned
What is the state of this issue?
I see the status change, but no comment WHY it was done (test report does not refer issues).

msv

2022-01-18 18:22

developer   ~0106452

Last edited: 2022-04-04 11:35

Dear Alexey, please rebase the patch and re-test it.

git

2022-04-05 15:15

administrator   ~0107639

Branch CR25654 has been updated forcibly by alukin.

SHA-1: aa4137161e24eafcca0bc924062d438e8b1ed349

git

2022-04-06 17:08

administrator   ~0107667

Branch CR25654 has been updated forcibly by alukin.

SHA-1: a60fa0d28b2f731736265ec7dc0af86b910cf680

git

2022-04-16 13:20

administrator   ~0108001

Branch CR25654 has been updated forcibly by alukin.

SHA-1: 585659c9edb6913fa4f3ee568497f1af6b38f403

git

2022-04-18 15:38

administrator   ~0108017

Branch CR25654 has been updated by alukin.

SHA-1: 14a58b6472f284615ac438e1db3ad8e9b1d34151


Detailed log of new commits:

Author: aln
Date: Mon Apr 18 15:38:17 2022 +0300

    Added license.md

git

2022-04-28 11:21

administrator   ~0108235

Branch CR25654 has been updated by alukin.

SHA-1: c88a9e8472d64335b0a8c6492e9ef2edf24f2367


Detailed log of new commits:

Author: aln
Date: Thu Apr 28 11:21:22 2022 +0300

    Fixed TransferEdge

alukin

2022-05-05 19:50

developer   ~0108354

It has been rebased on master.
Fixed BRepToIGES_BRWire::TransferEdge: in case when GetPCurveMode() == 0 BRepToIGES_BRWire::TransferEdge returned null Handle(IGESData_IGESEntity). So some failed tests passed successfully.

msv

2022-05-05 20:14

developer   ~0108355

The last commit makes the flag GetPCurveMode in IGES writer being ignored, so that pcurves are always written.
So, another solution must be elaborated to get rid of regressions.

git

2022-07-11 19:07

administrator   ~0109766

Branch CR25654_1 has been created by ona.

SHA-1: 04ee2123d024af3387dbc01b91a6e90d866626f2


Detailed log of new commits:

Author: ona
Date: Mon Jul 11 19:05:42 2022 +0300

    #TransferEdge fix rollback

Author: ink
Date: Mon Mar 23 09:41:37 2015 +0300

    fixed part of the regressions

Author: aln
Date: Mon Apr 18 15:38:17 2022 +0300

    Added license.md

Author: aln
Date: Thu Apr 28 11:21:22 2022 +0300

    Fixed TransferEdge

Author: ink
Date: Tue Dec 30 10:50:21 2014 +0300

    0025654: Disable writing pcurves to STEP and IGES by default
    
    Changed default value of write.surfacecurve.mode to 0.
    Added SplitClosedFaces to XSTEPResource/STEP. This is necessary for correct display of closed surfaces (such as a torus) in applications such as ProEngineer, SolidWorks, Rhinoceros. Tests changed in connection with changing tolerance. In test bugs/iges/bug23018 enabled writing pcurves.

git

2022-08-16 10:50

administrator   ~0110240

Branch CR25654_2 has been created by ona.

SHA-1: cc0b3c175f5930e9a42ba78c517a604f56653445


Detailed log of new commits:

Author: ink
Date: Tue Dec 30 10:50:21 2014 +0300

    0025654: Disable writing pcurves to STEP and IGES by default
    
    Changed default value of write.surfacecurve.mode to 0.

ona

2022-08-17 17:55

developer   ~0110266

Bug http://tracker.dev.opencascade.org/view.php?id=25523 is not reproduced on current master.I consider it impractical to disable writing curves to a file, since it leads to a large number of regressions. Statistics is given in the attached file.
progress.docx (14,340 bytes)

Issue History

Date Modified Username Field Change
2014-12-24 12:46 abv New Issue
2014-12-24 12:46 abv Assigned To => gka
2014-12-30 10:09 abv Assigned To gka => ink
2014-12-30 10:09 abv Status new => assigned
2014-12-30 10:51 git Note Added: 0035869
2014-12-30 11:49 ink Assigned To ink => gka
2014-12-30 11:49 ink Status assigned => resolved
2014-12-30 11:49 ink Steps to Reproduce Updated
2014-12-30 12:46 abv Note Added: 0035877
2014-12-30 12:46 abv Assigned To gka => bugmaster
2014-12-30 12:46 abv Status resolved => reviewed
2015-01-16 15:31 git Note Added: 0036146
2015-01-16 15:48 mkv Assigned To bugmaster => mkv
2015-01-19 14:08 mkv Note Added: 0036203
2015-01-19 14:09 mkv Note Added: 0036204
2015-01-19 14:09 mkv Assigned To mkv => abv
2015-01-19 14:09 mkv Status reviewed => assigned
2015-01-19 14:18 abv Assigned To abv => ink
2015-02-11 13:16 git Note Added: 0037348
2015-02-11 13:17 ink Note Added: 0037349
2015-02-12 10:13 ink Assigned To ink => gka
2015-02-12 10:13 ink Status assigned => resolved
2015-02-12 11:56 git Note Added: 0037421
2015-02-12 11:56 git Note Added: 0037422
2015-02-16 11:52 gka Note Added: 0037563
2015-02-16 11:52 gka Assigned To gka => bugmaster
2015-02-16 11:52 gka Status resolved => reviewed
2015-02-16 13:07 mkv Assigned To bugmaster => mkv
2015-02-16 13:33 git Note Added: 0037566
2015-02-16 20:11 mkv Note Added: 0037601
2015-02-16 20:12 mkv Note Added: 0037602
2015-02-16 20:12 mkv Assigned To mkv => ink
2015-02-16 20:12 mkv Status reviewed => assigned
2015-03-25 12:08 git Note Added: 0038875
2015-04-14 18:15 gka Target Version 6.9.0 => 7.0.0
2016-02-08 10:12 abv Target Version 7.0.0 => 7.1.0
2016-10-26 20:03 gka Assigned To ink =>
2016-10-26 20:03 gka Target Version 7.1.0 => 7.2.0
2016-10-28 15:10 Timo Relationship added related to 0028025
2017-07-27 09:33 abv Target Version 7.2.0 => 7.4.0
2018-06-15 15:43 kgv Note Added: 0076800
2018-06-15 15:43 kgv Assigned To => abv
2018-06-15 15:43 kgv Status assigned => feedback
2018-06-15 15:43 kgv Severity minor => integration request
2019-07-10 21:38 abv Target Version 7.4.0 => 7.5.0
2020-03-04 11:50 kgv Summary Disable writing pcurves to STEP and IGES by default => Data Exchange - Disable writing pcurves to STEP and IGES by default
2020-09-25 20:35 abv Target Version 7.5.0 => 7.6.0
2021-10-18 14:02 kgv Target Version 7.6.0 => 7.7.0
2022-01-18 18:22 msv Assigned To abv => ssafarov
2022-01-18 18:22 msv Status feedback => assigned
2022-01-18 18:22 msv Note Added: 0106452
2022-04-04 11:34 msv Assigned To ssafarov => alukin
2022-04-04 11:35 msv Note Edited: 0106452
2022-04-05 15:15 git Note Added: 0107639
2022-04-06 17:08 git Note Added: 0107667
2022-04-16 13:20 git Note Added: 0108001
2022-04-18 15:38 git Note Added: 0108017
2022-04-28 11:21 git Note Added: 0108235
2022-05-05 19:50 alukin Note Added: 0108354
2022-05-05 20:14 msv Note Added: 0108355
2022-07-01 12:15 msv Assigned To alukin => ona
2022-07-11 19:07 git Note Added: 0109766
2022-08-16 10:50 git Note Added: 0110240
2022-08-17 17:55 ona Note Added: 0110266
2022-08-17 17:55 ona File Added: progress.docx
2022-08-17 17:56 ona Assigned To ona => abv
2022-08-17 17:57 ona Assigned To abv => gka
2022-10-24 10:38 szy Target Version 7.7.0 => 7.8.0
2023-08-01 15:09 dpasukhi Target Version 7.8.0 => Unscheduled