diff --git a/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx b/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx index 998c8e1687..209eb69338 100644 --- a/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx +++ b/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -488,9 +489,11 @@ StepToTopoDS_TranslateFace::createMesh(const Handle(StepVisual_TriangulatedFace) const Standard_Boolean aHasNormals = (theTF->NbNormals() > 0); Handle(Poly_Triangulation) aMesh = new Poly_Triangulation(theTF->NbPnindex(), theTF->NbTriangles(), aHasUVNodes, aHasNormals); + const Standard_Real aLF = StepData_GlobalFactors::Intance().LengthFactor(); for (Standard_Integer j = 1; j <= theTF->NbPnindex(); ++j) { - aMesh->SetNode(j, aNodes->Value(theTF->PnindexValue(j))); + const gp_XYZ& aPoint = aNodes->Value(theTF->PnindexValue(j)); + aMesh->SetNode(j, aPoint * aLF); } for (Standard_Integer k = 1; k <= theTF->NbTriangles(); ++k) @@ -573,9 +576,11 @@ StepToTopoDS_TranslateFace::createMesh(const Handle(StepVisual_ComplexTriangulat Handle(Poly_Triangulation) aMesh = new Poly_Triangulation(theTF->NbPnindex(), aNbTriaStrips + aNbTriaFans, aHasUVNodes, aHasNormals); + const Standard_Real aLF = StepData_GlobalFactors::Intance().LengthFactor(); for (Standard_Integer j = 1; j <= theTF->NbPnindex(); ++j) { - aMesh->SetNode(j, aNodes->Value(theTF->PnindexValue(j))); + const gp_XYZ& aPoint = aNodes->Value(theTF->PnindexValue(j)); + aMesh->SetNode(j, aLF * aPoint); } Standard_Integer k = 1;