diff --git a/src/RWStepAP214/RWStepAP214_GeneralModule.cxx b/src/RWStepAP214/RWStepAP214_GeneralModule.cxx index 7cdb5cdd9a..7ddad401cb 100644 --- a/src/RWStepAP214/RWStepAP214_GeneralModule.cxx +++ b/src/RWStepAP214/RWStepAP214_GeneralModule.cxx @@ -1359,6 +1359,10 @@ IMPLEMENT_STANDARD_RTTIEXT(RWStepAP214_GeneralModule,StepData_GeneralModule) #include #include #include +#include +#include +#include +#include static Standard_Integer catsh,catdr,catstr,catdsc,cataux; @@ -1442,6 +1446,20 @@ void RWStepAP214_GeneralModule::FillSharedCase(const Standard_Integer CN, tool.Share(anent,iter); } break; + case 5: + { + DeclareAndCast(StepVisual_AnnotationFillArea, anent, ent); + RWStepVisual_RWAnnotationFillArea tool; + tool.Share(anent, iter); + } + break; + case 6: + { + DeclareAndCast(StepVisual_AnnotationFillAreaOccurrence, anent, ent); + RWStepVisual_RWAnnotationFillAreaOccurrence tool; + tool.Share(anent, iter); + } + break; case 7: { DeclareAndCast(StepVisual_AnnotationOccurrence,anent,ent); @@ -5274,6 +5292,12 @@ Standard_Boolean RWStepAP214_GeneralModule::NewVoid case 4 : ent = new StepVisual_AnnotationCurveOccurrence; break; + case 5: + ent = new StepVisual_AnnotationFillArea; + break; + case 6: + ent = new StepVisual_AnnotationFillAreaOccurrence; + break; case 7 : ent = new StepVisual_AnnotationOccurrence; break; diff --git a/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx b/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx index 7b8bde6d4a..0d3edcba7a 100644 --- a/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx +++ b/src/RWStepAP214/RWStepAP214_ReadWriteModule.cxx @@ -1394,6 +1394,10 @@ Handle(atype) result = Handle(atype)::DownCast (start) #include #include #include +#include +#include +#include +#include // -- General Declarations (Recognize, StepType) --- @@ -4880,6 +4884,20 @@ void RWStepAP214_ReadWriteModule::ReadStep(const Standard_Integer CN, tool.ReadStep (data,num,ach,anent); } break; + case 5: + { + DeclareAndCast(StepVisual_AnnotationFillArea, anent, ent); + RWStepVisual_RWAnnotationFillArea tool; + tool.ReadStep(data, num, ach, anent); + } + break; + case 6: + { + DeclareAndCast(StepVisual_AnnotationFillAreaOccurrence, anent, ent); + RWStepVisual_RWAnnotationFillAreaOccurrence tool; + tool.ReadStep(data, num, ach, anent); + } + break; case 7 : { DeclareAndCast(StepVisual_AnnotationOccurrence, anent, ent); @@ -9418,6 +9436,20 @@ void RWStepAP214_ReadWriteModule::WriteStep(const Standard_Integer CN, tool.WriteStep (SW,anent); } break; + case 5: + { + DeclareAndCast(StepVisual_AnnotationFillArea, anent, ent); + RWStepVisual_RWAnnotationFillArea tool; + tool.WriteStep(SW, anent); + } + break; + case 6: + { + DeclareAndCast(StepVisual_AnnotationFillAreaOccurrence, anent, ent); + RWStepVisual_RWAnnotationFillAreaOccurrence tool; + tool.WriteStep(SW, anent); + } + break; case 7 : { DeclareAndCast(StepVisual_AnnotationOccurrence, anent, ent); diff --git a/src/RWStepVisual/FILES b/src/RWStepVisual/FILES index 059401d1a1..f6f964ded4 100644 --- a/src/RWStepVisual/FILES +++ b/src/RWStepVisual/FILES @@ -1,5 +1,9 @@ RWStepVisual_RWAnnotationCurveOccurrence.cxx RWStepVisual_RWAnnotationCurveOccurrence.hxx +RWStepVisual_RWAnnotationFillArea.cxx +RWStepVisual_RWAnnotationFillArea.hxx +RWStepVisual_RWAnnotationFillAreaOccurrence.cxx +RWStepVisual_RWAnnotationFillAreaOccurrence.hxx RWStepVisual_RWAnnotationOccurrence.cxx RWStepVisual_RWAnnotationOccurrence.hxx RWStepVisual_RWAnnotationPlane.cxx diff --git a/src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.cxx b/src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.cxx new file mode 100644 index 0000000000..fb85f8cf5a --- /dev/null +++ b/src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.cxx @@ -0,0 +1,98 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + + +#include +#include +#include +#include +#include +#include +#include +#include + +//======================================================================= +//function : RWStepVisual_RWAnnotationFillArea +//purpose : +//======================================================================= +RWStepVisual_RWAnnotationFillArea::RWStepVisual_RWAnnotationFillArea () {} + +//======================================================================= +//function : ReadStep +//purpose : +//======================================================================= +void RWStepVisual_RWAnnotationFillArea::ReadStep +(const Handle(StepData_StepReaderData)& data, +const Standard_Integer num, +Handle(Interface_Check)& ach, +const Handle(StepVisual_AnnotationFillArea)& ent) const +{ + // Number of Parameter Control + if (!data->CheckNbParams(num, 2, ach, "annotation_fill_area")) + return; + + // Inherited field : name + + Handle(TCollection_HAsciiString) aName; + data->ReadString(num, 1, "name", ach, aName); + + // Own field : boundaries + Handle(StepShape_HArray1OfGeometricSetSelect) aElements; + StepShape_GeometricSetSelect aElementsItem; + Standard_Integer nsub; + if (data->ReadSubList(num, 2, "boundaries", ach, nsub)) { + Standard_Integer nb = data->NbParams(nsub); + aElements = new StepShape_HArray1OfGeometricSetSelect(1, nb); + for (Standard_Integer i = 1; i <= nb; i++) { + if (data->ReadEntity(nsub, i, "boundaries", ach, aElementsItem)) + aElements->SetValue(i, aElementsItem); + } + } + + //Initialization of the read entity + ent->Init(aName, aElements); +} + +//======================================================================= +//function : WriteStep +//purpose : +//======================================================================= +void RWStepVisual_RWAnnotationFillArea::WriteStep +(StepData_StepWriter& SW, +const Handle(StepVisual_AnnotationFillArea)& ent) const +{ + // Inherited field : name + SW.Send(ent->Name()); + + // Own field : elements + SW.OpenSub(); + for (Standard_Integer i = 1; i <= ent->NbElements(); i++) { + SW.Send(ent->ElementsValue(i).Value()); + } + SW.CloseSub(); +} + +//======================================================================= +//function : Share +//purpose : +//======================================================================= +void RWStepVisual_RWAnnotationFillArea::Share(const Handle(StepVisual_AnnotationFillArea)& ent, Interface_EntityIterator& iter) const +{ + Standard_Integer nbBound = ent->NbElements(); + for (Standard_Integer i = 1; i <= nbBound; i++) { + iter.GetOneItem(ent->ElementsValue(i).Value()); + } +} + diff --git a/src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.hxx b/src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.hxx new file mode 100644 index 0000000000..d360bea4a4 --- /dev/null +++ b/src/RWStepVisual/RWStepVisual_RWAnnotationFillArea.hxx @@ -0,0 +1,49 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#ifndef _RWStepVisual_RWAnnotationFillArea_HeaderFile +#define _RWStepVisual_RWAnnotationFillArea_HeaderFile + +#include +#include +#include + +#include +class StepData_StepReaderData; +class Interface_Check; +class StepVisual_AnnotationFillArea; +class StepData_StepWriter; +class Interface_EntityIterator; + + +//! Read & Write Module for AnnotationFillArea +class RWStepVisual_RWAnnotationFillArea +{ +public: + + DEFINE_STANDARD_ALLOC + + + Standard_EXPORT RWStepVisual_RWAnnotationFillArea(); + + Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationFillArea)& ent) const; + + Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationFillArea)& ent) const; + + Standard_EXPORT void Share (const Handle(StepVisual_AnnotationFillArea)& ent, Interface_EntityIterator& iter) const; + +}; + +#endif // _RWStepVisual_RWAnnotationFillArea_HeaderFile diff --git a/src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.cxx b/src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.cxx new file mode 100644 index 0000000000..a2c0ba77bd --- /dev/null +++ b/src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.cxx @@ -0,0 +1,113 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//======================================================================= +//function : RWStepVisual_RWAnnotationFillAreaOccurrence +//purpose : +//======================================================================= +RWStepVisual_RWAnnotationFillAreaOccurrence::RWStepVisual_RWAnnotationFillAreaOccurrence () {} + +//======================================================================= +//function : ReadStep +//purpose : +//======================================================================= +void RWStepVisual_RWAnnotationFillAreaOccurrence::ReadStep +(const Handle(StepData_StepReaderData)& data, +const Standard_Integer num, +Handle(Interface_Check)& ach, +const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const +{ + // Number of Parameter Control + if (!data->CheckNbParams(num, 4, ach, "annotation_fill_area_occurrence")) return; + + // Inherited field : name + Handle(TCollection_HAsciiString) aName; + data->ReadString(num, 1, "name", ach, aName); + + // Inherited field : styles + Handle(StepVisual_HArray1OfPresentationStyleAssignment) aStyles; + Handle(StepVisual_PresentationStyleAssignment) anent; + Standard_Integer nsub; + if (data->ReadSubList(num, 2, "styles", ach, nsub)) { + Standard_Integer nb = data->NbParams(nsub); + aStyles = new StepVisual_HArray1OfPresentationStyleAssignment(1, nb); + for (Standard_Integer i = 1; i <= nb; i++) { + if (data->ReadEntity(nsub, i, "presentation_style_assignment", ach, + STANDARD_TYPE(StepVisual_PresentationStyleAssignment), anent)) + aStyles->SetValue(i, anent); + } + } + + // Inherited field : item + Handle(MMgt_TShared) aItem; + data->ReadEntity(num, 3, "item", ach, STANDARD_TYPE(MMgt_TShared), aItem); + + // Own field : fill_style_target + Handle(StepGeom_GeometricRepresentationItem) aFillStyleTarget; + data->ReadEntity(num, 4, "item", ach, STANDARD_TYPE(StepGeom_GeometricRepresentationItem), aFillStyleTarget); + + // Initialisation of the read entity + ent->Init(aName, aStyles, aItem, aFillStyleTarget); +} + +//======================================================================= +//function : WriteStep +//purpose : +//======================================================================= +void RWStepVisual_RWAnnotationFillAreaOccurrence::WriteStep +(StepData_StepWriter& SW, +const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const +{ + // Inherited field : name + SW.Send(ent->Name()); + + // Inherited field : styles + SW.OpenSub(); + for (Standard_Integer i = 1; i <= ent->NbStyles(); i++) { + SW.Send(ent->StylesValue(i)); + } + SW.CloseSub(); + + // Inherited field : item + SW.Send(ent->Item()); + + // Own field: fill_area_target + SW.Send(ent->FillStyleTarget()); +} + +//======================================================================= +//function : Share +//purpose : +//======================================================================= +void RWStepVisual_RWAnnotationFillAreaOccurrence::Share(const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent, Interface_EntityIterator& iter) const +{ + Standard_Integer nbElem1 = ent->NbStyles(); + for (Standard_Integer i = 1; i <= nbElem1; i++) { + iter.GetOneItem(ent->StylesValue(i)); + } + iter.GetOneItem(ent->Item()); + iter.GetOneItem(ent->FillStyleTarget()); +} diff --git a/src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.hxx b/src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.hxx new file mode 100644 index 0000000000..50c20df195 --- /dev/null +++ b/src/RWStepVisual/RWStepVisual_RWAnnotationFillAreaOccurrence.hxx @@ -0,0 +1,45 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#ifndef _RWStepVisual_RWAnnotationFillAreaOccurrence_HeaderFile +#define _RWStepVisual_RWAnnotationFillAreaOccurrence_HeaderFile + +#include +#include +#include + +#include +class StepData_StepReaderData; +class Interface_Check; +class StepVisual_AnnotationFillAreaOccurrence; +class StepData_StepWriter; +class Interface_EntityIterator; + +//! Read & Write Module for AnnotationFillAreaOccurrence +class RWStepVisual_RWAnnotationFillAreaOccurrence +{ +public: + + DEFINE_STANDARD_ALLOC + + Standard_EXPORT RWStepVisual_RWAnnotationFillAreaOccurrence(); + + Standard_EXPORT void ReadStep (const Handle(StepData_StepReaderData)& data, const Standard_Integer num, Handle(Interface_Check)& ach, const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const; + + Standard_EXPORT void WriteStep (StepData_StepWriter& SW, const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent) const; + + Standard_EXPORT void Share (const Handle(StepVisual_AnnotationFillAreaOccurrence)& ent, Interface_EntityIterator& iter) const; +}; +#endif // _RWStepVisual_RWAnnotationFillAreaOccurrence_HeaderFile diff --git a/src/STEPCAFControl/STEPCAFControl_Reader.cxx b/src/STEPCAFControl/STEPCAFControl_Reader.cxx index 5bbf3de260..01e2a504b8 100644 --- a/src/STEPCAFControl/STEPCAFControl_Reader.cxx +++ b/src/STEPCAFControl/STEPCAFControl_Reader.cxx @@ -175,6 +175,7 @@ #include #include #include +#include #include #include #include @@ -1396,6 +1397,8 @@ Standard_Boolean STEPCAFControl_Reader::ReadLayers (const Handle(XSControl_WorkS if ( ! enti->IsKind ( tSVPLA ) ) continue; Handle(StepVisual_PresentationLayerAssignment) SVPLA = Handle(StepVisual_PresentationLayerAssignment)::DownCast(enti); + if (SVPLA->AssignedItems().IsNull()) + continue; Handle(TCollection_HAsciiString) descr = SVPLA->Description(); Handle(TCollection_HAsciiString) hName = SVPLA->Name(); @@ -1767,6 +1770,7 @@ static Standard_Boolean GetMassConversionFactor(Handle(StepBasic_NamedUnit)& NU, } return Standard_True; } + //======================================================================= //function : readPMIPresentation //purpose : read polyline or tessellated presentation for @@ -1782,25 +1786,26 @@ Standard_Boolean readPMIPresentation(const Handle(Standard_Transient)& thePresen if (thePresentEntity.IsNull()) return Standard_False; Handle(Transfer_TransientProcess) aTP = theTR->TransientProcess(); - Handle(StepVisual_AnnotationCurveOccurrence) anACO; + Handle(StepVisual_AnnotationOccurrence) anAO; NCollection_Vector anAnnotations; - if (thePresentEntity->IsKind(STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence))) + if (thePresentEntity->IsKind(STANDARD_TYPE(StepVisual_AnnotationOccurrence))) { - anACO = Handle(StepVisual_AnnotationCurveOccurrence)::DownCast(thePresentEntity); - thePresentName = anACO->Name(); - if (!anACO.IsNull()) - anAnnotations.Append(anACO); + anAO = Handle(StepVisual_AnnotationOccurrence)::DownCast(thePresentEntity); + if (!anAO.IsNull()) { + thePresentName = anAO->Name(); + anAnnotations.Append(anAO); + } } else if (thePresentEntity->IsKind(STANDARD_TYPE(StepVisual_DraughtingCallout))) { Handle(StepVisual_DraughtingCallout) aDCallout = Handle(StepVisual_DraughtingCallout)::DownCast(thePresentEntity); thePresentName = aDCallout->Name(); - for (Standard_Integer i = 1; i <= aDCallout->NbContents() && anACO.IsNull(); i++) { - anACO = aDCallout->ContentsValue(i).AnnotationCurveOccurrence(); - if (!anACO.IsNull()) + for (Standard_Integer i = 1; i <= aDCallout->NbContents() && anAO.IsNull(); i++) { + anAO = Handle(StepVisual_AnnotationOccurrence)::DownCast(aDCallout->ContentsValue(i).Value()); + if (!anAO.IsNull()) { - anAnnotations.Append(anACO); + anAnnotations.Append(anAO); continue; } Handle(StepVisual_TessellatedAnnotationOccurrence) aTesselation = @@ -1824,11 +1829,11 @@ Standard_Boolean readPMIPresentation(const Handle(Standard_Transient)& thePresen for (; i < anAnnotations.Length(); i++) { Handle(StepVisual_StyledItem) anItem = anAnnotations(i); - anACO = Handle(StepVisual_AnnotationCurveOccurrence)::DownCast(anItem); + anAO = Handle(StepVisual_AnnotationOccurrence)::DownCast(anItem); TopoDS_Shape anAnnotationShape; - if (!anACO.IsNull()) + if (!anAO.IsNull()) { - Handle(StepRepr_RepresentationItem) aCurveItem = anACO->Item(); + Handle(StepRepr_RepresentationItem) aCurveItem = anAO->Item(); anAnnotationShape = STEPConstruct::FindShape(aTP, aCurveItem); if (anAnnotationShape.IsNull()) { @@ -2384,8 +2389,8 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, Handle(StepAP242_GeometricItemSpecificUsage) aGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIter.Value()); if (aGISU.IsNull()) continue; - for (Standard_Integer i = 1; i <= aGISU->NbIdentifiedItem(); i++) { - TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(i), theWS, aSTool); + for (Standard_Integer j = 1; j <= aGISU->NbIdentifiedItem(); j++) { + TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(j), theWS, aSTool); if (!aShapeL.IsNull()) aShapeLabels.Append(aShapeL); } @@ -2398,19 +2403,19 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, Handle(StepDimTol_PlacedDatumTargetFeature) aDT = Handle(StepDimTol_PlacedDatumTargetFeature)::DownCast(aSAs.Value(i)); if (aDT.IsNull()) continue; - Handle(XCAFDimTolObjects_DatumObject) aDatObj = new XCAFDimTolObjects_DatumObject(); + Handle(XCAFDimTolObjects_DatumObject) aDatTargetObj = new XCAFDimTolObjects_DatumObject(); XCAFDimTolObjects_DatumTargetType aType; if (!STEPCAFControl_GDTProperty::GetDatumTargetType(aDT->Description(), aType)) continue; - aDatObj->SetDatumTargetType(aType); + aDatTargetObj->SetDatumTargetType(aType); Standard_Boolean isValidDT = Standard_False; // Feature for datum target TDF_LabelSequence aDTShapeLabels; - Interface_EntityIterator anIter = aGraph.Sharings(aDT); + Interface_EntityIterator aDTIter = aGraph.Sharings(aDT); Handle(StepRepr_FeatureForDatumTargetRelationship) aRelationship; - for (; anIter.More() && aRelationship.IsNull(); anIter.Next()) { - aRelationship = Handle(StepRepr_FeatureForDatumTargetRelationship)::DownCast(anIter.Value()); + for (; aDTIter.More() && aRelationship.IsNull(); aDTIter.Next()) { + aRelationship = Handle(StepRepr_FeatureForDatumTargetRelationship)::DownCast(aDTIter.Value()); } if (!aRelationship.IsNull()) { Handle(StepRepr_ShapeAspect) aSA = aRelationship->RelatingShapeAspect(); @@ -2419,8 +2424,8 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, Handle(StepAP242_GeometricItemSpecificUsage) aGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(aSAIter.Value()); if (aGISU.IsNull()) continue; - for (Standard_Integer i = 1; i <= aGISU->NbIdentifiedItem(); i++) { - TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(i), theWS, aSTool); + for (Standard_Integer j = 1; j <= aGISU->NbIdentifiedItem(); j++) { + TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(j), theWS, aSTool); if (!aShapeL.IsNull()) { aDTShapeLabels.Append(aShapeL); isValidDT = Standard_True; @@ -2431,12 +2436,12 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, if (aType != XCAFDimTolObjects_DatumTargetType_Area && !isValidDT) { // Try another way of feature connection - for (anIter.Start(); anIter.More(); anIter.Next()) { - Handle(StepAP242_GeometricItemSpecificUsage) aGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIter.Value()); + for (aDTIter.Start(); aDTIter.More(); aDTIter.Next()) { + Handle(StepAP242_GeometricItemSpecificUsage) aGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(aDTIter.Value()); if (aGISU.IsNull()) continue; - for (Standard_Integer i = 1; i <= aGISU->NbIdentifiedItem(); i++) { - TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(i), theWS, aSTool); + for (Standard_Integer j = 1; j <= aGISU->NbIdentifiedItem(); j++) { + TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(j), theWS, aSTool); if (!aShapeL.IsNull()) { aDTShapeLabels.Append(aShapeL); isValidDT = Standard_True; @@ -2461,7 +2466,7 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, if (anItemIndex > 0) { Handle(Transfer_Binder) aBinder = aTP->MapItem(anItemIndex); TopoDS_Shape anItemShape = TransferBRep::ShapeResult(aBinder); - aDatObj->SetDatumTarget(anItemShape); + aDatTargetObj->SetDatumTarget(anItemShape); isValidDT = Standard_True; } } @@ -2484,21 +2489,21 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, if (!aSRWP.IsNull()) { isValidDT = Standard_True; // Collect parameters of datum target - for (Standard_Integer i = aSRWP->Items()->Lower(); i <= aSRWP->Items()->Upper(); i++) + for (Standard_Integer j = aSRWP->Items()->Lower(); j <= aSRWP->Items()->Upper(); j++) { - if (aSRWP->ItemsValue(i).IsNull()) + if (aSRWP->ItemsValue(j).IsNull()) continue; - if (aSRWP->ItemsValue(i)->IsKind(STANDARD_TYPE(StepGeom_Axis2Placement3d))) + if (aSRWP->ItemsValue(j)->IsKind(STANDARD_TYPE(StepGeom_Axis2Placement3d))) { Handle(StepGeom_Axis2Placement3d) anAx - = Handle(StepGeom_Axis2Placement3d)::DownCast(aSRWP->ItemsValue(i)); + = Handle(StepGeom_Axis2Placement3d)::DownCast(aSRWP->ItemsValue(j)); Handle(Geom_Axis2Placement) anAxis = StepToGeom::MakeAxis2Placement(anAx); - aDatObj->SetDatumTargetAxis(anAxis->Ax2()); + aDatTargetObj->SetDatumTargetAxis(anAxis->Ax2()); } - else if (aSRWP->ItemsValue(i)->IsKind(STANDARD_TYPE(StepRepr_ReprItemAndLengthMeasureWithUnit))) + else if (aSRWP->ItemsValue(j)->IsKind(STANDARD_TYPE(StepRepr_ReprItemAndLengthMeasureWithUnit))) { Handle(StepRepr_ReprItemAndLengthMeasureWithUnit) aM = - Handle(StepRepr_ReprItemAndLengthMeasureWithUnit)::DownCast(aSRWP->ItemsValue(i)); + Handle(StepRepr_ReprItemAndLengthMeasureWithUnit)::DownCast(aSRWP->ItemsValue(j)); Standard_Real aVal = aM->GetMeasureWithUnit()->ValueComponent(); StepBasic_Unit anUnit = aM->GetMeasureWithUnit()->UnitComponent(); Standard_Real aFact = 1.; @@ -2511,9 +2516,9 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, aVal = aVal * aFact; if (aM->Name()->String().IsEqual("target length") || aM->Name()->String().IsEqual("target diameter")) - aDatObj->SetDatumTargetLength(aVal); + aDatTargetObj->SetDatumTargetLength(aVal); else - aDatObj->SetDatumTargetWidth(aVal); + aDatTargetObj->SetDatumTargetWidth(aVal); } } } @@ -2526,17 +2531,17 @@ static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat, TDF_Label aDatL = aDGTTool->AddDatum(); aDat = XCAFDoc_Datum::Set(aDatL); aDGTTool->SetDatum(aDTShapeLabels, aDatL); - aDatObj->SetName(theDat->Identification()); - aDatObj->SetPosition(thePositionCounter); + aDatTargetObj->SetName(theDat->Identification()); + aDatTargetObj->SetPosition(thePositionCounter); if (!theXCAFModifiers.IsEmpty()) - aDatObj->SetModifiers(theXCAFModifiers); + aDatTargetObj->SetModifiers(theXCAFModifiers); if (theXCAFModifWithVal != XCAFDimTolObjects_DatumModifWithValue_None) - aDatObj->SetModifierWithValue(theXCAFModifWithVal, theModifValue); + aDatTargetObj->SetModifierWithValue(theXCAFModifWithVal, theModifValue); aDGTTool->SetDatumToGeomTol(aDatL, theGDTL); - aDatObj->IsDatumTarget(Standard_True); - aDatObj->SetDatumTargetNumber(aDT->TargetId()->IntegerValue()); - readAnnotation(aTR, aDT, aDatObj); - aDat->SetObject(aDatObj); + aDatTargetObj->IsDatumTarget(Standard_True); + aDatTargetObj->SetDatumTargetNumber(aDT->TargetId()->IntegerValue()); + readAnnotation(aTR, aDT, aDatTargetObj); + aDat->SetObject(aDatTargetObj); isExistDatumTarget = Standard_True; } } @@ -3814,51 +3819,123 @@ Standard_Boolean STEPCAFControl_Reader::ReadGDTs(const Handle(XSControl_WorkSess } } else if (anEnt->IsKind(STANDARD_TYPE(StepVisual_DraughtingCallout)) || - anEnt->IsKind(STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence))) + anEnt->IsKind(STANDARD_TYPE(StepVisual_AnnotationOccurrence))) { - // read common PMIs: presentation, which is not connected to any PMI. - Handle(StepVisual_AnnotationPlane) anAnPlane; - Handle(StepAP242_DraughtingModelItemAssociation) aDMIA; - Standard_Boolean isCommonLabel = Standard_True; - for (Interface_EntityIterator anIter = aGraph.Sharings(anEnt); anIter.More(); anIter.Next()) - { - if (anIter.Value()->IsKind(STANDARD_TYPE(StepVisual_AnnotationPlane))) - anAnPlane = Handle(StepVisual_AnnotationPlane)::DownCast(anIter.Value()); - else - isCommonLabel = Standard_False; + // Protection against import presentation twice + Handle(StepVisual_DraughtingCallout) aDC; + for (Interface_EntityIterator anIter = aGraph.Sharings(anEnt); anIter.More() && aDC.IsNull(); anIter.Next()) { + aDC = Handle(StepVisual_DraughtingCallout)::DownCast(anIter.Value()); } - if (!isCommonLabel) + if (!aDC.IsNull()) continue; - // create empty Dimension - TDF_Label aGDTL = aDGTTool->AddDimension(); - Handle(XCAFDoc_Dimension) aDim = XCAFDoc_Dimension::Set(aGDTL); - TCollection_AsciiString aStr("DGT:Common_label"); - TDataStd_Name::Set(aGDTL, aStr); - TDF_LabelSequence anEmptySeq1, anEmptySeq2; - aDGTTool->SetDimension(anEmptySeq1, anEmptySeq2, aGDTL); - Handle(XCAFDimTolObjects_DimensionObject) aDimObj = new XCAFDimTolObjects_DimensionObject(); - // read annotations - Standard_Real aFact = 1.0; - if (!anAnPlane.IsNull()) - { - Handle(StepVisual_DraughtingModel) aDModel; - for (Interface_EntityIterator anIter = aGraph.Sharings(anAnPlane); anIter.More() && aDModel.IsNull(); anIter.Next()) - { - if (anIter.Value()->IsKind(STANDARD_TYPE(StepVisual_DraughtingModel))) - aDModel = Handle(StepVisual_DraughtingModel)::DownCast(anIter.Value()); - } - if (!aDModel.IsNull()) - GetLengthConversionFactorFromContext(aDModel->ContextOfItems(), aFact); + // Read presentations for PMIs without semantic data. + Handle(StepAP242_DraughtingModelItemAssociation) aDMIA; + TDF_LabelSequence aShapesL; + for (Interface_EntityIterator anIter = aGraph.Sharings(anEnt); anIter.More() && aDMIA.IsNull(); anIter.Next()) { + aDMIA = Handle(StepAP242_DraughtingModelItemAssociation)::DownCast(anIter.Value()); } - gp_Ax2 aPlaneAxes; - readAnnotationPlane(anAnPlane, aFact, aPlaneAxes); + if (!aDMIA.IsNull()) { + // Check entity, skip all, attached to GDTs + Handle(StepRepr_ShapeAspect) aDefinition = aDMIA->Definition().ShapeAspect(); + if (!aDefinition.IsNull()) { + Standard_Boolean isConnectedToGDT = Standard_False; + // Skip if definition is a datum + if (aDefinition->IsKind(STANDARD_TYPE(StepDimTol_Datum)) || + aDefinition->IsKind(STANDARD_TYPE(StepDimTol_DatumTarget)) || + aDefinition->IsKind(STANDARD_TYPE(StepDimTol_DatumFeature)) || + aDefinition->IsKind(STANDARD_TYPE(StepRepr_CompShAspAndDatumFeatAndShAsp))) { + isConnectedToGDT = Standard_True; + } + // Skip if any GDT is applied to definition + for (Interface_EntityIterator anIter = aGraph.Sharings(aDefinition); anIter.More() && !isConnectedToGDT; anIter.Next()) { + if (anIter.Value()->IsKind(STANDARD_TYPE(StepShape_DimensionalSize)) || + anIter.Value()->IsKind(STANDARD_TYPE(StepShape_DimensionalLocation)) || + anIter.Value()->IsKind(STANDARD_TYPE(StepDimTol_GeometricTolerance))) { + isConnectedToGDT = Standard_True; + continue; + } + Handle(StepRepr_ShapeAspectRelationship) aSAR = Handle(StepRepr_ShapeAspectRelationship)::DownCast(anIter.Value()); + if (!aSAR.IsNull()) { + Handle(StepRepr_ShapeAspect) aSA = aSAR->RelatedShapeAspect(); + if (!aSA.IsNull()) { + if (aSA->IsKind(STANDARD_TYPE(StepDimTol_Datum)) || + aSA->IsKind(STANDARD_TYPE(StepDimTol_DatumTarget)) || + aSA->IsKind(STANDARD_TYPE(StepDimTol_DatumFeature)) || + aSA->IsKind(STANDARD_TYPE(StepRepr_CompShAspAndDatumFeatAndShAsp))) { + isConnectedToGDT = Standard_True; + } + for (Interface_EntityIterator aDimIter = aGraph.Sharings(aSA); aDimIter.More() && !isConnectedToGDT; aDimIter.Next()) { + if (aDimIter.Value()->IsKind(STANDARD_TYPE(StepShape_DimensionalSize)) || + aDimIter.Value()->IsKind(STANDARD_TYPE(StepShape_DimensionalLocation)) || + aDimIter.Value()->IsKind(STANDARD_TYPE(StepDimTol_GeometricTolerance))) { + isConnectedToGDT = Standard_True; + continue; + } + } + } + } + } + if (isConnectedToGDT) + continue; + } + else if (aDMIA->Definition().PropertyDefinition().IsNull()) + continue; + + // Get shapes + NCollection_Sequence aSAs; + collectShapeAspect(aDefinition, theWS, aSAs); + for (Standard_Integer aSAIt = 1; aSAIt <= aSAs.Length(); aSAIt++) { + Handle(StepAP242_GeometricItemSpecificUsage) aGISU; + for (Interface_EntityIterator anIter = aGraph.Sharings(aSAs.Value(aSAIt)); anIter.More() && aGISU.IsNull(); anIter.Next()) + aGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIter.Value()); + if (aGISU.IsNull()) + continue; + for (Standard_Integer anItemIt = 1; anItemIt <= aGISU->NbIdentifiedItem(); anItemIt++) { + TDF_Label aLabel = getShapeLabel(aGISU->IdentifiedItemValue(anItemIt), theWS, XCAFDoc_DocumentTool::ShapeTool(theDoc->Main())); + if (!aLabel.IsNull()) + aShapesL.Append(aLabel); + } + } + } + Standard_Boolean isCommonLabel = (aShapesL.Length() == 0); + + // Calculate unit + Standard_Real aFact = 1.0; + if (!aDMIA.IsNull() && !aDMIA->UsedRepresentation().IsNull()) + GetLengthConversionFactorFromContext(aDMIA->UsedRepresentation()->ContextOfItems(), aFact); + + // Presentation TopoDS_Shape aPresentation; Handle(TCollection_HAsciiString) aPresentName; Bnd_Box aBox; - readPMIPresentation(anEnt, aTR, aFact, aPresentation, aPresentName, aBox); - // populate Dimension - aDimObj->SetType(XCAFDimTolObjects_DimensionType_CommonLabel); - aDimObj->SetPlane(aPlaneAxes); + if (!readPMIPresentation(anEnt, aTR, aFact, aPresentation, aPresentName, aBox)) + continue; + // Annotation plane + Handle(StepVisual_AnnotationPlane) anAnPlane; + for (Interface_EntityIterator anIter = aGraph.Sharings(anEnt); anIter.More() && anAnPlane.IsNull(); anIter.Next()) + anAnPlane = Handle(StepVisual_AnnotationPlane)::DownCast(anIter.Value()); + + // Set object to XCAF + TDF_Label aGDTL = aDGTTool->AddDimension(); + Handle(XCAFDimTolObjects_DimensionObject) aDimObj = new XCAFDimTolObjects_DimensionObject(); + Handle(XCAFDoc_Dimension) aDim = XCAFDoc_Dimension::Set(aGDTL); + TCollection_AsciiString aStr("DGT:"); + if (isCommonLabel) { + aStr.AssignCat("Common_label"); + aDimObj->SetType(XCAFDimTolObjects_DimensionType_CommonLabel); + } + else { + aStr.AssignCat("Dimension"); + aDimObj->SetType(XCAFDimTolObjects_DimensionType_DimensionPresentation); + } + TDataStd_Name::Set(aGDTL, aStr); + TDF_LabelSequence anEmptySeq2; + aDGTTool->SetDimension(aShapesL, anEmptySeq2, aGDTL); + gp_Ax2 aPlaneAxes; + if (!anAnPlane.IsNull()) { + if (readAnnotationPlane(anAnPlane, aFact, aPlaneAxes)) + aDimObj->SetPlane(aPlaneAxes); + } aDimObj->SetPresentation(aPresentation, aPresentName); aDim->SetObject(aDimObj); } diff --git a/src/STEPCAFControl/STEPCAFControl_Writer.cxx b/src/STEPCAFControl/STEPCAFControl_Writer.cxx index cd134fea30..5cf87cc385 100644 --- a/src/STEPCAFControl/STEPCAFControl_Writer.cxx +++ b/src/STEPCAFControl/STEPCAFControl_Writer.cxx @@ -238,11 +238,6 @@ #include #include -static NCollection_Vector gdtAnnotationPlanes; -static Handle(StepVisual_DraughtingModel) gdtPresentationDM; -static Handle(StepVisual_HArray1OfPresentationStyleAssignment) gdtPrsCurveStyle; -static Handle(StepRepr_ProductDefinitionShape) gdtCommonPDS; - // added by skl 15.01.2004 for D> writing //#include //#include @@ -319,6 +314,8 @@ void STEPCAFControl_Writer::Init (const Handle(XSControl_WorkSession)& WS, myFiles.Clear(); myLabEF.Clear(); myLabels.Clear(); + myGDTPresentationDM = new StepVisual_DraughtingModel(); + myGDTPrsCurveStyle = new StepVisual_HArray1OfPresentationStyleAssignment(1, 1); } @@ -2285,11 +2282,11 @@ static Handle(StepRepr_ReprItemAndMeasureWithUnit) CreateDimValue(const Standard //purpose : auxiliary (write Shape_Aspect entity for given shape) //======================================================================= -static Handle(StepRepr_ShapeAspect) WriteShapeAspect (const Handle(XSControl_WorkSession) &WS, - const TDF_Label theLabel, - const TopoDS_Shape theShape, - Handle(StepRepr_RepresentationContext)& theRC, - Handle(StepAP242_GeometricItemSpecificUsage)& theGISU) +Handle(StepRepr_ShapeAspect) STEPCAFControl_Writer::WriteShapeAspect (const Handle(XSControl_WorkSession) &WS, + const TDF_Label theLabel, + const TopoDS_Shape theShape, + Handle(StepRepr_RepresentationContext)& theRC, + Handle(StepAP242_GeometricItemSpecificUsage)& theGISU) { // Get working data const Handle(Interface_InterfaceModel) &Model = WS->Model(); @@ -2359,12 +2356,14 @@ static Handle(StepRepr_ShapeAspect) WriteShapeAspect (const Handle(XSControl_Wor //function : WritePresentation //purpose : auxiliary (write annotation plane and presentation) //====================================================================== -static void WritePresentation(const Handle(XSControl_WorkSession) &WS, - const TopoDS_Shape thePresentation, - const Handle(TCollection_HAsciiString)& thePrsName, - const gp_Ax2 theAnnotationPlane, - const gp_Pnt theTextPosition, - const Handle(Standard_Transient) theDimension) +void STEPCAFControl_Writer::WritePresentation(const Handle(XSControl_WorkSession) &WS, + const TopoDS_Shape thePresentation, + const Handle(TCollection_HAsciiString)& thePrsName, + const Standard_Boolean hasSemantic, + const Standard_Boolean hasPlane, + const gp_Ax2 theAnnotationPlane, + const gp_Pnt theTextPosition, + const Handle(Standard_Transient) theDimension) { if (thePresentation.IsNull()) return; @@ -2374,7 +2373,7 @@ static void WritePresentation(const Handle(XSControl_WorkSession) &WS, // Presentation Handle(StepVisual_TessellatedGeometricSet) aGeomSet = STEPCAFControl_GDTProperty::GetTessellation(thePresentation); Handle(StepVisual_TessellatedAnnotationOccurrence) aTAO = new StepVisual_TessellatedAnnotationOccurrence(); - aTAO->Init(new TCollection_HAsciiString(), gdtPrsCurveStyle, aGeomSet); + aTAO->Init(new TCollection_HAsciiString(), myGDTPrsCurveStyle, aGeomSet); StepVisual_DraughtingCalloutElement aDCElement; aDCElement.SetValue(aTAO); Handle(StepVisual_HArray1OfDraughtingCalloutElement) aTAOs = new StepVisual_HArray1OfDraughtingCalloutElement(1, 1); @@ -2384,14 +2383,22 @@ static void WritePresentation(const Handle(XSControl_WorkSession) &WS, aDCallout->Init(aPrsName, aTAOs); Handle(StepRepr_HArray1OfRepresentationItem) aDCsForDMIA = new StepRepr_HArray1OfRepresentationItem(1, 1); aDCsForDMIA->SetValue(1, aDCallout); + myGDTAnnotations.Append(aDCallout); StepAP242_ItemIdentifiedRepresentationUsageDefinition aDimension; aDimension.SetValue(theDimension); + Handle(TCollection_HAsciiString) aDMIAName; + if (hasSemantic) + aDMIAName = new TCollection_HAsciiString("PMI representation to presentation link"); + else + aDMIAName = new TCollection_HAsciiString(); Handle(StepAP242_DraughtingModelItemAssociation) aDMIA = new StepAP242_DraughtingModelItemAssociation(); - aDMIA->Init(new TCollection_HAsciiString("PMI representation to presentation link"), - new TCollection_HAsciiString(), aDimension, gdtPresentationDM, aDCsForDMIA); + aDMIA->Init(aDMIAName, new TCollection_HAsciiString(), aDimension, myGDTPresentationDM, aDCsForDMIA); aModel->AddWithRefs(aDMIA); + if (!hasPlane) + return; + // Annotation plane // Presentation Style Handle(StepVisual_NullStyleMember) aNullStyle = new StepVisual_NullStyleMember(); @@ -2402,7 +2409,7 @@ static void WritePresentation(const Handle(XSControl_WorkSession) &WS, aStyles->SetValue(1, aStyleItem); Handle(StepVisual_PresentationStyleAssignment) aPrsStyle = new StepVisual_PresentationStyleAssignment(); aPrsStyle->Init(aStyles); - Handle(StepVisual_HArray1OfPresentationStyleAssignment) aPrsStyles = + Handle(StepVisual_HArray1OfPresentationStyleAssignment) aPrsStyles = new StepVisual_HArray1OfPresentationStyleAssignment(1, 1); aPrsStyles->SetValue(1, aPrsStyle); // Plane @@ -2424,63 +2431,7 @@ static void WritePresentation(const Handle(XSControl_WorkSession) &WS, // Init AnnotationPlane entity Handle(StepVisual_AnnotationPlane) anAnnPlane = new StepVisual_AnnotationPlane(); anAnnPlane->Init(new TCollection_HAsciiString(), aPrsStyles, aPlane, aDCsForAnnPln); - gdtAnnotationPlanes.Append(anAnnPlane); - aModel->AddWithRefs(anAnnPlane); -} - -//====================================================================== -//function : WritePresentation -//purpose : auxiliary (write annotation plane and presentation for common labels) -//====================================================================== -static void WritePresentation(const Handle(XSControl_WorkSession) &WS, - const TopoDS_Shape thePresentation, - const Handle(TCollection_HAsciiString)& thePrsName, - const gp_Ax2 theAnnotationPlane) -{ - if (thePresentation.IsNull()) - return; - // Get working data - const Handle(Interface_InterfaceModel) &aModel = WS->Model(); - - // Presentation - Handle(StepVisual_TessellatedGeometricSet) aGeomSet = STEPCAFControl_GDTProperty::GetTessellation(thePresentation); - Handle(StepVisual_TessellatedAnnotationOccurrence) aTAO = new StepVisual_TessellatedAnnotationOccurrence(); - aTAO->Init(new TCollection_HAsciiString(), gdtPrsCurveStyle, aGeomSet); - StepVisual_DraughtingCalloutElement aDCElement; - aDCElement.SetValue(aTAO); - Handle(StepVisual_HArray1OfDraughtingCalloutElement) aTAOs = new StepVisual_HArray1OfDraughtingCalloutElement(1, 1); - aTAOs->SetValue(1, aDCElement); - Handle(StepVisual_DraughtingCallout) aDCallout = new StepVisual_DraughtingCallout(); - Handle(TCollection_HAsciiString) aPrsName = thePrsName.IsNull() ? new TCollection_HAsciiString() : thePrsName; - aDCallout->Init(aPrsName, aTAOs); - aModel->AddWithRefs(aDCallout); - - // Annotation plane - // Presentation Style - Handle(StepVisual_NullStyleMember) aNullStyle = new StepVisual_NullStyleMember(); - aNullStyle->SetEnumText(0, ".NULL."); - StepVisual_PresentationStyleSelect aStyleItem; - aStyleItem.SetValue(aNullStyle); - Handle(StepVisual_HArray1OfPresentationStyleSelect) aStyles = new StepVisual_HArray1OfPresentationStyleSelect(1, 1); - aStyles->SetValue(1, aStyleItem); - Handle(StepVisual_PresentationStyleAssignment) aPrsStyle = new StepVisual_PresentationStyleAssignment(); - aPrsStyle->Init(aStyles); - Handle(StepVisual_HArray1OfPresentationStyleAssignment) aPrsStyles = - new StepVisual_HArray1OfPresentationStyleAssignment(1, 1); - aPrsStyles->SetValue(1, aPrsStyle); - // Plane - Handle(StepGeom_Plane) aPlane = new StepGeom_Plane(); - Handle(StepGeom_Axis2Placement3d) anAxis = STEPCAFControl_GDTProperty::GetAxis2Placement3D(theAnnotationPlane); - aPlane->Init(new TCollection_HAsciiString(), anAxis); - // Annotation plane element - StepVisual_AnnotationPlaneElement aPlaneElement; - aPlaneElement.SetValue(aDCallout); - Handle(StepVisual_HArray1OfAnnotationPlaneElement) aDCsForAnnPln = new StepVisual_HArray1OfAnnotationPlaneElement(1, 1); - aDCsForAnnPln->SetValue(1, aPlaneElement); - // Init AnnotationPlane entity - Handle(StepVisual_AnnotationPlane) anAnnPlane = new StepVisual_AnnotationPlane(); - anAnnPlane->Init(new TCollection_HAsciiString(), aPrsStyles, aPlane, aDCsForAnnPln); - gdtAnnotationPlanes.Append(anAnnPlane); + myGDTAnnotations.Append(anAnnPlane); aModel->AddWithRefs(anAnnPlane); } @@ -2490,11 +2441,11 @@ static void WritePresentation(const Handle(XSControl_WorkSession) &WS, // necessary entities and link them to already written datum // in case of multiple features association) //======================================================================= -static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSession) &WS, - const TDF_LabelSequence theShapeL, - const TDF_Label theDatumL, - const Standard_Boolean isFirstDTarget, - const Handle(StepDimTol_Datum) theWrittenDatum) +Handle(StepDimTol_Datum) STEPCAFControl_Writer::WriteDatumAP242(const Handle(XSControl_WorkSession) &WS, + const TDF_LabelSequence theShapeL, + const TDF_Label theDatumL, + const Standard_Boolean isFirstDTarget, + const Handle(StepDimTol_Datum) theWrittenDatum) { // Get working data const Handle(Interface_InterfaceModel) &Model = WS->Model(); @@ -2538,7 +2489,7 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi } if (aPDS.IsNull()) { // Workaround for datums without shape - aPDS = gdtCommonPDS; + aPDS = myGDTCommonPDS; Interface_EntityIterator aSDRIt = aGraph.Sharings(aPDS); Handle(StepShape_ShapeDefinitionRepresentation) aSDR; for (aSDRIt.Start(); aSDRIt.More() && aSDR.IsNull(); aSDRIt.Next()) @@ -2719,7 +2670,8 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi } //Annotation plane and Presentation - WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->GetPlane(), anObject->GetPointTextAttach(), aSA); + WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), Standard_True, anObject->HasPlane(), + anObject->GetPlane(), anObject->GetPointTextAttach(), aSA); return aDatum; } @@ -3163,10 +3115,10 @@ static Handle(StepDimTol_HArray1OfDatumSystemOrReference) WriteDatumSystem(const //function : WriteToleranceZone //purpose : auxiliary (write tolerace zones) //======================================================================= -static void WriteToleranceZone (const Handle(XSControl_WorkSession) &WS, - const Handle(XCAFDimTolObjects_GeomToleranceObject)& theObject, - const Handle(StepDimTol_GeometricTolerance)& theEntity, - const Handle(StepRepr_RepresentationContext)& theRC) +void STEPCAFControl_Writer::WriteToleranceZone (const Handle(XSControl_WorkSession) &WS, + const Handle(XCAFDimTolObjects_GeomToleranceObject)& theObject, + const Handle(StepDimTol_GeometricTolerance)& theEntity, + const Handle(StepRepr_RepresentationContext)& theRC) { // Get working data const Handle(Interface_InterfaceModel) &Model = WS->Model(); @@ -3212,11 +3164,11 @@ static void WriteToleranceZone (const Handle(XSControl_WorkSession) &WS, //purpose : auxiliary (write Geometric_Tolerance entity for given shapes, // label and datum system) //====================================================================== -static void WriteGeomTolerance (const Handle(XSControl_WorkSession) &WS, - const TDF_LabelSequence theShapeSeqL, - const TDF_Label theGeomTolL, - const Handle(StepDimTol_HArray1OfDatumSystemOrReference)& theDatumSystem, - const Handle(StepRepr_RepresentationContext)& theRC) +void STEPCAFControl_Writer::WriteGeomTolerance (const Handle(XSControl_WorkSession) &WS, + const TDF_LabelSequence theShapeSeqL, + const TDF_Label theGeomTolL, + const Handle(StepDimTol_HArray1OfDatumSystemOrReference)& theDatumSystem, + const Handle(StepRepr_RepresentationContext)& theRC) { // Get working data const Handle(Interface_InterfaceModel) &Model = WS->Model(); @@ -3385,7 +3337,8 @@ static void WriteGeomTolerance (const Handle(XSControl_WorkSession) &WS, Model->AddWithRefs(aGeomTol); WriteToleranceZone(WS, anObject, aGeomTol, theRC); //Annotation plane and Presentation - WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->GetPlane(), anObject->GetPointTextAttach(), aGeomTol); + WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), Standard_True, anObject->HasPlane(), + anObject->GetPlane(), anObject->GetPointTextAttach(), aGeomTol); } //======================================================================= @@ -3752,7 +3705,7 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTs (const Handle(XSControl_WorkSe //======================================================================= Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_WorkSession) &WS, - const TDF_LabelSequence &labels ) const + const TDF_LabelSequence &labels ) { // Get working data const Handle(Interface_InterfaceModel) &aModel = WS->Model(); @@ -3767,15 +3720,13 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W return Standard_False; // Common entities for presentation - gdtPresentationDM = new StepVisual_DraughtingModel(); STEPConstruct_Styles aStyles (WS); Handle(StepVisual_Colour) aCurvColor = aStyles.EncodeColor(Quantity_NOC_WHITE); Handle(StepRepr_RepresentationItem) anItem = NULL; - gdtPrsCurveStyle = new StepVisual_HArray1OfPresentationStyleAssignment(1, 1); - gdtPrsCurveStyle->SetValue(1, aStyles.MakeColorPSA(anItem, aCurvColor, aCurvColor)); + myGDTPrsCurveStyle->SetValue(1, aStyles.MakeColorPSA(anItem, aCurvColor, aCurvColor)); Interface_EntityIterator aModelIter = aModel->Entities(); - for (; aModelIter.More() && gdtCommonPDS.IsNull(); aModelIter.Next()) - gdtCommonPDS = Handle(StepRepr_ProductDefinitionShape)::DownCast(aModelIter.Value()); + for (; aModelIter.More() && myGDTCommonPDS.IsNull(); aModelIter.Next()) + myGDTCommonPDS = Handle(StepRepr_ProductDefinitionShape)::DownCast(aModelIter.Value()); TDF_LabelSequence aDGTLabels; STEPConstruct_DataMapOfAsciiStringTransient aDatumMap; @@ -3830,7 +3781,11 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W continue; if (anObject->GetType() == XCAFDimTolObjects_DimensionType_CommonLabel) { - WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->GetPlane()); + Handle(StepRepr_ShapeAspect) aSA = new StepRepr_ShapeAspect(); + aSA->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), myGDTCommonPDS, StepData_LTrue); + aModel->AddWithRefs(aSA); + WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->HasPlane(), + Standard_False, anObject->GetPlane(), anObject->GetPointTextAttach(), aSA); } if (!DGTTool->GetRefShapeLabel(aDimensionL, aFirstShapeL, aSecondShapeL)) @@ -3889,6 +3844,13 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W aSecondSA = aCSA; } + if (anObject->GetType() == XCAFDimTolObjects_DimensionType_DimensionPresentation) + { + WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->HasPlane(), + Standard_False, anObject->GetPlane(), anObject->GetPointTextAttach(), aFirstSA); + continue; + } + // Write dimensions StepShape_DimensionalCharacteristic aDimension; if (anObject->HasPoint() || anObject->HasPoint2()) @@ -3958,7 +3920,8 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W // Write values WriteDimValues(WS, anObject, aRC, aDimension); //Annotation plane and Presentation - WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->GetPlane(), anObject->GetPointTextAttach(), aDimension.Value()); + WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), Standard_True, anObject->HasPlane(), + anObject->GetPlane(), anObject->GetPointTextAttach(), aDimension.Value()); } // Write Derived geometry if (aConnectionPnts.Length() > 0) { @@ -3989,16 +3952,16 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W } // Write Draughting model for Annotation Planes - if (gdtAnnotationPlanes.Length() == 0) + if (myGDTAnnotations.Length() == 0) return Standard_True; Handle(StepRepr_HArray1OfRepresentationItem) aItems = - new StepRepr_HArray1OfRepresentationItem(1, gdtAnnotationPlanes.Length()); + new StepRepr_HArray1OfRepresentationItem(1, myGDTAnnotations.Length()); for (Standard_Integer i = 1; i <= aItems->Length(); i++) { - aItems->SetValue(i, gdtAnnotationPlanes.Value(i - 1)); + aItems->SetValue(i, myGDTAnnotations.Value(i - 1)); } - gdtPresentationDM->Init(new TCollection_HAsciiString(), aItems, aRC); - aModel->AddWithRefs(gdtPresentationDM); + myGDTPresentationDM->Init(new TCollection_HAsciiString(), aItems, aRC); + aModel->AddWithRefs(myGDTPresentationDM); return Standard_True; } diff --git a/src/STEPCAFControl/STEPCAFControl_Writer.hxx b/src/STEPCAFControl/STEPCAFControl_Writer.hxx index 9a1db4d95d..34fcc83485 100644 --- a/src/STEPCAFControl/STEPCAFControl_Writer.hxx +++ b/src/STEPCAFControl/STEPCAFControl_Writer.hxx @@ -29,6 +29,15 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include + class XSControl_WorkSession; class TDocStd_Document; class TDF_Label; @@ -174,7 +183,7 @@ protected: Standard_EXPORT Standard_Boolean WriteDGTs (const Handle(XSControl_WorkSession)& WS, const TDF_LabelSequence& labels) const; //! Write D>s assigned to specified labels, to STEP model, according AP242 - Standard_EXPORT Standard_Boolean WriteDGTsAP242 (const Handle(XSControl_WorkSession)& WS, const TDF_LabelSequence& labels) const; + Standard_EXPORT Standard_Boolean WriteDGTsAP242 (const Handle(XSControl_WorkSession)& WS, const TDF_LabelSequence& labels); //! Write materials assigned to specified labels, to STEP model Standard_EXPORT Standard_Boolean WriteMaterials (const Handle(XSControl_WorkSession)& WS, const TDF_LabelSequence& labels) const; @@ -192,6 +201,23 @@ protected: private: + Standard_EXPORT Handle(StepRepr_ShapeAspect) WriteShapeAspect(const Handle(XSControl_WorkSession) &WS, + const TDF_Label theLabel, const TopoDS_Shape theShape, Handle(StepRepr_RepresentationContext)& theRC, + Handle(StepAP242_GeometricItemSpecificUsage)& theGISU); + + Standard_EXPORT void WritePresentation(const Handle(XSControl_WorkSession) &WS, const TopoDS_Shape thePresentation, + const Handle(TCollection_HAsciiString)& thePrsName, const Standard_Boolean hasSemantic, const Standard_Boolean hasPlane, + const gp_Ax2 theAnnotationPlane, const gp_Pnt theTextPosition, const Handle(Standard_Transient) theDimension); + + Standard_EXPORT Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSession) &WS, const TDF_LabelSequence theShapeL, + const TDF_Label theDatumL, const Standard_Boolean isFirstDTarget, const Handle(StepDimTol_Datum) theWrittenDatum); + + Standard_EXPORT void WriteToleranceZone(const Handle(XSControl_WorkSession) &WS, const Handle(XCAFDimTolObjects_GeomToleranceObject)& theObject, + const Handle(StepDimTol_GeometricTolerance)& theEntity, const Handle(StepRepr_RepresentationContext)& theRC); + + Standard_EXPORT void WriteGeomTolerance(const Handle(XSControl_WorkSession) &WS, const TDF_LabelSequence theShapeSeqL, + const TDF_Label theGeomTolL, const Handle(StepDimTol_HArray1OfDatumSystemOrReference)& theDatumSystem, + const Handle(StepRepr_RepresentationContext)& theRC); @@ -207,7 +233,10 @@ private: MoniTool_DataMapOfShapeTransient myMapCompMDGPR; Standard_Boolean myDGTMode; Standard_Boolean myMatMode; - + NCollection_Vector myGDTAnnotations; + Handle(StepVisual_DraughtingModel) myGDTPresentationDM; + Handle(StepVisual_HArray1OfPresentationStyleAssignment) myGDTPrsCurveStyle; + Handle(StepRepr_ProductDefinitionShape) myGDTCommonPDS; }; diff --git a/src/StepAP214/StepAP214_Protocol.cxx b/src/StepAP214/StepAP214_Protocol.cxx index da1074cac4..df010c12e3 100644 --- a/src/StepAP214/StepAP214_Protocol.cxx +++ b/src/StepAP214/StepAP214_Protocol.cxx @@ -743,6 +743,8 @@ static Standard_CString schemaAP242DIS = "AP242_MANAGED_MODEL_BASED_3D_ENGINEERI #include #include #include +#include +#include static int init = 0; static Interface_DataMapOfTransientInteger types(800); @@ -761,8 +763,8 @@ StepAP214_Protocol::StepAP214_Protocol () types.Bind (STANDARD_TYPE(StepShape_AdvancedBrepShapeRepresentation), 2); types.Bind (STANDARD_TYPE(StepShape_AdvancedFace), 3); types.Bind (STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence), 4); -// types.Bind (STANDARD_TYPE(StepVisual_AnnotationFillArea), 5); -// types.Bind (STANDARD_TYPE(StepVisual_AnnotationFillAreaOccurrence), 6); + types.Bind (STANDARD_TYPE(StepVisual_AnnotationFillArea), 5); + types.Bind (STANDARD_TYPE(StepVisual_AnnotationFillAreaOccurrence), 6); types.Bind (STANDARD_TYPE(StepVisual_AnnotationOccurrence), 7); // types.Bind (STANDARD_TYPE(StepVisual_AnnotationSubfigureOccurrence), 8); // types.Bind (STANDARD_TYPE(StepVisual_AnnotationSymbol), 9); diff --git a/src/StepVisual/FILES b/src/StepVisual/FILES index 9de42462ec..641d3fcbfe 100644 --- a/src/StepVisual/FILES +++ b/src/StepVisual/FILES @@ -1,5 +1,9 @@ StepVisual_AnnotationCurveOccurrence.cxx StepVisual_AnnotationCurveOccurrence.hxx +StepVisual_AnnotationFillArea.cxx +StepVisual_AnnotationFillArea.hxx +StepVisual_AnnotationFillAreaOccurrence.cxx +StepVisual_AnnotationFillAreaOccurrence.hxx StepVisual_AnnotationOccurrence.cxx StepVisual_AnnotationOccurrence.hxx StepVisual_AnnotationPlane.cxx diff --git a/src/StepVisual/StepVisual_AnnotationCurveOccurrence.cxx b/src/StepVisual/StepVisual_AnnotationCurveOccurrence.cxx index 79428a82ad..b4a61da531 100644 --- a/src/StepVisual/StepVisual_AnnotationCurveOccurrence.cxx +++ b/src/StepVisual/StepVisual_AnnotationCurveOccurrence.cxx @@ -16,6 +16,6 @@ #include #include -IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationCurveOccurrence,StepVisual_StyledItem) +IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationCurveOccurrence,StepVisual_AnnotationOccurrence) StepVisual_AnnotationCurveOccurrence::StepVisual_AnnotationCurveOccurrence () {} diff --git a/src/StepVisual/StepVisual_AnnotationCurveOccurrence.hxx b/src/StepVisual/StepVisual_AnnotationCurveOccurrence.hxx index 3223156076..2cf5f86d78 100644 --- a/src/StepVisual/StepVisual_AnnotationCurveOccurrence.hxx +++ b/src/StepVisual/StepVisual_AnnotationCurveOccurrence.hxx @@ -19,18 +19,18 @@ #include #include -#include +#include class StepVisual_AnnotationCurveOccurrence; -DEFINE_STANDARD_HANDLE(StepVisual_AnnotationCurveOccurrence, StepVisual_StyledItem) +DEFINE_STANDARD_HANDLE(StepVisual_AnnotationCurveOccurrence, StepVisual_AnnotationOccurrence) -class StepVisual_AnnotationCurveOccurrence : public StepVisual_StyledItem +class StepVisual_AnnotationCurveOccurrence : public StepVisual_AnnotationOccurrence { public: //! Returns a AnnotationCurveOccurrence Standard_EXPORT StepVisual_AnnotationCurveOccurrence(); - DEFINE_STANDARD_RTTIEXT(StepVisual_AnnotationCurveOccurrence,StepVisual_StyledItem) + DEFINE_STANDARD_RTTIEXT(StepVisual_AnnotationCurveOccurrence,StepVisual_AnnotationOccurrence) }; #endif // _StepVisual_AnnotationCurveOccurrence_HeaderFile diff --git a/src/StepVisual/StepVisual_AnnotationFillArea.cxx b/src/StepVisual/StepVisual_AnnotationFillArea.cxx new file mode 100644 index 0000000000..c325d3a469 --- /dev/null +++ b/src/StepVisual/StepVisual_AnnotationFillArea.cxx @@ -0,0 +1,26 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + + +#include +#include + +IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationFillArea, StepShape_GeometricCurveSet) + +//======================================================================= +//function : StepVisual_AnnotationFillArea +//purpose : +//======================================================================= +StepVisual_AnnotationFillArea::StepVisual_AnnotationFillArea () {} diff --git a/src/StepVisual/StepVisual_AnnotationFillArea.hxx b/src/StepVisual/StepVisual_AnnotationFillArea.hxx new file mode 100644 index 0000000000..2b770da19f --- /dev/null +++ b/src/StepVisual/StepVisual_AnnotationFillArea.hxx @@ -0,0 +1,40 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#ifndef _StepVisual_AnnotationFillArea_HeaderFile +#define _StepVisual_AnnotationFillArea_HeaderFile + +#include +#include + +#include +#include +#include +class TCollection_HAsciiString; + +class StepVisual_AnnotationFillArea; +DEFINE_STANDARD_HANDLE(StepVisual_AnnotationFillArea, StepShape_GeometricCurveSet) + + +class StepVisual_AnnotationFillArea : public StepShape_GeometricCurveSet +{ + +public: + //! Returns a AnnotationFillArea + Standard_EXPORT StepVisual_AnnotationFillArea(); + + DEFINE_STANDARD_RTTIEXT(StepVisual_AnnotationFillArea, StepShape_GeometricCurveSet) +}; +#endif // _StepVisual_AnnotationFillArea_HeaderFile diff --git a/src/StepVisual/StepVisual_AnnotationFillAreaOccurrence.cxx b/src/StepVisual/StepVisual_AnnotationFillAreaOccurrence.cxx new file mode 100644 index 0000000000..7703719a99 --- /dev/null +++ b/src/StepVisual/StepVisual_AnnotationFillAreaOccurrence.cxx @@ -0,0 +1,38 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#include +#include + +IMPLEMENT_STANDARD_RTTIEXT(StepVisual_AnnotationFillAreaOccurrence, StepVisual_AnnotationOccurrence) + +//======================================================================= +//function : StepVisual_AnnotationFillAreaOccurrence +//purpose : +//======================================================================= +StepVisual_AnnotationFillAreaOccurrence::StepVisual_AnnotationFillAreaOccurrence () {} + +//======================================================================= +//function : Init +//purpose : +//======================================================================= +void StepVisual_AnnotationFillAreaOccurrence::Init(const Handle(TCollection_HAsciiString)& theName, + const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles, + const Handle(MMgt_TShared)& theItem, + const Handle(StepGeom_GeometricRepresentationItem)& theFillStyleTarget) +{ + StepVisual_AnnotationOccurrence::Init(theName, theStyles, theItem); + myFillStyleTarget = theFillStyleTarget; +} diff --git a/src/StepVisual/StepVisual_AnnotationFillAreaOccurrence.hxx b/src/StepVisual/StepVisual_AnnotationFillAreaOccurrence.hxx new file mode 100644 index 0000000000..46bed0d946 --- /dev/null +++ b/src/StepVisual/StepVisual_AnnotationFillAreaOccurrence.hxx @@ -0,0 +1,57 @@ +// Created on: 2016-12-28 +// Created by: Irina KRYLOVA +// Copyright (c) 2016 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#ifndef _StepVisual_AnnotationFillAreaOccurrence_HeaderFile +#define _StepVisual_AnnotationFillAreaOccurrence_HeaderFile + +#include +#include + +#include + +class StepVisual_AnnotationFillAreaOccurrence; +DEFINE_STANDARD_HANDLE(StepVisual_AnnotationFillAreaOccurrence, StepVisual_AnnotationOccurrence) + +class StepVisual_AnnotationFillAreaOccurrence : public StepVisual_AnnotationOccurrence +{ +public: + + //! Returns a AnnotationFillAreaOccurrence + Standard_EXPORT StepVisual_AnnotationFillAreaOccurrence(); + + //! Initialize all fields (own and inherited) + Standard_EXPORT void Init (const Handle(TCollection_HAsciiString)& theName, + const Handle(StepVisual_HArray1OfPresentationStyleAssignment)& theStyles, + const Handle(MMgt_TShared)& theItem, + const Handle(StepGeom_GeometricRepresentationItem)& theFillStyleTarget); + + //! Returns field fill_style_target + Standard_EXPORT Handle(StepGeom_GeometricRepresentationItem) FillStyleTarget() const + { + return myFillStyleTarget; + } + + //! Set field fill_style_target + Standard_EXPORT void SetFillStyleTarget (const Handle(StepGeom_GeometricRepresentationItem)& theTarget) + { + myFillStyleTarget = theTarget; + } + + DEFINE_STANDARD_RTTIEXT(StepVisual_AnnotationFillAreaOccurrence, StepVisual_AnnotationOccurrence) + +private: + Handle(StepGeom_GeometricRepresentationItem) myFillStyleTarget; +}; +#endif // _StepVisual_AnnotationFillAreaOccurrence_HeaderFile diff --git a/src/StepVisual/StepVisual_DraughtingCalloutElement.cxx b/src/StepVisual/StepVisual_DraughtingCalloutElement.cxx index 23aebbe398..e7f8c2ca89 100644 --- a/src/StepVisual/StepVisual_DraughtingCalloutElement.cxx +++ b/src/StepVisual/StepVisual_DraughtingCalloutElement.cxx @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -37,6 +38,7 @@ Standard_Integer StepVisual_DraughtingCalloutElement::CaseNum(const Handle(Stand if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationCurveOccurrence))) return 1; if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationTextOccurrence))) return 2; if (ent->IsKind(STANDARD_TYPE(StepVisual_TessellatedAnnotationOccurrence))) return 3; + if (ent->IsKind(STANDARD_TYPE(StepVisual_AnnotationFillAreaOccurrence))) return 4; return 0; } @@ -47,4 +49,7 @@ Handle(StepVisual_TessellatedAnnotationOccurrence) StepVisual_DraughtingCalloutE { return GetCasted(StepVisual_TessellatedAnnotationOccurrence,Value()); } Handle(StepVisual_AnnotationTextOccurrence) StepVisual_DraughtingCalloutElement::AnnotationTextOccurrence() const -{ return GetCasted(StepVisual_AnnotationTextOccurrence, Value()); } +{ return GetCasted(StepVisual_AnnotationTextOccurrence, Value()); } + +Handle(StepVisual_AnnotationFillAreaOccurrence) StepVisual_DraughtingCalloutElement::AnnotationFillAreaOccurrence() const +{ return GetCasted(StepVisual_AnnotationFillAreaOccurrence, Value()); } diff --git a/src/StepVisual/StepVisual_DraughtingCalloutElement.hxx b/src/StepVisual/StepVisual_DraughtingCalloutElement.hxx index d3eb981622..56c9d5799a 100644 --- a/src/StepVisual/StepVisual_DraughtingCalloutElement.hxx +++ b/src/StepVisual/StepVisual_DraughtingCalloutElement.hxx @@ -24,6 +24,7 @@ #include class Standard_Transient; class StepVisual_AnnotationCurveOccurrence; +class StepVisual_AnnotationFillAreaOccurrence; class StepVisual_AnnotationTextOccurrence; class StepVisual_TessellatedAnnotationOccurrence; @@ -40,6 +41,7 @@ public: //! 1 -> AnnotationCurveOccurrence //! 2 -> AnnotationTextOccurrence //! 3 -> TessellatedAnnotationOccurrence + //! 4 -> AnnotationFillAreaOccurrence //! 0 else Standard_EXPORT Standard_Integer CaseNum (const Handle(Standard_Transient)& ent) const; @@ -51,5 +53,8 @@ public: //! returns Value as a TessellatedAnnotationOccurrence Standard_EXPORT Handle(StepVisual_TessellatedAnnotationOccurrence) TessellatedAnnotationOccurrence() const; + + //! returns Value as a AnnotationFillAreaOccurrence + Standard_EXPORT Handle(StepVisual_AnnotationFillAreaOccurrence) AnnotationFillAreaOccurrence() const; }; #endif // StepVisual_DraughtingCalloutElement diff --git a/src/XCAFDimTolObjects/XCAFDimTolObjects_DimensionType.hxx b/src/XCAFDimTolObjects/XCAFDimTolObjects_DimensionType.hxx index e4eae44856..1e0889c302 100644 --- a/src/XCAFDimTolObjects/XCAFDimTolObjects_DimensionType.hxx +++ b/src/XCAFDimTolObjects/XCAFDimTolObjects_DimensionType.hxx @@ -50,7 +50,8 @@ XCAFDimTolObjects_DimensionType_Size_ToroidalLowMajorRadius, XCAFDimTolObjects_DimensionType_Size_Thickness, XCAFDimTolObjects_DimensionType_Size_Angular, XCAFDimTolObjects_DimensionType_Size_WithPath, -XCAFDimTolObjects_DimensionType_CommonLabel +XCAFDimTolObjects_DimensionType_CommonLabel, +XCAFDimTolObjects_DimensionType_DimensionPresentation }; #endif // _XCAFDimTolObjects_DimensionType_HeaderFile diff --git a/tests/gdt/export/A1 b/tests/gdt/export/A1 index 37856f2308..96406badb3 100644 --- a/tests/gdt/export/A1 +++ b/tests/gdt/export/A1 @@ -3,12 +3,12 @@ set filename bug26689_nist_ctc_01_asme1_ap242.stp set ref_data { - NbOfDimensions : 8 + NbOfDimensions : 12 NbOfDimensionalSize : 7 NbOfDimensionalLocation: 1 NbOfAngular : 1 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 2 NbOfTolerances : 6 NbOfGTWithModifiers : 0 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/A4 b/tests/gdt/export/A4 index 929b8a7b2d..a84cb9fd92 100644 --- a/tests/gdt/export/A4 +++ b/tests/gdt/export/A4 @@ -3,12 +3,12 @@ set filename bug26689_nist_ctc_04_asme1_ap242.stp set ref_data { - NbOfDimensions : 9 + NbOfDimensions : 12 NbOfDimensionalSize : 6 NbOfDimensionalLocation: 3 NbOfAngular : 1 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 3 NbOfTolerances : 6 NbOfGTWithModifiers : 0 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/A6 b/tests/gdt/export/A6 index d1fd5d0028..49d3cf8a5a 100644 --- a/tests/gdt/export/A6 +++ b/tests/gdt/export/A6 @@ -3,12 +3,12 @@ set filename bug27645_nist_ftc_06_asme1_cr3000_rd.prt.stp set ref_data { - NbOfDimensions : 21 + NbOfDimensions : 24 NbOfDimensionalSize : 19 NbOfDimensionalLocation: 2 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 2 NbOfTolerances : 27 NbOfGTWithModifiers : 4 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/A7 b/tests/gdt/export/A7 index d083a036d4..0f03c6a874 100644 --- a/tests/gdt/export/A7 +++ b/tests/gdt/export/A7 @@ -3,12 +3,12 @@ set filename bug27808_nist_ftc_06_asme1_ct5240_rd.stp set ref_data { - NbOfDimensions : 22 + NbOfDimensions : 25 NbOfDimensionalSize : 12 NbOfDimensionalLocation: 10 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 2 NbOfTolerances : 27 NbOfGTWithModifiers : 4 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/A8 b/tests/gdt/export/A8 index 078d2bdf25..b0c12d540d 100644 --- a/tests/gdt/export/A8 +++ b/tests/gdt/export/A8 @@ -3,12 +3,12 @@ set filename bug27645_nist_ftc_06_asme1_ct5240_rd-1.stp set ref_data { - NbOfDimensions : 22 + NbOfDimensions : 24 NbOfDimensionalSize : 14 NbOfDimensionalLocation: 8 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 1 NbOfTolerances : 27 NbOfGTWithModifiers : 4 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/A9 b/tests/gdt/export/A9 index 30869f567c..41213bdb46 100644 --- a/tests/gdt/export/A9 +++ b/tests/gdt/export/A9 @@ -3,12 +3,12 @@ set filename bug27645_nist_ftc_08_asme1_cr3000_rc.prt.stp set ref_data { - NbOfDimensions : 10 + NbOfDimensions : 13 NbOfDimensionalSize : 10 NbOfDimensionalLocation: 0 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 1 NbOfTolerances : 30 NbOfGTWithModifiers : 14 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/B1 b/tests/gdt/export/B1 index 330f0df80a..23183b6d9f 100644 --- a/tests/gdt/export/B1 +++ b/tests/gdt/export/B1 @@ -3,12 +3,12 @@ set filename bug27808_nist_ftc_08_asme1_ct5240_rc.stp set ref_data { - NbOfDimensions : 10 + NbOfDimensions : 14 NbOfDimensionalSize : 9 NbOfDimensionalLocation: 1 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 2 NbOfTolerances : 33 NbOfGTWithModifiers : 17 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/B2 b/tests/gdt/export/B2 index 62df7f0ad4..e9c34a25e6 100644 --- a/tests/gdt/export/B2 +++ b/tests/gdt/export/B2 @@ -3,12 +3,12 @@ set filename bug27645_nist_ftc_08_asme1_ct5240_rc-1.stp set ref_data { - NbOfDimensions : 10 + NbOfDimensions : 13 NbOfDimensionalSize : 9 NbOfDimensionalLocation: 1 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 1 NbOfTolerances : 33 NbOfGTWithModifiers : 17 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/B3 b/tests/gdt/export/B3 index 04fcce1c30..49eea9e831 100644 --- a/tests/gdt/export/B3 +++ b/tests/gdt/export/B3 @@ -3,12 +3,12 @@ set filename bug27645_nist_ftc_09_asme1_cr3000_rd.prt.stp set ref_data { - NbOfDimensions : 21 + NbOfDimensions : 27 NbOfDimensionalSize : 19 NbOfDimensionalLocation: 2 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 1 NbOfTolerances : 29 NbOfGTWithModifiers : 6 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/B4 b/tests/gdt/export/B4 index 0dbf18d5f7..298f0020c0 100644 --- a/tests/gdt/export/B4 +++ b/tests/gdt/export/B4 @@ -3,12 +3,12 @@ set filename bug27808_nist_ftc_09_asme1_ct5240_rd.stp set ref_data { - NbOfDimensions : 23 + NbOfDimensions : 27 NbOfDimensionalSize : 16 NbOfDimensionalLocation: 7 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 1 NbOfTolerances : 31 NbOfGTWithModifiers : 6 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/B5 b/tests/gdt/export/B5 index 0ba40d239a..4810100f01 100644 --- a/tests/gdt/export/B5 +++ b/tests/gdt/export/B5 @@ -3,12 +3,12 @@ set filename bug27645_nist_ftc_09_asme1_ct5240_rd-1.stp set ref_data { - NbOfDimensions : 23 + NbOfDimensions : 27 NbOfDimensionalSize : 16 NbOfDimensionalLocation: 7 NbOfAngular : 0 NbOfWithPath : 0 - NbOfCommonLabels : 0 + NbOfCommonLabels : 1 NbOfTolerances : 31 NbOfGTWithModifiers : 6 NbOfGTWithMaxTolerance : 0 diff --git a/tests/gdt/export/B7 b/tests/gdt/export/B7 new file mode 100644 index 0000000000..e94a9b263f --- /dev/null +++ b/tests/gdt/export/B7 @@ -0,0 +1,19 @@ +# !!!! This file is generated automatically, do not edit manually! See end script +set filename bug28315_part_step-pmi.stp + +set ref_data { + + NbOfDimensions : 13 + NbOfDimensionalSize : 0 + NbOfDimensionalLocation: 0 + NbOfAngular : 0 + NbOfWithPath : 0 + NbOfCommonLabels : 3 + NbOfTolerances : 0 + NbOfGTWithModifiers : 0 + NbOfGTWithMaxTolerance : 0 + NbOfGTWithDatums : 0 + NbOfDatumFeature : 0 + NbOfAttachedDatum : 0 + NbOfDatumTarget : 0 +} diff --git a/tests/gdt/export/B8 b/tests/gdt/export/B8 new file mode 100644 index 0000000000..230aeb0d77 --- /dev/null +++ b/tests/gdt/export/B8 @@ -0,0 +1,19 @@ +# !!!! This file is generated automatically, do not edit manually! See end script +set filename bug28315_rev_part_neu_01_ap214_is.stp + +set ref_data { + + NbOfDimensions : 51 + NbOfDimensionalSize : 0 + NbOfDimensionalLocation: 0 + NbOfAngular : 0 + NbOfWithPath : 0 + NbOfCommonLabels : 39 + NbOfTolerances : 0 + NbOfGTWithModifiers : 0 + NbOfGTWithMaxTolerance : 0 + NbOfGTWithDatums : 0 + NbOfDatumFeature : 0 + NbOfAttachedDatum : 0 + NbOfDatumTarget : 0 +} diff --git a/tests/gdt/import/A1 b/tests/gdt/import/A1 index c3ff618527..a7b9cae790 100644 --- a/tests/gdt/import/A1 +++ b/tests/gdt/import/A1 @@ -3,7 +3,7 @@ set filename bug26689_nist_ctc_01_asme1_ap242.stp set ref_data { - NbOfDimensions : 8 + NbOfDimensions : 12 NbOfTolerances : 6 NbOfDatumFeature : 5 NbOfAttachedDatum : 17 @@ -94,4 +94,8 @@ set ref_data { 0:1:4:25 Dimension.30.1 ( T 15, V 25, VL 0.14999999999999999, VU 0.14999999999999999, P 0 ) 0:1:1:1:30 Shape.31 0:1:4:25 Dimension.31.1 ( T 15, V 25, VL 0.14999999999999999, VU 0.14999999999999999, P 0 ) + 0:1:1:1:31 Shape.32 + 0:1:4:28 Dimension.32.1 ( T 31, V 0, P 0 ) + 0:1:1:1:32 Shape.33 + 0:1:4:29 Dimension.33.1 ( T 31, V 0, P 0 ) } diff --git a/tests/gdt/import/A4 b/tests/gdt/import/A4 index b529dfaa40..121d8ef74e 100644 --- a/tests/gdt/import/A4 +++ b/tests/gdt/import/A4 @@ -3,14 +3,14 @@ set filename bug26689_nist_ctc_04_asme1_ap242.stp set ref_data { - NbOfDimensions : 9 + NbOfDimensions : 12 NbOfTolerances : 6 NbOfDatumFeature : 10 NbOfAttachedDatum : 19 NbOfDatumTarget : 0 0:1:1:2:1 Shape.4 - 0:1:4:22 Dimension.4.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.4.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.4.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.4.1.1 ( ) 0:1:4:3 Datum.4.1.2 ( ) @@ -19,7 +19,7 @@ set ref_data { 0:1:4:6 Datum.4.2.1 ( ) 0:1:4:7 Datum.4.2.2 ( ) 0:1:1:2:2 Shape.5 - 0:1:4:22 Dimension.5.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.5.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.5.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.5.1.1 ( ) 0:1:4:3 Datum.5.1.2 ( ) @@ -28,7 +28,7 @@ set ref_data { 0:1:4:6 Datum.5.2.1 ( ) 0:1:4:7 Datum.5.2.2 ( ) 0:1:1:2:3 Shape.6 - 0:1:4:22 Dimension.6.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.6.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.6.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.6.1.1 ( ) 0:1:4:3 Datum.6.1.2 ( ) @@ -37,7 +37,7 @@ set ref_data { 0:1:4:6 Datum.6.2.1 ( ) 0:1:4:7 Datum.6.2.2 ( ) 0:1:1:2:4 Shape.7 - 0:1:4:22 Dimension.7.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.7.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.7.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.7.1.1 ( ) 0:1:4:3 Datum.7.1.2 ( ) @@ -46,7 +46,7 @@ set ref_data { 0:1:4:6 Datum.7.2.1 ( ) 0:1:4:7 Datum.7.2.2 ( ) 0:1:1:2:5 Shape.8 - 0:1:4:22 Dimension.8.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.8.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.8.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.8.1.1 ( ) 0:1:4:3 Datum.8.1.2 ( ) @@ -55,7 +55,7 @@ set ref_data { 0:1:4:6 Datum.8.2.1 ( ) 0:1:4:7 Datum.8.2.2 ( ) 0:1:1:2:6 Shape.9 - 0:1:4:22 Dimension.9.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.9.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.9.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.9.1.1 ( ) 0:1:4:3 Datum.9.1.2 ( ) @@ -64,7 +64,7 @@ set ref_data { 0:1:4:6 Datum.9.2.1 ( ) 0:1:4:7 Datum.9.2.2 ( ) 0:1:1:2:7 Shape.10 - 0:1:4:22 Dimension.10.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.10.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.10.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.10.1.1 ( ) 0:1:4:3 Datum.10.1.2 ( ) @@ -73,7 +73,7 @@ set ref_data { 0:1:4:6 Datum.10.2.1 ( ) 0:1:4:7 Datum.10.2.2 ( ) 0:1:1:2:8 Shape.11 - 0:1:4:22 Dimension.11.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.11.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.11.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.11.1.1 ( ) 0:1:4:3 Datum.11.1.2 ( ) @@ -82,7 +82,7 @@ set ref_data { 0:1:4:6 Datum.11.2.1 ( ) 0:1:4:7 Datum.11.2.2 ( ) 0:1:1:2:9 Shape.12 - 0:1:4:22 Dimension.12.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.12.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.12.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.12.1.1 ( ) 0:1:4:3 Datum.12.1.2 ( ) @@ -91,7 +91,7 @@ set ref_data { 0:1:4:6 Datum.12.2.1 ( ) 0:1:4:7 Datum.12.2.2 ( ) 0:1:1:2:10 Shape.13 - 0:1:4:22 Dimension.13.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.13.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.13.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.13.1.1 ( ) 0:1:4:3 Datum.13.1.2 ( ) @@ -100,7 +100,7 @@ set ref_data { 0:1:4:6 Datum.13.2.1 ( ) 0:1:4:7 Datum.13.2.2 ( ) 0:1:1:2:11 Shape.14 - 0:1:4:22 Dimension.14.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.14.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.14.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.14.1.1 ( ) 0:1:4:3 Datum.14.1.2 ( ) @@ -109,7 +109,7 @@ set ref_data { 0:1:4:6 Datum.14.2.1 ( ) 0:1:4:7 Datum.14.2.2 ( ) 0:1:1:2:12 Shape.15 - 0:1:4:22 Dimension.15.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) + 0:1:4:24 Dimension.15.1 ( T 15, V 6.6500000000000004, VL 0.12, VU 0.12, P 0 ) 0:1:4:1 GeomTolerance.15.1 ( T 10 TV 1, V 1.5 ) 0:1:4:2 Datum.15.1.1 ( ) 0:1:4:3 Datum.15.1.2 ( ) @@ -118,308 +118,308 @@ set ref_data { 0:1:4:6 Datum.15.2.1 ( ) 0:1:4:7 Datum.15.2.2 ( ) 0:1:1:2:16 Shape.19 - 0:1:4:23 Dimension.19.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) - 0:1:4:8 GeomTolerance.19.1 ( T 10 TV 1, V 0.34999999999999998 ) - 0:1:4:9 Datum.19.1.1 ( ) - 0:1:4:10 Datum.19.1.2 ( ) - 0:1:4:11 Datum.19.1.3 ( ) + 0:1:4:25 Dimension.19.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:9 GeomTolerance.19.1 ( T 10 TV 1, V 0.34999999999999998 ) + 0:1:4:10 Datum.19.1.1 ( ) + 0:1:4:11 Datum.19.1.2 ( ) + 0:1:4:12 Datum.19.1.3 ( ) 0:1:1:2:17 Shape.20 - 0:1:4:23 Dimension.20.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) - 0:1:4:8 GeomTolerance.20.1 ( T 10 TV 1, V 0.34999999999999998 ) - 0:1:4:9 Datum.20.1.1 ( ) - 0:1:4:10 Datum.20.1.2 ( ) - 0:1:4:11 Datum.20.1.3 ( ) + 0:1:4:25 Dimension.20.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:9 GeomTolerance.20.1 ( T 10 TV 1, V 0.34999999999999998 ) + 0:1:4:10 Datum.20.1.1 ( ) + 0:1:4:11 Datum.20.1.2 ( ) + 0:1:4:12 Datum.20.1.3 ( ) 0:1:1:2:23 Shape.26 - 0:1:4:12 GeomTolerance.26.1 ( T 12 TV 0, V 2 ) - 0:1:4:13 Datum.26.1.1 ( ) - 0:1:4:14 Datum.26.1.2 ( ) - 0:1:4:15 Datum.26.1.3 ( ) - 0:1:4:16 GeomTolerance.26.2 ( T 12 TV 0, V 0.20000000000000001 ) - 0:1:4:17 Datum.26.2.1 ( ) + 0:1:4:13 GeomTolerance.26.1 ( T 12 TV 0, V 2 ) + 0:1:4:14 Datum.26.1.1 ( ) + 0:1:4:15 Datum.26.1.2 ( ) + 0:1:4:16 Datum.26.1.3 ( ) + 0:1:4:17 GeomTolerance.26.2 ( T 12 TV 0, V 0.20000000000000001 ) + 0:1:4:18 Datum.26.2.1 ( ) 0:1:1:2:24 Shape.27 - 0:1:4:12 GeomTolerance.27.1 ( T 12 TV 0, V 2 ) - 0:1:4:13 Datum.27.1.1 ( ) - 0:1:4:14 Datum.27.1.2 ( ) - 0:1:4:15 Datum.27.1.3 ( ) - 0:1:4:16 GeomTolerance.27.2 ( T 12 TV 0, V 0.20000000000000001 ) - 0:1:4:17 Datum.27.2.1 ( ) + 0:1:4:13 GeomTolerance.27.1 ( T 12 TV 0, V 2 ) + 0:1:4:14 Datum.27.1.1 ( ) + 0:1:4:15 Datum.27.1.2 ( ) + 0:1:4:16 Datum.27.1.3 ( ) + 0:1:4:17 GeomTolerance.27.2 ( T 12 TV 0, V 0.20000000000000001 ) + 0:1:4:18 Datum.27.2.1 ( ) 0:1:1:2:27 Shape.30 - 0:1:4:18 GeomTolerance.30.1 ( T 12 TV 0, V 0.5 ) - 0:1:4:19 Datum.30.1.1 ( ) - 0:1:4:20 Datum.30.1.2 ( ) - 0:1:4:21 Datum.30.1.3 ( ) + 0:1:4:19 GeomTolerance.30.1 ( T 12 TV 0, V 0.5 ) + 0:1:4:20 Datum.30.1.1 ( ) + 0:1:4:21 Datum.30.1.2 ( ) + 0:1:4:22 Datum.30.1.3 ( ) 0:1:1:2:28 Shape.31 - 0:1:4:23 Dimension.31.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.31.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:29 Shape.32 - 0:1:4:23 Dimension.32.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.32.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:30 Shape.33 - 0:1:4:23 Dimension.33.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.33.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:31 Shape.34 - 0:1:4:23 Dimension.34.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.34.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:32 Shape.35 - 0:1:4:23 Dimension.35.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.35.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:33 Shape.36 - 0:1:4:23 Dimension.36.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.36.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:34 Shape.37 - 0:1:4:23 Dimension.37.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.37.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:35 Shape.38 - 0:1:4:23 Dimension.38.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.38.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:36 Shape.39 - 0:1:4:23 Dimension.39.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.39.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:37 Shape.40 - 0:1:4:23 Dimension.40.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.40.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:38 Shape.41 - 0:1:4:23 Dimension.41.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.41.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:39 Shape.42 - 0:1:4:23 Dimension.42.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.42.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:40 Shape.43 - 0:1:4:23 Dimension.43.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) - 0:1:4:25 Dimension.43.2 ( T 2, V 75, P 0 ) + 0:1:4:25 Dimension.43.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:27 Dimension.43.2 ( T 2, V 75, P 0 ) 0:1:1:2:41 Shape.44 - 0:1:4:23 Dimension.44.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) - 0:1:4:25 Dimension.44.2 ( T 2, V 75, P 0 ) + 0:1:4:25 Dimension.44.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:27 Dimension.44.2 ( T 2, V 75, P 0 ) 0:1:1:2:42 Shape.45 - 0:1:4:23 Dimension.45.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) - 0:1:4:25 Dimension.45.2 ( T 2, V 75, P 0 ) + 0:1:4:25 Dimension.45.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:27 Dimension.45.2 ( T 2, V 75, P 0 ) 0:1:1:2:43 Shape.46 - 0:1:4:23 Dimension.46.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) - 0:1:4:25 Dimension.46.2 ( T 2, V 75, P 0 ) + 0:1:4:25 Dimension.46.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:27 Dimension.46.2 ( T 2, V 75, P 0 ) 0:1:1:2:44 Shape.47 - 0:1:4:23 Dimension.47.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.47.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:45 Shape.48 - 0:1:4:23 Dimension.48.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.48.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:46 Shape.49 - 0:1:4:23 Dimension.49.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.49.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:47 Shape.50 - 0:1:4:23 Dimension.50.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.50.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:48 Shape.51 - 0:1:4:23 Dimension.51.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.51.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:49 Shape.52 - 0:1:4:23 Dimension.52.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.52.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:50 Shape.53 - 0:1:4:23 Dimension.53.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.53.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:51 Shape.54 - 0:1:4:23 Dimension.54.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.54.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:52 Shape.55 - 0:1:4:23 Dimension.55.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.55.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:53 Shape.56 - 0:1:4:23 Dimension.56.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.56.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:54 Shape.57 - 0:1:4:23 Dimension.57.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.57.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:55 Shape.58 - 0:1:4:23 Dimension.58.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.58.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:56 Shape.59 - 0:1:4:23 Dimension.59.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.59.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:57 Shape.60 - 0:1:4:23 Dimension.60.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.60.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:58 Shape.61 - 0:1:4:23 Dimension.61.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.61.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:59 Shape.62 - 0:1:4:23 Dimension.62.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.62.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:60 Shape.63 - 0:1:4:23 Dimension.63.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.63.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:61 Shape.64 - 0:1:4:23 Dimension.64.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.64.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:62 Shape.65 - 0:1:4:23 Dimension.65.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.65.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:63 Shape.66 - 0:1:4:23 Dimension.66.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.66.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:64 Shape.67 - 0:1:4:23 Dimension.67.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.67.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:65 Shape.68 - 0:1:4:23 Dimension.68.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.68.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:66 Shape.69 - 0:1:4:23 Dimension.69.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.69.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:67 Shape.70 - 0:1:4:23 Dimension.70.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.70.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:68 Shape.71 - 0:1:4:23 Dimension.71.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.71.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:69 Shape.72 - 0:1:4:23 Dimension.72.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.72.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:70 Shape.73 - 0:1:4:23 Dimension.73.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.73.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:71 Shape.74 - 0:1:4:23 Dimension.74.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.74.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:72 Shape.75 - 0:1:4:23 Dimension.75.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.75.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:73 Shape.76 - 0:1:4:23 Dimension.76.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.76.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:74 Shape.77 - 0:1:4:23 Dimension.77.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.77.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:75 Shape.78 - 0:1:4:23 Dimension.78.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.78.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:76 Shape.79 - 0:1:4:23 Dimension.79.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.79.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:77 Shape.80 - 0:1:4:23 Dimension.80.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.80.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:78 Shape.81 - 0:1:4:23 Dimension.81.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.81.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:79 Shape.82 - 0:1:4:23 Dimension.82.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.82.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:80 Shape.83 - 0:1:4:23 Dimension.83.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.83.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:81 Shape.84 - 0:1:4:23 Dimension.84.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.84.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:82 Shape.85 - 0:1:4:23 Dimension.85.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.85.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:83 Shape.86 - 0:1:4:23 Dimension.86.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.86.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:84 Shape.87 - 0:1:4:23 Dimension.87.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.87.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:85 Shape.88 - 0:1:4:23 Dimension.88.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) + 0:1:4:25 Dimension.88.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 ) 0:1:1:2:86 Shape.89 - 0:1:4:24 Dimension.89.1 ( T 15, V 10, P 0 ) + 0:1:4:26 Dimension.89.1 ( T 15, V 10, P 0 ) 0:1:1:2:87 Shape.90 - 0:1:4:24 Dimension.90.1 ( T 15, V 10, P 0 ) + 0:1:4:26 Dimension.90.1 ( T 15, V 10, P 0 ) 0:1:1:2:88 Shape.91 - 0:1:4:26 Dimension.91.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.91.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:89 Shape.92 - 0:1:4:26 Dimension.92.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.92.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:90 Shape.93 - 0:1:4:26 Dimension.93.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.93.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:91 Shape.94 - 0:1:4:26 Dimension.94.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.94.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:92 Shape.95 - 0:1:4:26 Dimension.95.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.95.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:93 Shape.96 - 0:1:4:26 Dimension.96.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.96.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:94 Shape.97 - 0:1:4:26 Dimension.97.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.97.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:95 Shape.98 - 0:1:4:26 Dimension.98.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:29 Dimension.98.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:96 Shape.99 - 0:1:4:27 Dimension.99.1 ( T 2, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:30 Dimension.99.1 ( T 2, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:97 Shape.100 - 0:1:4:28 Dimension.100.1 ( T 14, V 25, VL 0.25, VU 0.25, P 0 ) - 0:1:4:27 Dimension.100.2 ( T 2, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) + 0:1:4:31 Dimension.100.1 ( T 14, V 25, VL 0.25, VU 0.25, P 0 ) + 0:1:4:30 Dimension.100.2 ( T 2, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 ) 0:1:1:2:98 Shape.101 - 0:1:4:29 Dimension.101.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.101.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:99 Shape.102 - 0:1:4:29 Dimension.102.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.102.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:100 Shape.103 - 0:1:4:29 Dimension.103.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.103.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:101 Shape.104 - 0:1:4:29 Dimension.104.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.104.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:102 Shape.105 - 0:1:4:29 Dimension.105.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.105.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:103 Shape.106 - 0:1:4:29 Dimension.106.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.106.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:104 Shape.107 - 0:1:4:29 Dimension.107.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.107.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:105 Shape.108 - 0:1:4:29 Dimension.108.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.108.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:106 Shape.109 - 0:1:4:29 Dimension.109.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.109.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:107 Shape.110 - 0:1:4:29 Dimension.110.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.110.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:108 Shape.111 - 0:1:4:29 Dimension.111.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.111.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:109 Shape.112 - 0:1:4:29 Dimension.112.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.112.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:110 Shape.113 - 0:1:4:29 Dimension.113.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.113.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:111 Shape.114 - 0:1:4:29 Dimension.114.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.114.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:112 Shape.115 - 0:1:4:29 Dimension.115.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.115.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:113 Shape.116 - 0:1:4:29 Dimension.116.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.116.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:114 Shape.117 - 0:1:4:29 Dimension.117.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.117.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:115 Shape.118 - 0:1:4:29 Dimension.118.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.118.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:116 Shape.119 - 0:1:4:29 Dimension.119.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.119.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:117 Shape.120 - 0:1:4:29 Dimension.120.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.120.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:118 Shape.121 - 0:1:4:29 Dimension.121.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.121.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:119 Shape.122 - 0:1:4:29 Dimension.122.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.122.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:120 Shape.123 - 0:1:4:29 Dimension.123.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.123.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:121 Shape.124 - 0:1:4:29 Dimension.124.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.124.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:122 Shape.125 - 0:1:4:29 Dimension.125.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.125.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:123 Shape.126 - 0:1:4:29 Dimension.126.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.126.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:124 Shape.127 - 0:1:4:29 Dimension.127.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.127.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:125 Shape.128 - 0:1:4:29 Dimension.128.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.128.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:126 Shape.129 - 0:1:4:29 Dimension.129.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.129.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:127 Shape.130 - 0:1:4:29 Dimension.130.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.130.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:128 Shape.131 - 0:1:4:29 Dimension.131.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.131.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:129 Shape.132 - 0:1:4:29 Dimension.132.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.132.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:130 Shape.133 - 0:1:4:29 Dimension.133.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.133.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:131 Shape.134 - 0:1:4:29 Dimension.134.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.134.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:132 Shape.135 - 0:1:4:29 Dimension.135.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.135.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:133 Shape.136 - 0:1:4:29 Dimension.136.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.136.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:134 Shape.137 - 0:1:4:29 Dimension.137.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.137.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:135 Shape.138 - 0:1:4:29 Dimension.138.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.138.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:136 Shape.139 - 0:1:4:29 Dimension.139.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.139.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:137 Shape.140 - 0:1:4:29 Dimension.140.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.140.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:138 Shape.141 - 0:1:4:29 Dimension.141.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.141.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:139 Shape.142 - 0:1:4:29 Dimension.142.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.142.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:140 Shape.143 - 0:1:4:29 Dimension.143.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.143.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:141 Shape.144 - 0:1:4:29 Dimension.144.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.144.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:142 Shape.145 - 0:1:4:29 Dimension.145.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.145.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:143 Shape.146 - 0:1:4:29 Dimension.146.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.146.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:144 Shape.147 - 0:1:4:29 Dimension.147.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.147.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:145 Shape.148 - 0:1:4:29 Dimension.148.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.148.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:146 Shape.149 - 0:1:4:29 Dimension.149.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.149.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:147 Shape.150 - 0:1:4:29 Dimension.150.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.150.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:148 Shape.151 - 0:1:4:29 Dimension.151.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.151.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:149 Shape.152 - 0:1:4:29 Dimension.152.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.152.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:150 Shape.153 - 0:1:4:29 Dimension.153.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.153.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:151 Shape.154 - 0:1:4:29 Dimension.154.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.154.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:152 Shape.155 - 0:1:4:29 Dimension.155.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.155.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:153 Shape.156 - 0:1:4:29 Dimension.156.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.156.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:154 Shape.157 - 0:1:4:29 Dimension.157.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.157.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:155 Shape.158 - 0:1:4:29 Dimension.158.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.158.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:156 Shape.159 - 0:1:4:29 Dimension.159.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.159.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:157 Shape.160 - 0:1:4:29 Dimension.160.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) + 0:1:4:32 Dimension.160.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 ) 0:1:1:2:158 Shape.161 - 0:1:4:30 Dimension.161.1 ( T 11, V 89.999999999776747, VL 1, VU 1, Q 3, P 0 ) + 0:1:4:33 Dimension.161.1 ( T 11, V 89.999999999776747, VL 1, VU 1, Q 3, P 0 ) 0:1:1:2:159 Shape.162 - 0:1:4:30 Dimension.162.1 ( T 11, V 89.999999999776747, VL 1, VU 1, Q 3, P 0 ) + 0:1:4:33 Dimension.162.1 ( T 11, V 89.999999999776747, VL 1, VU 1, Q 3, P 0 ) 0:1:1:3:1 Shape.163 - 0:1:4:18 GeomTolerance.163.1 ( T 12 TV 0, V 0.5 ) - 0:1:4:19 Datum.163.1.1 ( ) - 0:1:4:20 Datum.163.1.2 ( ) - 0:1:4:21 Datum.163.1.3 ( ) + 0:1:4:19 GeomTolerance.163.1 ( T 12 TV 0, V 0.5 ) + 0:1:4:20 Datum.163.1.1 ( ) + 0:1:4:21 Datum.163.1.2 ( ) + 0:1:4:22 Datum.163.1.3 ( ) } diff --git a/tests/gdt/presentation/A1 b/tests/gdt/presentation/A1 index b89fc1893e..3173b48575 100644 --- a/tests/gdt/presentation/A1 +++ b/tests/gdt/presentation/A1 @@ -2,7 +2,7 @@ set filename bug26689_nist_ctc_01_asme1_ap242.stp set ref_data { -Centre of mass: 29.546801037335253 -82.783066220874005 -19.99554027028211 -Mass: 13738.80582018411 +Centre of mass: 56.624452876720184 -79.756321087256879 -19.453607025633545 +Mass: 15180.104935593114 } diff --git a/tests/gdt/presentation/A3 b/tests/gdt/presentation/A3 index d8546f9f23..f6e1d72efa 100644 --- a/tests/gdt/presentation/A3 +++ b/tests/gdt/presentation/A3 @@ -2,7 +2,7 @@ set filename bug26689_nist_ctc_04_asme1_ap242.stp set ref_data { -Centre of mass: -24.252221154276793 414.27122809865392 -67.499648752527435 -Mass: 16181.056829161265 +Centre of mass: -38.158786810985518 394.05735693263932 -73.721980763012184 +Mass: 18090.902430013277 } diff --git a/tests/gdt/presentation/A5 b/tests/gdt/presentation/A5 index 4b1dc0dae6..b5692d723d 100644 --- a/tests/gdt/presentation/A5 +++ b/tests/gdt/presentation/A5 @@ -2,7 +2,7 @@ set filename bug27645_nist_ftc_06_asme1_cr3000_rd.prt.stp set ref_data { -Centre of mass: 353.0342262077636 2195.7131569185326 -1984.1595092335315 -Mass: 652240.08849643217 +Centre of mass: 117582.80050896495 404113.50809473585 -141.38021108117269 +Mass: 9543968.3389828727 } diff --git a/tests/gdt/presentation/A6 b/tests/gdt/presentation/A6 index 149d988ac9..a584ff9bde 100644 --- a/tests/gdt/presentation/A6 +++ b/tests/gdt/presentation/A6 @@ -2,7 +2,7 @@ set filename bug27808_nist_ftc_06_asme1_ct5240_rd.stp set ref_data { -Centre of mass: -0.74274946098869621 58.97231577066983 -68.214139931277799 -Mass: 27143.62735625666 +Centre of mass: 27.008960295654042 68.408288943978818 -34.710916438175147 +Mass: 32252.329299725821 } diff --git a/tests/gdt/presentation/A7 b/tests/gdt/presentation/A7 index 49c6bc35a6..60c8e45b34 100644 --- a/tests/gdt/presentation/A7 +++ b/tests/gdt/presentation/A7 @@ -2,7 +2,7 @@ set filename bug27645_nist_ftc_06_asme1_ct5240_rd-1.stp set ref_data { -Centre of mass: -18.865504732887754 1497.8967671908645 -1732.6395748131215 -Mass: 689448.13901608682 +Centre of mass: 648.39775917026395 1736.2007258497454 -916.83469970653425 +Mass: 813710.40605434508 } diff --git a/tests/gdt/presentation/A8 b/tests/gdt/presentation/A8 index 300486bfbc..ef213f840b 100644 --- a/tests/gdt/presentation/A8 +++ b/tests/gdt/presentation/A8 @@ -2,7 +2,7 @@ set filename bug27645_nist_ftc_08_asme1_cr3000_rc.prt.stp set ref_data { -Centre of mass: 1104.9937982009856 239.05520712068363 1053.1493316328786 -Mass: 707651.56598301406 +Centre of mass: 78193.389530004177 353724.772080219 57.599844680013724 +Mass: 13014345.200333809 } diff --git a/tests/gdt/presentation/A9 b/tests/gdt/presentation/A9 index 141b7e45ef..3670f7153c 100644 --- a/tests/gdt/presentation/A9 +++ b/tests/gdt/presentation/A9 @@ -2,7 +2,7 @@ set filename bug27808_nist_ftc_08_asme1_ct5240_rc.stp set ref_data { -Centre of mass: 45.592058840520288 57.746342213198673 29.009867037491144 -Mass: 27993.933359111707 +Centre of mass: 1.3071106775992589 73.040263297460385 21.248083630291937 +Mass: 33665.714280575579 } diff --git a/tests/gdt/presentation/B1 b/tests/gdt/presentation/B1 index 10d9ed0cf2..8495dfd3cd 100644 --- a/tests/gdt/presentation/B1 +++ b/tests/gdt/presentation/B1 @@ -2,7 +2,7 @@ set filename bug27645_nist_ftc_08_asme1_ct5240_rc-1.stp set ref_data { -Centre of mass: 1158.0392758487928 1466.7572922614359 736.8506424687256 -Mass: 711045.84939578606 +Centre of mass: 71.521755715858959 1840.0456646995601 546.24924167276765 +Mass: 849591.18184121803 } diff --git a/tests/gdt/presentation/B2 b/tests/gdt/presentation/B2 index 2dd959746d..3baffc9170 100644 --- a/tests/gdt/presentation/B2 +++ b/tests/gdt/presentation/B2 @@ -2,7 +2,7 @@ set filename bug27645_nist_ftc_09_asme1_cr3000_rd.prt.stp set ref_data { -Centre of mass: 502.07157406480525 128.63296443659232 -279.83117556867592 -Mass: 480992.45347041014 +Centre of mass: 62898.392879497689 391979.2269043132 -17.451724752730449 +Mass: 10257920.98641446 } diff --git a/tests/gdt/presentation/B3 b/tests/gdt/presentation/B3 index e8724d6256..d2dd868a73 100644 --- a/tests/gdt/presentation/B3 +++ b/tests/gdt/presentation/B3 @@ -2,7 +2,7 @@ set filename bug27808_nist_ftc_09_asme1_ct5240_rd.stp set ref_data { -Centre of mass: -36.599786468681039 7.7614827642946826 1.7474609105557635 -Mass: 29481.508138690682 +Centre of mass: -40.148168442038951 12.662743709548829 -20.675422904248919 +Mass: 33730.842652736828 } diff --git a/tests/gdt/presentation/B4 b/tests/gdt/presentation/B4 index 0c41ca1aba..1e968e62a4 100644 --- a/tests/gdt/presentation/B4 +++ b/tests/gdt/presentation/B4 @@ -2,7 +2,7 @@ set filename bug27645_nist_ftc_09_asme1_ct5240_rd-1.stp set ref_data { -Centre of mass: -929.63433298181099 197.14165173802976 44.385591909492049 -Mass: 748830.1046596528 +Centre of mass: -1019.7633667828792 321.63378807296516 -525.15615589604056 +Mass: 856763.26313637081 } diff --git a/tests/gdt/presentation/B6 b/tests/gdt/presentation/B6 new file mode 100644 index 0000000000..d65434bd4f --- /dev/null +++ b/tests/gdt/presentation/B6 @@ -0,0 +1,8 @@ +# !!!! This file is generated automatically, do not edit manually! See end script +set filename bug28315_part_step-pmi.stp + +set ref_data { +Centre of mass: -32.061608109140749 -17.085829657462373 4.1559554100512006 +Mass: 2012.3193680858712 + +} diff --git a/tests/gdt/presentation/B7 b/tests/gdt/presentation/B7 new file mode 100644 index 0000000000..ed6b02888c --- /dev/null +++ b/tests/gdt/presentation/B7 @@ -0,0 +1,8 @@ +# !!!! This file is generated automatically, do not edit manually! See end script +set filename bug28315_rev_part_neu_01_ap214_is.stp + +set ref_data { +Centre of mass: 86.52519717047501 308.35080213107915 -1.7796634256195836 +Mass: 49812.246382466234 + +}