#include <BRepBuilderAPI_MakeEdge.hxx>
#include <BRepTools.hxx>
#include <Transfer_ActorOfTransientProcess.hxx>
+#include <Bnd_Box.hxx>
+#include <BRepBndLib.hxx>
// skl 21.08.2003 for reading G&DT
//#include <StepRepr_CompoundItemDefinition.hxx>
aB.MakeCompound(aResAnnotation);
Standard_Integer i =0;
+ Bnd_Box aBox;
for( ; i < anAnnotations.Length(); i++)
{
Handle(StepVisual_StyledItem) anItem = anAnnotations(i);
theName = anItem->Name();
//debug name of dimension====================
- TCollection_AsciiString aCurName = theName.IsNull() ?
+ /* TCollection_AsciiString aCurName = theName.IsNull() ?
(TCollection_AsciiString("Size") + TCollection_AsciiString(numsize++)) : theName->String();
aCurName += "_";
aCurName += TCollection_AsciiString(i);
- aCurName += ".brep";
+ aCurName += ".brep";*/
//========================
Handle(StepVisual_AnnotationCurveOccurrence) anACO =
Handle(StepVisual_AnnotationCurveOccurrence)::DownCast(anItem);
}
}
-
- //if (aCurveItem->IsKind(STANDARD_TYPE(StepShape_GeometricCurveSet))) {
- // Handle(StepShape_GeometricCurveSet) aCurveSet =
- // Handle(StepShape_GeometricCurveSet)::DownCast(aCurveItem);
-
-
-
- // Standard_Integer i = 1;
- // for ( ; i <= aCurveSet->NbElements() && aCurve.IsNull(); i++) {
- // aCurve = Handle(StepGeom_Polyline)::DownCast(aCurveSet->ElementsValue(i).Curve());
- // }
- // if (isDimLoc) {
- // for ( ; i <= aCurveSet->NbElements() && aCurve2.IsNull(); i++) {
- // aCurve2 = Handle(StepGeom_Polyline)::DownCast(aCurveSet->ElementsValue(i).Curve());
- // }
- // }
- //}
- //else {
- // aCurve = Handle(StepGeom_Polyline)::DownCast(aCurveItem);
- //}
+
+ // //get text attacment point
+ //// if( i == anAnnotations.Length() -1)
+ //// {
+ // if (aCurveItem->IsKind(STANDARD_TYPE(StepShape_GeometricCurveSet)))
+ // {
+ // Handle(StepShape_GeometricCurveSet) aCurveSet =
+ // Handle(StepShape_GeometricCurveSet)::DownCast(aCurveItem);
+
+ // Standard_Integer n = 1;
+ // for ( ; n <= aCurveSet->NbElements() && aCurve.IsNull(); n++)
+ // {
+ // aCurve = Handle(StepGeom_Polyline)::DownCast(aCurveSet->ElementsValue(n).Curve());
+ // }
+ // if (isDimLoc) {
+ // for ( ; i <= aCurveSet->NbElements() && aCurve2.IsNull(); i++) {
+ // aCurve2 = Handle(StepGeom_Polyline)::DownCast(aCurveSet->ElementsValue(i).Curve());
+ // }
+ // }
+ // }
+ // else {
+ // aCurve = Handle(StepGeom_Polyline)::DownCast(aCurveItem);
+ // }
//isDimLoc = isDimLoc && !aCurve2.IsNull() && aCurve2->NbPoints() > 0;
isDimLoc = !aPoints.IsNull() && aPoints->Length() > 0;
if( isDimLoc)
{
- //debug
+
NCollection_Handle<StepVisual_VectorOfHSequenceOfInteger> aCurves = aTessCurve->Curves();
Standard_Integer aNbC = (aCurves.IsNull() ? 0 : aCurves->Length());
- //BRep_Builder aB;
TopoDS_Compound aComp;
aB.MakeCompound(aComp);
- // TopoDS_Wire aCurW;
- //aB.MakeWire(aCurW);
+
Standard_Integer k = 0;
for( ; k < aNbC; k++)
{
anAnotationShape = aComp;
}
-
- ////
- // aXYZ1 += aPoints->Value(1);
- // aXYZ2 += aPoints->Value(aPoints->Length());
- // nbP++;
}
if(!anAnotationShape.IsNull())
{
- aCurName.RemoveAll(' ');
+ //aCurName.RemoveAll(' ');
//BRepTools::Write(anAnotationShape, aCurName.ToCString());
+
aB.Add(aResAnnotation, anAnotationShape);
+ if( i == anAnnotations.Length()-1)
+ BRepBndLib::AddClose(anAnotationShape, aBox);
}
- /*if(nbP)
- {
- aPoint = gp_Pnt(aXYZ1/ nbP);
- aPoint2 = gp_Pnt(aXYZ2/ nbP);
- }*/
+
+ }
+
+ gp_Pnt aPtext(0.,0.,0.);
+ if( !aBox.IsVoid())
+ {
+ Standard_Real aXmin, aYmin, aZmin,aXmax, aYmax, aZmax;
+ aBox.Get(aXmin, aYmin, aZmin,aXmax, aYmax, aZmax);
+ aPtext = gp_Pnt((aXmin + aXmax) *0.5, (aYmin + aYmax) *0.5, (aZmin + aZmax) *0.5);
+ //TopoDS_Vertex aV1;
+ //debug add point of text location
+ //aB.MakeVertex(aV1, aPtext , 0);
+ //aB.Add(aResAnnotation,aV1);
+ //Handle(TColgp_HArray1OfPnt) aPnts = new TColgp_HArray1OfPnt(1, 1);
+ //aPnts->SetValue(1, aP);
}
- //////////////////////
-
// set point to XCAF
- /* if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DimensionObject)))
+ if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DimensionObject)))
{
Handle(XCAFDimTolObjects_DimensionObject) anObj =
Handle(XCAFDimTolObjects_DimensionObject)::DownCast(theDimObject);
-
- Handle(TColgp_HArray1OfPnt) aPnts;
- if (isDimLoc)
- aPnts = new TColgp_HArray1OfPnt(1, 2);
- else
- aPnts = new TColgp_HArray1OfPnt(1, 1);
- aPnts->SetValue(1, aPoint);
- if (isDimLoc)
- {
- aPnts->SetValue(1, aPoint);
- aPnts->SetValue(2, aPoint2);
- }
-
- anObj->SetPoints(aPnts);
+ anObj->SetPointTextAttach(aPtext);
+
}
else if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_DatumObject))) {
Handle(XCAFDimTolObjects_DatumObject) anObj =
Handle(XCAFDimTolObjects_DatumObject)::DownCast(theDimObject);
- anObj->SetPoint(aPoint);
+ anObj->SetPointTextAttach(aPtext);
}
else if (theDimObject->IsKind(STANDARD_TYPE(XCAFDimTolObjects_GeomToleranceObject))) {
Handle(XCAFDimTolObjects_GeomToleranceObject) anObj =
Handle(XCAFDimTolObjects_GeomToleranceObject)::DownCast(theDimObject);
- anObj->SetPoint(aPoint);
- }*/
+ anObj->SetPointTextAttach(aPtext);
+ }
return aResAnnotation;
}
Handle(TCollection_HAsciiString) aName;
TopoDS_Shape anAnnotation = readAnnotation(aTR, aSAR->RelatingShapeAspect(), aDatObj,aName);
- TDF_Label aL = aSTool->AddShape(anAnnotation, Standard_False);
- if( !aName.IsNull() && !aL.IsNull())
+ TDF_Label aPresentLabel = aSTool->AddShape(anAnnotation, Standard_False);
+ TDF_Label aDatL = aDat->Label();
+ if( !aPresentLabel.IsNull())
+ aDGTTool->SetPresentation( aDatL, aPresentLabel);
+ if( !aName.IsNull() && !aPresentLabel.IsNull())
{
TCollection_ExtendedString str ( aName->String() );
- TDataStd_Name::Set ( aL, str );
+ TDataStd_Name::Set ( aPresentLabel, str );
}
aDat->SetObject(aDatObj);
}
aDimObj->SetType(aType);
- Handle(TCollection_HAsciiString) anAnnotName;
-
- TopoDS_Shape anAnnotation = readAnnotation(aTR, theEnt, aDimObj, anAnnotName);
- aSTool->AddShape(anAnnotation, Standard_False);
-
- TDF_Label aL = aSTool->AddShape(anAnnotation, Standard_False);
- if( !anAnnotName.IsNull() && !aL.IsNull())
- {
- TCollection_ExtendedString str ( anAnnotName->String() );
- TDataStd_Name::Set ( aL, str );
- }
+
if(!aDimObj.IsNull())
{
+
Handle(XCAFDoc_Dimension) aDim;
+
if(aDimL.FindAttribute(XCAFDoc_Dimension::GetID(),aDim))
{
+ Handle(TCollection_HAsciiString) anAnnotName;
+
+ TopoDS_Shape anAnnotation = readAnnotation(aTR, theEnt, aDimObj, anAnnotName);
+ aSTool->AddShape(anAnnotation, Standard_False);
+
+ TDF_Label aPresentLabel = aSTool->AddShape(anAnnotation, Standard_False);
+ if( !aPresentLabel.IsNull())
+ aDGTTool->SetPresentation( aDimL, aPresentLabel);
+ if( !anAnnotName.IsNull() && !aPresentLabel.IsNull())
+ {
+ TCollection_ExtendedString str ( anAnnotName->String() );
+ TDataStd_Name::Set ( aPresentLabel, str );
+ }
aDim->SetObject(aDimObj);
}
}
TopoDS_Shape anAnnotation = readAnnotation(aTR, theEnt, aTolObj, aName);
TDF_Label aL = aSTool->AddShape(anAnnotation, Standard_False);
+ if( !aL.IsNull())
+ aDGTTool->SetPresentation(aGTol->Label(), aL);
if( !aName.IsNull() && !aL.IsNull())
{
TCollection_ExtendedString str ( aName->String() );
myIsDTarget = Standard_False;
myHasPlane = Standard_False;
myHasPnt = Standard_False;
- myHasPnt2 = Standard_False;
+ myHasPntText = Standard_False;
}
//=======================================================================
myDTargetType = theObj->myDTargetType;
myPlane = theObj->myPlane;
myPnt= theObj->myPnt;
- myPnt2= theObj->myPnt2;
+ myPntText= theObj->myPntText;
myHasPlane = theObj->myHasPlane;
myHasPnt = theObj->myHasPnt;
- myHasPnt2 = theObj->myHasPnt2;
+ myHasPntText = theObj->myHasPntText;
}
//=======================================================================
myHasPnt = Standard_True;
}
- const gp_Pnt& GetPoint() const { return myPnt; }
+ const gp_Pnt& GetPoint() const
+ {
+ return myPnt;
+ }
- void SetPoint2 (const gp_Pnt& thePnt)
+
+ void SetPointTextAttach (const gp_Pnt& thePntText)
{
- myPnt2 = thePnt;
- myHasPnt2 = Standard_True;
+ myPntText = thePntText;
+ myHasPntText = Standard_True;
}
- const gp_Pnt& GetPoint2() const { return myPnt2; }
+ const gp_Pnt& GetPointTextAttach() const
+ {
+ return myPntText;
+ }
Standard_Boolean HasPlane() const { return myHasPlane; }
Standard_Boolean HasPoint() const { return myHasPnt; }
- Standard_Boolean HasPoint2() const { return myHasPnt2; }
+ Standard_Boolean HasTextPoint() const
+ {
+ return myHasPntText;
+ }
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_DatumObject,Standard_Transient)
Standard_Integer myDatumTargetNumber;
gp_Ax2 myPlane;
gp_Pnt myPnt;
- gp_Pnt myPnt2;
+ gp_Pnt myPntText;
Standard_Boolean myHasPlane;
Standard_Boolean myHasPnt;
- Standard_Boolean myHasPnt2;
+ Standard_Boolean myHasPntText;
};
#endif // _XCAFDimTolObjects_DatumObject_HeaderFile
XCAFDimTolObjects_DimensionObject::XCAFDimTolObjects_DimensionObject()
{
myHasPlane = Standard_False;
- myHasPnt2 = Standard_False;
+ myHasPntText = Standard_False;
}
//=======================================================================
myPath = theObj->myPath;
myDir = theObj->myDir;
myPnts = theObj->myPnts;
- myPnt2= theObj->myPnt2;
+ myPntText= theObj->myPntText;
myHasPlane = theObj->myHasPlane;
myPlane = theObj->myPlane;
- myHasPnt2 = theObj->myHasPnt2;
+ myHasPntText = theObj->myHasPntText;
}
//=======================================================================
Standard_EXPORT void SetPoints (const Handle(TColgp_HArray1OfPnt)& thePnts);
- void SetPoint2 (const gp_Pnt& thePnt)
+ void SetPointTextAttach (const gp_Pnt& thePntText)
{
- myPnt2 = thePnt;
- myHasPnt2 = Standard_True;
+ myPntText = thePntText;
+ myHasPntText = Standard_True;
}
- const gp_Pnt& GetPoint2() const { return myPnt2; }
+ const gp_Pnt& GetPointTextAttach() const { return myPntText; }
void SetPlane (const gp_Ax2& thePlane)
{
Standard_Boolean HasPoints() const { return (!myPnts.IsNull() && myPnts->Length() > 0); }
- Standard_Boolean HasPoint2() const { return myHasPnt2; }
+ Standard_Boolean HasPoint2() const { return myHasPntText; }
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_DimensionObject,Standard_Transient)
TopoDS_Edge myPath;
gp_Dir myDir;
Handle(TColgp_HArray1OfPnt) myPnts;
- gp_Pnt myPnt2;
gp_Ax2 myPlane;
Standard_Boolean myHasPlane;
- Standard_Boolean myHasPnt2;
+ Standard_Boolean myHasPnt;
+ Standard_Boolean myHasPntText;
+ gp_Pnt myPntText;
};
myHasAxis = Standard_False;
myHasPlane = Standard_False;
myHasPnt = Standard_False;
- myHasPnt2 = Standard_False;
+ myHasPntText = Standard_False;
}
//=======================================================================
myHasAxis = theObj->myHasAxis;
myPlane = theObj->myPlane;
myPnt= theObj->myPnt;
- myPnt2= theObj->myPnt2;
+ myPntText= theObj->myPntText;
myHasPlane = theObj->myHasPlane;
myHasPnt = theObj->myHasPnt;
- myHasPnt2 = theObj->myHasPnt2;
+ myHasPntText = theObj->myHasPntText;
}
//=======================================================================
const gp_Pnt& GetPoint() const { return myPnt; }
- void SetPoint2 (const gp_Pnt& thePnt)
+ void SetPointTextAttach (const gp_Pnt& thePntText)
{
- myPnt2 = thePnt;
- myHasPnt2 = Standard_True;
+ myPntText = thePntText;
+ myHasPntText = Standard_True;
}
- const gp_Pnt& GetPoint2() const { return myPnt2; }
-
+ const gp_Pnt& GetPointTextAttach() const
+ {
+ return myPntText;
+ }
Standard_Boolean HasPlane() const { return myHasPlane; }
Standard_Boolean HasPoint() const { return myHasPnt; }
- Standard_Boolean HasPoint2() const { return myHasPnt2; }
+ Standard_Boolean HasPointText() const
+ {
+ return myHasPntText;
+ }
DEFINE_STANDARD_RTTIEXT(XCAFDimTolObjects_GeomToleranceObject,Standard_Transient)
Standard_Boolean myHasAxis;
gp_Ax2 myPlane;
gp_Pnt myPnt;
- gp_Pnt myPnt2;
+ gp_Pnt myPntText;;
Standard_Boolean myHasPlane;
Standard_Boolean myHasPnt;
- Standard_Boolean myHasPnt2;
+ Standard_Boolean myHasPntText;
};
ChildLab_PlaneN,
ChildLab_PlaneRef,
ChildLab_Pnt,
- ChildLab_Pnt2,
+ ChildLab_PntText,
+ ChildLab_Presentation
};
//=======================================================================
Label().FindChild(ChildLab_Pnt).AddAttribute(aLoc);
}
- if (theObject->HasPoint2())
+ if (theObject->HasTextPoint())
{
Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
- gp_Pnt aPnt2 = theObject->GetPoint2();
+ gp_Pnt aPntText = theObject->GetPointTextAttach();
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
for (Standard_Integer i = 1; i <= 3; i++)
- aLocArr->SetValue(i, aPnt2.Coord(i));
+ aLocArr->SetValue(i, aPntText.Coord(i));
aLoc->ChangeArray(aLocArr);
- Label().FindChild(ChildLab_Pnt2).AddAttribute(aLoc);
+ Label().FindChild(ChildLab_PntText).AddAttribute(aLoc);
}
}
anObj->SetPoint(aP);
}
- Handle(TDataStd_RealArray) aPnt2;
- if(Label().FindChild(ChildLab_Pnt2).FindAttribute(TDataStd_RealArray::GetID(), aPnt2) && aPnt2->Length() == 3 )
+ Handle(TDataStd_RealArray) aPntText;
+ if(Label().FindChild(ChildLab_PntText).FindAttribute(TDataStd_RealArray::GetID(), aPntText) && aPntText->Length() == 3 )
{
- gp_Pnt aP (aPnt2->Value(aPnt2->Lower()), aPnt2->Value(aPnt2->Lower()+1), aPnt2->Value(aPnt2->Lower()+2));
- anObj->SetPoint2(aP);
+ gp_Pnt aP (aPntText->Value(aPntText->Lower()), aPntText->Value(aPntText->Lower()+1), aPntText->Value(aPntText->Lower()+2));
+ anObj->SetPointTextAttach(aP);
}
Handle(TDataStd_Integer) aIsDTarget;
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-
+#include <XCAFDoc_DimTolTool.hxx>
#include <Precision.hxx>
#include <Standard_GUID.hxx>
#include <Standard_Type.hxx>
#include <XCAFDoc_GraphNode.hxx>
#include <XCAFDoc_ShapeTool.hxx>
+
IMPLEMENT_STANDARD_RTTIEXT(XCAFDoc_DimTolTool,TDF_Attribute)
//=======================================================================
return Standard_True;
}
+//=======================================================================
+//function : SetPresentation
+//purpose :
+//=======================================================================
+Standard_Boolean XCAFDoc_DimTolTool::SetPresentation(const TDF_Label& theDimLabel, const TopoDS_Shape& theShape)
+{
+ TDF_Label aShapeL;
+ if ( ! ShapeTool()->Search (theShape, aShapeL ) )
+ return Standard_False;
+ SetPresentation( theDimLabel,aShapeL);
+ return Standard_True;
+}
+
+//=======================================================================
+//function : SetPresentation
+//purpose :
+//=======================================================================
+
+void XCAFDoc_DimTolTool::SetPresentation(const TDF_Label& theDimLabel,
+ const TDF_Label& theShapeLabel)
+{
+ Handle(TDataStd_TreeNode) refNode, mainNode;
+ mainNode = TDataStd_TreeNode::Set ( theDimLabel, XCAFDoc::ShapeRefGUID() );
+ refNode = TDataStd_TreeNode::Set ( theShapeLabel, XCAFDoc::ShapeRefGUID() );
+ refNode->Remove(); // abv: fix against bug in TreeNode::Append()
+ mainNode->Append(refNode);
+
+}
+
+//=======================================================================
+//function : GetPresentation
+//purpose :
+//=======================================================================
+
+TopoDS_Shape XCAFDoc_DimTolTool::GetPresentation (const TDF_Label& theDimLabel)
+{
+ TDF_Label aPresentLabel = GetPresentationLabel ( theDimLabel);
+ TopoDS_Shape aShape;
+ if( !aPresentLabel.IsNull())
+ aShape = ShapeTool()->GetShape(aPresentLabel);
+ return aShape;
+}
+//=======================================================================
+//function : GetPresentation
+//purpose :
+//=======================================================================
+TDF_Label XCAFDoc_DimTolTool::GetPresentationLabel(const TDF_Label& theDimLabel)
+{
+ TDF_Label aShapeLabel;
+ Handle(TDataStd_TreeNode) Node;
+ if ( ! theDimLabel.FindAttribute ( XCAFDoc::ShapeRefGUID(), Node) ||
+ ! Node->HasFather() )
+ return aShapeLabel;
+ aShapeLabel = Node->Father()->Label();
+ return aShapeLabel;
+}
//=======================================================================
//function : ID
ChildLab_PlaneLoc,
ChildLab_PlaneN,
ChildLab_PlaneRef,
- ChildLab_Pnt2,
+ ChildLab_PntText,
+ ChildLab_Presentation
+
};
//=======================================================================
Label().FindChild(ChildLab_PlaneRef).AddAttribute(aR);
}
- if (theObject->HasPoint2())
+ if (theObject->HasTextPoint())
{
Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
- gp_Pnt aPnt2 = theObject->GetPoint2();
+ gp_Pnt aPntText = theObject->GetPointTextAttach();
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
for (Standard_Integer i = 1; i <= 3; i++)
- aLocArr->SetValue(i, aPnt2.Coord(i));
+ aLocArr->SetValue(i, aPntText.Coord(i));
aLoc->ChangeArray(aLocArr);
- Label().FindChild(ChildLab_Pnt2).AddAttribute(aLoc);
+ Label().FindChild(ChildLab_PntText).AddAttribute(aLoc);
}
+
+
+
}
//=======================================================================
anObj->SetPlane(anAx);
}
- Handle(TDataStd_RealArray) aPnt2;
- if(Label().FindChild(ChildLab_Pnt2).FindAttribute(TDataStd_RealArray::GetID(), aPnt2) && aPnt2->Length() == 3 )
+ Handle(TDataStd_RealArray) aPntText;
+ if(Label().FindChild(ChildLab_PntText).FindAttribute(TDataStd_RealArray::GetID(), aPntText) && aPntText->Length() == 3 )
{
- gp_Pnt aP(aPnt2->Value(aPnt2->Lower()), aPnt2->Value(aPnt2->Lower()+1), aPnt2->Value(aPnt2->Lower()+2));
- anObj->SetPoint2(aP);
+ gp_Pnt aP(aPntText->Value(aPntText->Lower()), aPntText->Value(aPntText->Lower()+1), aPntText->Value(aPntText->Lower()+2));
+ anObj->SetPointTextAttach(aP);
}
+ /* Handle(TNaming_NamedShape) NS;
+ TDF_Label aLPres = Label().FindChild( ChildLab_Presentation);
+ if ( ! aLPres.FindAttribute(TNaming_NamedShape::GetID(), NS) )
+ return Standard_False;
+ TopoDS_Shape aPresShape = TNaming_Tool::GetShape(NS);*/
return anObj;
}
ChildLab_PlaneN,
ChildLab_PlaneRef,
ChildLab_Pnt,
- ChildLab_Pnt2,
+ ChildLab_PntText,
+ ChildLab_Presentation
};
//=======================================================================
Label().FindChild(ChildLab_Pnt).AddAttribute(aLoc);
}
- if (theObject->HasPoint2())
+ if (theObject->HasPointText())
{
Handle(TDataStd_RealArray) aLoc = new TDataStd_RealArray();
- gp_Pnt aPnt2 = theObject->GetPoint2();
+ gp_Pnt aPntText = theObject->GetPointTextAttach();
Handle(TColStd_HArray1OfReal) aLocArr = new TColStd_HArray1OfReal(1, 3);
for (Standard_Integer i = 1; i <= 3; i++)
- aLocArr->SetValue(i, aPnt2.Coord(i));
+ aLocArr->SetValue(i, aPntText.Coord(i));
aLoc->ChangeArray(aLocArr);
- Label().FindChild(ChildLab_Pnt2).AddAttribute(aLoc);
+ Label().FindChild(ChildLab_PntText).AddAttribute(aLoc);
}
}
anObj->SetPoint(aP);
}
- Handle(TDataStd_RealArray) aPnt2;
- if(Label().FindChild(ChildLab_Pnt2).FindAttribute(TDataStd_RealArray::GetID(), aPnt2) && aPnt2->Length() == 3 )
+ Handle(TDataStd_RealArray) aPntText;
+ if(Label().FindChild(ChildLab_PntText).FindAttribute(TDataStd_RealArray::GetID(), aPntText) && aPntText->Length() == 3 )
{
- gp_Pnt aP(aPnt2->Value(aPnt2->Lower()), aPnt2->Value(aPnt2->Lower()+1), aPnt2->Value(aPnt2->Lower()+2));
- anObj->SetPoint2(aP);
+ gp_Pnt aP(aPntText->Value(aPntText->Lower()), aPntText->Value(aPntText->Lower()+1), aPntText->Value(aPntText->Lower()+2));
+ anObj->SetPointTextAttach(aP);
}
return anObj;