mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-05 18:16:23 +03:00
0028235: Data Exchange - DG&T datum XCAF object has incomplete list of shape references
Update STEP import and export of datums. Update test cases.
This commit is contained in:
parent
5da3dfdf08
commit
400af1bcf6
src
STEPCAFControl
XCAFDimTolObjects
XCAFDoc
XDEDRAW
tests/gdt
@ -15,6 +15,7 @@
|
||||
|
||||
|
||||
#include <BRep_Builder.hxx>
|
||||
#include <Geom_Axis2Placement.hxx>
|
||||
#include <Interface_EntityIterator.hxx>
|
||||
#include <Interface_InterfaceModel.hxx>
|
||||
#include <StepData_StepModel.hxx>
|
||||
@ -172,6 +173,7 @@
|
||||
#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>
|
||||
@ -1961,7 +1963,7 @@ Standard_Boolean readAnnotationPlane(const Handle(StepVisual_AnnotationPlane) th
|
||||
// (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())
|
||||
@ -2258,240 +2260,307 @@ static Standard_Integer FindShapeIndexForDGT(const Handle(Standard_Transient)& t
|
||||
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;
|
||||
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;
|
||||
TDF_LabelSequence aShapeLabels;
|
||||
Handle(XCAFDimTolObjects_DatumObject) aDatObj = new XCAFDimTolObjects_DatumObject();
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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(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;
|
||||
}
|
||||
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)))
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Interface_EntityIterator anIterDTF = aGraph.Shareds(aSA);
|
||||
for(anIterDTF.Start(); anIterDTF.More(); anIterDTF.Next()) {
|
||||
if(anIterDTF.Value()->IsKind(STANDARD_TYPE(StepRepr_PropertyDefinition)))
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//processing for darum feature
|
||||
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);
|
||||
}
|
||||
if(!aDatObj.IsNull()) {
|
||||
// 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() || 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);
|
||||
aDat->SetObject(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);
|
||||
}
|
||||
}
|
||||
}
|
||||
return !aDat.IsNull();
|
||||
|
||||
// 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 (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 (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;
|
||||
}
|
||||
}
|
||||
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(StepGeom_Axis2Placement3d) anAx
|
||||
= Handle(StepGeom_Axis2Placement3d)::DownCast(aSRWP->ItemsValue(i));
|
||||
Handle(Geom_Axis2Placement) anAxis = StepToGeom::MakeAxis2Placement(anAx);
|
||||
aDatObj->SetDatumTargetAxis(anAxis->Ax2());
|
||||
}
|
||||
else if (aSRWP->ItemsValue(i)->IsKind(STANDARD_TYPE(StepRepr_ReprItemAndLengthMeasureWithUnit)))
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create datum target object
|
||||
if (isValidDT) {
|
||||
TDF_Label aDatL = aDGTTool->AddDatum();
|
||||
aDat = XCAFDoc_Datum::Set(aDatL);
|
||||
aDGTTool->SetDatum(aDTShapeLabels, 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);
|
||||
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 Standard_True;
|
||||
}
|
||||
|
||||
|
||||
@ -2504,8 +2573,6 @@ static Standard_Boolean readDatumsAP242(const Handle(Standard_Transient)& theEnt
|
||||
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();
|
||||
@ -2645,55 +2712,6 @@ static Standard_Boolean readDatumsAP242(const Handle(Standard_Transient)& theEnt
|
||||
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 :
|
||||
|
@ -241,6 +241,7 @@
|
||||
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>
|
||||
@ -2490,7 +2491,7 @@ static void WritePresentation(const Handle(XSControl_WorkSession) &WS,
|
||||
// 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)
|
||||
@ -2505,31 +2506,51 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi
|
||||
Interface_Graph aGraph = aHGraph->Graph();
|
||||
|
||||
Handle(StepRepr_ShapeAspect) aSA;
|
||||
Handle(StepAP242_GeometricItemSpecificUsage) aGISU;
|
||||
// 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;
|
||||
Handle(StepRepr_ProductDefinitionShape) aPDS;
|
||||
NCollection_Sequence<Handle(StepRepr_ShapeAspect)> aSASeq;
|
||||
Handle(StepAP242_GeometricItemSpecificUsage) aGISU;
|
||||
Standard_Integer aSANum = 0, aGISUNum = 0;
|
||||
// Link with datum feature
|
||||
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);
|
||||
FindEntities( FP, aShape, aLoc, aSeqRI );
|
||||
if ( aSeqRI.Length() <= 0 ) {
|
||||
FP->Messenger() << "Warning: Cannot find RI for "<<aShape.TShape()->DynamicType()->Name()<<endl;
|
||||
return NULL;
|
||||
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;
|
||||
|
||||
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))
|
||||
@ -2549,14 +2570,34 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi
|
||||
|
||||
// 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 {
|
||||
@ -2571,13 +2612,13 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi
|
||||
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),
|
||||
@ -2589,59 +2630,76 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi
|
||||
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;
|
||||
}
|
||||
|
||||
@ -2649,34 +2707,16 @@ static Handle(StepDimTol_Datum) WriteDatumAP242(const Handle(XSControl_WorkSessi
|
||||
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);
|
||||
@ -3733,6 +3773,9 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W
|
||||
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;
|
||||
@ -3746,10 +3789,8 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W
|
||||
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();
|
||||
@ -3759,7 +3800,7 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W
|
||||
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);
|
||||
|
@ -24,6 +24,7 @@ IMPLEMENT_STANDARD_RTTIEXT(XCAFDimTolObjects_DatumObject,Standard_Transient)
|
||||
XCAFDimTolObjects_DatumObject::XCAFDimTolObjects_DatumObject()
|
||||
{
|
||||
myIsDTarget = Standard_False;
|
||||
myIsValidDT = Standard_False;
|
||||
myHasPlane = Standard_False;
|
||||
myHasPnt = Standard_False;
|
||||
myHasPntText = Standard_False;
|
||||
@ -42,6 +43,7 @@ XCAFDimTolObjects_DatumObject::XCAFDimTolObjects_DatumObject(const Handle(XCAFDi
|
||||
myValueOfModifier = theObj->myValueOfModifier;
|
||||
myDatumTarget = theObj->myDatumTarget;
|
||||
myIsDTarget = theObj->myIsDTarget;
|
||||
myIsValidDT = theObj->myIsValidDT;
|
||||
myAxis = theObj->myAxis;
|
||||
myDTargetType = theObj->myDTargetType;
|
||||
myPlane = theObj->myPlane;
|
||||
@ -224,6 +226,7 @@ gp_Ax2 XCAFDimTolObjects_DatumObject::GetDatumTargetAxis() const
|
||||
void XCAFDimTolObjects_DatumObject::SetDatumTargetAxis(const gp_Ax2& theAxis)
|
||||
{
|
||||
myAxis = theAxis;
|
||||
myIsValidDT = Standard_True;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -244,6 +247,7 @@ Standard_Real XCAFDimTolObjects_DatumObject::GetDatumTargetLength() const
|
||||
void XCAFDimTolObjects_DatumObject::SetDatumTargetLength(const Standard_Real theLength)
|
||||
{
|
||||
myLength = theLength;
|
||||
myIsValidDT = Standard_True;
|
||||
}
|
||||
|
||||
|
||||
@ -265,6 +269,7 @@ Standard_Real XCAFDimTolObjects_DatumObject::GetDatumTargetWidth() const
|
||||
void XCAFDimTolObjects_DatumObject::SetDatumTargetWidth(const Standard_Real theWidth)
|
||||
{
|
||||
myWidth = theWidth;
|
||||
myIsValidDT = Standard_True;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@ -151,7 +151,11 @@ public:
|
||||
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)
|
||||
|
||||
@ -164,6 +168,7 @@ private:
|
||||
TopoDS_Shape myDatumTarget;
|
||||
Standard_Integer myPosition;
|
||||
Standard_Boolean myIsDTarget;
|
||||
Standard_Boolean myIsValidDT;
|
||||
XCAFDimTolObjects_DatumTargetType myDTargetType;
|
||||
gp_Ax2 myAxis;
|
||||
Standard_Real myLength;
|
||||
|
@ -226,7 +226,7 @@ void XCAFDoc_Datum::SetObject(const Handle(XCAFDimTolObjects_DatumObject)& theOb
|
||||
tnBuild.Generated(theObject->GetDatumTarget());
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (theObject->HasDatumTargetParams())
|
||||
{
|
||||
Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
|
||||
Handle(TDataStd_RealArray) aN = new TDataStd_RealArray();
|
||||
|
@ -20,6 +20,7 @@
|
||||
#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>
|
||||
@ -517,6 +518,13 @@ Standard_Boolean XCAFDoc_DimTolTool::GetRefShapeLabel(const TDF_Label& theL,
|
||||
}
|
||||
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++)
|
||||
{
|
||||
@ -596,17 +604,12 @@ Standard_Boolean XCAFDoc_DimTolTool::GetRefGeomToleranceLabels(const TDF_Label&
|
||||
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;
|
||||
}
|
||||
@ -728,15 +731,42 @@ TDF_Label XCAFDoc_DimTolTool::AddDatum()
|
||||
//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);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -753,7 +783,9 @@ void XCAFDoc_DimTolTool::SetDatum(const TDF_Label& L,
|
||||
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;
|
||||
|
@ -161,7 +161,7 @@ public:
|
||||
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
|
||||
|
@ -760,6 +760,9 @@ static Standard_Integer XAttributeValue (Draw_Interpretor& di, Standard_Integer
|
||||
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);
|
||||
|
@ -589,7 +589,7 @@ static Standard_Integer addGTol (Draw_Interpretor& di, Standard_Integer argc, co
|
||||
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;
|
||||
@ -598,24 +598,22 @@ static Standard_Integer addDatum (Draw_Interpretor& di, Standard_Integer argc, c
|
||||
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;
|
||||
@ -2534,7 +2532,7 @@ void XDEDRAW_GDTs::InitCommands(Draw_Interpretor& di)
|
||||
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",
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 0
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 5
|
||||
NbOfDatumFeature : 3
|
||||
NbOfAttachedDatum : 11
|
||||
NbOfDatumFeature : 5
|
||||
NbOfAttachedDatum : 17
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -12,8 +12,8 @@ set ref_data {
|
||||
NbOfTolerances : 22
|
||||
NbOfGTWithModifiers : 4
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 13
|
||||
NbOfDatumFeature : 5
|
||||
NbOfAttachedDatum : 24
|
||||
NbOfDatumTarget : 9
|
||||
NbOfGTWithDatums : 20
|
||||
NbOfDatumFeature : 15
|
||||
NbOfAttachedDatum : 70
|
||||
NbOfDatumTarget : 57
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 2
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 11
|
||||
NbOfDatumFeature : 5
|
||||
NbOfAttachedDatum : 26
|
||||
NbOfDatumFeature : 8
|
||||
NbOfAttachedDatum : 47
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 0
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 6
|
||||
NbOfDatumFeature : 8
|
||||
NbOfAttachedDatum : 15
|
||||
NbOfDatumFeature : 10
|
||||
NbOfAttachedDatum : 19
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 0
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 8
|
||||
NbOfDatumFeature : 2
|
||||
NbOfAttachedDatum : 9
|
||||
NbOfDatumFeature : 6
|
||||
NbOfAttachedDatum : 26
|
||||
NbOfDatumTarget : 2
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
# !!!! 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 {
|
||||
|
||||
@ -14,8 +12,8 @@ set ref_data {
|
||||
NbOfTolerances : 27
|
||||
NbOfGTWithModifiers : 4
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 3
|
||||
NbOfDatumFeature : 3
|
||||
NbOfAttachedDatum : 3
|
||||
NbOfGTWithDatums : 24
|
||||
NbOfDatumFeature : 5
|
||||
NbOfAttachedDatum : 5
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -12,8 +12,8 @@ set ref_data {
|
||||
NbOfTolerances : 27
|
||||
NbOfGTWithModifiers : 4
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 23
|
||||
NbOfDatumFeature : 6
|
||||
NbOfAttachedDatum : 54
|
||||
NbOfGTWithDatums : 24
|
||||
NbOfDatumFeature : 16
|
||||
NbOfAttachedDatum : 78
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -12,8 +12,8 @@ set ref_data {
|
||||
NbOfTolerances : 27
|
||||
NbOfGTWithModifiers : 4
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 23
|
||||
NbOfDatumFeature : 6
|
||||
NbOfAttachedDatum : 54
|
||||
NbOfGTWithDatums : 24
|
||||
NbOfDatumFeature : 16
|
||||
NbOfAttachedDatum : 78
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
# !!!! 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 {
|
||||
|
||||
@ -14,7 +12,7 @@ set ref_data {
|
||||
NbOfTolerances : 30
|
||||
NbOfGTWithModifiers : 14
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 1
|
||||
NbOfGTWithDatums : 27
|
||||
NbOfDatumFeature : 2
|
||||
NbOfAttachedDatum : 2
|
||||
NbOfDatumTarget : 0
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 17
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 30
|
||||
NbOfDatumFeature : 10
|
||||
NbOfAttachedDatum : 75
|
||||
NbOfDatumFeature : 22
|
||||
NbOfAttachedDatum : 124
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 17
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 30
|
||||
NbOfDatumFeature : 10
|
||||
NbOfAttachedDatum : 75
|
||||
NbOfDatumFeature : 22
|
||||
NbOfAttachedDatum : 124
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
# !!!! 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 {
|
||||
|
||||
@ -14,7 +12,7 @@ set ref_data {
|
||||
NbOfTolerances : 29
|
||||
NbOfGTWithModifiers : 6
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 0
|
||||
NbOfGTWithDatums : 28
|
||||
NbOfDatumFeature : 0
|
||||
NbOfAttachedDatum : 0
|
||||
NbOfDatumTarget : 0
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 6
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 30
|
||||
NbOfDatumFeature : 6
|
||||
NbOfAttachedDatum : 73
|
||||
NbOfDatumFeature : 22
|
||||
NbOfAttachedDatum : 126
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ set ref_data {
|
||||
NbOfGTWithModifiers : 6
|
||||
NbOfGTWithMaxTolerance : 0
|
||||
NbOfGTWithDatums : 30
|
||||
NbOfDatumFeature : 6
|
||||
NbOfAttachedDatum : 73
|
||||
NbOfDatumFeature : 22
|
||||
NbOfAttachedDatum : 126
|
||||
NbOfDatumTarget : 0
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ set ref_data {
|
||||
|
||||
NbOfDimensions : 8
|
||||
NbOfTolerances : 6
|
||||
NbOfDatumFeature : 3
|
||||
NbOfAttachedDatum : 11
|
||||
NbOfDatumFeature : 5
|
||||
NbOfAttachedDatum : 17
|
||||
NbOfDatumTarget : 0
|
||||
|
||||
0:1:1:1:1 Shape.2
|
||||
@ -45,31 +45,31 @@ set ref_data {
|
||||
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
|
||||
|
@ -5,9 +5,9 @@ set ref_data {
|
||||
|
||||
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 )
|
||||
@ -19,177 +19,379 @@ set ref_data {
|
||||
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 ( )
|
||||
|
@ -5,8 +5,8 @@ set ref_data {
|
||||
|
||||
NbOfDimensions : 10
|
||||
NbOfTolerances : 13
|
||||
NbOfDatumFeature : 5
|
||||
NbOfAttachedDatum : 26
|
||||
NbOfDatumFeature : 8
|
||||
NbOfAttachedDatum : 47
|
||||
NbOfDatumTarget : 0
|
||||
|
||||
0:1:1:2:2 Shape.5
|
||||
|
@ -5,8 +5,8 @@ set ref_data {
|
||||
|
||||
NbOfDimensions : 9
|
||||
NbOfTolerances : 6
|
||||
NbOfDatumFeature : 8
|
||||
NbOfAttachedDatum : 15
|
||||
NbOfDatumFeature : 10
|
||||
NbOfAttachedDatum : 19
|
||||
NbOfDatumTarget : 0
|
||||
|
||||
0:1:1:2:1 Shape.4
|
||||
@ -129,29 +129,25 @@ set ref_data {
|
||||
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
|
||||
@ -174,10 +170,8 @@ set ref_data {
|
||||
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 )
|
||||
@ -186,8 +180,10 @@ set ref_data {
|
||||
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
|
||||
@ -269,13 +265,13 @@ set ref_data {
|
||||
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
|
||||
@ -289,14 +285,14 @@ set ref_data {
|
||||
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
|
||||
@ -414,12 +410,16 @@ set ref_data {
|
||||
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 ( )
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ set ref_data {
|
||||
|
||||
NbOfDimensions : 6
|
||||
NbOfTolerances : 10
|
||||
NbOfDatumFeature : 2
|
||||
NbOfAttachedDatum : 9
|
||||
NbOfDatumFeature : 6
|
||||
NbOfAttachedDatum : 26
|
||||
NbOfDatumTarget : 2
|
||||
|
||||
0:1:1:2:2 Shape.5
|
||||
@ -30,9 +30,9 @@ set ref_data {
|
||||
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 ( )
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
# !!!! 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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
# !!!! 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
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
# !!!! 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
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
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
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user