|
@@ -19,7 +19,7 @@ class PerObjectSettingsTool(Tool):
|
|
|
super().__init__()
|
|
|
self._model = None
|
|
|
|
|
|
- self.setExposedProperties("SelectedObjectId", "ContainerID", "SelectedActiveExtruder")
|
|
|
+ self.setExposedProperties("SelectedObjectId", "ContainerID", "SelectedActiveExtruder", "MeshType")
|
|
|
|
|
|
self._advanced_mode = False
|
|
|
self._multi_extrusion = False
|
|
@@ -91,6 +91,19 @@ class PerObjectSettingsTool(Tool):
|
|
|
new_instance.resetState() # Ensure that the state is not seen as a user state.
|
|
|
settings.addInstance(new_instance)
|
|
|
|
|
|
+ def getMeshType(self):
|
|
|
+ selected_object = Selection.getSelectedObject(0)
|
|
|
+ stack = selected_object.callDecoration("getStack") #Don't try to get the active extruder since it may be None anyway.
|
|
|
+ if not stack:
|
|
|
+ return ""
|
|
|
+
|
|
|
+ settings = stack.getTop()
|
|
|
+ for property_key in ["infill_mesh", "cutting_mesh", "support_mesh", "anti_overhang_mesh"]:
|
|
|
+ if settings.getInstance(property_key) and settings.getProperty(property_key, "value"):
|
|
|
+ return property_key
|
|
|
+
|
|
|
+ return ""
|
|
|
+
|
|
|
def _onPreferenceChanged(self, preference):
|
|
|
if preference == "cura/active_mode":
|
|
|
self._advanced_mode = Preferences.getInstance().getValue(preference) == 1
|