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, "")