mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-22 13:49:39 +08:00
Grouping and per object settings now work correctly again
This commit is contained in:
parent
ee1c16d1fc
commit
c15709936b
@ -536,6 +536,7 @@ class CuraApplication(QtApplication):
|
|||||||
group_decorator = GroupDecorator()
|
group_decorator = GroupDecorator()
|
||||||
group_node.addDecorator(group_decorator)
|
group_node.addDecorator(group_decorator)
|
||||||
group_node.setParent(self.getController().getScene().getRoot())
|
group_node.setParent(self.getController().getScene().getRoot())
|
||||||
|
group_node.setSelectable(True)
|
||||||
center = Selection.getSelectionCenter()
|
center = Selection.getSelectionCenter()
|
||||||
group_node.setPosition(center)
|
group_node.setPosition(center)
|
||||||
group_node.setCenterPosition(center)
|
group_node.setCenterPosition(center)
|
||||||
|
@ -79,14 +79,16 @@ class StartSliceJob(Job):
|
|||||||
|
|
||||||
self._sendSettings(self._profile)
|
self._sendSettings(self._profile)
|
||||||
|
|
||||||
slice_message = self._socket.createMessage("cura.proto.Slice");
|
slice_message = self._socket.createMessage("cura.proto.Slice")
|
||||||
|
|
||||||
for group in object_groups:
|
for group in object_groups:
|
||||||
group_message = slice_message.addRepeatedMessage("object_lists");
|
group_message = slice_message.addRepeatedMessage("object_lists")
|
||||||
|
if group[0].getParent().callDecoration("isGroup"):
|
||||||
|
self._handlePerObjectSettings(group[0].getParent(), group_message)
|
||||||
for object in group:
|
for object in group:
|
||||||
mesh_data = object.getMeshData().getTransformed(object.getWorldTransformation())
|
mesh_data = object.getMeshData().getTransformed(object.getWorldTransformation())
|
||||||
|
|
||||||
obj = group_message.addRepeatedMessage("objects");
|
obj = group_message.addRepeatedMessage("objects")
|
||||||
obj.id = id(object)
|
obj.id = id(object)
|
||||||
|
|
||||||
verts = numpy.array(mesh_data.getVertices())
|
verts = numpy.array(mesh_data.getVertices())
|
||||||
@ -142,7 +144,6 @@ class StartSliceJob(Job):
|
|||||||
object_settings = node.callDecoration("getAllSettingValues")
|
object_settings = node.callDecoration("getAllSettingValues")
|
||||||
if not object_settings:
|
if not object_settings:
|
||||||
return
|
return
|
||||||
|
|
||||||
for key, value in object_settings.items():
|
for key, value in object_settings.items():
|
||||||
setting = message.addRepeatedMessage("settings")
|
setting = message.addRepeatedMessage("settings")
|
||||||
setting.name = key
|
setting.name = key
|
||||||
|
@ -70,7 +70,7 @@ class PerObjectSettingsModel(ListModel):
|
|||||||
def _updateModel(self):
|
def _updateModel(self):
|
||||||
self.clear()
|
self.clear()
|
||||||
for node in BreadthFirstIterator(self._root):
|
for node in BreadthFirstIterator(self._root):
|
||||||
if type(node) is not SceneNode or not node.getMeshData() or not node.isSelectable():
|
if type(node) is not SceneNode or not node.isSelectable():
|
||||||
continue
|
continue
|
||||||
node_profile = node.callDecoration("getProfile")
|
node_profile = node.callDecoration("getProfile")
|
||||||
if not node_profile:
|
if not node_profile:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user