mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-09 07:56:22 -06:00
Merge branch 'feature_mesh_names' of https://github.com/paukstelis/Cura into paukstelis-feature_mesh_names
This commit is contained in:
commit
bfc3c5d8d8
3 changed files with 15 additions and 1 deletions
|
@ -9,6 +9,7 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
|
||||||
from UM.Scene.SceneNode import SceneNode
|
from UM.Scene.SceneNode import SceneNode
|
||||||
from UM.Scene.Selection import Selection
|
from UM.Scene.Selection import Selection
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
catalog = i18nCatalog("cura")
|
catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
|
@ -40,6 +41,8 @@ class ObjectsModel(ListModel):
|
||||||
filter_current_build_plate = Application.getInstance().getPreferences().getValue("view/filter_current_build_plate")
|
filter_current_build_plate = Application.getInstance().getPreferences().getValue("view/filter_current_build_plate")
|
||||||
active_build_plate_number = self._build_plate_number
|
active_build_plate_number = self._build_plate_number
|
||||||
group_nr = 1
|
group_nr = 1
|
||||||
|
name_count_dict = defaultdict(int)
|
||||||
|
|
||||||
for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()):
|
for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()):
|
||||||
if not isinstance(node, SceneNode):
|
if not isinstance(node, SceneNode):
|
||||||
continue
|
continue
|
||||||
|
@ -55,6 +58,7 @@ class ObjectsModel(ListModel):
|
||||||
|
|
||||||
if not node.callDecoration("isGroup"):
|
if not node.callDecoration("isGroup"):
|
||||||
name = node.getName()
|
name = node.getName()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
name = catalog.i18nc("@label", "Group #{group_nr}").format(group_nr = str(group_nr))
|
name = catalog.i18nc("@label", "Group #{group_nr}").format(group_nr = str(group_nr))
|
||||||
group_nr += 1
|
group_nr += 1
|
||||||
|
@ -64,6 +68,14 @@ class ObjectsModel(ListModel):
|
||||||
else:
|
else:
|
||||||
is_outside_build_area = False
|
is_outside_build_area = False
|
||||||
|
|
||||||
|
#check if we already have an instance of the object based on name
|
||||||
|
name_count_dict[name] += 1
|
||||||
|
name_count = name_count_dict[name]
|
||||||
|
|
||||||
|
if name_count > 1:
|
||||||
|
name = "{0}({1})".format(name, name_count-1)
|
||||||
|
node.setName(name)
|
||||||
|
|
||||||
nodes.append({
|
nodes.append({
|
||||||
"name": name,
|
"name": name,
|
||||||
"isSelected": Selection.isSelected(node),
|
"isSelected": Selection.isSelected(node),
|
||||||
|
@ -71,6 +83,7 @@ class ObjectsModel(ListModel):
|
||||||
"buildPlateNumber": node_build_plate_number,
|
"buildPlateNumber": node_build_plate_number,
|
||||||
"node": node
|
"node": node
|
||||||
})
|
})
|
||||||
|
|
||||||
nodes = sorted(nodes, key=lambda n: n["name"])
|
nodes = sorted(nodes, key=lambda n: n["name"])
|
||||||
self.setItems(nodes)
|
self.setItems(nodes)
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ message Object
|
||||||
bytes normals = 3; //An array of 3 floats.
|
bytes normals = 3; //An array of 3 floats.
|
||||||
bytes indices = 4; //An array of ints.
|
bytes indices = 4; //An array of ints.
|
||||||
repeated Setting settings = 5; // Setting override per object, overruling the global settings.
|
repeated Setting settings = 5; // Setting override per object, overruling the global settings.
|
||||||
|
string name = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Progress
|
message Progress
|
||||||
|
|
|
@ -270,7 +270,7 @@ class StartSliceJob(Job):
|
||||||
|
|
||||||
obj = group_message.addRepeatedMessage("objects")
|
obj = group_message.addRepeatedMessage("objects")
|
||||||
obj.id = id(object)
|
obj.id = id(object)
|
||||||
|
obj.name = object.getName()
|
||||||
indices = mesh_data.getIndices()
|
indices = mesh_data.getIndices()
|
||||||
if indices is not None:
|
if indices is not None:
|
||||||
flat_verts = numpy.take(verts, indices.flatten(), axis=0)
|
flat_verts = numpy.take(verts, indices.flatten(), axis=0)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue