mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 14:29:00 +08:00
merge
This commit is contained in:
commit
5123434b25
@ -17,12 +17,13 @@ class OneAtATimeIterator(Iterator.Iterator):
|
||||
def _fillStack(self):
|
||||
node_list = []
|
||||
for node in self._scene_node.getChildren():
|
||||
if node.getBoundingBox().height > Application.getInstance().getActiveMachine().getSettingByKey("gantry_height"):
|
||||
if node.getBoundingBox().height > Application.getInstance().getActiveMachine().getSettingValueByKey("gantry_height"):
|
||||
return
|
||||
if node.callDecoration("getConvexHull"):
|
||||
node_list.append(node)
|
||||
|
||||
if len(node_list) < 2:
|
||||
self._node_stack = node_list[:]
|
||||
return
|
||||
|
||||
self._original_node_list = node_list[:]
|
||||
@ -54,9 +55,9 @@ class OneAtATimeIterator(Iterator.Iterator):
|
||||
# We have no more nodes to check, so quit looking.
|
||||
todo_node_list = None
|
||||
self._node_stack = new_order
|
||||
print(self._node_stack)
|
||||
return
|
||||
todo_node_list.append(_objectOrder(new_order, new_todo_list))
|
||||
|
||||
self._node_stack = [] #No result found!
|
||||
|
||||
|
||||
|
@ -113,13 +113,31 @@ class CuraEngineBackend(Backend):
|
||||
self.slicingCancelled.emit()
|
||||
return
|
||||
|
||||
objects = []
|
||||
for node in DepthFirstIterator(self._scene.getRoot()):
|
||||
if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None:
|
||||
if not getattr(node, "_outside_buildarea", False):
|
||||
objects.append(node)
|
||||
object_groups = []
|
||||
if self._settings.getSettingValueByKey("print_sequence") == "One at a time":
|
||||
for node in OneAtATimeIterator(self._scene.getRoot()):
|
||||
temp_list = []
|
||||
children = node.getAllChildren()
|
||||
children.append(node)
|
||||
for child_node in children:
|
||||
if type(child_node) is SceneNode and child_node.getMeshData() and child_node.getMeshData().getVertices() is not None:
|
||||
temp_list.append(child_node)
|
||||
object_groups.append(temp_list)
|
||||
else:
|
||||
temp_list = []
|
||||
for node in DepthFirstIterator(self._scene.getRoot()):
|
||||
if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None:
|
||||
if not getattr(node, "_outside_buildarea", False):
|
||||
temp_list.append(node)
|
||||
if len(temp_list) == 0:
|
||||
return
|
||||
object_groups.append(temp_list)
|
||||
#for node in DepthFirstIterator(self._scene.getRoot()):
|
||||
# if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None:
|
||||
# if not getattr(node, "_outside_buildarea", False):
|
||||
# objects.append(node)
|
||||
|
||||
if not objects:
|
||||
if len(object_groups) == 0:
|
||||
return #No point in slicing an empty build plate
|
||||
|
||||
if kwargs.get("settings", self._settings).hasErrorValue():
|
||||
@ -145,36 +163,37 @@ class CuraEngineBackend(Backend):
|
||||
|
||||
self._save_polygons = kwargs.get("save_polygons", True)
|
||||
|
||||
msg = Cura_pb2.ObjectList()
|
||||
slice_message = Cura_pb2.Slice()
|
||||
|
||||
#TODO: All at once/one at a time mode
|
||||
#print("Iterator time! ", OneAtATimeIterator(self._scene.getRoot()))
|
||||
#for item in OneAtATimeIterator(self._scene.getRoot()):
|
||||
# print(item)
|
||||
|
||||
center = Vector()
|
||||
for object in objects:
|
||||
center += object.getPosition()
|
||||
print("Start sending objects to engine")
|
||||
for group in object_groups:
|
||||
print("Start sending group")
|
||||
group_message = slice_message.object_lists.add()
|
||||
for object in group:
|
||||
print("Added object to group")
|
||||
mesh_data = object.getMeshData().getTransformed(object.getWorldTransformation())
|
||||
|
||||
mesh_data = object.getMeshData().getTransformed(object.getWorldTransformation())
|
||||
obj = group_message.objects.add()
|
||||
obj.id = id(object)
|
||||
|
||||
verts = numpy.array(mesh_data.getVertices())
|
||||
verts[:,[1,2]] = verts[:,[2,1]]
|
||||
verts[:,1] *= -1
|
||||
obj.vertices = verts.tostring()
|
||||
|
||||
obj = msg.objects.add()
|
||||
obj.id = id(object)
|
||||
|
||||
verts = numpy.array(mesh_data.getVertices())
|
||||
verts[:,[1,2]] = verts[:,[2,1]]
|
||||
verts[:,1] *= -1
|
||||
obj.vertices = verts.tostring()
|
||||
#if meshData.hasNormals():
|
||||
#obj.normals = meshData.getNormalsAsByteArray()
|
||||
|
||||
#if meshData.hasNormals():
|
||||
#obj.normals = meshData.getNormalsAsByteArray()
|
||||
|
||||
#if meshData.hasIndices():
|
||||
#obj.indices = meshData.getIndicesAsByteArray()
|
||||
#if meshData.hasIndices():
|
||||
#obj.indices = meshData.getIndicesAsByteArray()
|
||||
|
||||
self._scene.releaseLock()
|
||||
|
||||
self._socket.sendMessage(msg)
|
||||
print("Message completed. Sending...")
|
||||
self._socket.sendMessage(slice_message)
|
||||
|
||||
def _onSceneChanged(self, source):
|
||||
if (type(source) is not SceneNode) or (source is self._scene.getRoot()) or (source.getMeshData() is None):
|
||||
@ -228,7 +247,7 @@ class CuraEngineBackend(Backend):
|
||||
def _createSocket(self):
|
||||
super()._createSocket()
|
||||
|
||||
self._socket.registerMessageType(1, Cura_pb2.ObjectList)
|
||||
self._socket.registerMessageType(1, Cura_pb2.Slice)
|
||||
self._socket.registerMessageType(2, Cura_pb2.SlicedObjectList)
|
||||
self._socket.registerMessageType(3, Cura_pb2.Progress)
|
||||
self._socket.registerMessageType(4, Cura_pb2.GCodeLayer)
|
||||
|
@ -17,8 +17,8 @@ _sym_db = _symbol_database.Default()
|
||||
|
||||
DESCRIPTOR = _descriptor.FileDescriptor(
|
||||
name='Cura.proto',
|
||||
package='Cura',
|
||||
serialized_pb=_b('\n\nCura.proto\x12\x04\x43ura\"+\n\nObjectList\x12\x1d\n\x07objects\x18\x01 \x03(\x0b\x32\x0c.Cura.Object\"i\n\x06Object\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x10\n\x08vertices\x18\x02 \x01(\x0c\x12\x0f\n\x07normals\x18\x03 \x01(\x0c\x12\x0f\n\x07indices\x18\x04 \x01(\x0c\x12\x1f\n\x08settings\x18\x05 \x03(\x0b\x32\r.Cura.Setting\"\x1a\n\x08Progress\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x02\"7\n\x10SlicedObjectList\x12#\n\x07objects\x18\x01 \x03(\x0b\x32\x12.Cura.SlicedObject\"7\n\x0cSlicedObject\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x1b\n\x06layers\x18\x02 \x03(\x0b\x32\x0b.Cura.Layer\"W\n\x05Layer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x02\x12\x11\n\tthickness\x18\x03 \x01(\x02\x12\x1f\n\x08polygons\x18\x04 \x03(\x0b\x32\r.Cura.Polygon\"\xdb\x01\n\x07Polygon\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.Cura.Polygon.Type\x12\x0e\n\x06points\x18\x02 \x01(\x0c\x12\x12\n\nline_width\x18\x03 \x01(\x02\"\x89\x01\n\x04Type\x12\x0c\n\x08NoneType\x10\x00\x12\x0e\n\nInset0Type\x10\x01\x12\x0e\n\nInsetXType\x10\x02\x12\x0c\n\x08SkinType\x10\x03\x12\x0f\n\x0bSupportType\x10\x04\x12\r\n\tSkirtType\x10\x05\x12\x0e\n\nInfillType\x10\x06\x12\x15\n\x11SupportInfillType\x10\x07\"&\n\nGCodeLayer\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"D\n\x0fObjectPrintTime\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04time\x18\x02 \x01(\x02\x12\x17\n\x0fmaterial_amount\x18\x03 \x01(\x02\".\n\x0bSettingList\x12\x1f\n\x08settings\x18\x01 \x03(\x0b\x32\r.Cura.Setting\"&\n\x07Setting\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x1b\n\x0bGCodePrefix\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x62\x06proto3')
|
||||
package='cura.proto',
|
||||
serialized_pb=_b('\n\nCura.proto\x12\ncura.proto\"1\n\nObjectList\x12#\n\x07objects\x18\x01 \x03(\x0b\x32\x12.cura.proto.Object\"5\n\x05Slice\x12,\n\x0cobject_lists\x18\x01 \x03(\x0b\x32\x16.cura.proto.ObjectList\"o\n\x06Object\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x10\n\x08vertices\x18\x02 \x01(\x0c\x12\x0f\n\x07normals\x18\x03 \x01(\x0c\x12\x0f\n\x07indices\x18\x04 \x01(\x0c\x12%\n\x08settings\x18\x05 \x03(\x0b\x32\x13.cura.proto.Setting\"\x1a\n\x08Progress\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x02\"=\n\x10SlicedObjectList\x12)\n\x07objects\x18\x01 \x03(\x0b\x32\x18.cura.proto.SlicedObject\"=\n\x0cSlicedObject\x12\n\n\x02id\x18\x01 \x01(\x03\x12!\n\x06layers\x18\x02 \x03(\x0b\x32\x11.cura.proto.Layer\"]\n\x05Layer\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x02\x12\x11\n\tthickness\x18\x03 \x01(\x02\x12%\n\x08polygons\x18\x04 \x03(\x0b\x32\x13.cura.proto.Polygon\"\xe1\x01\n\x07Polygon\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.cura.proto.Polygon.Type\x12\x0e\n\x06points\x18\x02 \x01(\x0c\x12\x12\n\nline_width\x18\x03 \x01(\x02\"\x89\x01\n\x04Type\x12\x0c\n\x08NoneType\x10\x00\x12\x0e\n\nInset0Type\x10\x01\x12\x0e\n\nInsetXType\x10\x02\x12\x0c\n\x08SkinType\x10\x03\x12\x0f\n\x0bSupportType\x10\x04\x12\r\n\tSkirtType\x10\x05\x12\x0e\n\nInfillType\x10\x06\x12\x15\n\x11SupportInfillType\x10\x07\"&\n\nGCodeLayer\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"D\n\x0fObjectPrintTime\x12\n\n\x02id\x18\x01 \x01(\x03\x12\x0c\n\x04time\x18\x02 \x01(\x02\x12\x17\n\x0fmaterial_amount\x18\x03 \x01(\x02\"4\n\x0bSettingList\x12%\n\x08settings\x18\x01 \x03(\x0b\x32\x13.cura.proto.Setting\"&\n\x07Setting\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"\x1b\n\x0bGCodePrefix\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x62\x06proto3')
|
||||
)
|
||||
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
@ -26,7 +26,7 @@ _sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
||||
|
||||
_POLYGON_TYPE = _descriptor.EnumDescriptor(
|
||||
name='Type',
|
||||
full_name='Cura.Polygon.Type',
|
||||
full_name='cura.proto.Polygon.Type',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
values=[
|
||||
@ -65,21 +65,21 @@ _POLYGON_TYPE = _descriptor.EnumDescriptor(
|
||||
],
|
||||
containing_type=None,
|
||||
options=None,
|
||||
serialized_start=486,
|
||||
serialized_end=623,
|
||||
serialized_start=583,
|
||||
serialized_end=720,
|
||||
)
|
||||
_sym_db.RegisterEnumDescriptor(_POLYGON_TYPE)
|
||||
|
||||
|
||||
_OBJECTLIST = _descriptor.Descriptor(
|
||||
name='ObjectList',
|
||||
full_name='Cura.ObjectList',
|
||||
full_name='cura.proto.ObjectList',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='objects', full_name='Cura.ObjectList.objects', index=0,
|
||||
name='objects', full_name='cura.proto.ObjectList.objects', index=0,
|
||||
number=1, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -96,48 +96,78 @@ _OBJECTLIST = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=20,
|
||||
serialized_end=63,
|
||||
serialized_start=26,
|
||||
serialized_end=75,
|
||||
)
|
||||
|
||||
|
||||
_OBJECT = _descriptor.Descriptor(
|
||||
name='Object',
|
||||
full_name='Cura.Object',
|
||||
_SLICE = _descriptor.Descriptor(
|
||||
name='Slice',
|
||||
full_name='cura.proto.Slice',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='id', full_name='Cura.Object.id', index=0,
|
||||
name='object_lists', full_name='cura.proto.Slice.object_lists', index=0,
|
||||
number=1, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
],
|
||||
extensions=[
|
||||
],
|
||||
nested_types=[],
|
||||
enum_types=[
|
||||
],
|
||||
options=None,
|
||||
is_extendable=False,
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=77,
|
||||
serialized_end=130,
|
||||
)
|
||||
|
||||
|
||||
_OBJECT = _descriptor.Descriptor(
|
||||
name='Object',
|
||||
full_name='cura.proto.Object',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='id', full_name='cura.proto.Object.id', index=0,
|
||||
number=1, type=3, cpp_type=2, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='vertices', full_name='Cura.Object.vertices', index=1,
|
||||
name='vertices', full_name='cura.proto.Object.vertices', index=1,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='normals', full_name='Cura.Object.normals', index=2,
|
||||
name='normals', full_name='cura.proto.Object.normals', index=2,
|
||||
number=3, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='indices', full_name='Cura.Object.indices', index=3,
|
||||
name='indices', full_name='cura.proto.Object.indices', index=3,
|
||||
number=4, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='settings', full_name='Cura.Object.settings', index=4,
|
||||
name='settings', full_name='cura.proto.Object.settings', index=4,
|
||||
number=5, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -154,20 +184,20 @@ _OBJECT = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=65,
|
||||
serialized_end=170,
|
||||
serialized_start=132,
|
||||
serialized_end=243,
|
||||
)
|
||||
|
||||
|
||||
_PROGRESS = _descriptor.Descriptor(
|
||||
name='Progress',
|
||||
full_name='Cura.Progress',
|
||||
full_name='cura.proto.Progress',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='amount', full_name='Cura.Progress.amount', index=0,
|
||||
name='amount', full_name='cura.proto.Progress.amount', index=0,
|
||||
number=1, type=2, cpp_type=6, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -184,20 +214,20 @@ _PROGRESS = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=172,
|
||||
serialized_end=198,
|
||||
serialized_start=245,
|
||||
serialized_end=271,
|
||||
)
|
||||
|
||||
|
||||
_SLICEDOBJECTLIST = _descriptor.Descriptor(
|
||||
name='SlicedObjectList',
|
||||
full_name='Cura.SlicedObjectList',
|
||||
full_name='cura.proto.SlicedObjectList',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='objects', full_name='Cura.SlicedObjectList.objects', index=0,
|
||||
name='objects', full_name='cura.proto.SlicedObjectList.objects', index=0,
|
||||
number=1, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -214,27 +244,27 @@ _SLICEDOBJECTLIST = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=200,
|
||||
serialized_end=255,
|
||||
serialized_start=273,
|
||||
serialized_end=334,
|
||||
)
|
||||
|
||||
|
||||
_SLICEDOBJECT = _descriptor.Descriptor(
|
||||
name='SlicedObject',
|
||||
full_name='Cura.SlicedObject',
|
||||
full_name='cura.proto.SlicedObject',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='id', full_name='Cura.SlicedObject.id', index=0,
|
||||
name='id', full_name='cura.proto.SlicedObject.id', index=0,
|
||||
number=1, type=3, cpp_type=2, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='layers', full_name='Cura.SlicedObject.layers', index=1,
|
||||
name='layers', full_name='cura.proto.SlicedObject.layers', index=1,
|
||||
number=2, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -251,41 +281,41 @@ _SLICEDOBJECT = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=257,
|
||||
serialized_end=312,
|
||||
serialized_start=336,
|
||||
serialized_end=397,
|
||||
)
|
||||
|
||||
|
||||
_LAYER = _descriptor.Descriptor(
|
||||
name='Layer',
|
||||
full_name='Cura.Layer',
|
||||
full_name='cura.proto.Layer',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='id', full_name='Cura.Layer.id', index=0,
|
||||
name='id', full_name='cura.proto.Layer.id', index=0,
|
||||
number=1, type=5, cpp_type=1, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='height', full_name='Cura.Layer.height', index=1,
|
||||
name='height', full_name='cura.proto.Layer.height', index=1,
|
||||
number=2, type=2, cpp_type=6, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='thickness', full_name='Cura.Layer.thickness', index=2,
|
||||
name='thickness', full_name='cura.proto.Layer.thickness', index=2,
|
||||
number=3, type=2, cpp_type=6, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='polygons', full_name='Cura.Layer.polygons', index=3,
|
||||
name='polygons', full_name='cura.proto.Layer.polygons', index=3,
|
||||
number=4, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -302,34 +332,34 @@ _LAYER = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=314,
|
||||
serialized_end=401,
|
||||
serialized_start=399,
|
||||
serialized_end=492,
|
||||
)
|
||||
|
||||
|
||||
_POLYGON = _descriptor.Descriptor(
|
||||
name='Polygon',
|
||||
full_name='Cura.Polygon',
|
||||
full_name='cura.proto.Polygon',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='type', full_name='Cura.Polygon.type', index=0,
|
||||
name='type', full_name='cura.proto.Polygon.type', index=0,
|
||||
number=1, type=14, cpp_type=8, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='points', full_name='Cura.Polygon.points', index=1,
|
||||
name='points', full_name='cura.proto.Polygon.points', index=1,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='line_width', full_name='Cura.Polygon.line_width', index=2,
|
||||
name='line_width', full_name='cura.proto.Polygon.line_width', index=2,
|
||||
number=3, type=2, cpp_type=6, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -347,27 +377,27 @@ _POLYGON = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=404,
|
||||
serialized_end=623,
|
||||
serialized_start=495,
|
||||
serialized_end=720,
|
||||
)
|
||||
|
||||
|
||||
_GCODELAYER = _descriptor.Descriptor(
|
||||
name='GCodeLayer',
|
||||
full_name='Cura.GCodeLayer',
|
||||
full_name='cura.proto.GCodeLayer',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='id', full_name='Cura.GCodeLayer.id', index=0,
|
||||
name='id', full_name='cura.proto.GCodeLayer.id', index=0,
|
||||
number=1, type=3, cpp_type=2, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='data', full_name='Cura.GCodeLayer.data', index=1,
|
||||
name='data', full_name='cura.proto.GCodeLayer.data', index=1,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -384,34 +414,34 @@ _GCODELAYER = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=625,
|
||||
serialized_end=663,
|
||||
serialized_start=722,
|
||||
serialized_end=760,
|
||||
)
|
||||
|
||||
|
||||
_OBJECTPRINTTIME = _descriptor.Descriptor(
|
||||
name='ObjectPrintTime',
|
||||
full_name='Cura.ObjectPrintTime',
|
||||
full_name='cura.proto.ObjectPrintTime',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='id', full_name='Cura.ObjectPrintTime.id', index=0,
|
||||
name='id', full_name='cura.proto.ObjectPrintTime.id', index=0,
|
||||
number=1, type=3, cpp_type=2, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='time', full_name='Cura.ObjectPrintTime.time', index=1,
|
||||
name='time', full_name='cura.proto.ObjectPrintTime.time', index=1,
|
||||
number=2, type=2, cpp_type=6, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='material_amount', full_name='Cura.ObjectPrintTime.material_amount', index=2,
|
||||
name='material_amount', full_name='cura.proto.ObjectPrintTime.material_amount', index=2,
|
||||
number=3, type=2, cpp_type=6, label=1,
|
||||
has_default_value=False, default_value=0,
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -428,20 +458,20 @@ _OBJECTPRINTTIME = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=665,
|
||||
serialized_end=733,
|
||||
serialized_start=762,
|
||||
serialized_end=830,
|
||||
)
|
||||
|
||||
|
||||
_SETTINGLIST = _descriptor.Descriptor(
|
||||
name='SettingList',
|
||||
full_name='Cura.SettingList',
|
||||
full_name='cura.proto.SettingList',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='settings', full_name='Cura.SettingList.settings', index=0,
|
||||
name='settings', full_name='cura.proto.SettingList.settings', index=0,
|
||||
number=1, type=11, cpp_type=10, label=3,
|
||||
has_default_value=False, default_value=[],
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -458,27 +488,27 @@ _SETTINGLIST = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=735,
|
||||
serialized_end=781,
|
||||
serialized_start=832,
|
||||
serialized_end=884,
|
||||
)
|
||||
|
||||
|
||||
_SETTING = _descriptor.Descriptor(
|
||||
name='Setting',
|
||||
full_name='Cura.Setting',
|
||||
full_name='cura.proto.Setting',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='name', full_name='Cura.Setting.name', index=0,
|
||||
name='name', full_name='cura.proto.Setting.name', index=0,
|
||||
number=1, type=9, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b("").decode('utf-8'),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
is_extension=False, extension_scope=None,
|
||||
options=None),
|
||||
_descriptor.FieldDescriptor(
|
||||
name='value', full_name='Cura.Setting.value', index=1,
|
||||
name='value', full_name='cura.proto.Setting.value', index=1,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -495,20 +525,20 @@ _SETTING = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=783,
|
||||
serialized_end=821,
|
||||
serialized_start=886,
|
||||
serialized_end=924,
|
||||
)
|
||||
|
||||
|
||||
_GCODEPREFIX = _descriptor.Descriptor(
|
||||
name='GCodePrefix',
|
||||
full_name='Cura.GCodePrefix',
|
||||
full_name='cura.proto.GCodePrefix',
|
||||
filename=None,
|
||||
file=DESCRIPTOR,
|
||||
containing_type=None,
|
||||
fields=[
|
||||
_descriptor.FieldDescriptor(
|
||||
name='data', full_name='Cura.GCodePrefix.data', index=0,
|
||||
name='data', full_name='cura.proto.GCodePrefix.data', index=0,
|
||||
number=2, type=12, cpp_type=9, label=1,
|
||||
has_default_value=False, default_value=_b(""),
|
||||
message_type=None, enum_type=None, containing_type=None,
|
||||
@ -525,11 +555,12 @@ _GCODEPREFIX = _descriptor.Descriptor(
|
||||
extension_ranges=[],
|
||||
oneofs=[
|
||||
],
|
||||
serialized_start=823,
|
||||
serialized_end=850,
|
||||
serialized_start=926,
|
||||
serialized_end=953,
|
||||
)
|
||||
|
||||
_OBJECTLIST.fields_by_name['objects'].message_type = _OBJECT
|
||||
_SLICE.fields_by_name['object_lists'].message_type = _OBJECTLIST
|
||||
_OBJECT.fields_by_name['settings'].message_type = _SETTING
|
||||
_SLICEDOBJECTLIST.fields_by_name['objects'].message_type = _SLICEDOBJECT
|
||||
_SLICEDOBJECT.fields_by_name['layers'].message_type = _LAYER
|
||||
@ -538,6 +569,7 @@ _POLYGON.fields_by_name['type'].enum_type = _POLYGON_TYPE
|
||||
_POLYGON_TYPE.containing_type = _POLYGON
|
||||
_SETTINGLIST.fields_by_name['settings'].message_type = _SETTING
|
||||
DESCRIPTOR.message_types_by_name['ObjectList'] = _OBJECTLIST
|
||||
DESCRIPTOR.message_types_by_name['Slice'] = _SLICE
|
||||
DESCRIPTOR.message_types_by_name['Object'] = _OBJECT
|
||||
DESCRIPTOR.message_types_by_name['Progress'] = _PROGRESS
|
||||
DESCRIPTOR.message_types_by_name['SlicedObjectList'] = _SLICEDOBJECTLIST
|
||||
@ -553,84 +585,91 @@ DESCRIPTOR.message_types_by_name['GCodePrefix'] = _GCODEPREFIX
|
||||
ObjectList = _reflection.GeneratedProtocolMessageType('ObjectList', (_message.Message,), dict(
|
||||
DESCRIPTOR = _OBJECTLIST,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.ObjectList)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.ObjectList)
|
||||
))
|
||||
_sym_db.RegisterMessage(ObjectList)
|
||||
|
||||
Slice = _reflection.GeneratedProtocolMessageType('Slice', (_message.Message,), dict(
|
||||
DESCRIPTOR = _SLICE,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.Slice)
|
||||
))
|
||||
_sym_db.RegisterMessage(Slice)
|
||||
|
||||
Object = _reflection.GeneratedProtocolMessageType('Object', (_message.Message,), dict(
|
||||
DESCRIPTOR = _OBJECT,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.Object)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.Object)
|
||||
))
|
||||
_sym_db.RegisterMessage(Object)
|
||||
|
||||
Progress = _reflection.GeneratedProtocolMessageType('Progress', (_message.Message,), dict(
|
||||
DESCRIPTOR = _PROGRESS,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.Progress)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.Progress)
|
||||
))
|
||||
_sym_db.RegisterMessage(Progress)
|
||||
|
||||
SlicedObjectList = _reflection.GeneratedProtocolMessageType('SlicedObjectList', (_message.Message,), dict(
|
||||
DESCRIPTOR = _SLICEDOBJECTLIST,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.SlicedObjectList)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.SlicedObjectList)
|
||||
))
|
||||
_sym_db.RegisterMessage(SlicedObjectList)
|
||||
|
||||
SlicedObject = _reflection.GeneratedProtocolMessageType('SlicedObject', (_message.Message,), dict(
|
||||
DESCRIPTOR = _SLICEDOBJECT,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.SlicedObject)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.SlicedObject)
|
||||
))
|
||||
_sym_db.RegisterMessage(SlicedObject)
|
||||
|
||||
Layer = _reflection.GeneratedProtocolMessageType('Layer', (_message.Message,), dict(
|
||||
DESCRIPTOR = _LAYER,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.Layer)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.Layer)
|
||||
))
|
||||
_sym_db.RegisterMessage(Layer)
|
||||
|
||||
Polygon = _reflection.GeneratedProtocolMessageType('Polygon', (_message.Message,), dict(
|
||||
DESCRIPTOR = _POLYGON,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.Polygon)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.Polygon)
|
||||
))
|
||||
_sym_db.RegisterMessage(Polygon)
|
||||
|
||||
GCodeLayer = _reflection.GeneratedProtocolMessageType('GCodeLayer', (_message.Message,), dict(
|
||||
DESCRIPTOR = _GCODELAYER,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.GCodeLayer)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.GCodeLayer)
|
||||
))
|
||||
_sym_db.RegisterMessage(GCodeLayer)
|
||||
|
||||
ObjectPrintTime = _reflection.GeneratedProtocolMessageType('ObjectPrintTime', (_message.Message,), dict(
|
||||
DESCRIPTOR = _OBJECTPRINTTIME,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.ObjectPrintTime)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.ObjectPrintTime)
|
||||
))
|
||||
_sym_db.RegisterMessage(ObjectPrintTime)
|
||||
|
||||
SettingList = _reflection.GeneratedProtocolMessageType('SettingList', (_message.Message,), dict(
|
||||
DESCRIPTOR = _SETTINGLIST,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.SettingList)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.SettingList)
|
||||
))
|
||||
_sym_db.RegisterMessage(SettingList)
|
||||
|
||||
Setting = _reflection.GeneratedProtocolMessageType('Setting', (_message.Message,), dict(
|
||||
DESCRIPTOR = _SETTING,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.Setting)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.Setting)
|
||||
))
|
||||
_sym_db.RegisterMessage(Setting)
|
||||
|
||||
GCodePrefix = _reflection.GeneratedProtocolMessageType('GCodePrefix', (_message.Message,), dict(
|
||||
DESCRIPTOR = _GCODEPREFIX,
|
||||
__module__ = 'Cura_pb2'
|
||||
# @@protoc_insertion_point(class_scope:Cura.GCodePrefix)
|
||||
# @@protoc_insertion_point(class_scope:cura.proto.GCodePrefix)
|
||||
))
|
||||
_sym_db.RegisterMessage(GCodePrefix)
|
||||
|
||||
|
@ -56,7 +56,7 @@ class ProcessSlicedObjectListJob(Job):
|
||||
self._progress.setProgress(2)
|
||||
|
||||
mesh = MeshData()
|
||||
layerData = LayerData.LayerData()
|
||||
layer_data = LayerData.LayerData()
|
||||
for object in self._message.objects:
|
||||
try:
|
||||
node = objectIdMap[object.id]
|
||||
@ -64,9 +64,9 @@ class ProcessSlicedObjectListJob(Job):
|
||||
continue
|
||||
|
||||
for layer in object.layers:
|
||||
layerData.addLayer(layer.id)
|
||||
layerData.setLayerHeight(layer.id, layer.height)
|
||||
layerData.setLayerThickness(layer.id, layer.thickness)
|
||||
layer_data.addLayer(layer.id)
|
||||
layer_data.setLayerHeight(layer.id, layer.height)
|
||||
layer_data.setLayerThickness(layer.id, layer.thickness)
|
||||
for polygon in layer.polygons:
|
||||
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.
|
||||
@ -78,20 +78,20 @@ class ProcessSlicedObjectListJob(Job):
|
||||
|
||||
points -= numpy.array(center)
|
||||
|
||||
layerData.addPolygon(layer.id, polygon.type, points, polygon.line_width)
|
||||
layer_data.addPolygon(layer.id, polygon.type, points, polygon.line_width)
|
||||
|
||||
if self._progress:
|
||||
self._progress.setProgress(50)
|
||||
|
||||
# We are done processing all the layers we got from the engine, now create a mesh out of the data
|
||||
layerData.build()
|
||||
layer_data.build()
|
||||
|
||||
if self._progress:
|
||||
self._progress.setProgress(100)
|
||||
|
||||
#Add layerdata decorator to scene node to indicate that the node has layerdata
|
||||
decorator = LayerDataDecorator.LayerDataDecorator()
|
||||
decorator.setLayerData(layerData)
|
||||
decorator.setLayerData(layer_data)
|
||||
new_node.addDecorator(decorator)
|
||||
|
||||
new_node.setMeshData(mesh)
|
||||
|
@ -102,7 +102,7 @@
|
||||
},
|
||||
"gantry_height":
|
||||
{
|
||||
"default":10
|
||||
"default":99999999999
|
||||
},
|
||||
"machine_nozzle_tip_outer_diameter": {
|
||||
"default": 1
|
||||
|
@ -9,7 +9,7 @@
|
||||
"default": "; -- START GCODE --\n;Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG1 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG90 ;set to absolute positioning\nG1 Z180 ;move extruder to the top\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG1 Z10 ;move extruder up 10 mm\nG90 ;set to absolute positioning\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default": 215
|
||||
@ -168,7 +168,7 @@
|
||||
"support": {
|
||||
"settings": {
|
||||
"support_enable": {
|
||||
"default": false
|
||||
"default": true
|
||||
},
|
||||
"support_z_distance": {
|
||||
"default": 0.2,
|
||||
|
@ -9,7 +9,7 @@
|
||||
"default": "; -- START GCODE --\n;Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG1 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG90 ;set to absolute positioning\nG1 Z180 ;move extruder to the top\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG1 Z10 ;move extruder up 10 mm\nG90 ;set to absolute positioning\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default": 200
|
||||
@ -168,7 +168,7 @@
|
||||
"support": {
|
||||
"settings": {
|
||||
"support_enable": {
|
||||
"default": false
|
||||
"default": true
|
||||
},
|
||||
"support_z_distance": {
|
||||
"default": 0.2,
|
||||
|
@ -168,7 +168,7 @@
|
||||
"support": {
|
||||
"settings": {
|
||||
"support_enable": {
|
||||
"default": false
|
||||
"default": true
|
||||
},
|
||||
"support_z_distance": {
|
||||
"default": 0.2,
|
||||
|
Loading…
x
Reference in New Issue
Block a user