From 45adb828a6652c272c0b215fe112f6ca763cd0b1 Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Thu, 24 Jul 2025 19:43:23 +0200 Subject: [PATCH] Assembly: Fix insert sub-assemblies positioning issues (#22677) --- src/Mod/Assembly/CommandInsertLink.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Mod/Assembly/CommandInsertLink.py b/src/Mod/Assembly/CommandInsertLink.py index e42873249a..ff2b694ab7 100644 --- a/src/Mod/Assembly/CommandInsertLink.py +++ b/src/Mod/Assembly/CommandInsertLink.py @@ -378,9 +378,6 @@ class TaskAssemblyInsertLink(QtCore.QObject): addedObject = self.assembly.newObject(objType, selectedPart.Label) - if selectedPart.isDerivedFrom("Assembly::AssemblyObject"): - addedObject.Rigid = self.form.CheckBox_RigidSubAsm.isChecked() - # set placement of the added object to the center of the screen. view = Gui.activeView() x, y = view.getSize() @@ -421,6 +418,11 @@ class TaskAssemblyInsertLink(QtCore.QObject): self.prevScreenCenter = screenCenter + # We turn it flexible after changing the position so that it uses the logic in + # AssemblyLink::onChanged to handle positioning correctly. + if selectedPart.isDerivedFrom("Assembly::AssemblyObject"): + addedObject.Rigid = self.form.CheckBox_RigidSubAsm.isChecked() + # highlight the link Gui.Selection.clearSelection() Gui.Selection.addSelection(self.doc.Name, addedObject.Name, "")