MantisBT - Open CASCADE
View Issue Details
0025654Open CASCADE[OCCT] OCCT:Data Exchangepublic2014-12-24 12:462019-07-10 21:38
abv 
abv 
normalintegration request 
feedbackopen 
 
[OCCT] 7.5.0* 
0025654: Disable writing pcurves to STEP and IGES by default
Currently 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.
This 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 [^]
No tags attached.
related to 0028025assigned oan Community Bad triangulation if step file was exported with write.surfacecurve.mode = 0 
Issue History
2014-12-24 12:46abvNew Issue
2014-12-24 12:46abvAssigned To => gka
2014-12-24 12:49abvRelationship addedrelated to 0025523
2014-12-30 10:09abvAssigned Togka => ink
2014-12-30 10:09abvStatusnew => assigned
2014-12-30 10:51gitNote Added: 0035869
2014-12-30 11:49inkAssigned Toink => gka
2014-12-30 11:49inkStatusassigned => resolved
2014-12-30 11:49inkSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=9006#r9006
2014-12-30 12:46abvNote Added: 0035877
2014-12-30 12:46abvAssigned Togka => bugmaster
2014-12-30 12:46abvStatusresolved => reviewed
2015-01-16 15:31gitNote Added: 0036146
2015-01-16 15:48mkvAssigned Tobugmaster => mkv
2015-01-19 14:08mkvNote Added: 0036203
2015-01-19 14:09mkvNote Added: 0036204
2015-01-19 14:09mkvAssigned Tomkv => abv
2015-01-19 14:09mkvStatusreviewed => assigned
2015-01-19 14:18abvAssigned Toabv => ink
2015-02-11 13:16gitNote Added: 0037348
2015-02-11 13:17inkNote Added: 0037349
2015-02-12 10:13inkAssigned Toink => gka
2015-02-12 10:13inkStatusassigned => resolved
2015-02-12 11:56gitNote Added: 0037421
2015-02-12 11:56gitNote Added: 0037422
2015-02-16 11:52gkaNote Added: 0037563
2015-02-16 11:52gkaAssigned Togka => bugmaster
2015-02-16 11:52gkaStatusresolved => reviewed
2015-02-16 13:07mkvAssigned Tobugmaster => mkv
2015-02-16 13:33gitNote Added: 0037566
2015-02-16 20:11mkvNote Added: 0037601
2015-02-16 20:12mkvNote Added: 0037602
2015-02-16 20:12mkvAssigned Tomkv => ink
2015-02-16 20:12mkvStatusreviewed => assigned
2015-03-25 12:08gitNote Added: 0038875
2015-04-14 18:15gkaTarget Version6.9.0 => 7.0.0
2016-02-08 10:12abvTarget Version7.0.0 => 7.1.0
2016-10-26 20:03gkaAssigned Toink =>
2016-10-26 20:03gkaTarget Version7.1.0 => 7.2.0
2016-10-28 15:10TimoRelationship addedrelated to 0028025
2017-07-27 09:33abvTarget Version7.2.0 => 7.4.0
2018-06-15 15:43kgvNote Added: 0076800
2018-06-15 15:43kgvAssigned To => abv
2018-06-15 15:43kgvStatusassigned => feedback
2018-06-15 15:43kgvSeverityminor => integration request
2019-07-10 21:38abvTarget Version7.4.0 => 7.5.0*

Notes
(0035869)
git   
2014-12-30 10:51   
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.
(0035877)
abv   
2014-12-30 12:46   
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).
(0036146)
git   
2015-01-16 15:31   
Branch CR25654 has been updated forcibly by mkv.

SHA-1: 0d46b096c8b0e5bd923fb96651ad4ea1636bf8e4
(0036203)
mkv   
2015-01-19 14:08   
Dear BugMaster,
Branch CR25654 was rebased on current master of occt git-repository.
(0036204)
mkv   
2015-01-19 14:09   
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
(0037348)
git   
2015-02-11 13:16   
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

(0037349)
ink   
2015-02-11 13:17   
Tests changed in connection with changing tolerance(tolerance decreased).
(0037421)
git   
2015-02-12 11:56   
Branch CR25654 has been updated forcibly by ink.

SHA-1: 7f6574299e86e91aab73097fa0a393172070b54c
(0037422)
git   
2015-02-12 11:56   
Branch CR25654 has been updated forcibly by ink.

SHA-1: 499045ff88d9b046b59d94de40b19dc39b34bc3f
(0037563)
gka   
2015-02-16 11:52   
Branch CR25654 is ready to be tested
(0037566)
git   
2015-02-16 13:33   
Branch CR25654 has been updated forcibly by mkv.

SHA-1: 9729c0dd9065da7cd78698dba87abc97fb7bcc6a
(0037601)
mkv   
2015-02-16 20:11   
Dear BugMaster,
Branch CR25654 was rebased on current master of occt git-repository.
(0037602)
mkv   
2015-02-16 20:12   
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 [^]
(0038875)
git   
2015-03-25 12:08   
Branch CR25654 has been updated forcibly by ink.

SHA-1: 0af52d84ea78b77a44c3ad73749a61fb313db5d7
(0076800)
kgv   
2018-06-15 15:43   
> 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).