mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Make things work properly using the new Arcus API
This commit is contained in:
parent
21f70c4123
commit
e74d300fb3
3 changed files with 18 additions and 11 deletions
|
@ -62,11 +62,11 @@ class CuraEngineBackend(Backend):
|
||||||
self._change_timer.setSingleShot(True)
|
self._change_timer.setSingleShot(True)
|
||||||
self._change_timer.timeout.connect(self.slice)
|
self._change_timer.timeout.connect(self.slice)
|
||||||
|
|
||||||
self._message_handlers[Cura_pb2.SlicedObjectList] = self._onSlicedObjectListMessage
|
self._message_handlers["cura.proto.SlicedObjectList"] = self._onSlicedObjectListMessage
|
||||||
self._message_handlers[Cura_pb2.Progress] = self._onProgressMessage
|
self._message_handlers["cura.proto.Progress"] = self._onProgressMessage
|
||||||
self._message_handlers[Cura_pb2.GCodeLayer] = self._onGCodeLayerMessage
|
self._message_handlers["cura.proto.GCodeLayer"] = self._onGCodeLayerMessage
|
||||||
self._message_handlers[Cura_pb2.GCodePrefix] = self._onGCodePrefixMessage
|
self._message_handlers["cura.proto.GCodePrefix"] = self._onGCodePrefixMessage
|
||||||
self._message_handlers[Cura_pb2.ObjectPrintTime] = self._onObjectPrintTimeMessage
|
self._message_handlers["cura.proto.ObjectPrintTime"] = self._onObjectPrintTimeMessage
|
||||||
|
|
||||||
self._slicing = False
|
self._slicing = False
|
||||||
self._restart = False
|
self._restart = False
|
||||||
|
|
|
@ -55,21 +55,27 @@ class ProcessSlicedObjectListJob(Job):
|
||||||
layer_data = LayerData.LayerData()
|
layer_data = LayerData.LayerData()
|
||||||
|
|
||||||
layer_count = 0
|
layer_count = 0
|
||||||
for object in self._message.objects:
|
for i in range(self._message.repeatedMessageCount("objects")):
|
||||||
layer_count += len(object.layers)
|
layer_count += self._message.getRepeatedMessage("objects", i).repeatedMessageCount("layers")
|
||||||
|
|
||||||
current_layer = 0
|
current_layer = 0
|
||||||
for object in self._message.objects:
|
for i in range(self._message.repeatedMessageCount("objects")):
|
||||||
|
object = self._message.getRepeatedMessage("objects", i)
|
||||||
try:
|
try:
|
||||||
node = object_id_map[object.id]
|
node = object_id_map[object.id]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for layer in object.layers:
|
for l in range(object.repeatedMessageCount("layers")):
|
||||||
|
layer = object.getRepeatedMessage("layers", i)
|
||||||
|
|
||||||
layer_data.addLayer(layer.id)
|
layer_data.addLayer(layer.id)
|
||||||
layer_data.setLayerHeight(layer.id, layer.height)
|
layer_data.setLayerHeight(layer.id, layer.height)
|
||||||
layer_data.setLayerThickness(layer.id, layer.thickness)
|
layer_data.setLayerThickness(layer.id, layer.thickness)
|
||||||
for polygon in layer.polygons:
|
|
||||||
|
for p in range(layer.repeatedMessageCount("polygons")):
|
||||||
|
polygon = layer.getRepeatedMessage("polygons", i)
|
||||||
|
|
||||||
points = numpy.fromstring(polygon.points, dtype="i8") # Convert bytearray to numpy array
|
points = numpy.fromstring(polygon.points, dtype="i8") # Convert bytearray to numpy array
|
||||||
points = points.reshape((-1,2)) # We get a linear list of pairs that make up the points, so make numpy interpret them correctly.
|
points = points.reshape((-1,2)) # We get a linear list of pairs that make up the points, so make numpy interpret them correctly.
|
||||||
points = numpy.asarray(points, dtype=numpy.float32)
|
points = numpy.asarray(points, dtype=numpy.float32)
|
||||||
|
|
|
@ -94,7 +94,8 @@ class StartSliceJob(Job):
|
||||||
verts = numpy.array(mesh_data.getVertices())
|
verts = numpy.array(mesh_data.getVertices())
|
||||||
verts[:,[1,2]] = verts[:,[2,1]]
|
verts[:,[1,2]] = verts[:,[2,1]]
|
||||||
verts[:,1] *= -1
|
verts[:,1] *= -1
|
||||||
obj.vertices = verts.tostring()
|
|
||||||
|
obj.vertices = verts
|
||||||
|
|
||||||
self._handlePerObjectSettings(object, obj)
|
self._handlePerObjectSettings(object, obj)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue