1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0028444: Data Exchange - Missed text blocks in Saved Views

Add new STEP entity to connect dimension semantic with presentation.
Fix number of GDTs in Saved View.
This commit is contained in:
ika
2017-02-01 19:17:48 +03:00
committed by apn
parent e6ae74fd42
commit c4fa1c2c62
26 changed files with 348 additions and 31 deletions

View File

@@ -2577,6 +2577,13 @@ Standard_Boolean STEPCAFControl_Reader::setDatumToXCAF(const Handle(StepDimTol_D
// Create object for datum
TDF_Label aDatL = aDGTTool->AddDatum();
myGDTMap.Bind(theDat, aDatL);
// bind datum label with all reference datum_feature entities
for (Standard_Integer i = 1; i <= aSAs.Length(); i++) {
Handle(StepRepr_ShapeAspect) aSA = aSAs.Value(i);
if (aSA.IsNull() || aSA->IsKind(STANDARD_TYPE(StepDimTol_DatumTarget)))
continue;
myGDTMap.Bind(aSA, aDatL);
}
aDGTTool->Lock(aDatL);
aDat = XCAFDoc_Datum::Set(aDatL);
aDGTTool->SetDatum(aShapeLabels, aDatL);
@@ -4311,6 +4318,9 @@ Standard_Boolean STEPCAFControl_Reader::ReadViews(const Handle(XSControl_WorkSes
Handle(StepAP242_DraughtingModelItemAssociation)::DownCast(aDMIAIter.Value());
TDF_Label aGDTL;
Standard_Boolean isFind = myGDTMap.Find(aDMIA->Definition().Value(), aGDTL);
if (!isFind) {
isFind = myGDTMap.Find(anIter.Value(), aGDTL);
}
if (isFind)
aGDTs.Append(aGDTL);
}