Update STEP import and export of datums.
Update test cases.
#include <BRep_Builder.hxx>
+#include <Geom_Axis2Placement.hxx>
#include <Interface_EntityIterator.hxx>
#include <Interface_InterfaceModel.hxx>
#include <StepData_StepModel.hxx>
#include <StepShape_ToleranceValue.hxx>
#include <StepShape_ValueFormatTypeQualifier.hxx>
#include <StepShape_Vertex.hxx>
+#include <StepToGeom.hxx>
#include <StepVisual_AnnotationCurveOccurrence.hxx>
#include <StepVisual_AnnotationPlane.hxx>
#include <StepVisual_DraughtingCallout.hxx>
// (Dimension, Geometric_Tolerance, Datum_Feature or Placed_Datum_Target_Feature)
//=======================================================================
void readAnnotation(const Handle(XSControl_TransferReader)& theTR,
- const Handle(Standard_Transient) theGDT,
+ const Handle(Standard_Transient)& theGDT,
const Handle(Standard_Transient)& theDimObject)
{
if (theGDT.IsNull() || theDimObject.IsNull())
return 0;
}
+//=======================================================================
+//function : collectShapeAspect
+//purpose :
+//=======================================================================
+static void collectShapeAspect(const Handle(StepRepr_ShapeAspect)& theSA,
+ const Handle(XSControl_WorkSession)& theWS,
+ NCollection_Sequence<Handle(StepRepr_ShapeAspect)>& theSAs)
+{
+ if (theSA.IsNull())
+ return;
+ Handle(XSControl_TransferReader) aTR = theWS->TransferReader();
+ Handle(Transfer_TransientProcess) aTP = aTR->TransientProcess();
+ const Interface_Graph& aGraph = aTP->Graph();
+ // Retrieve Shape_Aspect, connected to Representation_Item from Derived_Shape_Aspect
+ if (theSA->IsKind(STANDARD_TYPE(StepRepr_DerivedShapeAspect))) {
+ Interface_EntityIterator anIter = aGraph.Sharings(theSA);
+ Handle(StepRepr_ShapeAspectDerivingRelationship) aSADR = NULL;
+ for (; aSADR.IsNull() && anIter.More(); anIter.Next()) {
+ aSADR = Handle(StepRepr_ShapeAspectDerivingRelationship)::DownCast(anIter.Value());
+ }
+ if (!aSADR.IsNull())
+ collectShapeAspect(aSADR->RelatedShapeAspect(), theWS, theSAs);
+ }
+ else if (theSA->IsKind(STANDARD_TYPE(StepDimTol_DatumFeature)) ||
+ theSA->IsKind(STANDARD_TYPE(StepDimTol_DatumTarget))) {
+ theSAs.Append(theSA);
+ return;
+ }
+ else {
+ // Find all children Shape_Aspect
+ Standard_Boolean isSimple = Standard_True;
+ Interface_EntityIterator anIter = aGraph.Sharings(theSA);
+ for (; anIter.More(); anIter.Next()) {
+ if (anIter.Value()->IsKind(STANDARD_TYPE(StepRepr_ShapeAspectRelationship)) &&
+ !anIter.Value()->IsKind(STANDARD_TYPE(StepShape_DimensionalLocation))) {
+ Handle(StepRepr_ShapeAspectRelationship) aSAR =
+ Handle(StepRepr_ShapeAspectRelationship)::DownCast(anIter.Value());
+ if (aSAR->RelatingShapeAspect() == theSA && !aSAR->RelatedShapeAspect().IsNull()
+ && !aSAR->RelatedShapeAspect()->IsKind(STANDARD_TYPE(StepDimTol_Datum))) {
+ collectShapeAspect(aSAR->RelatedShapeAspect(), theWS, theSAs);
+ isSimple = Standard_False;
+ }
+ }
+ }
+ // If not Composite_Shape_Aspect (or subtype) append to sequence.
+ if (isSimple)
+ theSAs.Append(theSA);
+ }
+}
+
+//=======================================================================
+//function : getShapeLabel
+//purpose :
+//=======================================================================
+
+static TDF_Label getShapeLabel(const Handle(StepRepr_RepresentationItem)& theItem,
+ const Handle(XSControl_WorkSession)& theWS,
+ const Handle(XCAFDoc_ShapeTool)& theShapeTool)
+{
+ TDF_Label aShapeL;
+ const Handle(Transfer_TransientProcess) &aTP = theWS->TransferReader()->TransientProcess();
+ Standard_Integer index = FindShapeIndexForDGT(theItem, theWS);
+ TopoDS_Shape aShape;
+ if (index > 0) {
+ Handle(Transfer_Binder) aBinder = aTP->MapItem(index);
+ aShape = TransferBRep::ShapeResult(aBinder);
+ }
+ if (aShape.IsNull())
+ return aShapeL;
+ theShapeTool->Search(aShape, aShapeL, Standard_True, Standard_True, Standard_True);
+ return aShapeL;
+}
+
//=======================================================================
//function : setDatumToXCAF
//purpose :
//=======================================================================
+
static Standard_Boolean setDatumToXCAF(const Handle(StepDimTol_Datum)& theDat,
- const TDF_Label theGDTL,
- const Standard_Integer thePositionCounter,
- const XCAFDimTolObjects_DatumModifiersSequence& aXCAFModifiers,
- const XCAFDimTolObjects_DatumModifWithValue aXCAFModifWithVal,
- const Standard_Real aModifValue,
- const Handle(TDocStd_Document)& theDoc,
- const Handle(XSControl_WorkSession)& theWS)
+ const TDF_Label theGDTL,
+ const Standard_Integer thePositionCounter,
+ const XCAFDimTolObjects_DatumModifiersSequence& theXCAFModifiers,
+ const XCAFDimTolObjects_DatumModifWithValue theXCAFModifWithVal,
+ const Standard_Real theModifValue,
+ const Handle(TDocStd_Document)& theDoc,
+ const Handle(XSControl_WorkSession)& theWS)
{
- Handle(XCAFDoc_ShapeTool) aSTool = XCAFDoc_DocumentTool::ShapeTool( theDoc->Main() );
- Handle(XCAFDoc_DimTolTool) aDGTTool = XCAFDoc_DocumentTool::DimTolTool( theDoc->Main() );
+ Handle(XCAFDoc_ShapeTool) aSTool = XCAFDoc_DocumentTool::ShapeTool(theDoc->Main());
+ Handle(XCAFDoc_DimTolTool) aDGTTool = XCAFDoc_DocumentTool::DimTolTool(theDoc->Main());
const Handle(XSControl_TransferReader) &aTR = theWS->TransferReader();
const Handle(Transfer_TransientProcess) &aTP = aTR->TransientProcess();
const Interface_Graph& aGraph = aTP->Graph();
Handle(XCAFDoc_Datum) aDat;
- TDF_Label aShL;
- Standard_Boolean aRefShapeIsFound = Standard_False;
- Standard_Boolean aFirstStep = Standard_True;
+ TDF_LabelSequence aShapeLabels;
+ Handle(XCAFDimTolObjects_DatumObject) aDatObj = new XCAFDimTolObjects_DatumObject();
+
+ // Collect all links to shapes
+ NCollection_Sequence<Handle(StepRepr_ShapeAspect)> aSAs;
Interface_EntityIterator anIterD = aGraph.Sharings(theDat);
- for(anIterD.Start(); anIterD.More(); anIterD.Next()) {
- Handle(StepRepr_ShapeAspectRelationship) aSAR =
- Handle(StepRepr_ShapeAspectRelationship)::DownCast(anIterD.Value());
- if(aSAR.IsNull()) continue;
-
- Handle(StepRepr_ShapeAspect) aSA = aSAR->RelatingShapeAspect();
- if (aSA.IsNull()) continue;
- Handle(StepAP242_GeometricItemSpecificUsage) aPGISU;
- if(aSA->IsKind(STANDARD_TYPE(StepRepr_CompShAspAndDatumFeatAndShAsp)))
- {
- //processing for complex entity
- Interface_EntityIterator anIterC = aGraph.Sharings(aSA);
- for(anIterC.Start(); anIterC.More(); anIterC.Next()) {
- Handle(StepRepr_ShapeAspectRelationship) SAR =
- Handle(StepRepr_ShapeAspectRelationship)::DownCast(anIterC.Value());
- if(SAR.IsNull()) continue;
- Handle(StepRepr_ShapeAspect) aS = SAR->RelatedShapeAspect();
- if(aS.IsNull()) continue;
- Interface_EntityIterator anIterSA = aGraph.Sharings(aS);
- for(anIterSA.Start(); anIterSA.More() && aPGISU.IsNull(); anIterSA.Next()) {
- aPGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIterSA.Value());
- }
- if(!aPGISU.IsNull()){
- aSA = aS;
- break;
- }
+ for (anIterD.Start(); anIterD.More(); anIterD.Next()) {
+ Handle(StepRepr_ShapeAspectRelationship) aSAR = Handle(StepRepr_ShapeAspectRelationship)::DownCast(anIterD.Value());
+ if (aSAR.IsNull() || aSAR->RelatingShapeAspect().IsNull())
+ continue;
+ collectShapeAspect(aSAR->RelatingShapeAspect(), theWS, aSAs);
+ Handle(StepDimTol_DatumFeature) aDF = Handle(StepDimTol_DatumFeature)::DownCast(aSAR->RelatingShapeAspect());
+ if (!aSAR->RelatingShapeAspect()->IsKind(STANDARD_TYPE(StepDimTol_DatumTarget)))
+ readAnnotation(aTR, aSAR->RelatingShapeAspect(), aDatObj);
+ }
+
+ // Collect shape labels
+ for (Standard_Integer i = 1; i <= aSAs.Length(); i++) {
+ Handle(StepRepr_ShapeAspect) aSA = aSAs.Value(i);
+ if (aSA.IsNull())
+ continue;
+ // Skip datum targets
+ if (aSA->IsKind(STANDARD_TYPE(StepDimTol_DatumTarget)))
+ continue;
+
+ // Process all connected GISU
+ Interface_EntityIterator anIter = aGraph.Sharings(aSA);
+ for (; anIter.More(); anIter.Next()) {
+ 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);
+ if (!aShapeL.IsNull())
+ aShapeLabels.Append(aShapeL);
}
}
- else if(aSA->IsKind(STANDARD_TYPE(StepDimTol_PlacedDatumTargetFeature)))
- {
- //processing for datum target
- Interface_EntityIterator anIterDTF = aGraph.Sharings(aSA);
- for(anIterDTF.Start(); anIterDTF.More(); anIterDTF.Next()) {
- if(anIterDTF.Value()->IsKind(STANDARD_TYPE(StepRepr_FeatureForDatumTargetRelationship)))
- {
- Handle(StepRepr_FeatureForDatumTargetRelationship) aFFDTR =
- Handle(StepRepr_FeatureForDatumTargetRelationship)::DownCast(anIterDTF.Value());
- Handle(StepRepr_ShapeAspect) aTmpSA = aFFDTR->RelatedShapeAspect();
- Interface_EntityIterator anIterDSWP = aGraph.Sharings(aTmpSA);
- for(anIterDSWP.Start(); anIterDSWP.More() && aPGISU.IsNull(); anIterDSWP.Next()) {
- aPGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIterDSWP.Value());
+ }
+
+ // Process datum targets and create objects for them
+ Standard_Boolean isExistDatumTarget = Standard_False;
+ for (Standard_Integer i = 1; i <= aSAs.Length(); i++) {
+ Handle(StepDimTol_PlacedDatumTargetFeature) aDT = Handle(StepDimTol_PlacedDatumTargetFeature)::DownCast(aSAs.Value(i));
+ if (aDT.IsNull())
+ continue;
+ Handle(XCAFDimTolObjects_DatumObject) aDatObj = new XCAFDimTolObjects_DatumObject();
+ XCAFDimTolObjects_DatumTargetType aType;
+ if (!STEPCAFControl_GDTProperty::GetDatumTargetType(aDT->Description(), aType))
+ continue;
+ aDatObj->SetDatumTargetType(aType);
+ Standard_Boolean isValidDT = Standard_False;
+
+ // Feature for datum target
+ TDF_LabelSequence aDTShapeLabels;
+ Interface_EntityIterator anIter = aGraph.Sharings(aDT);
+ Handle(StepRepr_FeatureForDatumTargetRelationship) aRelationship;
+ for (; anIter.More() && aRelationship.IsNull(); anIter.Next()) {
+ aRelationship = Handle(StepRepr_FeatureForDatumTargetRelationship)::DownCast(anIter.Value());
}
+ if (!aRelationship.IsNull()) {
+ Handle(StepRepr_ShapeAspect) aSA = aRelationship->RelatingShapeAspect();
+ Interface_EntityIterator aSAIter = aGraph.Sharings(aSA);
+ for (; aSAIter.More(); aSAIter.Next()) {
+ 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);
+ if (!aShapeL.IsNull()) {
+ aDTShapeLabels.Append(aShapeL);
+ isValidDT = Standard_True;
+ }
}
}
}
- if (aSA.IsNull()) continue;
- Interface_EntityIterator anIterDSWP = aGraph.Sharings(aSA);
- for(anIterDSWP.Start(); anIterDSWP.More() && aPGISU.IsNull(); anIterDSWP.Next()) {
- aPGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIterDSWP.Value());
- }
- if(aPGISU.IsNull()) continue;
- // get representation item
- Handle(StepRepr_RepresentationItem) aRI;
- for(Standard_Integer i = 1 ; i <= aPGISU->NbIdentifiedItem() && aRI.IsNull(); i++)
- {
- aRI = aPGISU->IdentifiedItemValue(i);
- }
- if(aRI.IsNull()) continue;
- Standard_Integer index = FindShapeIndexForDGT(aRI, theWS);
- TopoDS_Shape aSh;
- if(index >0) {
- Handle(Transfer_Binder) binder = aTP->MapItem(index);
- aSh = TransferBRep::ShapeResult(binder);
+
+ 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());
+ if (aGISU.IsNull())
+ continue;
+ for (Standard_Integer i = 1; i <= aGISU->NbIdentifiedItem(); i++) {
+ TDF_Label aShapeL = getShapeLabel(aGISU->IdentifiedItemValue(i), theWS, aSTool);
+ if (!aShapeL.IsNull()) {
+ aDTShapeLabels.Append(aShapeL);
+ isValidDT = Standard_True;
+ }
+ }
+ }
}
- if(aSh.IsNull()) continue;
- if( !aSTool->Search(aSh, aShL, Standard_True, Standard_True, Standard_True) ) continue;
- Handle(TDataStd_TreeNode) aNode;
- if(aFirstStep && aShL.FindAttribute(XCAFDoc::DatumRefGUID(),aNode) && aNode->HasFirst() &&
- aNode->First()->Label().FindAttribute(XCAFDoc_Datum::GetID(),aDat))
- {
- //if datums already attached, not need add datum target
- aRefShapeIsFound = Standard_True;
+
+ if (aType == XCAFDimTolObjects_DatumTargetType_Area) {
+ // Area datum target
+ Interface_EntityIterator anIterDTF = aGraph.Shareds(aDT);
+ Handle(StepAP242_GeometricItemSpecificUsage) aGISU;
+ for (; anIterDTF.More() && aGISU.IsNull(); anIterDTF.Next()) {
+ aGISU = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIterDTF.Value());
+ }
+ Handle(StepRepr_RepresentationItem) anItem;
+ if (aGISU->NbIdentifiedItem() > 0)
+ anItem = aGISU->IdentifiedItemValue(1);
+ if (anItem.IsNull())
+ continue;
+ Standard_Integer anItemIndex = FindShapeIndexForDGT(anItem, theWS);
+ if (anItemIndex > 0) {
+ Handle(Transfer_Binder) aBinder = aTP->MapItem(anItemIndex);
+ TopoDS_Shape anItemShape = TransferBRep::ShapeResult(aBinder);
+ aDatObj->SetDatumTarget(anItemShape);
+ isValidDT = Standard_True;
+ }
}
- aFirstStep = Standard_False;
- Handle(XCAFDimTolObjects_DatumObject) aDatObj;
- if(aSA->IsKind(STANDARD_TYPE(StepDimTol_PlacedDatumTargetFeature)))
- {
- if(!aRefShapeIsFound)
- {
- //if datum targers not yet added
- TDF_Label aDatL = aDGTTool->AddDatum();
- aDat = XCAFDoc_Datum::Set(aDatL);
- aDGTTool->SetDatum(aShL, aDatL);
- aDatObj = aDat->GetObject();
- aDatObj->SetName(theDat->Identification());
- aDatObj->SetPosition (thePositionCounter);
- if(!aXCAFModifiers.IsEmpty())
- aDatObj->SetModifiers(aXCAFModifiers);
- if (aXCAFModifWithVal != XCAFDimTolObjects_DatumModifWithValue_None)
- aDatObj->SetModifierWithValue(aXCAFModifWithVal, aModifValue);
- aDGTTool->SetDatumToGeomTol(aDatL, theGDTL);
- Handle(StepDimTol_PlacedDatumTargetFeature) aPDTF = Handle(StepDimTol_PlacedDatumTargetFeature)::DownCast(aSA);
- if (aPDTF->TargetId()->IsIntegerValue())
- aDatObj->SetDatumTargetNumber(aPDTF->TargetId()->IntegerValue());
- else
- aDatObj->SetDatumTargetNumber(0);
- aDatObj->IsDatumTarget(Standard_True);
- XCAFDimTolObjects_DatumTargetType aType;
- if(STEPCAFControl_GDTProperty::GetDatumTargetType(aSA->Description(),aType))
- {
- aDatObj->SetDatumTargetType(aType);
- if(aType == XCAFDimTolObjects_DatumTargetType_Area)
- {
- Interface_EntityIterator anIterDTF = aGraph.Shareds(aSA);
- for(anIterDTF.Start(); anIterDTF.More(); anIterDTF.Next()) {
- if(anIterDTF.Value()->IsKind(STANDARD_TYPE(StepAP242_GeometricItemSpecificUsage)))
+ else {
+ // Point/line/rectangle/circle datum targets
+ Interface_EntityIterator anIter = aGraph.Sharings(aDT);
+ Handle(StepRepr_PropertyDefinition) aPD;
+ for (; anIter.More() && aPD.IsNull(); anIter.Next()) {
+ aPD = Handle(StepRepr_PropertyDefinition)::DownCast(anIter.Value());
+ }
+ if (!aPD.IsNull()) {
+ anIter = aGraph.Sharings(aPD);
+ Handle(StepShape_ShapeDefinitionRepresentation) aSDR;
+ for (; anIter.More() && aSDR.IsNull(); anIter.Next()) {
+ aSDR = Handle(StepShape_ShapeDefinitionRepresentation)::DownCast(anIter.Value());
+ }
+ if (!aSDR.IsNull()) {
+ Handle(StepShape_ShapeRepresentationWithParameters) aSRWP
+ = Handle(StepShape_ShapeRepresentationWithParameters)::DownCast(aSDR->UsedRepresentation());
+ if (!aSRWP.IsNull()) {
+ isValidDT = Standard_True;
+ // Collect parameters of datum target
+ for (Standard_Integer i = aSRWP->Items()->Lower(); i <= aSRWP->Items()->Upper(); i++)
+ {
+ if (aSRWP->ItemsValue(i).IsNull())
+ continue;
+ if (aSRWP->ItemsValue(i)->IsKind(STANDARD_TYPE(StepGeom_Axis2Placement3d)))
{
- Handle(StepAP242_GeometricItemSpecificUsage) aGISU
- = Handle(StepAP242_GeometricItemSpecificUsage)::DownCast(anIterDSWP.Value());
- Handle(StepRepr_RepresentationItem) anItem;
- if(aPGISU->NbIdentifiedItem() > 0) {
- anItem = aPGISU->IdentifiedItemValue(1);
- }
- if(anItem.IsNull()) continue;
- Standard_Integer anItemIndex = FindShapeIndexForDGT(anItem, theWS);
- if(anItemIndex >0) {
- Handle(Transfer_Binder) binder = aTP->MapItem(anItemIndex);
- TopoDS_Shape anItemShape = TransferBRep::ShapeResult(binder);
- aDatObj->SetDatumTarget(anItemShape);
- }
+ Handle(StepGeom_Axis2Placement3d) anAx
+ = Handle(StepGeom_Axis2Placement3d)::DownCast(aSRWP->ItemsValue(i));
+ Handle(Geom_Axis2Placement) anAxis = StepToGeom::MakeAxis2Placement(anAx);
+ aDatObj->SetDatumTargetAxis(anAxis->Ax2());
}
- }
- }
- else
- {
- Interface_EntityIterator anIterDTF = aGraph.Shareds(aSA);
- for(anIterDTF.Start(); anIterDTF.More(); anIterDTF.Next()) {
- if(anIterDTF.Value()->IsKind(STANDARD_TYPE(StepRepr_PropertyDefinition)))
+ else if (aSRWP->ItemsValue(i)->IsKind(STANDARD_TYPE(StepRepr_ReprItemAndLengthMeasureWithUnit)))
{
- Interface_EntityIterator anIterPD = aGraph.Shareds(anIterDTF.Value());
- for(anIterPD.Start(); anIterPD.More(); anIterPD.Next()) {
- if(anIterPD.Value()->IsKind(STANDARD_TYPE(StepShape_ShapeDefinitionRepresentation)))
- {
- Interface_EntityIterator anIterSDR = aGraph.Sharings(anIterPD.Value());
- for(anIterSDR.Start(); anIterSDR.More(); anIterSDR.Next()) {
- if(anIterSDR.Value()->IsKind(STANDARD_TYPE(StepShape_ShapeRepresentationWithParameters)))
- {
- Handle(StepShape_ShapeRepresentationWithParameters) aSRWP
- = Handle(StepShape_ShapeRepresentationWithParameters)::DownCast(anIterSDR.Value());
- for(Standard_Integer r = aSRWP->Items()->Lower(); r <= aSRWP->Items()->Upper(); r++)
- {
- if(aSRWP->ItemsValue(r)->IsKind(STANDARD_TYPE(StepGeom_Axis2Placement3d)))
- {
- Handle(StepGeom_Axis2Placement3d) anAx
- = Handle(StepGeom_Axis2Placement3d)::DownCast(aSRWP->ItemsValue(r));
- Handle(TColStd_HArray1OfReal) aDirArr = anAx->Axis()->DirectionRatios();
- Handle(TColStd_HArray1OfReal) aDirRArr = anAx->RefDirection()->DirectionRatios();
- Handle(TColStd_HArray1OfReal) aLocArr = anAx->Location()->Coordinates();
- gp_Dir aDir;
- gp_Dir aDirR;
- gp_Pnt aPnt;
- if(!aDirArr.IsNull() && aDirArr->Length() > 2 &&
- !aDirRArr.IsNull() && aDirRArr->Length() > 2 &&
- !aLocArr.IsNull() && aLocArr->Length() > 2)
- {
- aDir.SetCoord(aDirArr->Lower(), aDirArr->Lower()+1, aDirArr->Lower()+2);
- aDirR.SetCoord(aDirRArr->Lower(), aDirRArr->Lower()+1, aDirRArr->Lower()+2);
- aPnt.SetCoord(aLocArr->Lower(), aLocArr->Lower()+1, aLocArr->Lower()+2);
- gp_Ax2 anA(aPnt, aDir, aDirR);
- aDatObj->SetDatumTargetAxis(anA);
- }
- }
- else if(aSRWP->ItemsValue(r)->IsKind(STANDARD_TYPE(StepRepr_ReprItemAndLengthMeasureWithUnit)))
- {
- Handle(StepRepr_ReprItemAndLengthMeasureWithUnit) aM =
- Handle(StepRepr_ReprItemAndLengthMeasureWithUnit)::DownCast(aSRWP->ItemsValue(r));
- Standard_Real aVal = aM->GetMeasureWithUnit()->ValueComponent();
- StepBasic_Unit anUnit = aM->GetMeasureWithUnit()->UnitComponent();
- Standard_Real aFact=1.;
- if(anUnit.IsNull()) continue;
- if( !(anUnit.CaseNum(anUnit.Value())==1) ) continue;
- Handle(StepBasic_NamedUnit) NU = anUnit.NamedUnit();
- if(GetLengthConversionFactor(NU,aFact)) aVal=aVal*aFact;
- if(aM->Name()->String().IsEqual("target length") ||
- aM->Name()->String().IsEqual("target diameter"))
- aDatObj->SetDatumTargetLength(aVal);
- else
- aDatObj->SetDatumTargetWidth(aVal);
- }
- }
- }
- }
- }
- }
+ Handle(StepRepr_ReprItemAndLengthMeasureWithUnit) aM =
+ Handle(StepRepr_ReprItemAndLengthMeasureWithUnit)::DownCast(aSRWP->ItemsValue(i));
+ Standard_Real aVal = aM->GetMeasureWithUnit()->ValueComponent();
+ StepBasic_Unit anUnit = aM->GetMeasureWithUnit()->UnitComponent();
+ Standard_Real aFact = 1.;
+ if (anUnit.IsNull())
+ continue;
+ Handle(StepBasic_NamedUnit) aNU = anUnit.NamedUnit();
+ if (aNU.IsNull())
+ continue;
+ if (GetLengthConversionFactor(aNU, aFact))
+ aVal = aVal * aFact;
+ if (aM->Name()->String().IsEqual("target length") ||
+ aM->Name()->String().IsEqual("target diameter"))
+ aDatObj->SetDatumTargetLength(aVal);
+ else
+ aDatObj->SetDatumTargetWidth(aVal);
}
}
}
}
}
}
- else
- {
- //processing for darum feature
+
+ // Create datum target object
+ if (isValidDT) {
TDF_Label aDatL = aDGTTool->AddDatum();
aDat = XCAFDoc_Datum::Set(aDatL);
- aDGTTool->SetDatum(aShL, aDatL);
- aDatObj = aDat->GetObject();
+ aDGTTool->SetDatum(aDTShapeLabels, aDatL);
aDatObj->SetName(theDat->Identification());
- aDatObj->SetPosition (thePositionCounter);
- if(!aXCAFModifiers.IsEmpty())
- aDatObj->SetModifiers(aXCAFModifiers);
- if (aXCAFModifWithVal != XCAFDimTolObjects_DatumModifWithValue_None)
- aDatObj->SetModifierWithValue(aXCAFModifWithVal, aModifValue);
+ aDatObj->SetPosition(thePositionCounter);
+ if (!theXCAFModifiers.IsEmpty())
+ aDatObj->SetModifiers(theXCAFModifiers);
+ if (theXCAFModifWithVal != XCAFDimTolObjects_DatumModifWithValue_None)
+ aDatObj->SetModifierWithValue(theXCAFModifWithVal, theModifValue);
aDGTTool->SetDatumToGeomTol(aDatL, theGDTL);
- }
- if(!aDatObj.IsNull()) {
- readAnnotation(aTR, aSAR->RelatingShapeAspect(), aDatObj);
+ aDatObj->IsDatumTarget(Standard_True);
+ aDatObj->SetDatumTargetNumber(aDT->TargetId()->IntegerValue());
+ readAnnotation(aTR, aDT, aDatObj);
aDat->SetObject(aDatObj);
+ isExistDatumTarget = Standard_True;
+ }
+ }
+
+ if (aShapeLabels.Length() > 0 || !isExistDatumTarget) {
+ // Create object for datum
+ TDF_Label aDatL = aDGTTool->AddDatum();
+ aDat = XCAFDoc_Datum::Set(aDatL);
+ aDGTTool->SetDatum(aShapeLabels, aDatL);
+ aDatObj->SetName(theDat->Identification());
+ aDatObj->SetPosition(thePositionCounter);
+ if (!theXCAFModifiers.IsEmpty())
+ aDatObj->SetModifiers(theXCAFModifiers);
+ if (theXCAFModifWithVal != XCAFDimTolObjects_DatumModifWithValue_None)
+ aDatObj->SetModifierWithValue(theXCAFModifWithVal, theModifValue);
+ aDGTTool->SetDatumToGeomTol(aDatL, theGDTL);
+ if (aDatObj->GetPresentation().IsNull()) {
+ // Try find annotation connected to datum entity (not right case, according recommended practices)
+ readAnnotation(aTR, theDat, aDatObj);
}
+ aDat->SetObject(aDatObj);
}
- return !aDat.IsNull();
+
+ return Standard_True;
}
const Handle(TDocStd_Document)& theDoc,
const Handle(XSControl_WorkSession)& theWS)
{
- Handle(XCAFDoc_ShapeTool) aSTool = XCAFDoc_DocumentTool::ShapeTool( theDoc->Main() );
- Handle(XCAFDoc_DimTolTool) aDGTTool = XCAFDoc_DocumentTool::DimTolTool( theDoc->Main() );
const Handle(XSControl_TransferReader) &aTR = theWS->TransferReader();
const Handle(Transfer_TransientProcess) &aTP = aTR->TransientProcess();
const Interface_Graph& aGraph = aTP->Graph();
return Standard_True;
}
-//=======================================================================
-//function : collectShapeAspect
-//purpose :
-//=======================================================================
-static void collectShapeAspect(const Handle(StepRepr_ShapeAspect)& theSA,
- const Handle(XSControl_WorkSession)& theWS,
- NCollection_Sequence<Handle(StepRepr_ShapeAspect)>& theSAs)
-{
- if (theSA.IsNull())
- return;
- Handle(XSControl_TransferReader) aTR = theWS->TransferReader();
- Handle(Transfer_TransientProcess) aTP = aTR->TransientProcess();
- const Interface_Graph& aGraph = aTP->Graph();
- // Retrieve Shape_Aspect, connected to Representation_Item from Derived_Shape_Aspect
- if (theSA->IsKind(STANDARD_TYPE(StepRepr_DerivedShapeAspect))) {
- Interface_EntityIterator anIter = aGraph.Sharings(theSA);
- Handle(StepRepr_ShapeAspectDerivingRelationship) aSADR = NULL;
- for (; aSADR.IsNull() && anIter.More(); anIter.Next()) {
- aSADR = Handle(StepRepr_ShapeAspectDerivingRelationship)::DownCast(anIter.Value());
- }
- if (!aSADR.IsNull())
- collectShapeAspect(aSADR->RelatedShapeAspect(), theWS, theSAs);
- }
- else if (theSA->IsKind(STANDARD_TYPE(StepDimTol_DatumFeature))) {
- theSAs.Append(theSA);
- return;
- }
- else {
- // Find all children Shape_Aspect
- Standard_Boolean isSimple = Standard_True;
- Interface_EntityIterator anIter = aGraph.Sharings(theSA);
- for (; anIter.More(); anIter.Next()) {
- if (anIter.Value()->IsKind(STANDARD_TYPE(StepRepr_ShapeAspectRelationship)) &&
- !anIter.Value()->IsKind(STANDARD_TYPE(StepShape_DimensionalLocation))) {
- Handle(StepRepr_ShapeAspectRelationship) aSAR =
- Handle(StepRepr_ShapeAspectRelationship)::DownCast(anIter.Value());
- if (aSAR->RelatingShapeAspect() == theSA) {
- collectShapeAspect(aSAR->RelatedShapeAspect(), theWS, theSAs);
- isSimple = Standard_False;
- }
- }
- }
- // If not Composite_Shape_Aspect (or subtype) append to sequence.
- if (isSimple)
- theSAs.Append(theSA);
- }
-}
-
-
//=======================================================================
//function : createGeomTolObjectInXCAF
//purpose :
static NCollection_Vector<Handle(StepVisual_AnnotationPlane)> 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 <StepRepr_CompoundItemDefinition.hxx>
// in case of multiple features association)
//=======================================================================
static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSession) &WS,
- const TDF_Label theShapeL,
+ const TDF_LabelSequence theShapeL,
const TDF_Label theDatumL,
const Standard_Boolean isFirstDTarget,
const Handle(StepDimTol_Datum) theWrittenDatum)
Interface_Graph aGraph = aHGraph->Graph();
Handle(StepRepr_ShapeAspect) aSA;
+ Handle(StepRepr_RepresentationContext) aRC;
+ Handle(StepRepr_ProductDefinitionShape) aPDS;
+ NCollection_Sequence<Handle(StepRepr_ShapeAspect)> aSASeq;
Handle(StepAP242_GeometricItemSpecificUsage) aGISU;
+ Standard_Integer aSANum = 0, aGISUNum = 0;
// Link with datum feature
- Handle(StepRepr_ProductDefinitionShape) aPDS;
- Handle(StepRepr_RepresentationContext) aRC;
- Handle(Standard_Transient) anEnt;
- TopoDS_Shape aShape;
- TopLoc_Location aLoc;
- TColStd_SequenceOfTransient aSeqRI;
+ for (Standard_Integer i = 1; i <= theShapeL.Length(); i++) {
+ Handle(Standard_Transient) anEnt;
+ TopoDS_Shape aShape;
+ TopLoc_Location aLoc;
+ TColStd_SequenceOfTransient aSeqRI;
+
+ aShape = XCAFDoc_ShapeTool::GetShape(theShapeL.Value(i));
+ FindEntities(FP, aShape, aLoc, aSeqRI);
+ if (aSeqRI.Length() <= 0) {
+ FP->Messenger() << "Warning: Cannot find RI for " << aShape.TShape()->DynamicType()->Name() << endl;
+ continue;
+ }
+ anEnt = aSeqRI.Value(1);
+ aPDS = FindPDS(aGraph, anEnt, aRC);
+ if (aPDS.IsNull())
+ continue;
- aShape = XCAFDoc_ShapeTool::GetShape(theShapeL);
- FindEntities( FP, aShape, aLoc, aSeqRI );
- if ( aSeqRI.Length() <= 0 ) {
- FP->Messenger() << "Warning: Cannot find RI for "<<aShape.TShape()->DynamicType()->Name()<<endl;
- return NULL;
+ Handle(StepRepr_ShapeAspect) aCurrentSA = WriteShapeAspect(WS, theDatumL, aShape, aRC, aGISU);
+ if (aCurrentSA.IsNull())
+ continue;
+ aSASeq.Append(aCurrentSA);
+ aSANum = Model->Number(aCurrentSA);
+ aGISUNum = Model->Number(aGISU);
+ }
+ if (aPDS.IsNull()) {
+ // Workaround for datums without shape
+ aPDS = gdtCommonPDS;
+ Interface_EntityIterator aSDRIt = aGraph.Sharings(aPDS);
+ Handle(StepShape_ShapeDefinitionRepresentation) aSDR;
+ for (aSDRIt.Start(); aSDRIt.More() && aSDR.IsNull(); aSDRIt.Next())
+ aSDR = Handle(StepShape_ShapeDefinitionRepresentation)::DownCast(aSDRIt.Value());
+ if (!aSDR.IsNull()) {
+ Handle(StepRepr_Representation) aRepr = aSDR->UsedRepresentation();
+ if (!aRepr.IsNull())
+ aRC = aRepr->ContextOfItems();
+ }
}
- anEnt = aSeqRI.Value(1);
- aPDS = FindPDS(aGraph, anEnt, aRC);
- if (aPDS.IsNull())
- return NULL;
- aSA = WriteShapeAspect(WS, theDatumL, aShape, aRC, aGISU);
- if (aSA.IsNull())
- return NULL;
- Standard_Integer aSANum = Model->Number(aSA);
- Standard_Integer aGISUNum = Model->Number(aGISU);
+
// Find if datum has datum targets and get common datum attributes
Handle(XCAFDoc_Datum) aDatumAttr;
if (!theDatumL.FindAttribute(XCAFDoc_Datum::GetID(), aDatumAttr))
// Simple datum
if (isSimpleDatum) {
- Handle(StepDimTol_DatumFeature) aDF = new StepDimTol_DatumFeature();
- aDF->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aSA->OfShape(), aSA->ProductDefinitional());
- Model->ReplaceEntity(aSANum, aDF);
- aSA = aDF;
- StepAP242_ItemIdentifiedRepresentationUsageDefinition aDefinition;
- aDefinition.SetValue(aDF);
- aGISU->SetDefinition(aDefinition);
- Model->ReplaceEntity(aGISUNum, aGISU);
+ if (aSASeq.Length() == 0) {
+ // Create empty datum with name and presentation only
+ Handle(StepDimTol_DatumFeature) aDF = new StepDimTol_DatumFeature();
+ aDF->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aPDS, StepData_LTrue);
+ aSA = aDF;
+ Model->AddWithRefs(aDF);
+ }
+ else if (aSASeq.Length() == 1) {
+ Handle(StepDimTol_DatumFeature) aDF = new StepDimTol_DatumFeature();
+ aDF->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aPDS, StepData_LTrue);
+ Model->ReplaceEntity(aSANum, aDF);
+ aSA = aDF;
+ StepAP242_ItemIdentifiedRepresentationUsageDefinition aDefinition;
+ aDefinition.SetValue(aDF);
+ aGISU->SetDefinition(aDefinition);
+ Model->ReplaceEntity(aGISUNum, aGISU);
+ }
+ else if (aSASeq.Length() > 1) {
+ Handle(StepRepr_CompShAspAndDatumFeatAndShAsp) aDF = new StepRepr_CompShAspAndDatumFeatAndShAsp();
+ aDF->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aPDS, StepData_LTrue);
+ for (Standard_Integer i = 1; i <= aSASeq.Length(); i++) {
+ Handle(StepRepr_ShapeAspectRelationship) aSAR = new StepRepr_ShapeAspectRelationship();
+ aSAR->Init(new TCollection_HAsciiString(), Standard_False, new TCollection_HAsciiString(), aDF, aSASeq.Value(i));
+ Model->AddWithRefs(aSAR);
+ }
+ aSA = aDF;
+ Model->AddWithRefs(aDF);
+ }
}
// Datum with datum targets
else {
aGISUNum = Model->Number(anAreaGISU);
Handle(StepDimTol_DatumTarget) aDT = new StepDimTol_DatumTarget();
aDT->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString("area"), anAreaSA->OfShape(),
- anAreaSA->ProductDefinitional(), aTargetId);
+ StepData_LTrue, aTargetId);
Model->ReplaceEntity(aSANum, aDT);
StepAP242_ItemIdentifiedRepresentationUsageDefinition aDefinition;
aDefinition.SetValue(aDT);
anAreaGISU->SetDefinition(aDefinition);
Model->ReplaceEntity(aGISUNum, anAreaGISU);
- }
+ }
else {
Handle(StepDimTol_PlacedDatumTargetFeature) aPDTF = new StepDimTol_PlacedDatumTargetFeature();
aPDTF->Init(new TCollection_HAsciiString(), STEPCAFControl_GDTProperty::GetDatumTargetName(aDatumType),
StepRepr_CharacterizedDefinition aCDefinition;
aCDefinition.SetValue(aPDTF);
aPD->Init(new TCollection_HAsciiString(), Standard_False, NULL, aCDefinition);
- Handle(StepShape_ShapeRepresentationWithParameters) aSRWP = new StepShape_ShapeRepresentationWithParameters();
- // Common for all datum targets
- StepBasic_Unit aUnit = GetUnit(aRC);
- gp_Ax2 aDTAxis = anObject->GetDatumTargetAxis();
- Handle(StepGeom_Axis2Placement3d) anA2P3D =
- STEPCAFControl_GDTProperty::GetAxis2Placement3D(aDTAxis);
- anA2P3D->SetName(new TCollection_HAsciiString("orientation"));
- Handle(StepRepr_HArray1OfRepresentationItem) anItems;
- // Process each datum target type
- if (aDatumType == XCAFDimTolObjects_DatumTargetType_Point) {
- anItems = new StepRepr_HArray1OfRepresentationItem(1, 1);
- }
- else {
- Handle(TCollection_HAsciiString) aTargetValueName;
- if (aDatumType == XCAFDimTolObjects_DatumTargetType_Line) {
- anItems = new StepRepr_HArray1OfRepresentationItem(1, 2);
- aTargetValueName = new TCollection_HAsciiString("target length");
+ if (anObject->HasDatumTargetParams()) {
+ // write all parameters of datum target
+ Handle(StepShape_ShapeRepresentationWithParameters) aSRWP = new StepShape_ShapeRepresentationWithParameters();
+ // Common for all datum targets
+ StepBasic_Unit aUnit = GetUnit(aRC);
+ gp_Ax2 aDTAxis = anObject->GetDatumTargetAxis();
+ Handle(StepGeom_Axis2Placement3d) anA2P3D =
+ STEPCAFControl_GDTProperty::GetAxis2Placement3D(aDTAxis);
+ anA2P3D->SetName(new TCollection_HAsciiString("orientation"));
+ Handle(StepRepr_HArray1OfRepresentationItem) anItems;
+ // Process each datum target type
+ if (aDatumType == XCAFDimTolObjects_DatumTargetType_Point) {
+ anItems = new StepRepr_HArray1OfRepresentationItem(1, 1);
}
- else if (aDatumType == XCAFDimTolObjects_DatumTargetType_Rectangle) {
- anItems = new StepRepr_HArray1OfRepresentationItem(1, 3);
- aTargetValueName = new TCollection_HAsciiString("target length");
- // Additional value
- Handle(StepRepr_ReprItemAndMeasureWithUnit) aTargetValue = CreateDimValue(anObject->GetDatumTargetWidth(),
- aUnit, new TCollection_HAsciiString("target width"), "POSITIVE_LENGTH_MEASURE", Standard_False);
- anItems->SetValue(2, aTargetValue);
+ else {
+ Handle(TCollection_HAsciiString) aTargetValueName;
+ if (aDatumType == XCAFDimTolObjects_DatumTargetType_Line) {
+ anItems = new StepRepr_HArray1OfRepresentationItem(1, 2);
+ aTargetValueName = new TCollection_HAsciiString("target length");
+ }
+ else if (aDatumType == XCAFDimTolObjects_DatumTargetType_Rectangle) {
+ anItems = new StepRepr_HArray1OfRepresentationItem(1, 3);
+ aTargetValueName = new TCollection_HAsciiString("target length");
+ // Additional value
+ Handle(StepRepr_ReprItemAndMeasureWithUnit) aTargetValue = CreateDimValue(anObject->GetDatumTargetWidth(),
+ aUnit, new TCollection_HAsciiString("target width"), "POSITIVE_LENGTH_MEASURE", Standard_False);
+ anItems->SetValue(2, aTargetValue);
+ Model->AddWithRefs(aTargetValue);
+ }
+ else if (aDatumType == XCAFDimTolObjects_DatumTargetType_Circle) {
+ anItems = new StepRepr_HArray1OfRepresentationItem(1, 2);
+ aTargetValueName = new TCollection_HAsciiString("target diameter");
+ }
+ // Value
+ Handle(StepRepr_ReprItemAndMeasureWithUnit) aTargetValue = CreateDimValue(anObject->GetDatumTargetLength(),
+ aUnit, aTargetValueName, "POSITIVE_LENGTH_MEASURE", Standard_False);
+ anItems->SetValue(1, aTargetValue);
Model->AddWithRefs(aTargetValue);
}
- else if (aDatumType == XCAFDimTolObjects_DatumTargetType_Circle) {
- anItems = new StepRepr_HArray1OfRepresentationItem(1, 2);
- aTargetValueName = new TCollection_HAsciiString("target diameter");
- }
- // Value
- Handle(StepRepr_ReprItemAndMeasureWithUnit) aTargetValue= CreateDimValue(anObject->GetDatumTargetLength(),
- aUnit, aTargetValueName, "POSITIVE_LENGTH_MEASURE", Standard_False);
- anItems->SetValue(1, aTargetValue);
- Model->AddWithRefs(aTargetValue);
+ anItems->SetValue(anItems->Length(), anA2P3D);
+ aSRWP->Init(new TCollection_HAsciiString(), anItems, aRC);
+ // Create and write auxiliary entities
+ Handle(StepShape_ShapeDefinitionRepresentation) aSDR = new StepShape_ShapeDefinitionRepresentation();
+ StepRepr_RepresentedDefinition aRDefinition;
+ aRDefinition.SetValue(aPD);
+ aSDR->Init(aRDefinition, aSRWP);
+ Model->AddWithRefs(aPD);
+ Model->AddWithRefs(aSRWP);
+ Model->AddWithRefs(aSDR);
}
- anItems->SetValue(anItems->Length(), anA2P3D);
- aSRWP->Init(new TCollection_HAsciiString(), anItems, aRC);
-
- // Create and write auxiliary entities
- Handle (StepShape_ShapeDefinitionRepresentation) aSDR = new StepShape_ShapeDefinitionRepresentation();
- StepRepr_RepresentedDefinition aRDefinition;
- aRDefinition.SetValue(aPD);
- aSDR->Init(aRDefinition, aSRWP);
- Model->AddWithRefs(aPD);
- Model->AddWithRefs(aSRWP);
- Model->AddWithRefs(aSDR);
}
// Link datum target to datum feature
- Handle(StepRepr_FeatureForDatumTargetRelationship) aFFDTR = new StepRepr_FeatureForDatumTargetRelationship();
- aFFDTR->Init(new TCollection_HAsciiString(), Standard_False, NULL, aDatumTarget, aSA);
- Model->AddWithRefs(aFFDTR);
+ // if aSASeq.Length() == 0 nothing to do
+ if (aSASeq.Length() == 1) {
+ Handle(StepRepr_FeatureForDatumTargetRelationship) aFFDTR = new StepRepr_FeatureForDatumTargetRelationship();
+ aFFDTR->Init(new TCollection_HAsciiString(), Standard_False, NULL, aSASeq.Value(1), aDatumTarget);
+ Model->AddWithRefs(aFFDTR);
+ }
+ else if (aSASeq.Length() > 1) {
+ Handle(StepRepr_CompositeShapeAspect) aCompSA = new StepRepr_CompositeShapeAspect();
+ aCompSA->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aPDS, aSASeq.Value(1)->ProductDefinitional());
+ for (Standard_Integer i = 1; i <= aSASeq.Length(); i++) {
+ Handle(StepRepr_ShapeAspectRelationship) aSAR = new StepRepr_ShapeAspectRelationship();
+ aSAR->Init(new TCollection_HAsciiString(), Standard_False, new TCollection_HAsciiString(), aCompSA, aSASeq.Value(i));
+ Model->AddWithRefs(aSAR);
+ }
+ Handle(StepRepr_FeatureForDatumTargetRelationship) aFFDTR = new StepRepr_FeatureForDatumTargetRelationship();
+ aFFDTR->Init(new TCollection_HAsciiString(), Standard_False, NULL, aCompSA, aDatumTarget);
+ Model->AddWithRefs(aFFDTR);
+ }
aSA = aDatumTarget;
}
Handle(StepDimTol_Datum) aDatum = theWrittenDatum;
if (isFirstDTarget) {
aDatum = new StepDimTol_Datum();
- aDatum->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aPDS, StepData_LTrue, anIdentifier);
+ aDatum->Init(new TCollection_HAsciiString(), new TCollection_HAsciiString(), aPDS, StepData_LFalse, anIdentifier);
Model->AddWithRefs(aDatum);
}
// Shape_Aspect_Relationship
- Handle(StepRepr_ShapeAspectRelationship) aSAR = new StepRepr_ShapeAspectRelationship();
- aSAR->Init(new TCollection_HAsciiString(), Standard_False, NULL, aSA, aDatum);
- Model->AddWithRefs(aSAR);
-
- // Auxiliary entities
- // Property_Definition
- Handle(StepRepr_PropertyDefinition) aPD = new StepRepr_PropertyDefinition();
- Handle(TCollection_HAsciiString) aPDName = new TCollection_HAsciiString("Datum Feature Symbol ");
- aPDName = aPDName->Cat(anIdentifier)->Cat(aTargetId);
- StepRepr_CharacterizedDefinition aCD;
- aCD.SetValue(aSA);
- aPD->Init(aPDName, Standard_False, NULL, aCD);
- Model->AddWithRefs(aPD);
- // Shape_Representation
- Handle(StepShape_ShapeRepresentation) aShapeRepr = new StepShape_ShapeRepresentation();
- aShapeRepr->Init(aPDName, aGISU->IdentifiedItem(), aRC);
- Model->AddWithRefs(aShapeRepr);
- // Shape_Definition_Representation
- Handle (StepShape_ShapeDefinitionRepresentation) aSDR = new StepShape_ShapeDefinitionRepresentation();
- StepRepr_RepresentedDefinition aRDefinition;
- aRDefinition.SetValue(aPD);
- aSDR->Init(aRDefinition, aShapeRepr);
- Model->AddWithRefs(aSDR);
+ if (!aSA.IsNull()) {
+ Handle(StepRepr_ShapeAspectRelationship) aSAR = new StepRepr_ShapeAspectRelationship();
+ aSAR->Init(new TCollection_HAsciiString(), Standard_False, NULL, aSA, aDatum);
+ Model->AddWithRefs(aSAR);
+ }
//Annotation plane and Presentation
WritePresentation(WS, anObject->GetPresentation(), anObject->GetPresentationName(), anObject->GetPlane(), anObject->GetPointTextAttach(), aSA);
Handle(StepRepr_RepresentationItem) anItem = NULL;
gdtPrsCurveStyle = new StepVisual_HArray1OfPresentationStyleAssignment(1, 1);
gdtPrsCurveStyle->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());
TDF_LabelSequence aDGTLabels;
STEPConstruct_DataMapOfAsciiStringTransient aDatumMap;
TColStd_MapOfAsciiString aNameIdMap;
for(Standard_Integer i = 1; i <= aDGTLabels.Length(); i++) {
TDF_Label aDatumL = aDGTLabels.Value(i);
- TDF_LabelSequence aShapeL;
- TDF_LabelSequence aNullSeq;
- if(!DGTTool->GetRefShapeLabel(aDatumL, aShapeL, aNullSeq))
- continue;
+ TDF_LabelSequence aShapeL, aNullSeq;
+ DGTTool->GetRefShapeLabel(aDatumL, aShapeL, aNullSeq);
Handle(XCAFDoc_Datum) aDatumAttr;
aDatumL.FindAttribute(XCAFDoc_Datum::GetID(), aDatumAttr);
Handle(XCAFDimTolObjects_DatumObject) anObject = aDatumAttr->GetObject();
continue;
Handle(Standard_Transient) aWrittenDatum;
Standard_Boolean isFirstDT = !aDatumMap.Find(aDatumName, aWrittenDatum);
- Handle(StepDimTol_Datum) aDatum = WriteDatumAP242(WS, aShapeL.First(), aDatumL, isFirstDT,
+ Handle(StepDimTol_Datum) aDatum = WriteDatumAP242(WS, aShapeL, aDatumL, isFirstDT,
Handle(StepDimTol_Datum)::DownCast (aWrittenDatum));
// Add created Datum into Map
aDatumMap.Bind(aDatumName, aDatum);
XCAFDimTolObjects_DatumObject::XCAFDimTolObjects_DatumObject()
{
myIsDTarget = Standard_False;
+ myIsValidDT = Standard_False;
myHasPlane = Standard_False;
myHasPnt = Standard_False;
myHasPntText = Standard_False;
myValueOfModifier = theObj->myValueOfModifier;
myDatumTarget = theObj->myDatumTarget;
myIsDTarget = theObj->myIsDTarget;
+ myIsValidDT = theObj->myIsValidDT;
myAxis = theObj->myAxis;
myDTargetType = theObj->myDTargetType;
myPlane = theObj->myPlane;
void XCAFDimTolObjects_DatumObject::SetDatumTargetAxis(const gp_Ax2& theAxis)
{
myAxis = theAxis;
+ myIsValidDT = Standard_True;
}
//=======================================================================
void XCAFDimTolObjects_DatumObject::SetDatumTargetLength(const Standard_Real theLength)
{
myLength = theLength;
+ myIsValidDT = Standard_True;
}
void XCAFDimTolObjects_DatumObject::SetDatumTargetWidth(const Standard_Real theWidth)
{
myWidth = theWidth;
+ myIsValidDT = Standard_True;
}
//=======================================================================
return myPresentationName;
}
-
+ //! Returns true if datum has valid parameters for datum target (width, length, circle radius etc)
+ Standard_EXPORT Standard_Boolean HasDatumTargetParams()
+ {
+ return myIsValidDT;
+ }
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_DatumObject,Standard_Transient)
TopoDS_Shape myDatumTarget;
Standard_Integer myPosition;
Standard_Boolean myIsDTarget;
+ Standard_Boolean myIsValidDT;
XCAFDimTolObjects_DatumTargetType myDTargetType;
gp_Ax2 myAxis;
Standard_Real myLength;
tnBuild.Generated(theObject->GetDatumTarget());
}
}
- else
+ else if (theObject->HasDatumTargetParams())
{
Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
Handle(TDataStd_RealArray) aN = new TDataStd_RealArray();
#include <TDataStd_Name.hxx>
#include <TDataStd_TreeNode.hxx>
#include <TDF_Attribute.hxx>
+#include <TDF_AttributeIterator.hxx>
#include <TDF_ChildIDIterator.hxx>
#include <TDF_Label.hxx>
#include <TDF_RelocationTable.hxx>
}
return Standard_True;
}
+ else if (theL.FindAttribute(XCAFDoc::DatumRefGUID(), aGNode) && aGNode->NbFathers() > 0) {
+ for (Standard_Integer i = 1; i <= aGNode->NbFathers(); i++)
+ {
+ theShapeLFirst.Append(aGNode->GetFather(i)->Label());
+ }
+ return Standard_True;
+ }
else if( theL.FindAttribute(XCAFDoc::DimensionRefFirstGUID(),aGNode) && aGNode->NbFathers() > 0 ) {
for(Standard_Integer i = 1; i <= aGNode->NbFathers(); i++)
{
Standard_Boolean XCAFDoc_DimTolTool::GetRefDatumLabel(const TDF_Label& theShapeL,
TDF_LabelSequence& theDatum) const
{
- Handle(TDataStd_TreeNode) aNode;
- if( !theShapeL.FindAttribute(XCAFDoc::DatumRefGUID(),aNode) ||
- !aNode->HasFirst() ) {
+ Handle(XCAFDoc_GraphNode) aGNode;
+ if (!theShapeL.FindAttribute(XCAFDoc::DatumRefGUID(), aGNode)) {
return Standard_False;
}
- Handle(TDataStd_TreeNode) aFirst = aNode->First();
- theDatum.Append(aFirst->Label());
- for(Standard_Integer i = 1; i < aNode->NbChildren(); i++)
- {
- aFirst = aFirst->Next();
- theDatum.Append(aFirst->Label());
+ for (Standard_Integer i = 1; i <= aGNode->NbChildren(); i++) {
+ theDatum.Append(aGNode->GetChild(i)->Label());
}
return Standard_True;
}
//purpose :
//=======================================================================
-void XCAFDoc_DimTolTool::SetDatum(const TDF_Label& theL,
+void XCAFDoc_DimTolTool::SetDatum(const TDF_LabelSequence& theL,
const TDF_Label& theDatumL) const
{
- // set reference
- Handle(TDataStd_TreeNode) refNode, mainNode;
- refNode = TDataStd_TreeNode::Set ( theDatumL, XCAFDoc::DatumRefGUID() );
- mainNode = TDataStd_TreeNode::Set ( theL, XCAFDoc::DatumRefGUID() );
- refNode->Remove();
- mainNode->Append(refNode);
+ if (!IsDatum(theDatumL))
+ {
+ return;
+ }
+
+ Handle(XCAFDoc_GraphNode) aChGNode;
+ Handle(XCAFDoc_GraphNode) aFGNode;
+
+ if (theDatumL.FindAttribute(XCAFDoc::DatumRefGUID(), aChGNode)) {
+ while (aChGNode->NbFathers() > 0) {
+ aFGNode = aChGNode->GetFather(1);
+ aFGNode->UnSetChild(aChGNode);
+ if (aFGNode->NbChildren() == 0)
+ aFGNode->ForgetAttribute(XCAFDoc::DatumRefGUID());
+ }
+ theDatumL.ForgetAttribute(XCAFDoc::DatumRefGUID());
+ }
+
+ if (!theDatumL.FindAttribute(XCAFDoc::DatumRefGUID(), aChGNode)) {
+ aChGNode = new XCAFDoc_GraphNode;
+ aChGNode = XCAFDoc_GraphNode::Set(theDatumL);
+ aChGNode->SetGraphID(XCAFDoc::DatumRefGUID());
+ }
+ for (Standard_Integer i = theL.Lower(); i <= theL.Upper(); i++)
+ {
+ if (!theL.Value(i).FindAttribute(XCAFDoc::DatumRefGUID(), aFGNode)) {
+ aFGNode = new XCAFDoc_GraphNode;
+ aFGNode = XCAFDoc_GraphNode::Set(theL.Value(i));
+ }
+ aFGNode->SetGraphID(XCAFDoc::DatumRefGUID());
+ aFGNode->SetChild(aChGNode);
+ aChGNode->SetFather(aFGNode);
+ }
}
//=======================================================================
TDF_Label DatumL;
if(!FindDatum(aName,aDescription,anIdentification,DatumL))
DatumL = AddDatum(aName,aDescription,anIdentification);
- SetDatum(L,DatumL);
+ TDF_LabelSequence aLabels;
+ aLabels.Append(L);
+ SetDatum(aLabels,DatumL);
// set reference
Handle(XCAFDoc_GraphNode) FGNode;
Handle(XCAFDoc_GraphNode) ChGNode;
Standard_EXPORT TDF_Label AddDatum() ;
//! Sets a link with GUID
- Standard_EXPORT void SetDatum (const TDF_Label& L, const TDF_Label& DatumL) const;
+ Standard_EXPORT void SetDatum (const TDF_LabelSequence& theShapeLabels, const TDF_Label& theDatumL) const;
//! Sets a link with GUID for Datum
//! Sets connection between Datum and Tolerance
else if ( att->ID() == XCAFDoc::GeomToleranceRefGUID() ){
type = "GeomTolerance Link";
}
+ else if ( att->ID() == XCAFDoc::DatumRefGUID() ){
+ type = "Datum Link";
+ }
else return 0;
Handle(XCAFDoc_GraphNode) DETGN = Handle(XCAFDoc_GraphNode)::DownCast(att);
static Standard_Integer addDatum (Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
if (argc < 3) {
- di<<"Use: XAddDatum Doc shape/label\n";
+ di<<"Use: XAddDatum Doc shape1/label1 ... shapeN/labelN\n";
return 1;
}
Handle(TDocStd_Document) Doc;
Handle(XCAFDoc_DimTolTool) aDimTolTool = XCAFDoc_DocumentTool::DimTolTool(Doc->Main());
Handle(XCAFDoc_ShapeTool) aShapeTool= XCAFDoc_DocumentTool::ShapeTool(Doc->Main());
- TDF_Label aLabel;
- TDF_Tool::Label(Doc->GetData(), argv[2], aLabel);
- if ( aLabel.IsNull() )
- {
- TopoDS_Shape aShape= DBRep::Get(argv[2]);
- if ( !aShape.IsNull() )
- {
- aShapeTool->Search(aShape, aLabel);
- if ( aLabel.IsNull() )
- {
- di<<"Shape "<<argv[2]<<" is absent in "<<argv[1]<<"\n";
- return 1;
- }
+ TDF_LabelSequence aLabelSeq;
+ for (Standard_Integer i = 2; i < argc; i++) {
+ TDF_Label aLabel;
+ TDF_Tool::Label(Doc->GetData(), argv[i], aLabel);
+ if (aLabel.IsNull()) {
+ TopoDS_Shape aShape = DBRep::Get(argv[i]);
+ if (!aShape.IsNull())
+ aShapeTool->Search(aShape, aLabel);
+ if (aLabel.IsNull())
+ continue;
}
+ aLabelSeq.Append(aLabel);
}
TDF_Label aDatumL = aDimTolTool->AddDatum();
- aDimTolTool->SetDatum(aLabel, aDatumL);
+ aDimTolTool->SetDatum(aLabelSeq, aDatumL);
TCollection_AsciiString Entry;
TDF_Tool::Entry(aDatumL, Entry);
di << Entry;
di.Add ("XAddGeomTolerance","XAddGeomTolerance Doc shape/label",
__FILE__, addGTol, g);
- di.Add ("XAddDatum","XAddDatum Doc shape/label",
+ di.Add ("XAddDatum","XAddDatum Doc shape1/label1 ... shapeN/labelN",
__FILE__, addDatum, g);
di.Add ("XSetDatum","XSetDatum Doc Datum_Label GeomTol_Label",
NbOfGTWithModifiers : 0
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 5
- NbOfDatumFeature : 3
- NbOfAttachedDatum : 11
+ NbOfDatumFeature : 5
+ NbOfAttachedDatum : 17
NbOfDatumTarget : 0
}
NbOfTolerances : 22
NbOfGTWithModifiers : 4
NbOfGTWithMaxTolerance : 0
- NbOfGTWithDatums : 13
- NbOfDatumFeature : 5
- NbOfAttachedDatum : 24
- NbOfDatumTarget : 9
+ NbOfGTWithDatums : 20
+ NbOfDatumFeature : 15
+ NbOfAttachedDatum : 70
+ NbOfDatumTarget : 57
}
NbOfGTWithModifiers : 2
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 11
- NbOfDatumFeature : 5
- NbOfAttachedDatum : 26
+ NbOfDatumFeature : 8
+ NbOfAttachedDatum : 47
NbOfDatumTarget : 0
}
NbOfGTWithModifiers : 0
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 6
- NbOfDatumFeature : 8
- NbOfAttachedDatum : 15
+ NbOfDatumFeature : 10
+ NbOfAttachedDatum : 19
NbOfDatumTarget : 0
}
NbOfGTWithModifiers : 0
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 8
- NbOfDatumFeature : 2
- NbOfAttachedDatum : 9
+ NbOfDatumFeature : 6
+ NbOfAttachedDatum : 26
NbOfDatumTarget : 2
}
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug27645_nist_ftc_06_asme1_cr3000_rd.prt.stp
-puts "TODO CR26859 ALL:Error : 1 differences with reference data found :"
-puts "TODO CR26859 ALL:Error on writing file"
set ref_data {
NbOfTolerances : 27
NbOfGTWithModifiers : 4
NbOfGTWithMaxTolerance : 0
- NbOfGTWithDatums : 3
- NbOfDatumFeature : 3
- NbOfAttachedDatum : 3
+ NbOfGTWithDatums : 24
+ NbOfDatumFeature : 5
+ NbOfAttachedDatum : 5
NbOfDatumTarget : 0
}
NbOfTolerances : 27
NbOfGTWithModifiers : 4
NbOfGTWithMaxTolerance : 0
- NbOfGTWithDatums : 23
- NbOfDatumFeature : 6
- NbOfAttachedDatum : 54
+ NbOfGTWithDatums : 24
+ NbOfDatumFeature : 16
+ NbOfAttachedDatum : 78
NbOfDatumTarget : 0
}
NbOfTolerances : 27
NbOfGTWithModifiers : 4
NbOfGTWithMaxTolerance : 0
- NbOfGTWithDatums : 23
- NbOfDatumFeature : 6
- NbOfAttachedDatum : 54
+ NbOfGTWithDatums : 24
+ NbOfDatumFeature : 16
+ NbOfAttachedDatum : 78
NbOfDatumTarget : 0
}
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug27645_nist_ftc_08_asme1_cr3000_rc.prt.stp
-puts "TODO CR26859 ALL:Error : 1 differences with reference data found :"
-puts "TODO CR26859 ALL:Error on writing file"
set ref_data {
NbOfTolerances : 30
NbOfGTWithModifiers : 14
NbOfGTWithMaxTolerance : 0
- NbOfGTWithDatums : 1
+ NbOfGTWithDatums : 27
NbOfDatumFeature : 2
NbOfAttachedDatum : 2
NbOfDatumTarget : 0
NbOfGTWithModifiers : 17
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
- NbOfDatumFeature : 10
- NbOfAttachedDatum : 75
+ NbOfDatumFeature : 22
+ NbOfAttachedDatum : 124
NbOfDatumTarget : 0
}
NbOfGTWithModifiers : 17
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
- NbOfDatumFeature : 10
- NbOfAttachedDatum : 75
+ NbOfDatumFeature : 22
+ NbOfAttachedDatum : 124
NbOfDatumTarget : 0
}
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug27645_nist_ftc_09_asme1_cr3000_rd.prt.stp
-puts "TODO CR26859 ALL:Error : 1 differences with reference data found :"
-puts "TODO CR26859 ALL:Error on writing file"
set ref_data {
NbOfTolerances : 29
NbOfGTWithModifiers : 6
NbOfGTWithMaxTolerance : 0
- NbOfGTWithDatums : 0
+ NbOfGTWithDatums : 28
NbOfDatumFeature : 0
NbOfAttachedDatum : 0
NbOfDatumTarget : 0
NbOfGTWithModifiers : 6
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
- NbOfDatumFeature : 6
- NbOfAttachedDatum : 73
+ NbOfDatumFeature : 22
+ NbOfAttachedDatum : 126
NbOfDatumTarget : 0
}
NbOfGTWithModifiers : 6
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
- NbOfDatumFeature : 6
- NbOfAttachedDatum : 73
+ NbOfDatumFeature : 22
+ NbOfAttachedDatum : 126
NbOfDatumTarget : 0
}
NbOfDimensions : 8
NbOfTolerances : 6
- NbOfDatumFeature : 3
- NbOfAttachedDatum : 11
+ NbOfDatumFeature : 5
+ NbOfAttachedDatum : 17
NbOfDatumTarget : 0
0:1:1:1:1 Shape.2
0:1:1:1:11 Shape.12
0:1:4:18 Dimension.12.1 ( T 15, V 35, VL 0.20000000000000001, VU 0, P 0 )
0:1:1:1:12 Shape.13
- 0:1:4:19 Dimension.13.1 ( T 15, V 35, VL 0, VU 0.20000000000000001, P 0 )
+ 0:1:4:18 Dimension.13.1 ( T 15, V 35, VL 0.20000000000000001, VU 0, P 0 )
0:1:1:1:13 Shape.14
- 0:1:4:10 GeomTolerance.14.1 ( T 10 TV 0, V 0.75 )
- 0:1:4:11 Datum.14.1.1 ( )
- 0:1:4:12 Datum.14.1.2 ( )
- 0:1:4:13 Datum.14.1.3 ( )
+ 0:1:4:19 Dimension.14.1 ( T 15, V 35, VL 0, VU 0.20000000000000001, P 0 )
0:1:1:1:14 Shape.15
- 0:1:4:10 GeomTolerance.15.1 ( T 10 TV 0, V 0.75 )
- 0:1:4:11 Datum.15.1.1 ( )
- 0:1:4:12 Datum.15.1.2 ( )
- 0:1:4:13 Datum.15.1.3 ( )
+ 0:1:4:19 Dimension.15.1 ( T 15, V 35, VL 0, VU 0.20000000000000001, P 0 )
0:1:1:1:15 Shape.16
- 0:1:4:14 GeomTolerance.16.1 ( T 12 TV 0, V 1.25 )
- 0:1:4:15 Datum.16.1.1 ( )
- 0:1:4:16 Datum.16.1.2 ( )
- 0:1:4:17 Datum.16.1.3 ( )
+ 0:1:4:10 GeomTolerance.16.1 ( T 10 TV 0, V 0.75 )
+ 0:1:4:11 Datum.16.1.1 ( )
+ 0:1:4:12 Datum.16.1.2 ( )
+ 0:1:4:13 Datum.16.1.3 ( )
0:1:1:1:16 Shape.17
- 0:1:4:14 GeomTolerance.17.1 ( T 12 TV 0, V 1.25 )
- 0:1:4:15 Datum.17.1.1 ( )
- 0:1:4:16 Datum.17.1.2 ( )
- 0:1:4:17 Datum.17.1.3 ( )
+ 0:1:4:10 GeomTolerance.17.1 ( T 10 TV 0, V 0.75 )
+ 0:1:4:11 Datum.17.1.1 ( )
+ 0:1:4:12 Datum.17.1.2 ( )
+ 0:1:4:13 Datum.17.1.3 ( )
0:1:1:1:17 Shape.18
- 0:1:4:18 Dimension.18.1 ( T 15, V 35, VL 0.20000000000000001, VU 0, P 0 )
+ 0:1:4:14 GeomTolerance.18.1 ( T 12 TV 0, V 1.25 )
+ 0:1:4:15 Datum.18.1.1 ( )
+ 0:1:4:16 Datum.18.1.2 ( )
+ 0:1:4:17 Datum.18.1.3 ( )
0:1:1:1:18 Shape.19
- 0:1:4:19 Dimension.19.1 ( T 15, V 35, VL 0, VU 0.20000000000000001, P 0 )
+ 0:1:4:14 GeomTolerance.19.1 ( T 12 TV 0, V 1.25 )
+ 0:1:4:15 Datum.19.1.1 ( )
+ 0:1:4:16 Datum.19.1.2 ( )
+ 0:1:4:17 Datum.19.1.3 ( )
0:1:1:1:19 Shape.20
0:1:4:20 Dimension.20.1 ( T 15, V 20, VL 0.10000000000000001, VU 0.050000000000000003, P 0 )
0:1:1:1:20 Shape.21
NbOfDimensions : 8
NbOfTolerances : 22
- NbOfDatumFeature : 5
- NbOfAttachedDatum : 24
- NbOfDatumTarget : 9
+ NbOfDatumFeature : 15
+ NbOfAttachedDatum : 70
+ NbOfDatumTarget : 57
0:1:1:2:1 Shape.4
0:1:4:1 GeomTolerance.4.1 ( T 11 TV 0, V 0.25 )
0:1:4:7 Datum.4.1.6 ( )
0:1:4:8 Datum.4.1.7 ( )
0:1:4:9 Datum.4.1.8 ( )
- 0:1:4:9 Datum target.4.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:9 Datum target.4.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:9 Datum target.4.2 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:9 Datum target.4.3 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:9 Datum target.4.4 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:9 Datum target.4.5 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:9 Datum target.4.6 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:9 Datum target.4.7 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:4 Shape.7
- 0:1:4:21 GeomTolerance.7.1 ( T 7 TV 0, V 0.050000000000000003 )
+ 0:1:4:69 GeomTolerance.7.1 ( T 7 TV 0, V 0.050000000000000003 )
0:1:1:2:44 Shape.47
- 0:1:4:2 Datum target.47.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
- 0:1:4:2 Datum target.47.2 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
- 0:1:4:2 Datum target.47.3 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:2 Datum target.47.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.2 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.3 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.4 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.5 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.6 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.7 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.8 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.9 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.10 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.11 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.12 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.13 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.14 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.15 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.16 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.17 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.18 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.19 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.20 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:2 Datum target.47.21 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:45 Shape.48
- 0:1:4:6 Datum target.48.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:6 Datum target.48.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:6 Datum target.48.2 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:6 Datum target.48.3 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:6 Datum target.48.4 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:6 Datum target.48.5 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:6 Datum target.48.6 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:6 Datum target.48.7 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:53 Shape.56
- 0:1:4:5 Datum target.56.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:5 Datum target.56.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:5 Datum target.56.2 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:5 Datum target.56.3 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:5 Datum target.56.4 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:5 Datum target.56.5 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:5 Datum target.56.6 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:5 Datum target.56.7 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:60 Shape.63
- 0:1:4:16 GeomTolerance.63.1 ( T 12 TV 0, V 2.5 )
+ 0:1:4:48 GeomTolerance.63.1 ( T 12 TV 0, V 2.5 )
+ 0:1:4:49 Datum.63.1.1 ( )
+ 0:1:4:50 Datum.63.1.2 ( )
+ 0:1:4:51 Datum.63.1.3 ( )
+ 0:1:4:52 Datum.63.1.4 ( )
+ 0:1:4:53 Datum.63.1.5 ( )
+ 0:1:4:54 Datum.63.1.6 ( )
+ 0:1:4:55 Datum.63.1.7 ( )
+ 0:1:4:56 Datum.63.1.8 ( )
0:1:1:2:62 Shape.65
- 0:1:4:8 Datum target.65.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:8 Datum target.65.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:8 Datum target.65.2 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:8 Datum target.65.3 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:8 Datum target.65.4 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:8 Datum target.65.5 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:8 Datum target.65.6 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:8 Datum target.65.7 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:71 Shape.74
- 0:1:4:7 Datum target.74.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:7 Datum target.74.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:7 Datum target.74.2 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:7 Datum target.74.3 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:7 Datum target.74.4 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:7 Datum target.74.5 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:7 Datum target.74.6 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
+ 0:1:4:7 Datum target.74.7 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:75 Shape.78
- 0:1:4:57 GeomTolerance.78.1 ( T 12 TV 0, V 0.80000000000000004 )
- 0:1:4:58 Datum.78.1.1 (, M 12 )
- 0:1:4:59 Datum.78.1.2 ( )
+ 0:1:4:109 GeomTolerance.78.1 ( T 12 TV 0, V 0.80000000000000004 )
+ 0:1:4:110 Datum.78.1.1 ( )
+ 0:1:4:111 Datum.78.1.2 (, M 12 )
+ 0:1:4:112 Datum.78.1.3 ( )
0:1:1:2:94 Shape.97
- 0:1:4:29 Dimension.97.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
- 0:1:4:30 GeomTolerance.97.1 ( T 10 TV 1, V 0.050000000000000003 )
- 0:1:4:31 Datum.97.1.1 ( )
- 0:1:4:32 Datum.97.1.2 ( )
+ 0:1:4:78 Dimension.97.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
+ 0:1:4:79 GeomTolerance.97.1 ( T 10 TV 1, V 0.050000000000000003 )
+ 0:1:4:80 Datum.97.1.1 ( )
+ 0:1:4:81 Datum.97.1.2 ( )
0:1:1:2:95 Shape.98
- 0:1:4:29 Dimension.98.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
- 0:1:4:30 GeomTolerance.98.1 ( T 10 TV 1, V 0.050000000000000003 )
- 0:1:4:31 Datum.98.1.1 ( )
- 0:1:4:32 Datum.98.1.2 ( )
+ 0:1:4:78 Dimension.98.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
+ 0:1:4:79 GeomTolerance.98.1 ( T 10 TV 1, V 0.050000000000000003 )
+ 0:1:4:80 Datum.98.1.1 ( )
+ 0:1:4:81 Datum.98.1.2 ( )
0:1:1:2:96 Shape.99
- 0:1:4:26 Dimension.99.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
- 0:1:4:27 GeomTolerance.99.1 ( T 9 TV 1, V 0.050000000000000003 )
- 0:1:4:28 Datum.99.1.1 ( )
+ 0:1:4:75 Dimension.99.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
+ 0:1:4:76 GeomTolerance.99.1 ( T 9 TV 1, V 0.050000000000000003 )
+ 0:1:4:77 Datum.99.1.1 ( )
0:1:1:2:97 Shape.100
- 0:1:4:26 Dimension.100.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
- 0:1:4:27 GeomTolerance.100.1 ( T 9 TV 1, V 0.050000000000000003 )
- 0:1:4:28 Datum.100.1.1 ( )
+ 0:1:4:75 Dimension.100.1 ( T 15, V 12, VL 0.050000000000000003, VU 0.050000000000000003, P 0 )
+ 0:1:4:76 GeomTolerance.100.1 ( T 9 TV 1, V 0.050000000000000003 )
+ 0:1:4:77 Datum.100.1.1 ( )
0:1:1:2:184 Shape.187
- 0:1:4:22 GeomTolerance.187.1 ( T 12 TV 0, V 0.10000000000000001 )
+ 0:1:4:70 GeomTolerance.187.1 ( T 12 TV 0, V 0.10000000000000001 )
0:1:1:2:185 Shape.188
- 0:1:4:45 GeomTolerance.188.1 ( T 12 TV 0, V 0.5 )
- 0:1:4:46 Datum.188.1.1 ( )
- 0:1:4:47 Datum.188.1.2 (, M 15 )
- 0:1:4:48 Datum.188.1.3 ( )
+ 0:1:4:97 GeomTolerance.188.1 ( T 12 TV 0, V 0.5 )
+ 0:1:4:98 Datum.188.1.1 ( )
+ 0:1:4:99 Datum.188.1.2 (, M 15 )
+ 0:1:4:100 Datum.188.1.3 ( )
0:1:1:2:192 Shape.195
- 0:1:4:41 GeomTolerance.195.1 ( T 12 TV 0, V 0.5 )
- 0:1:4:42 Datum.195.1.1 ( )
- 0:1:4:43 Datum.195.1.2 ( )
- 0:1:4:44 Datum.195.1.3 ( )
+ 0:1:4:93 GeomTolerance.195.1 ( T 12 TV 0, V 0.5 )
+ 0:1:4:94 Datum.195.1.1 ( )
+ 0:1:4:95 Datum.195.1.2 ( )
+ 0:1:4:96 Datum.195.1.3 ( )
0:1:1:2:195 Shape.198
- 0:1:4:22 GeomTolerance.198.1 ( T 12 TV 0, V 0.10000000000000001 )
+ 0:1:4:70 GeomTolerance.198.1 ( T 12 TV 0, V 0.10000000000000001 )
0:1:1:2:205 Shape.208
- 0:1:4:53 GeomTolerance.208.1 ( T 12 TV 0, V 0.5 )
- 0:1:4:54 Datum.208.1.1 ( )
- 0:1:4:55 Datum.208.1.2 ( )
- 0:1:4:56 Datum.208.1.3 (, M 15 )
+ 0:1:4:105 GeomTolerance.208.1 ( T 12 TV 0, V 0.5 )
+ 0:1:4:106 Datum.208.1.1 ( )
+ 0:1:4:107 Datum.208.1.2 ( )
+ 0:1:4:108 Datum.208.1.3 (, M 15 )
0:1:1:2:208 Shape.211
- 0:1:4:22 GeomTolerance.211.1 ( T 12 TV 0, V 0.10000000000000001 )
+ 0:1:4:70 GeomTolerance.211.1 ( T 12 TV 0, V 0.10000000000000001 )
0:1:1:2:219 Shape.222
- 0:1:4:22 GeomTolerance.222.1 ( T 12 TV 0, V 0.10000000000000001 )
+ 0:1:4:70 GeomTolerance.222.1 ( T 12 TV 0, V 0.10000000000000001 )
0:1:1:2:220 Shape.223
- 0:1:4:49 GeomTolerance.223.1 ( T 12 TV 0, V 0.5 )
- 0:1:4:50 Datum.223.1.1 ( )
- 0:1:4:51 Datum.223.1.2 (, M 15 )
- 0:1:4:52 Datum.223.1.3 (, M 15 )
+ 0:1:4:101 GeomTolerance.223.1 ( T 12 TV 0, V 0.5 )
+ 0:1:4:102 Datum.223.1.1 ( )
+ 0:1:4:103 Datum.223.1.2 (, M 15 )
+ 0:1:4:104 Datum.223.1.3 (, M 15 )
0:1:1:2:311 Shape.314
- 0:1:4:23 GeomTolerance.314.1 ( T 12 TV 0, V 0.80000000000000004 )
- 0:1:4:24 Datum.314.1.1 (, M 12 )
- 0:1:4:25 Datum.314.1.2 (, M 12 )
+ 0:1:4:71 GeomTolerance.314.1 ( T 12 TV 0, V 0.80000000000000004 )
+ 0:1:4:72 Datum.314.1.1 ( )
+ 0:1:4:73 Datum.314.1.2 (, M 12 )
+ 0:1:4:74 Datum.314.1.3 (, M 12 )
0:1:1:2:331 Shape.334
- 0:1:4:33 Dimension.334.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
- 0:1:4:34 GeomTolerance.334.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:82 Dimension.334.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 0:1:4:83 GeomTolerance.334.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:84 Datum.334.1.1 ( )
0:1:1:2:332 Shape.335
- 0:1:4:33 Dimension.335.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
- 0:1:4:34 GeomTolerance.335.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:82 Dimension.335.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 0:1:4:83 GeomTolerance.335.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:84 Datum.335.1.1 ( )
0:1:1:2:357 Shape.360
- 0:1:4:35 GeomTolerance.360.1 ( T 12 TV 0, V 0.80000000000000004 )
- 0:1:4:36 Datum.360.1.1 ( )
- 0:1:4:37 Datum.360.1.2 ( )
+ 0:1:4:85 GeomTolerance.360.1 ( T 12 TV 0, V 0.80000000000000004 )
+ 0:1:4:86 Datum.360.1.1 ( )
+ 0:1:4:87 Datum.360.1.2 ( )
+ 0:1:4:88 Datum.360.1.3 ( )
0:1:1:2:363 Shape.366
- 0:1:4:60 Dimension.366.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
- 0:1:4:61 GeomTolerance.366.1 ( T 10 TV 1, V 0.14999999999999999, MR 2 )
- 0:1:4:62 Datum.366.1.1 ( )
+ 0:1:4:113 Dimension.366.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 0:1:4:114 GeomTolerance.366.1 ( T 10 TV 1, V 0.14999999999999999, MR 2 )
+ 0:1:4:115 Datum.366.1.1 ( )
+ 0:1:4:116 Datum.366.1.2 ( )
0:1:1:2:364 Shape.367
- 0:1:4:60 Dimension.367.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
- 0:1:4:61 GeomTolerance.367.1 ( T 10 TV 1, V 0.14999999999999999, MR 2 )
- 0:1:4:62 Datum.367.1.1 ( )
+ 0:1:4:113 Dimension.367.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 0:1:4:114 GeomTolerance.367.1 ( T 10 TV 1, V 0.14999999999999999, MR 2 )
+ 0:1:4:115 Datum.367.1.1 ( )
+ 0:1:4:116 Datum.367.1.2 ( )
0:1:1:2:375 Shape.378
- 0:1:4:14 GeomTolerance.378.1 ( T 12 TV 0, V 2.5 )
+ 0:1:4:30 GeomTolerance.378.1 ( T 12 TV 0, V 2.5 )
+ 0:1:4:31 Datum.378.1.1 ( )
+ 0:1:4:32 Datum.378.1.2 ( )
+ 0:1:4:33 Datum.378.1.3 ( )
+ 0:1:4:34 Datum.378.1.4 ( )
+ 0:1:4:35 Datum.378.1.5 ( )
+ 0:1:4:36 Datum.378.1.6 ( )
+ 0:1:4:37 Datum.378.1.7 ( )
+ 0:1:4:38 Datum.378.1.8 ( )
0:1:1:2:396 Shape.399
- 0:1:4:15 GeomTolerance.399.1 ( T 12 TV 0, V 0.75 )
+ 0:1:4:39 GeomTolerance.399.1 ( T 12 TV 0, V 0.75 )
+ 0:1:4:40 Datum.399.1.1 ( )
+ 0:1:4:41 Datum.399.1.2 ( )
+ 0:1:4:42 Datum.399.1.3 ( )
+ 0:1:4:43 Datum.399.1.4 ( )
+ 0:1:4:44 Datum.399.1.5 ( )
+ 0:1:4:45 Datum.399.1.6 ( )
+ 0:1:4:46 Datum.399.1.7 ( )
+ 0:1:4:47 Datum.399.1.8 ( )
0:1:1:2:431 Shape.434
0:1:4:10 Dimension.434.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.434.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.434.1.1 ( )
+ 0:1:4:13 Datum.434.1.2 ( )
+ 0:1:4:14 Datum.434.1.3 ( )
+ 0:1:4:15 Datum.434.1.4 ( )
+ 0:1:4:16 Datum.434.1.5 ( )
+ 0:1:4:17 Datum.434.1.6 ( )
+ 0:1:4:18 Datum.434.1.7 ( )
+ 0:1:4:19 Datum.434.1.8 ( )
0:1:1:2:432 Shape.435
0:1:4:10 Dimension.435.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.435.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.435.1.1 ( )
+ 0:1:4:13 Datum.435.1.2 ( )
+ 0:1:4:14 Datum.435.1.3 ( )
+ 0:1:4:15 Datum.435.1.4 ( )
+ 0:1:4:16 Datum.435.1.5 ( )
+ 0:1:4:17 Datum.435.1.6 ( )
+ 0:1:4:18 Datum.435.1.7 ( )
+ 0:1:4:19 Datum.435.1.8 ( )
0:1:1:2:435 Shape.438
0:1:4:10 Dimension.438.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.438.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.438.1.1 ( )
+ 0:1:4:13 Datum.438.1.2 ( )
+ 0:1:4:14 Datum.438.1.3 ( )
+ 0:1:4:15 Datum.438.1.4 ( )
+ 0:1:4:16 Datum.438.1.5 ( )
+ 0:1:4:17 Datum.438.1.6 ( )
+ 0:1:4:18 Datum.438.1.7 ( )
+ 0:1:4:19 Datum.438.1.8 ( )
0:1:1:2:436 Shape.439
0:1:4:10 Dimension.439.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.439.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.439.1.1 ( )
+ 0:1:4:13 Datum.439.1.2 ( )
+ 0:1:4:14 Datum.439.1.3 ( )
+ 0:1:4:15 Datum.439.1.4 ( )
+ 0:1:4:16 Datum.439.1.5 ( )
+ 0:1:4:17 Datum.439.1.6 ( )
+ 0:1:4:18 Datum.439.1.7 ( )
+ 0:1:4:19 Datum.439.1.8 ( )
0:1:1:2:437 Shape.440
- 0:1:4:38 GeomTolerance.440.1 ( T 12 TV 0, V 0.80000000000000004 )
- 0:1:4:39 Datum.440.1.1 ( )
- 0:1:4:40 Datum.440.1.2 (, M 12 )
+ 0:1:4:89 GeomTolerance.440.1 ( T 12 TV 0, V 0.80000000000000004 )
+ 0:1:4:90 Datum.440.1.1 ( )
+ 0:1:4:91 Datum.440.1.2 ( )
+ 0:1:4:92 Datum.440.1.3 (, M 12 )
0:1:1:2:494 Shape.497
- 0:1:4:12 Dimension.497.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:13 GeomTolerance.497.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:20 Dimension.497.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:21 GeomTolerance.497.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:22 Datum.497.1.1 ( )
+ 0:1:4:23 Datum.497.1.2 ( )
+ 0:1:4:24 Datum.497.1.3 ( )
+ 0:1:4:25 Datum.497.1.4 ( )
+ 0:1:4:26 Datum.497.1.5 ( )
+ 0:1:4:27 Datum.497.1.6 ( )
+ 0:1:4:28 Datum.497.1.7 ( )
+ 0:1:4:29 Datum.497.1.8 ( )
0:1:1:2:495 Shape.498
- 0:1:4:12 Dimension.498.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:13 GeomTolerance.498.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:20 Dimension.498.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:21 GeomTolerance.498.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:22 Datum.498.1.1 ( )
+ 0:1:4:23 Datum.498.1.2 ( )
+ 0:1:4:24 Datum.498.1.3 ( )
+ 0:1:4:25 Datum.498.1.4 ( )
+ 0:1:4:26 Datum.498.1.5 ( )
+ 0:1:4:27 Datum.498.1.6 ( )
+ 0:1:4:28 Datum.498.1.7 ( )
+ 0:1:4:29 Datum.498.1.8 ( )
0:1:1:2:518 Shape.521
- 0:1:4:12 Dimension.521.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:13 GeomTolerance.521.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:20 Dimension.521.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:21 GeomTolerance.521.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:22 Datum.521.1.1 ( )
+ 0:1:4:23 Datum.521.1.2 ( )
+ 0:1:4:24 Datum.521.1.3 ( )
+ 0:1:4:25 Datum.521.1.4 ( )
+ 0:1:4:26 Datum.521.1.5 ( )
+ 0:1:4:27 Datum.521.1.6 ( )
+ 0:1:4:28 Datum.521.1.7 ( )
+ 0:1:4:29 Datum.521.1.8 ( )
0:1:1:2:519 Shape.522
- 0:1:4:12 Dimension.522.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:13 GeomTolerance.522.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:20 Dimension.522.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:21 GeomTolerance.522.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:22 Datum.522.1.1 ( )
+ 0:1:4:23 Datum.522.1.2 ( )
+ 0:1:4:24 Datum.522.1.3 ( )
+ 0:1:4:25 Datum.522.1.4 ( )
+ 0:1:4:26 Datum.522.1.5 ( )
+ 0:1:4:27 Datum.522.1.6 ( )
+ 0:1:4:28 Datum.522.1.7 ( )
+ 0:1:4:29 Datum.522.1.8 ( )
0:1:1:2:540 Shape.543
- 0:1:4:17 GeomTolerance.543.1 ( T 12 TV 0, V 2.5 )
+ 0:1:4:57 GeomTolerance.543.1 ( T 12 TV 0, V 2.5 )
+ 0:1:4:58 Datum.543.1.1 ( )
+ 0:1:4:59 Datum.543.1.2 ( )
+ 0:1:4:60 Datum.543.1.3 ( )
+ 0:1:4:61 Datum.543.1.4 ( )
+ 0:1:4:62 Datum.543.1.5 ( )
+ 0:1:4:63 Datum.543.1.6 ( )
+ 0:1:4:64 Datum.543.1.7 ( )
+ 0:1:4:65 Datum.543.1.8 ( )
0:1:1:2:612 Shape.615
- 0:1:4:20 Datum target.615.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:68 Datum target.615.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:645 Shape.648
- 0:1:4:18 Dimension.648.1 ( T 15, V 40, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:19 GeomTolerance.648.1 ( T 9 TV 1, V 0.25 )
- 0:1:4:20 Datum.648.1.1 ( )
+ 0:1:4:66 Dimension.648.1 ( T 15, V 40, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:67 GeomTolerance.648.1 ( T 9 TV 1, V 0.25 )
+ 0:1:4:68 Datum.648.1.1 ( )
0:1:1:2:646 Shape.649
- 0:1:4:18 Dimension.649.1 ( T 15, V 40, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:19 GeomTolerance.649.1 ( T 9 TV 1, V 0.25 )
- 0:1:4:20 Datum.649.1.1 ( )
+ 0:1:4:66 Dimension.649.1 ( T 15, V 40, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:67 GeomTolerance.649.1 ( T 9 TV 1, V 0.25 )
+ 0:1:4:68 Datum.649.1.1 ( )
0:1:1:2:672 Shape.675
0:1:4:10 Dimension.675.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.675.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.675.1.1 ( )
+ 0:1:4:13 Datum.675.1.2 ( )
+ 0:1:4:14 Datum.675.1.3 ( )
+ 0:1:4:15 Datum.675.1.4 ( )
+ 0:1:4:16 Datum.675.1.5 ( )
+ 0:1:4:17 Datum.675.1.6 ( )
+ 0:1:4:18 Datum.675.1.7 ( )
+ 0:1:4:19 Datum.675.1.8 ( )
0:1:1:2:673 Shape.676
0:1:4:10 Dimension.676.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.676.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.676.1.1 ( )
+ 0:1:4:13 Datum.676.1.2 ( )
+ 0:1:4:14 Datum.676.1.3 ( )
+ 0:1:4:15 Datum.676.1.4 ( )
+ 0:1:4:16 Datum.676.1.5 ( )
+ 0:1:4:17 Datum.676.1.6 ( )
+ 0:1:4:18 Datum.676.1.7 ( )
+ 0:1:4:19 Datum.676.1.8 ( )
0:1:1:2:674 Shape.677
0:1:4:10 Dimension.677.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.677.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.677.1.1 ( )
+ 0:1:4:13 Datum.677.1.2 ( )
+ 0:1:4:14 Datum.677.1.3 ( )
+ 0:1:4:15 Datum.677.1.4 ( )
+ 0:1:4:16 Datum.677.1.5 ( )
+ 0:1:4:17 Datum.677.1.6 ( )
+ 0:1:4:18 Datum.677.1.7 ( )
+ 0:1:4:19 Datum.677.1.8 ( )
0:1:1:2:675 Shape.678
0:1:4:10 Dimension.678.1 ( T 15, V 52, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
0:1:4:11 GeomTolerance.678.1 ( T 10 TV 1, V 1, MR 2 )
+ 0:1:4:12 Datum.678.1.1 ( )
+ 0:1:4:13 Datum.678.1.2 ( )
+ 0:1:4:14 Datum.678.1.3 ( )
+ 0:1:4:15 Datum.678.1.4 ( )
+ 0:1:4:16 Datum.678.1.5 ( )
+ 0:1:4:17 Datum.678.1.6 ( )
+ 0:1:4:18 Datum.678.1.7 ( )
+ 0:1:4:19 Datum.678.1.8 ( )
0:1:1:2:676 Shape.679
- 0:1:4:12 Dimension.679.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:13 GeomTolerance.679.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:20 Dimension.679.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:21 GeomTolerance.679.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:22 Datum.679.1.1 ( )
+ 0:1:4:23 Datum.679.1.2 ( )
+ 0:1:4:24 Datum.679.1.3 ( )
+ 0:1:4:25 Datum.679.1.4 ( )
+ 0:1:4:26 Datum.679.1.5 ( )
+ 0:1:4:27 Datum.679.1.6 ( )
+ 0:1:4:28 Datum.679.1.7 ( )
+ 0:1:4:29 Datum.679.1.8 ( )
0:1:1:2:677 Shape.680
- 0:1:4:12 Dimension.680.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
- 0:1:4:13 GeomTolerance.680.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:20 Dimension.680.1 ( T 15, V 100, VL 0.14999999999999999, VU 0.14999999999999999, P 0 )
+ 0:1:4:21 GeomTolerance.680.1 ( T 10 TV 1, V 1.5, MR 1 )
+ 0:1:4:22 Datum.680.1.1 ( )
+ 0:1:4:23 Datum.680.1.2 ( )
+ 0:1:4:24 Datum.680.1.3 ( )
+ 0:1:4:25 Datum.680.1.4 ( )
+ 0:1:4:26 Datum.680.1.5 ( )
+ 0:1:4:27 Datum.680.1.6 ( )
+ 0:1:4:28 Datum.680.1.7 ( )
+ 0:1:4:29 Datum.680.1.8 ( )
0:1:1:2:678 Shape.681
- 0:1:4:33 Dimension.681.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
- 0:1:4:34 GeomTolerance.681.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:82 Dimension.681.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 0:1:4:83 GeomTolerance.681.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:84 Datum.681.1.1 ( )
0:1:1:2:679 Shape.682
- 0:1:4:27 GeomTolerance.682.1 ( T 9 TV 1, V 0.050000000000000003 )
- 0:1:4:28 Datum.682.1.1 ( )
+ 0:1:4:82 Dimension.682.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 0:1:4:83 GeomTolerance.682.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:84 Datum.682.1.1 ( )
0:1:1:2:680 Shape.683
- 0:1:4:27 GeomTolerance.683.1 ( T 9 TV 1, V 0.050000000000000003 )
- 0:1:4:28 Datum.683.1.1 ( )
+ 0:1:4:76 GeomTolerance.683.1 ( T 9 TV 1, V 0.050000000000000003 )
+ 0:1:4:77 Datum.683.1.1 ( )
0:1:1:2:681 Shape.684
- 0:1:4:30 GeomTolerance.684.1 ( T 10 TV 1, V 0.050000000000000003 )
- 0:1:4:31 Datum.684.1.1 ( )
- 0:1:4:32 Datum.684.1.2 ( )
+ 0:1:4:76 GeomTolerance.684.1 ( T 9 TV 1, V 0.050000000000000003 )
+ 0:1:4:77 Datum.684.1.1 ( )
0:1:1:2:682 Shape.685
- 0:1:4:30 GeomTolerance.685.1 ( T 10 TV 1, V 0.050000000000000003 )
- 0:1:4:31 Datum.685.1.1 ( )
- 0:1:4:32 Datum.685.1.2 ( )
+ 0:1:4:79 GeomTolerance.685.1 ( T 10 TV 1, V 0.050000000000000003 )
+ 0:1:4:80 Datum.685.1.1 ( )
+ 0:1:4:81 Datum.685.1.2 ( )
0:1:1:2:683 Shape.686
- 0:1:4:33 Dimension.686.1 ( T 15, V 22, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
- 0:1:4:34 GeomTolerance.686.1 ( T 9 TV 1, V 0.10000000000000001, MR 2 )
+ 0:1:4:79 GeomTolerance.686.1 ( T 10 TV 1, V 0.050000000000000003 )
+ 0:1:4:80 Datum.686.1.1 ( )
+ 0:1:4:81 Datum.686.1.2 ( )
0:1:1:3:1 Shape.687
0:1:4:1 GeomTolerance.687.1 ( T 11 TV 0, V 0.25 )
0:1:4:2 Datum.687.1.1 ( )
NbOfDimensions : 10
NbOfTolerances : 13
- NbOfDatumFeature : 5
- NbOfAttachedDatum : 26
+ NbOfDatumFeature : 8
+ NbOfAttachedDatum : 47
NbOfDatumTarget : 0
0:1:1:2:2 Shape.5
NbOfDimensions : 9
NbOfTolerances : 6
- NbOfDatumFeature : 8
- NbOfAttachedDatum : 15
+ NbOfDatumFeature : 10
+ NbOfAttachedDatum : 19
NbOfDatumTarget : 0
0:1:1:2:1 Shape.4
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:1:2:21 Shape.24
- 0:1:4:12 GeomTolerance.24.1 ( T 12 TV 0, V 2 )
- 0:1:4:13 Datum.24.1.1 ( )
- 0:1:4:14 Datum.24.1.2 ( )
- 0:1:4:15 Datum.24.1.3 ( )
- 0:1:4:16 GeomTolerance.24.2 ( T 12 TV 0, V 0.20000000000000001 )
- 0:1:4:17 Datum.24.2.1 ( )
- 0:1:1:2:22 Shape.25
- 0:1:4:12 GeomTolerance.25.1 ( T 12 TV 0, V 2 )
- 0:1:4:13 Datum.25.1.1 ( )
- 0:1:4:14 Datum.25.1.2 ( )
- 0:1:4:15 Datum.25.1.3 ( )
- 0:1:4:16 GeomTolerance.25.2 ( T 12 TV 0, V 0.20000000000000001 )
- 0:1:4:17 Datum.25.2.1 ( )
- 0:1:1:2:25 Shape.28
- 0:1:4:18 GeomTolerance.28.1 ( T 12 TV 0, V 0.5 )
- 0:1:4:19 Datum.28.1.1 ( )
- 0:1:4:20 Datum.28.1.2 ( )
- 0:1:4:21 Datum.28.1.3 ( )
- 0:1:1:2:26 Shape.29
- 0:1:4:23 Dimension.29.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 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: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:1:2:27 Shape.30
- 0:1:4:23 Dimension.30.1 ( T 15, V 14, VL 0.10000000000000001, VU 0.10000000000000001, P 0 )
+ 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: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:1:2:29 Shape.32
0:1:4:23 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.2 ( T 2, V 75, 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.2 ( T 2, V 75, 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.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: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: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:1:2:45 Shape.48
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:1:2:84 Shape.87
- 0:1:4:24 Dimension.87.1 ( T 15, V 10, P 0 )
+ 0:1:4:23 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:24 Dimension.88.1 ( T 15, V 10, P 0 )
+ 0:1:4:23 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:26 Dimension.89.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 )
+ 0:1:4:24 Dimension.89.1 ( T 15, V 10, P 0 )
0:1:1:2:87 Shape.90
- 0:1:4:26 Dimension.90.1 ( T 15, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 )
+ 0:1:4:24 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:1:2:89 Shape.92
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:1:2:94 Shape.97
- 0:1:4:27 Dimension.97.1 ( T 2, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 )
+ 0:1:4:26 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:28 Dimension.98.1 ( T 14, V 25, VL 0.25, VU 0.25, P 0 )
- 0:1:4:27 Dimension.98.2 ( T 2, V 20, VL 0.20000000000000001, VU 0.20000000000000001, P 0 )
+ 0:1:4:26 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:29 Dimension.99.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 )
+ 0:1:4:27 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:29 Dimension.100.1 ( T 15, V 20, VL 0.29999999999999999, VU 0.29999999999999999, P 0 )
+ 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: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:1:2:99 Shape.102
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:1:2:156 Shape.159
- 0:1:4:30 Dimension.159.1 ( T 11, V 89.999999999776747, VL 1, VU 1, Q 3, P 0 )
+ 0:1:4:29 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:30 Dimension.160.1 ( T 11, V 89.999999999776747, VL 1, VU 1, Q 3, P 0 )
- 0:1:1:3:1 Shape.161
- 0:1:4:18 GeomTolerance.161.1 ( T 12 TV 0, V 0.5 )
- 0:1:4:19 Datum.161.1.1 ( )
- 0:1:4:20 Datum.161.1.2 ( )
- 0:1:4:21 Datum.161.1.3 ( )
+ 0:1:4:29 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: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: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 ( )
}
NbOfDimensions : 6
NbOfTolerances : 10
- NbOfDatumFeature : 2
- NbOfAttachedDatum : 9
+ NbOfDatumFeature : 6
+ NbOfAttachedDatum : 26
NbOfDatumTarget : 2
0:1:1:2:2 Shape.5
0:1:4:16 GeomTolerance.92.1 ( T 4 TV 1, V 0.76200000000000001 )
0:1:4:17 Datum.92.1.1 ( )
0:1:1:2:118 Shape.121
- 0:1:4:27 Datum target.121.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:27 Datum target.121.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:123 Shape.126
- 0:1:4:25 Datum target.126.1 ( T 3, A ( L (000), XD (10-0), RD (-010)), L 0 )
+ 0:1:4:25 Datum target.126.1 ( T 3, A ( L (000), XD (100), RD (010)), L 0 )
0:1:1:2:125 Shape.128
0:1:4:18 GeomTolerance.128.1 ( T 2 TV 0, V 0.63500000000000001 )
0:1:4:19 Datum.128.1.1 ( )
set filename bug26689_nist_ctc_01_asme1_ap242.stp
set ref_data {
-Centre of mass: 33.295841310232461 -56.047419205695817 -22.610629589474502
-Mass: 12142.750755797097
+Centre of mass: 29.546801037335253 -82.783066220874005 -19.99554027028211
+Mass: 13738.80582018411
}
set filename bug26689_nist_ctc_02_asme1_ap242-2.stp
set ref_data {
-Centre of mass: -20.690618897992287 429.98435462807362 -195.18496405683655
-Mass: 71360.562475059254
+Centre of mass: 18.66947125963403 373.85517189733469 -218.66888436367711
+Mass: 113421.92341292847
}
set filename bug26689_nist_ctc_04_asme1_ap242.stp
set ref_data {
-Centre of mass: -30.449180184134651 416.32906679654656 -71.016553810946093
-Mass: 15380.860003478236
+Centre of mass: -24.252221154276793 414.27122809865392 -67.499648752527435
+Mass: 16181.056829161265
}
set filename bug26689_nist_ctc_05_asme1_ap242-1.stp
set ref_data {
-Centre of mass: 56.678867441850549 62.371517442719387 56.338758909806039
-Mass: 14602.02565195344
+Centre of mass: 48.087957284250827 72.719433938737708 29.443809253146483
+Mass: 17319.863084079672
}
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug27645_nist_ftc_06_asme1_cr3000_rd.prt.stp
-puts "TODO CR27235 ALL:Error : 4 differences with reference data found :"
-puts "TODO CR27235 ALL:Error on writing file"
set ref_data {
-Centre of mass: 362.61474383020976 2196.4222207238172 -2017.5878044804083
-Mass: 639159.86516525224
+Centre of mass: 353.0342262077636 2195.7131569185326 -1984.1595092335315
+Mass: 652240.08849643217
}
set filename bug27808_nist_ftc_06_asme1_ct5240_rd.stp
set ref_data {
-Centre of mass: 4.9764105227425732 64.184386470151395 -67.058886121406474
-Mass: 24387.315219228582
+Centre of mass: -0.74274946098869621 58.97231577066983 -68.214139931277799
+Mass: 27143.62735625666
}
set filename bug27645_nist_ftc_06_asme1_ct5240_rd-1.stp
set ref_data {
-Centre of mass: 126.40116834489778 1630.2833705491985 -1703.2961457827012
-Mass: 619437.81154779939
+Centre of mass: -18.865504732887754 1497.8967671908645 -1732.6395748131215
+Mass: 689448.13901608682
}
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug27645_nist_ftc_08_asme1_cr3000_rc.prt.stp
-puts "TODO CR27235 ALL:Error : 4 differences with reference data found :"
-puts "TODO CR27235 ALL:Error on writing file"
set ref_data {
Centre of mass: 1104.9937982009856 239.05520712068363 1053.1493316328786
set filename bug27808_nist_ftc_08_asme1_ct5240_rc.stp
set ref_data {
-Centre of mass: 44.537314289484314 44.054934745863214 33.295311157211145
-Mass: 22754.349304272349
+Centre of mass: 45.592058840520288 57.746342213198673 29.009867037491144
+Mass: 27993.933359111707
}
set filename bug27645_nist_ftc_08_asme1_ct5240_rc-1.stp
set ref_data {
-Centre of mass: 1131.248437223685 1118.9954844429806 845.70091310388898
-Mass: 577960.40529879264
+Centre of mass: 1158.0392758487928 1466.7572922614359 736.8506424687256
+Mass: 711045.84939578606
}
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug27645_nist_ftc_09_asme1_cr3000_rd.prt.stp
-puts "TODO CR27235 ALL:Error : 4 differences with reference data found :"
-puts "TODO CR27235 ALL:Error on writing file"
set ref_data {
Centre of mass: 502.07157406480525 128.63296443659232 -279.83117556867592
set filename bug27808_nist_ftc_09_asme1_ct5240_rd.stp
set ref_data {
-Centre of mass: -20.281360550123736 7.5575111121398644 -1.4132597243023584
-Mass: 23871.875331976771
+Centre of mass: -36.599786468681039 7.7614827642946826 1.7474609105557635
+Mass: 29481.508138690682
}
set filename bug27645_nist_ftc_09_asme1_ct5240_rd-1.stp
set ref_data {
-Centre of mass: -515.14631491538069 191.96077215596614 -35.896739001613369
-Mass: 606345.50780760846
+Centre of mass: -929.63433298181099 197.14165173802976 44.385591909492049
+Mass: 748830.1046596528
}