1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-18 14:27:39 +03:00

Fix reading name of shape from subtype of PRODUCT_DEFINITION STEP entity

(cherry picked from commit 87fc89a8b83565eba0616eebba1f6ce655777461)
This commit is contained in:
nds
2018-09-27 17:41:16 +03:00
parent 7099619e5d
commit 7526e6c9e4

View File

@@ -39,6 +39,7 @@
#include <StepBasic_ProductDefinition.hxx>
#include <StepBasic_ProductDefinitionFormation.hxx>
#include <StepBasic_ProductDefinitionRelationship.hxx>
#include <StepBasic_ProductDefinitionWithAssociatedDocuments.hxx>
#include <StepBasic_SiUnit.hxx>
#include <StepBasic_SiUnitAndLengthUnit.hxx>
#include <StepBasic_Unit.hxx>
@@ -1131,6 +1132,7 @@ Standard_Boolean STEPCAFControl_Reader::ReadNames (const Handle(XSControl_WorkSe
Standard_Integer nb = Model->NbEntities();
Handle(Standard_Type) tNAUO = STANDARD_TYPE(StepRepr_NextAssemblyUsageOccurrence);
Handle(Standard_Type) tPD = STANDARD_TYPE(StepBasic_ProductDefinition);
Handle(Standard_Type) tPDWAD = STANDARD_TYPE(StepBasic_ProductDefinitionWithAssociatedDocuments);
Handle(TCollection_HAsciiString) name;
TDF_Label L;
for (Standard_Integer i = 1; i <= nb; i++) {
@@ -1163,7 +1165,7 @@ Standard_Boolean STEPCAFControl_Reader::ReadNames (const Handle(XSControl_WorkSe
}
// for PD get name of associated product
if ( enti->DynamicType() == tPD ) {
if (enti->DynamicType() == tPD || enti->DynamicType() == tPDWAD) {
L.Nullify();
Handle(StepBasic_ProductDefinition) PD =
Handle(StepBasic_ProductDefinition)::DownCast(enti);