View Issue Details

IDProjectCategoryView StatusLast Update
0030870CommunityOCCT:Data Exchangepublic2019-09-07 16:27
Reporterdrazmyslovich Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2015 
Product Version7.4.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030870: Data Exchange - Add the support for empty draughting models and empty presentation layer assignments for step import
DescriptionHello, all,

from our customers we received several STEP files, which are not 100% conform to STEP standard, but adding the support for them in OCC code looks quite straight forward.

Unfortunately, I can't provide any real files, but I am allowed to inform, that the files were generated by:
1. CREO PARAMETRIC BY PTC INC, 2017300
2. HOOPS EXCHANGE VIEWER

Regards,
Dima
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required

Activities

git

2019-08-07 11:07

administrator   ~0086049

Branch CR30870 has been created by drazmyslovich.

SHA-1: aec4844eef572ba769231b239c80017297d4467f


Detailed log of new commits:

Author: build
Date: Wed Aug 7 10:04:53 2019 +0200

    0030870: Add support for some non-conform STEP files - allow empty draughting models and empty presentation layer assignments

drazmyslovich

2019-08-07 11:07

developer   ~0086050

The changes are submitted, please, review.

git

2019-09-05 15:22

administrator   ~0086798

Branch CR30870_1 has been created by gka.

SHA-1: 73a9a2d57b82172c8cd74fef87cfaee8f7d18fb2


Detailed log of new commits:

Author: build
Date: Wed Aug 7 11:04:53 2019 +0300

    0030870: Data Exchange - Add the support for empty draughting models and empty presentation layer assignments for step import
    
    Protections to avoid exception in the methods RWStepVisual_RWDraughtingModel::ReadStep and RWStepVisual_RWPresentationLayerAssignment::ReadStep for case when assigned items are absent were added

gka

2019-09-06 13:28

developer   ~0086868

Following modifications for RWStepVisual_RWDraughtingModels were excluded from ciommit:

- for (Standard_Integer i1=1; i1 <= ent->StepRepr_Representation::NbItems(); i1++ ) {
- Handle(StepRepr_RepresentationItem) Var0 = ent->StepRepr_Representation::Items()->Value(i1);
- SW.Send (Var0);
+ if (!ent->StepRepr_Representation::Items ().IsNull ())
+ {
+ for (Standard_Integer i1=1; i1 <= ent->StepRepr_Representation::Items()->Length(); i1++ ) {
+ Handle(StepRepr_RepresentationItem) Var0 = ent->StepRepr_Representation::Items()->Value(i1);
+ SW.Send (Var0);
+ }

because method StepRepr_Representation::NbItems() returns 0 if field items is null:

Standard_Integer StepRepr_Representation::NbItems () const
{
    if (items.IsNull()) return 0;
    return items->Length();
}

gka

2019-09-06 13:29

developer   ~0086869

Results of tests by path:
http://vm-jenkins-test-12.nnov.opencascade.com:8080/view/CR30870_1-master-gka/view/COMPARE/

gka

2019-09-06 13:32

developer   ~0086870

Branch CR30870_1 was reviewed

bugmaster

2019-09-06 18:16

administrator   ~0086906

Combination -
OCCT branch : CR30870_1
master SHA - 73a9a2d57b82172c8cd74fef87cfaee8f7d18fb2
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: 16180.789999999988 / 16167.270000000033 [+0.08%]
Products
Total CPU difference: 10487.370000000054 / 10484.930000000048 [+0.02%]
Windows-64-VC14:
OCCT
---
Products
Total CPU difference: 12028.875 / 12168.265625 [-1.15%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-09-07 16:26

administrator   ~0086928

Branch CR30870_1 has been deleted by inv.

SHA-1: 73a9a2d57b82172c8cd74fef87cfaee8f7d18fb2

git

2019-09-07 16:27

administrator   ~0086951

Branch CR30870 has been deleted by inv.

SHA-1: aec4844eef572ba769231b239c80017297d4467f

Related Changesets

occt: master 9063f1e0

2019-08-07 08:04:53

drazmyslovich


Committer: bugmaster Details Diff
0030870: Data Exchange - Add the support for empty draughting models and empty presentation layer assignments for step import

Protections to avoid exception in the methods RWStepVisual_RWDraughtingModel::ReadStep and RWStepVisual_RWPresentationLayerAssignment::ReadStep for case when assigned items are absent were added
Affected Issues
0030870
mod - src/RWStepVisual/RWStepVisual_RWDraughtingModel.cxx Diff File
mod - src/RWStepVisual/RWStepVisual_RWPresentationLayerAssignment.cxx Diff File

Issue History

Date Modified Username Field Change
2019-08-07 11:01 drazmyslovich New Issue
2019-08-07 11:01 drazmyslovich Assigned To => gka
2019-08-07 11:02 drazmyslovich Assigned To gka => drazmyslovich
2019-08-07 11:07 git Note Added: 0086049
2019-08-07 11:07 drazmyslovich Note Added: 0086050
2019-08-07 11:07 drazmyslovich Assigned To drazmyslovich => gka
2019-08-07 11:07 drazmyslovich Status new => resolved
2019-08-07 11:07 drazmyslovich Steps to Reproduce Updated
2019-09-04 18:32 kgv Summary Add the support for empty draughting models and empty presentation layer assignments for step import => Data Exchange - Add the support for empty draughting models and empty presentation layer assignments for step import
2019-09-05 15:22 git Note Added: 0086798
2019-09-06 13:28 gka Note Added: 0086868
2019-09-06 13:29 gka Note Added: 0086869
2019-09-06 13:32 gka Note Added: 0086870
2019-09-06 13:32 gka Assigned To gka => bugmaster
2019-09-06 13:32 gka Status resolved => reviewed
2019-09-06 18:16 bugmaster Test case number => Not required
2019-09-06 18:16 bugmaster Note Added: 0086906
2019-09-06 18:16 bugmaster Status reviewed => tested
2019-09-07 11:38 bugmaster Changeset attached => occt master 9063f1e0
2019-09-07 11:38 bugmaster Status tested => verified
2019-09-07 11:38 bugmaster Resolution open => fixed
2019-09-07 16:26 git Note Added: 0086928
2019-09-07 16:27 git Note Added: 0086951