diff --git a/src/Mod/Part/App/MeasureClient.cpp b/src/Mod/Part/App/MeasureClient.cpp index bd1f9605ea..2239b9865a 100644 --- a/src/Mod/Part/App/MeasureClient.cpp +++ b/src/Mod/Part/App/MeasureClient.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +61,7 @@ using namespace Part; + // From: https://github.com/Celemation/FreeCAD/blob/joel_selection_summary_demo/src/Gui/SelectionSummary.cpp // Should work with edges and wires @@ -102,10 +104,8 @@ TopoDS_Shape getLocatedShape(const App::SubObjectT& subject, Base::Matrix4D* mat return {}; } - auto gf = dynamic_cast(obj); - if (gf) { - shape.setPlacement(gf->globalPlacement()); - } + auto placement = App::GeoFeature::getGlobalPlacement(obj, subject.getObject(), subject.getSubName()); + shape.setPlacement(placement); // Don't get the subShape from datum elements if (obj->getTypeId().isDerivedFrom(Part::Datum::getClassTypeId())) {