From d5b0f686e16c9d7961e59156136d98a87344b755 Mon Sep 17 00:00:00 2001 From: mwganson Date: Fri, 24 Jan 2025 17:24:37 -0600 Subject: [PATCH] [Part TopoShapeExpansion] move shape transform from make element copy into ruled surface function since it does not work well when copying vertex objects --- src/Mod/Part/App/TopoShapeExpansion.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Mod/Part/App/TopoShapeExpansion.cpp b/src/Mod/Part/App/TopoShapeExpansion.cpp index 133f8af8de..710950afa9 100644 --- a/src/Mod/Part/App/TopoShapeExpansion.cpp +++ b/src/Mod/Part/App/TopoShapeExpansion.cpp @@ -2203,8 +2203,8 @@ TopoShape& TopoShape::makeElementRuledSurface(const std::vector& shap // if both shapes are sub-elements of one common shape then the fill // algorithm leads to problems if the shape has set a placement. The // workaround is to copy the sub-shape - S1 = S1.makeElementCopy(); - S2 = S2.makeElementCopy(); + S1.setTransform(S1.getTransform()); + S2.setTransform(S2.getTransform()); if (orientation == 0) { // Automatic @@ -3427,7 +3427,7 @@ TopoShape::makeElementCopy(const TopoShape& shape, const char* op, bool copyGeom TopoShape tmp(shape); tmp.setShape(BRepBuilderAPI_Copy(shape.getShape(), copyGeom, copyMesh).Shape(), false); - tmp.setTransform(shape.getTransform()); + if (op || (shape.Tag && shape.Tag != Tag)) { setShape(tmp._Shape); initCache();