diff --git a/src/XCAFDoc/XCAFDoc_Editor.cxx b/src/XCAFDoc/XCAFDoc_Editor.cxx index 944351b7ae..e76fcedf4d 100644 --- a/src/XCAFDoc/XCAFDoc_Editor.cxx +++ b/src/XCAFDoc/XCAFDoc_Editor.cxx @@ -515,7 +515,7 @@ static void rescaleDimensionRefLabels(const TDF_LabelSequence& theRefLabels, if (aL.FindAttribute(TNaming_NamedShape::GetID(), aNS)) { TopoDS_Shape aShape = aNS->Get(); - theBRepTrsf.Perform(aShape, Standard_True); + theBRepTrsf.Perform(aShape, Standard_True, Standard_True); if (!theBRepTrsf.IsDone()) { Standard_SStream aSS; @@ -664,7 +664,7 @@ Standard_Boolean XCAFDoc_Editor::RescaleGeometry(const TDF_Label& theLabel, if (aNodeType == XCAFDoc_AssemblyGraph::NodeType_Part) { const TopoDS_Shape aShape = aShapeTool->GetShape(aLabel); - aBRepTrsf.Perform(aShape, Standard_True); + aBRepTrsf.Perform(aShape, Standard_True, Standard_True); if (!aBRepTrsf.IsDone()) { Standard_SStream aSS; diff --git a/src/XDEDRAW/XDEDRAW.cxx b/src/XDEDRAW/XDEDRAW.cxx index 1e9ff6e180..71561d359e 100644 --- a/src/XDEDRAW/XDEDRAW.cxx +++ b/src/XDEDRAW/XDEDRAW.cxx @@ -1836,7 +1836,7 @@ void XDEDRAW::Init(Draw_Interpretor& di) "Doc [-names]: Prints number of assembly instances", __FILE__, XDumpNomenclature, g); di.Add("XRescaleGeometry", - "Doc -scale factor [-root label]: Applies geometrical scale to assembly", + "Doc factor [-root label] [-force]: Applies geometrical scale to assembly", __FILE__, XRescaleGeometry, g); // Specialized commands diff --git a/tests/bugs/xde/bug33100 b/tests/bugs/xde/bug33100 new file mode 100644 index 0000000000..ea11cf3411 --- /dev/null +++ b/tests/bugs/xde/bug33100 @@ -0,0 +1,15 @@ +puts "0033100: Modeling Algorithms - XCAFDoc_Editor::RescaleGeometry does not rescale triangulations" + +pload DCAF +Close d -silent +ReadStep d [locate_data_file "bug33100_window.step"] + +XGetOneShape a d +set ref_diag [eval distpp [bounding a]] + +XRescaleGeometry d 1000 + +XGetOneShape a d +set diag [eval distpp [bounding a]] + +checkreal "bounding box diagonal" $diag [expr $ref_diag * 1000] 0 0.001