Просмотр исходного кода

Merge pull request #18339 from Ultimaker/CURA-11617-set-print-sequence

setting up printorder in case nodes came from copy paste or multiply
Remco Burema 1 год назад
Родитель
Сommit
1936828a1f
2 измененных файлов с 7 добавлено и 0 удалено
  1. 4 0
      cura/CuraActions.py
  2. 3 0
      cura/PrintOrderManager.py

+ 4 - 0
cura/CuraActions.py

@@ -273,7 +273,11 @@ class CuraActions(QObject):
         # deselect currently selected nodes, and select the new nodes
         for node in Selection.getAllSelectedObjects():
             Selection.remove(node)
+
+        numberOfFixedNodes = len(fixed_nodes)
         for node in nodes:
+            numberOfFixedNodes += 1
+            node.printOrder = numberOfFixedNodes
             Selection.add(node)
 
     def _openUrl(self, url: QUrl) -> None:

+ 3 - 0
cura/PrintOrderManager.py

@@ -116,6 +116,9 @@ class PrintOrderManager(QObject):
                                      ) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]):
         nodes = self._get_nodes()
         ordered_nodes = sorted(nodes, key=lambda n: n.printOrder)
+        for i, node in enumerate(ordered_nodes, 1):
+            node.printOrder = i
+
         selected_node = PrintOrderManager._getSingleSelectedNode()
         if selected_node and selected_node in ordered_nodes:
             selected_node_index = ordered_nodes.index(selected_node)