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

0029241: Data Exchange - Empty shape after reading STEP file.

Entity mechanical_design_and_draughting_relationship and function for its transfer added.
This commit is contained in:
ichesnok
2024-03-14 12:39:23 +00:00
parent 9d93d9b9b8
commit 447396c9b9
12 changed files with 324 additions and 0 deletions

View File

@@ -327,6 +327,7 @@
#include <RWStepRepr_RWMaterialDesignation.hxx>
#include <RWStepRepr_RWMaterialProperty.hxx>
#include <RWStepRepr_RWMaterialPropertyRepresentation.hxx>
#include <RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.hxx>
#include <RWStepRepr_RWMeasureRepresentationItem.hxx>
#include <RWStepRepr_RWProductConcept.hxx>
#include <RWStepRepr_RWProductDefinitionShape.hxx>
@@ -789,6 +790,7 @@
#include <StepRepr_ConfigurationEffectivity.hxx>
#include <StepRepr_ConstructiveGeometryRepresentation.hxx>
#include <StepRepr_ConstructiveGeometryRepresentationRelationship.hxx>
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
#include <StepRepr_DataEnvironment.hxx>
#include <StepRepr_DescriptiveRepresentationItem.hxx>
#include <StepRepr_Extension.hxx>
@@ -5896,6 +5898,13 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN,
aTool.Share(anEnt, iter);
}
break;
case 824:
{
DeclareAndCast(StepRepr_MechanicalDesignAndDraughtingRelationship, anEnt, ent);
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship aTool;
aTool.Share(anEnt, iter);
}
break;
default : break;
}
}
@@ -8217,6 +8226,9 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid
case 823:
ent = new StepRepr_RealRepresentationItem;
break;
case 824:
ent = new StepRepr_MechanicalDesignAndDraughtingRelationship;
break;
default:
return Standard_False;

View File

@@ -641,6 +641,7 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <RWStepShape_RWManifoldSurfaceShapeRepresentation.hxx>
#include <RWStepRepr_RWMappedItem.hxx>
#include <RWStepBasic_RWMeasureWithUnit.hxx>
#include <RWStepRepr_RWMechanicalDesignAndDraughtingRelationship.hxx>
#include <RWStepVisual_RWMechanicalDesignGeometricPresentationArea.hxx>
#include <RWStepVisual_RWMechanicalDesignGeometricPresentationRepresentation.hxx>
// Removed from Rev2 to Rev4 : <RWStepVisual_RWMechanicalDesignPresentationArea.hxx>
@@ -1431,6 +1432,7 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_ReadWriteModule,StepData_ReadWriteModule)
#include <StepRepr_CharacterizedRepresentation.hxx>
#include <StepRepr_ConstructiveGeometryRepresentation.hxx>
#include <StepRepr_ConstructiveGeometryRepresentationRelationship.hxx>
#include <StepRepr_MechanicalDesignAndDraughtingRelationship.hxx>
#include <RWStepVisual_RWTessellatedAnnotationOccurrence.hxx>
#include <RWStepVisual_RWTessellatedItem.hxx>
@@ -2364,6 +2366,7 @@ static TCollection_AsciiString Reco_GeneralPropertyAssociation("GENERAL_PROPERTY
static TCollection_AsciiString Reco_GeneralPropertyRelationship("GENERAL_PROPERTY_RELATIONSHIP");
static TCollection_AsciiString Reco_BooleanRepresentationItem("BOOLEAN_REPRESENTATION_ITEM");
static TCollection_AsciiString Reco_RealRepresentationItem("REAL_REPRESENTATION_ITEM");
static TCollection_AsciiString Reco_MechanicalDesignAndDraughtingRelationship("MECHANICAL_DESIGN_AND_DRAUGHTING_RELATIONSHIP");
// -- Definition of the libraries --
@@ -3125,6 +3128,7 @@ RWStepAP214_ReadWriteModule::RWStepAP214_ReadWriteModule ()
typenums.Bind(Reco_GeneralPropertyRelationship, 821);
typenums.Bind(Reco_BooleanRepresentationItem, 822);
typenums.Bind(Reco_RealRepresentationItem, 823);
typenums.Bind(Reco_MechanicalDesignAndDraughtingRelationship, 824);
// SHORT NAMES
@@ -5117,6 +5121,7 @@ const TCollection_AsciiString& RWStepAP214_ReadWriteModule::StepType
case 821: return Reco_GeneralPropertyRelationship;
case 822: return Reco_BooleanRepresentationItem;
case 823: return Reco_RealRepresentationItem;
case 824: return Reco_MechanicalDesignAndDraughtingRelationship;
default : return PasReco;
}
}
@@ -10754,6 +10759,13 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN,
aTool.ReadStep(data, num, ach, anent);
}
break;
case 824:
{
DeclareAndCast(StepRepr_MechanicalDesignAndDraughtingRelationship, anent, ent);
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship aTool;
aTool.ReadStep(data, num, ach, anent);
}
break;
default:
ach->AddFail("Type Mismatch when reading - Entity");
}
@@ -16333,6 +16345,13 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN,
aTool.WriteStep(SW, anent);
}
break;
case 824:
{
DeclareAndCast(StepRepr_MechanicalDesignAndDraughtingRelationship, anent, ent);
RWStepRepr_RWMechanicalDesignAndDraughtingRelationship aTool;
aTool.WriteStep(SW, anent);
}
break;
default:
return;
}