mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Solve merge conflict PrinterOutputDevice. CURA-1263
This commit is contained in:
commit
b88ed76b7c
52 changed files with 139 additions and 31 deletions
|
@ -632,7 +632,7 @@ class CuraApplication(QtApplication):
|
||||||
if not scene_bounding_box:
|
if not scene_bounding_box:
|
||||||
scene_bounding_box = AxisAlignedBox.Null
|
scene_bounding_box = AxisAlignedBox.Null
|
||||||
|
|
||||||
if repr(self._scene_bounding_box) != repr(scene_bounding_box):
|
if repr(self._scene_bounding_box) != repr(scene_bounding_box) and scene_bounding_box.isValid():
|
||||||
self._scene_bounding_box = scene_bounding_box
|
self._scene_bounding_box = scene_bounding_box
|
||||||
self.sceneBoundingBoxChanged.emit()
|
self.sceneBoundingBoxChanged.emit()
|
||||||
|
|
||||||
|
@ -734,6 +734,8 @@ class CuraApplication(QtApplication):
|
||||||
continue # Node that doesnt have a mesh and is not a group.
|
continue # Node that doesnt have a mesh and is not a group.
|
||||||
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
||||||
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
||||||
|
if not node.isSelectable():
|
||||||
|
continue # i.e. node with layer data
|
||||||
Selection.add(node)
|
Selection.add(node)
|
||||||
|
|
||||||
## Delete all nodes containing mesh data in the scene.
|
## Delete all nodes containing mesh data in the scene.
|
||||||
|
@ -773,6 +775,8 @@ class CuraApplication(QtApplication):
|
||||||
continue # Node that doesnt have a mesh and is not a group.
|
continue # Node that doesnt have a mesh and is not a group.
|
||||||
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
||||||
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
||||||
|
if not node.isSelectable():
|
||||||
|
continue # i.e. node with layer data
|
||||||
nodes.append(node)
|
nodes.append(node)
|
||||||
|
|
||||||
if nodes:
|
if nodes:
|
||||||
|
@ -799,6 +803,8 @@ class CuraApplication(QtApplication):
|
||||||
continue # Node that doesnt have a mesh and is not a group.
|
continue # Node that doesnt have a mesh and is not a group.
|
||||||
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
if node.getParent() and node.getParent().callDecoration("isGroup"):
|
||||||
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
continue # Grouped nodes don't need resetting as their parent (the group) is resetted)
|
||||||
|
if not node.isSelectable():
|
||||||
|
continue # i.e. node with layer data
|
||||||
nodes.append(node)
|
nodes.append(node)
|
||||||
|
|
||||||
if nodes:
|
if nodes:
|
||||||
|
|
|
@ -49,6 +49,8 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
self._printer_state = ""
|
self._printer_state = ""
|
||||||
self._printer_type = "unknown"
|
self._printer_type = "unknown"
|
||||||
|
|
||||||
|
self._camera_active = False
|
||||||
|
|
||||||
def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None):
|
def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None):
|
||||||
raise NotImplementedError("requestWrite needs to be implemented")
|
raise NotImplementedError("requestWrite needs to be implemented")
|
||||||
|
|
||||||
|
@ -136,6 +138,7 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def startCamera(self):
|
def startCamera(self):
|
||||||
|
self._camera_active = True
|
||||||
self._startCamera()
|
self._startCamera()
|
||||||
|
|
||||||
def _startCamera(self):
|
def _startCamera(self):
|
||||||
|
@ -143,6 +146,7 @@ class PrinterOutputDevice(QObject, OutputDevice):
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def stopCamera(self):
|
def stopCamera(self):
|
||||||
|
self._camera_active = False
|
||||||
self._stopCamera()
|
self._stopCamera()
|
||||||
|
|
||||||
def _stopCamera(self):
|
def _stopCamera(self):
|
||||||
|
|
|
@ -297,6 +297,16 @@ class MachineManager(QObject):
|
||||||
changed_validation_state = self._active_container_stack.getProperty(key, property_name)
|
changed_validation_state = self._active_container_stack.getProperty(key, property_name)
|
||||||
else:
|
else:
|
||||||
changed_validation_state = self._global_container_stack.getProperty(key, property_name)
|
changed_validation_state = self._global_container_stack.getProperty(key, property_name)
|
||||||
|
|
||||||
|
if changed_validation_state is None:
|
||||||
|
# Setting is not validated. This can happen if there is only a setting definition.
|
||||||
|
# We do need to validate it, because a setting defintions value can be set by a function, which could
|
||||||
|
# be an invalid setting.
|
||||||
|
definition = self._active_container_stack.getSettingDefinition(key)
|
||||||
|
validator_type = UM.Settings.SettingDefinition.getValidatorForType(definition.type)
|
||||||
|
if validator_type:
|
||||||
|
validator = validator_type(key)
|
||||||
|
changed_validation_state = validator(self._active_container_stack)
|
||||||
if changed_validation_state in (UM.Settings.ValidatorState.Exception, UM.Settings.ValidatorState.MaximumError, UM.Settings.ValidatorState.MinimumError):
|
if changed_validation_state in (UM.Settings.ValidatorState.Exception, UM.Settings.ValidatorState.MaximumError, UM.Settings.ValidatorState.MinimumError):
|
||||||
self._stacks_have_errors = True
|
self._stacks_have_errors = True
|
||||||
self.stacksValidationChanged.emit()
|
self.stacksValidationChanged.emit()
|
||||||
|
@ -871,7 +881,7 @@ class MachineManager(QObject):
|
||||||
def _askUserToKeepOrClearCurrentSettings(self):
|
def _askUserToKeepOrClearCurrentSettings(self):
|
||||||
# Ask the user if the user profile should be cleared or not (discarding the current settings)
|
# Ask the user if the user profile should be cleared or not (discarding the current settings)
|
||||||
# In Simple Mode we assume the user always wants to keep the (limited) current settings
|
# In Simple Mode we assume the user always wants to keep the (limited) current settings
|
||||||
details_text = catalog.i18nc("@label", "You made changes to the following setting(s):")
|
details_text = catalog.i18nc("@label", "You made changes to the following setting(s)/override(s):")
|
||||||
|
|
||||||
# user changes in global stack
|
# user changes in global stack
|
||||||
details_list = [setting.definition.label for setting in self._global_container_stack.getTop().findInstances(**{})]
|
details_list = [setting.definition.label for setting in self._global_container_stack.getTop().findInstances(**{})]
|
||||||
|
@ -886,14 +896,19 @@ class MachineManager(QObject):
|
||||||
# Format to output string
|
# Format to output string
|
||||||
details = "\n ".join([details_text, ] + details_list)
|
details = "\n ".join([details_text, ] + details_list)
|
||||||
|
|
||||||
Application.getInstance().messageBox(catalog.i18nc("@window:title", "Switched profiles"),
|
num_changed_settings = len(details_list)
|
||||||
catalog.i18nc("@label",
|
Application.getInstance().messageBox(
|
||||||
"Do you want to transfer your changed settings to this profile?"),
|
catalog.i18nc("@window:title", "Switched profiles"),
|
||||||
catalog.i18nc("@label",
|
catalog.i18nc(
|
||||||
"If you transfer your settings they will override settings in the profile."),
|
"@label",
|
||||||
details,
|
"Do you want to transfer your %d changed setting(s)/override(s) to this profile?") % num_changed_settings,
|
||||||
buttons=QMessageBox.Yes + QMessageBox.No, icon=QMessageBox.Question,
|
catalog.i18nc(
|
||||||
callback=self._keepUserSettingsDialogCallback)
|
"@label",
|
||||||
|
"If you transfer your settings they will override settings in the profile."),
|
||||||
|
details,
|
||||||
|
buttons=QMessageBox.Yes + QMessageBox.No,
|
||||||
|
icon=QMessageBox.Question,
|
||||||
|
callback=self._keepUserSettingsDialogCallback)
|
||||||
|
|
||||||
def _keepUserSettingsDialogCallback(self, button):
|
def _keepUserSettingsDialogCallback(self, button):
|
||||||
if button == QMessageBox.Yes:
|
if button == QMessageBox.Yes:
|
||||||
|
|
|
@ -85,7 +85,7 @@ class SettingInheritanceManager(QObject):
|
||||||
self._update() # Ensure that the settings_with_inheritance_warning list is populated.
|
self._update() # Ensure that the settings_with_inheritance_warning list is populated.
|
||||||
|
|
||||||
def _onPropertyChanged(self, key, property_name):
|
def _onPropertyChanged(self, key, property_name):
|
||||||
if property_name == "value" and self._global_container_stack:
|
if (property_name == "value" or property_name == "enabled") and self._global_container_stack:
|
||||||
definitions = self._global_container_stack.getBottom().findDefinitions(key = key)
|
definitions = self._global_container_stack.getBottom().findDefinitions(key = key)
|
||||||
if not definitions:
|
if not definitions:
|
||||||
return
|
return
|
||||||
|
@ -167,7 +167,16 @@ class SettingInheritanceManager(QObject):
|
||||||
continue
|
continue
|
||||||
if value is not None:
|
if value is not None:
|
||||||
# If a setting doesn't use any keys, it won't change it's value, so treat it as if it's a fixed value
|
# If a setting doesn't use any keys, it won't change it's value, so treat it as if it's a fixed value
|
||||||
has_setting_function = isinstance(value, UM.Settings.SettingFunction) and len(value.getUsedSettingKeys()) > 0
|
has_setting_function = isinstance(value, UM.Settings.SettingFunction)
|
||||||
|
if has_setting_function:
|
||||||
|
for setting_key in value.getUsedSettingKeys():
|
||||||
|
if setting_key in self._active_container_stack.getAllKeys():
|
||||||
|
break # We found an actual setting. So has_setting_function can remain true
|
||||||
|
else:
|
||||||
|
# All of the setting_keys turned out to not be setting keys at all!
|
||||||
|
# This can happen due enum keys also being marked as settings.
|
||||||
|
has_setting_function = False
|
||||||
|
|
||||||
if has_setting_function is False:
|
if has_setting_function is False:
|
||||||
has_non_function_value = True
|
has_non_function_value = True
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -425,7 +425,7 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
for entry in settings:
|
for entry in settings:
|
||||||
key = entry.get("key")
|
key = entry.get("key")
|
||||||
if key in self.__material_property_setting_map:
|
if key in self.__material_property_setting_map:
|
||||||
self.setProperty(self.__material_property_setting_map[key], "value", entry.text, self._definition)
|
self.setProperty(self.__material_property_setting_map[key], "value", entry.text)
|
||||||
global_setting_values[self.__material_property_setting_map[key]] = entry.text
|
global_setting_values[self.__material_property_setting_map[key]] = entry.text
|
||||||
elif key in self.__unmapped_settings:
|
elif key in self.__unmapped_settings:
|
||||||
if key == "hardware compatible":
|
if key == "hardware compatible":
|
||||||
|
@ -484,10 +484,10 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
new_material.getMetaData()["compatible"] = machine_compatibility
|
new_material.getMetaData()["compatible"] = machine_compatibility
|
||||||
|
|
||||||
for key, value in global_setting_values.items():
|
for key, value in global_setting_values.items():
|
||||||
new_material.setProperty(key, "value", value, definition)
|
new_material.setProperty(key, "value", value)
|
||||||
|
|
||||||
for key, value in machine_setting_values.items():
|
for key, value in machine_setting_values.items():
|
||||||
new_material.setProperty(key, "value", value, definition)
|
new_material.setProperty(key, "value", value)
|
||||||
|
|
||||||
new_material._dirty = False
|
new_material._dirty = False
|
||||||
if not materials:
|
if not materials:
|
||||||
|
@ -538,13 +538,13 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
|
||||||
new_hotend_material.getMetaData()["compatible"] = hotend_compatibility
|
new_hotend_material.getMetaData()["compatible"] = hotend_compatibility
|
||||||
|
|
||||||
for key, value in global_setting_values.items():
|
for key, value in global_setting_values.items():
|
||||||
new_hotend_material.setProperty(key, "value", value, definition)
|
new_hotend_material.setProperty(key, "value", value)
|
||||||
|
|
||||||
for key, value in machine_setting_values.items():
|
for key, value in machine_setting_values.items():
|
||||||
new_hotend_material.setProperty(key, "value", value, definition)
|
new_hotend_material.setProperty(key, "value", value)
|
||||||
|
|
||||||
for key, value in hotend_setting_values.items():
|
for key, value in hotend_setting_values.items():
|
||||||
new_hotend_material.setProperty(key, "value", value, definition)
|
new_hotend_material.setProperty(key, "value", value)
|
||||||
|
|
||||||
new_hotend_material._dirty = False
|
new_hotend_material._dirty = False
|
||||||
if not materials: # It was not added yet, do so now.
|
if not materials: # It was not added yet, do so now.
|
||||||
|
|
|
@ -1696,6 +1696,7 @@
|
||||||
"unit": "mm/s",
|
"unit": "mm/s",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default_value": 30,
|
"default_value": 30,
|
||||||
|
"value": "speed_print * 30 / 60",
|
||||||
"minimum_value": "0.1",
|
"minimum_value": "0.1",
|
||||||
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
|
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
|
||||||
"maximum_value_warning": "300",
|
"maximum_value_warning": "300",
|
||||||
|
@ -3637,7 +3638,6 @@
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
"enabled": "resolveOrValue('prime_tower_enable')",
|
"enabled": "resolveOrValue('prime_tower_enable')",
|
||||||
"default_value": 15,
|
"default_value": 15,
|
||||||
"value": "15 if resolveOrValue('prime_tower_enable') else 0",
|
|
||||||
"resolve": "max(extruderValues('prime_tower_size'))",
|
"resolve": "max(extruderValues('prime_tower_size'))",
|
||||||
"minimum_value": "0",
|
"minimum_value": "0",
|
||||||
"maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
|
"maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
|
||||||
|
@ -3906,6 +3906,28 @@
|
||||||
"settable_per_meshgroup": false,
|
"settable_per_meshgroup": false,
|
||||||
"settable_globally": false
|
"settable_globally": false
|
||||||
},
|
},
|
||||||
|
"support_mesh":
|
||||||
|
{
|
||||||
|
"label": "Support Mesh",
|
||||||
|
"description": "Use this mesh to specify support areas. This can be used to generate support structure.",
|
||||||
|
"type": "bool",
|
||||||
|
"default_value": false,
|
||||||
|
"settable_per_mesh": true,
|
||||||
|
"settable_per_extruder": false,
|
||||||
|
"settable_per_meshgroup": false,
|
||||||
|
"settable_globally": false
|
||||||
|
},
|
||||||
|
"anti_overhang_mesh":
|
||||||
|
{
|
||||||
|
"label": "Anti Overhang Mesh",
|
||||||
|
"description": "Use this mesh to specify where no part of the model should be detected as overhang. This can be used to remove unwanted support structure.",
|
||||||
|
"type": "bool",
|
||||||
|
"default_value": false,
|
||||||
|
"settable_per_mesh": true,
|
||||||
|
"settable_per_extruder": false,
|
||||||
|
"settable_per_meshgroup": false,
|
||||||
|
"settable_globally": false
|
||||||
|
},
|
||||||
"magic_mesh_surface_mode":
|
"magic_mesh_surface_mode":
|
||||||
{
|
{
|
||||||
"label": "Surface Mode",
|
"label": "Surface Mode",
|
||||||
|
|
|
@ -1913,7 +1913,7 @@ msgstr "&Beenden"
|
||||||
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:97
|
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:97
|
||||||
msgctxt "@action:inmenu"
|
msgctxt "@action:inmenu"
|
||||||
msgid "Configure Cura..."
|
msgid "Configure Cura..."
|
||||||
msgstr "Cura wird konfiguriert..."
|
msgstr "Cura konfigurieren..."
|
||||||
|
|
||||||
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:104
|
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:104
|
||||||
msgctxt "@action:inmenu menubar:printer"
|
msgctxt "@action:inmenu menubar:printer"
|
||||||
|
|
|
@ -2629,3 +2629,8 @@ msgstr "De configuratie van de printer in Cura laden"
|
||||||
msgctxt "@action:button"
|
msgctxt "@action:button"
|
||||||
msgid "Activate Configuration"
|
msgid "Activate Configuration"
|
||||||
msgstr "Configuratie Activeren"
|
msgstr "Configuratie Activeren"
|
||||||
|
|
||||||
|
#: /home/ruben/Projects/Cura/resources/qml/Preferences/MaterialView.qml:25
|
||||||
|
msgctxt "@title"
|
||||||
|
msgid "Information"
|
||||||
|
msgstr "Informatie"
|
||||||
|
|
|
@ -123,7 +123,7 @@ Item
|
||||||
{
|
{
|
||||||
id: updateProfileAction;
|
id: updateProfileAction;
|
||||||
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings && !Cura.MachineManager.isReadOnly(Cura.MachineManager.activeQualityId)
|
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings && !Cura.MachineManager.isReadOnly(Cura.MachineManager.activeQualityId)
|
||||||
text: catalog.i18nc("@action:inmenu menubar:profile","&Update profile with current settings");
|
text: catalog.i18nc("@action:inmenu menubar:profile","&Update profile with current settings/overrides");
|
||||||
onTriggered: Cura.ContainerManager.updateQualityChanges();
|
onTriggered: Cura.ContainerManager.updateQualityChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ Item
|
||||||
{
|
{
|
||||||
id: addProfileAction;
|
id: addProfileAction;
|
||||||
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings
|
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings
|
||||||
text: catalog.i18nc("@action:inmenu menubar:profile","&Create profile from current settings...");
|
text: catalog.i18nc("@action:inmenu menubar:profile","&Create profile from current settings/overrides...");
|
||||||
}
|
}
|
||||||
|
|
||||||
Action
|
Action
|
||||||
|
|
|
@ -162,7 +162,7 @@ UM.ManagementPage
|
||||||
Button
|
Button
|
||||||
{
|
{
|
||||||
text: {
|
text: {
|
||||||
return catalog.i18nc("@action:button", "Update profile with current settings");
|
return catalog.i18nc("@action:button", "Update profile with current settings/overrides");
|
||||||
}
|
}
|
||||||
enabled: Cura.MachineManager.hasUserSettings && !Cura.MachineManager.isReadOnly(Cura.MachineManager.activeQualityId)
|
enabled: Cura.MachineManager.hasUserSettings && !Cura.MachineManager.isReadOnly(Cura.MachineManager.activeQualityId)
|
||||||
onClicked: Cura.ContainerManager.updateQualityChanges()
|
onClicked: Cura.ContainerManager.updateQualityChanges()
|
||||||
|
@ -187,7 +187,7 @@ UM.ManagementPage
|
||||||
Label {
|
Label {
|
||||||
id: defaultsMessage
|
id: defaultsMessage
|
||||||
visible: false
|
visible: false
|
||||||
text: catalog.i18nc("@action:label", "This profile uses the defaults specified by the printer, so it has no settings in the list below.")
|
text: catalog.i18nc("@action:label", "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below.")
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
width: parent.width
|
width: parent.width
|
||||||
}
|
}
|
||||||
|
|
|
@ -209,14 +209,26 @@ Item {
|
||||||
// But this will cause the binding to be re-evaluated when the enabled property changes.
|
// But this will cause the binding to be re-evaluated when the enabled property changes.
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// There are no settings with any warning.
|
||||||
if(Cura.SettingInheritanceManager.settingsWithInheritanceWarning.length == 0)
|
if(Cura.SettingInheritanceManager.settingsWithInheritanceWarning.length == 0)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This setting has a resolve value, so an inheritance warning doesn't do anything.
|
||||||
|
if(resolve != "None")
|
||||||
|
{
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the setting does not have a limit_to_extruder property (or is -1), use the active stack.
|
||||||
if(globalPropertyProvider.properties.limit_to_extruder == null || globalPropertyProvider.properties.limit_to_extruder == -1)
|
if(globalPropertyProvider.properties.limit_to_extruder == null || globalPropertyProvider.properties.limit_to_extruder == -1)
|
||||||
{
|
{
|
||||||
return Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0;
|
return Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Setting does have a limit_to_extruder property, so use that one instead.
|
||||||
return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, globalPropertyProvider.properties.limit_to_extruder).indexOf(definition.key) >= 0;
|
return Cura.SettingInheritanceManager.getOverridesForExtruder(definition.key, globalPropertyProvider.properties.limit_to_extruder).indexOf(definition.key) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,7 +239,7 @@ Item {
|
||||||
focus = true;
|
focus = true;
|
||||||
|
|
||||||
// Get the most shallow function value (eg not a number) that we can find.
|
// Get the most shallow function value (eg not a number) that we can find.
|
||||||
var last_entry = propertyProvider.stackLevels[propertyProvider.stackLevels.length]
|
var last_entry = propertyProvider.stackLevels[propertyProvider.stackLevels.length - 1]
|
||||||
for (var i = 1; i < base.stackLevels.length; i++)
|
for (var i = 1; i < base.stackLevels.length; i++)
|
||||||
{
|
{
|
||||||
var has_setting_function = typeof(propertyProvider.getPropertyValue("value", base.stackLevels[i])) == "object";
|
var has_setting_function = typeof(propertyProvider.getPropertyValue("value", base.stackLevels[i])) == "object";
|
||||||
|
|
|
@ -329,7 +329,7 @@ Column
|
||||||
}
|
}
|
||||||
onEntered:
|
onEntered:
|
||||||
{
|
{
|
||||||
var content = catalog.i18nc("@tooltip","Some setting values are different from the values stored in the profile.\n\nClick to open the profile manager.")
|
var content = catalog.i18nc("@tooltip","Some setting/override values are different from the values stored in the profile.\n\nClick to open the profile manager.")
|
||||||
base.showTooltip(globalProfileRow, Qt.point(0, globalProfileRow.height / 2), content)
|
base.showTooltip(globalProfileRow, Qt.point(0, globalProfileRow.height / 2), content)
|
||||||
}
|
}
|
||||||
onExited: base.hideTooltip()
|
onExited: base.hideTooltip()
|
||||||
|
|
|
@ -15,5 +15,6 @@ wall_thickness = 0.88
|
||||||
top_bottom_thickness = 0.72
|
top_bottom_thickness = 0.72
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
speed_print = 30
|
speed_print = 30
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 30)
|
||||||
cool_min_layer_time = 5
|
cool_min_layer_time = 5
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,9 +15,9 @@ wall_thickness = 0.7
|
||||||
top_bottom_thickness = 0.75
|
top_bottom_thickness = 0.75
|
||||||
infill_sparse_density = 18
|
infill_sparse_density = 18
|
||||||
speed_print = 60
|
speed_print = 60
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||||
speed_wall = 50
|
speed_wall = 50
|
||||||
speed_topbottom = 30
|
speed_topbottom = 30
|
||||||
speed_travel = 150
|
speed_travel = 150
|
||||||
speed_layer_0 = 30
|
|
||||||
cool_min_layer_time = 5
|
cool_min_layer_time = 5
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.05
|
||||||
top_bottom_thickness = 0.72
|
top_bottom_thickness = 0.72
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
speed_print = 50
|
speed_print = 50
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||||
speed_topbottom = 20
|
speed_topbottom = 20
|
||||||
cool_min_layer_time = 5
|
cool_min_layer_time = 5
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.05
|
||||||
top_bottom_thickness = 0.8
|
top_bottom_thickness = 0.8
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 50
|
speed_print = 50
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||||
speed_topbottom = 20
|
speed_topbottom = 20
|
||||||
cool_min_layer_time = 5
|
cool_min_layer_time = 5
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.59
|
||||||
top_bottom_thickness = 1.2
|
top_bottom_thickness = 1.2
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 55
|
speed_print = 55
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||||
speed_wall = 40
|
speed_wall = 40
|
||||||
speed_wall_0 = 25
|
speed_wall_0 = 25
|
||||||
speed_topbottom = 20
|
speed_topbottom = 20
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 2.1
|
||||||
top_bottom_thickness = 1.2
|
top_bottom_thickness = 1.2
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
speed_wall_0 = 25
|
speed_wall_0 = 25
|
||||||
cool_min_layer_time = 5
|
cool_min_layer_time = 5
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 0.88
|
||||||
top_bottom_thickness = 0.72
|
top_bottom_thickness = 0.72
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
speed_print = 30
|
speed_print = 30
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 30)
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 20
|
cool_fan_speed_min = 20
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,10 +15,10 @@ wall_thickness = 0.7
|
||||||
top_bottom_thickness = 0.75
|
top_bottom_thickness = 0.75
|
||||||
infill_sparse_density = 18
|
infill_sparse_density = 18
|
||||||
speed_print = 55
|
speed_print = 55
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||||
speed_wall = 40
|
speed_wall = 40
|
||||||
speed_topbottom = 30
|
speed_topbottom = 30
|
||||||
speed_travel = 150
|
speed_travel = 150
|
||||||
speed_layer_0 = 30
|
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 20
|
cool_fan_speed_min = 20
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.05
|
||||||
top_bottom_thickness = 0.72
|
top_bottom_thickness = 0.72
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
speed_wall = 30
|
speed_wall = 30
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 20
|
cool_fan_speed_min = 20
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.05
|
||||||
top_bottom_thickness = 0.8
|
top_bottom_thickness = 0.8
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
speed_wall = 30
|
speed_wall = 30
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 20
|
cool_fan_speed_min = 20
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.59
|
||||||
top_bottom_thickness = 1.2
|
top_bottom_thickness = 1.2
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
speed_infill = 55
|
speed_infill = 55
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 50
|
cool_fan_speed_min = 50
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 2.1
|
||||||
top_bottom_thickness = 1.2
|
top_bottom_thickness = 1.2
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 50
|
cool_fan_speed_min = 50
|
||||||
cool_min_speed = 15
|
cool_min_speed = 15
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 0.88
|
||||||
top_bottom_thickness = 0.72
|
top_bottom_thickness = 0.72
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
speed_print = 30
|
speed_print = 30
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 30)
|
||||||
cool_min_layer_time = 2
|
cool_min_layer_time = 2
|
||||||
cool_fan_speed_min = 20
|
cool_fan_speed_min = 20
|
||||||
cool_min_speed = 15
|
cool_min_speed = 15
|
||||||
|
|
|
@ -15,9 +15,9 @@ wall_thickness = 0.7
|
||||||
top_bottom_thickness = 0.75
|
top_bottom_thickness = 0.75
|
||||||
infill_sparse_density = 18
|
infill_sparse_density = 18
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
speed_wall = 40
|
speed_wall = 40
|
||||||
speed_travel = 150
|
speed_travel = 150
|
||||||
speed_layer_0 = 30
|
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 80
|
cool_fan_speed_min = 80
|
||||||
cool_min_speed = 10
|
cool_min_speed = 10
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.05
|
||||||
top_bottom_thickness = 0.72
|
top_bottom_thickness = 0.72
|
||||||
infill_sparse_density = 22
|
infill_sparse_density = 22
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
speed_wall = 30
|
speed_wall = 30
|
||||||
cool_min_layer_time = 2
|
cool_min_layer_time = 2
|
||||||
cool_fan_speed_min = 80
|
cool_fan_speed_min = 80
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.05
|
||||||
top_bottom_thickness = 0.8
|
top_bottom_thickness = 0.8
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
speed_wall = 30
|
speed_wall = 30
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 80
|
cool_fan_speed_min = 80
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 1.59
|
||||||
top_bottom_thickness = 1.2
|
top_bottom_thickness = 1.2
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
cool_min_layer_time = 5
|
cool_min_layer_time = 5
|
||||||
cool_fan_speed_min = 80
|
cool_fan_speed_min = 80
|
||||||
cool_min_speed = 8
|
cool_min_speed = 8
|
||||||
|
|
|
@ -15,6 +15,7 @@ wall_thickness = 2.1
|
||||||
top_bottom_thickness = 1.2
|
top_bottom_thickness = 1.2
|
||||||
infill_sparse_density = 20
|
infill_sparse_density = 20
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
cool_fan_speed_min = 80
|
cool_fan_speed_min = 80
|
||||||
cool_min_speed = 8
|
cool_min_speed = 8
|
||||||
|
|
|
@ -20,7 +20,6 @@ raft_surface_thickness = 0.2
|
||||||
raft_surface_line_width = 0.57
|
raft_surface_line_width = 0.57
|
||||||
raft_interface_line_spacing = 1.4
|
raft_interface_line_spacing = 1.4
|
||||||
raft_margin = 15
|
raft_margin = 15
|
||||||
speed_layer_0 = 30
|
|
||||||
raft_airgap = 0.37
|
raft_airgap = 0.37
|
||||||
infill_overlap = 5
|
infill_overlap = 5
|
||||||
layer_height = 0.3
|
layer_height = 0.3
|
||||||
|
@ -40,6 +39,7 @@ line_width = 0.57
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
raft_base_line_width = 1.2
|
raft_base_line_width = 1.2
|
||||||
speed_print = 25
|
speed_print = 25
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||||
support_line_distance = 2.85
|
support_line_distance = 2.85
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
|
|
|
@ -33,6 +33,7 @@ infill_sparse_density = 40
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
raft_base_line_width = 1.6
|
raft_base_line_width = 1.6
|
||||||
speed_print = 25
|
speed_print = 25
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 25)
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
|
|
|
@ -33,6 +33,7 @@ infill_sparse_density = 40
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
raft_base_line_width = 1.6
|
raft_base_line_width = 1.6
|
||||||
speed_print = 30
|
speed_print = 30
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 30)
|
||||||
speed_wall_0 = 20
|
speed_wall_0 = 20
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
|
|
|
@ -20,7 +20,6 @@ support_top_distance = 0.5
|
||||||
raft_surface_thickness = 0.2
|
raft_surface_thickness = 0.2
|
||||||
wall_thickness = 2.4
|
wall_thickness = 2.4
|
||||||
raft_margin = 15
|
raft_margin = 15
|
||||||
speed_layer_0 = 30
|
|
||||||
raft_airgap = 0.44
|
raft_airgap = 0.44
|
||||||
infill_overlap = 5
|
infill_overlap = 5
|
||||||
layer_height = 0.2
|
layer_height = 0.2
|
||||||
|
@ -41,6 +40,7 @@ infill_sparse_density = 40
|
||||||
layer_0_z_overlap = 0.25
|
layer_0_z_overlap = 0.25
|
||||||
raft_base_line_width = 1.6
|
raft_base_line_width = 1.6
|
||||||
speed_print = 55
|
speed_print = 55
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
raft_interface_line_spacing = 1.8
|
raft_interface_line_spacing = 1.8
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ infill_sparse_density = 25
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
cool_min_layer_time = 2
|
cool_min_layer_time = 2
|
||||||
speed_print = 30
|
speed_print = 30
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 30)
|
||||||
raft_base_line_spacing = 1
|
raft_base_line_spacing = 1
|
||||||
raft_base_line_width = 0.5
|
raft_base_line_width = 0.5
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ infill_sparse_density = 25
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
cool_min_layer_time = 2
|
cool_min_layer_time = 2
|
||||||
speed_print = 30
|
speed_print = 30
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 30)
|
||||||
raft_base_line_spacing = 1
|
raft_base_line_spacing = 1
|
||||||
raft_base_line_width = 0.5
|
raft_base_line_width = 0.5
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ infill_sparse_density = 30
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
raft_base_line_spacing = 1.6
|
raft_base_line_spacing = 1.6
|
||||||
raft_base_line_width = 0.8
|
raft_base_line_width = 0.8
|
||||||
|
|
|
@ -31,6 +31,7 @@ infill_sparse_density = 30
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
speed_print = 45
|
speed_print = 45
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 45)
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
raft_base_line_spacing = 1.6
|
raft_base_line_spacing = 1.6
|
||||||
raft_base_line_width = 0.8
|
raft_base_line_width = 0.8
|
||||||
|
|
|
@ -32,6 +32,7 @@ infill_sparse_density = 40
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
raft_base_line_width = 1.6
|
raft_base_line_width = 1.6
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ infill_sparse_density = 40
|
||||||
layer_0_z_overlap = 0.22
|
layer_0_z_overlap = 0.22
|
||||||
raft_base_line_width = 1.6
|
raft_base_line_width = 1.6
|
||||||
speed_print = 40
|
speed_print = 40
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 40)
|
||||||
support_angle = 45
|
support_angle = 45
|
||||||
cool_min_layer_time = 3
|
cool_min_layer_time = 3
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ material_print_temperature = 240
|
||||||
prime_tower_size = 16
|
prime_tower_size = 16
|
||||||
skin_overlap = 20
|
skin_overlap = 20
|
||||||
speed_print = 60
|
speed_print = 60
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||||
speed_topbottom = =math.ceil(speed_print * 35 / 60)
|
speed_topbottom = =math.ceil(speed_print * 35 / 60)
|
||||||
speed_wall = =math.ceil(speed_print * 45 / 60)
|
speed_wall = =math.ceil(speed_print * 45 / 60)
|
||||||
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
||||||
|
|
|
@ -17,6 +17,7 @@ material_print_temperature = 235
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_size = 16
|
prime_tower_size = 16
|
||||||
speed_print = 60
|
speed_print = 60
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
||||||
speed_wall = =math.ceil(speed_print * 40 / 60)
|
speed_wall = =math.ceil(speed_print * 40 / 60)
|
||||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||||
|
|
|
@ -16,6 +16,7 @@ machine_nozzle_heat_up_speed = 1.5
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_size = 16
|
prime_tower_size = 16
|
||||||
speed_print = 50
|
speed_print = 50
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 50)
|
speed_topbottom = =math.ceil(speed_print * 30 / 50)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 50)
|
speed_wall = =math.ceil(speed_print * 30 / 50)
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ material_print_temperature = 230
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_size = 16
|
prime_tower_size = 16
|
||||||
speed_print = 55
|
speed_print = 55
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 55)
|
speed_topbottom = =math.ceil(speed_print * 30 / 55)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 55)
|
speed_wall = =math.ceil(speed_print * 30 / 55)
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ material_standby_temperature = 100
|
||||||
prime_tower_size = 17
|
prime_tower_size = 17
|
||||||
skin_overlap = 20
|
skin_overlap = 20
|
||||||
speed_print = 60
|
speed_print = 60
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||||
speed_topbottom = =math.ceil(speed_print * 35 / 60)
|
speed_topbottom = =math.ceil(speed_print * 35 / 60)
|
||||||
speed_wall = =math.ceil(speed_print * 45 / 60)
|
speed_wall = =math.ceil(speed_print * 45 / 60)
|
||||||
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
||||||
|
|
|
@ -15,6 +15,7 @@ material_print_temperature = 245
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_size = 17
|
prime_tower_size = 17
|
||||||
speed_print = 60
|
speed_print = 60
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
||||||
speed_wall = =math.ceil(speed_print * 40 / 60)
|
speed_wall = =math.ceil(speed_print * 40 / 60)
|
||||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||||
|
|
|
@ -16,6 +16,7 @@ machine_nozzle_heat_up_speed = 1.5
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_size = 17
|
prime_tower_size = 17
|
||||||
speed_print = 50
|
speed_print = 50
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 50)
|
speed_topbottom = =math.ceil(speed_print * 30 / 50)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 50)
|
speed_wall = =math.ceil(speed_print * 30 / 50)
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ material_print_temperature = 240
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_size = 17
|
prime_tower_size = 17
|
||||||
speed_print = 55
|
speed_print = 55
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 55)
|
speed_topbottom = =math.ceil(speed_print * 30 / 55)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 55)
|
speed_wall = =math.ceil(speed_print * 30 / 55)
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@ machine_nozzle_heat_up_speed = 1.6
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
prime_tower_enable = False
|
prime_tower_enable = False
|
||||||
speed_print = 80
|
speed_print = 80
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 80)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 80)
|
speed_topbottom = =math.ceil(speed_print * 30 / 80)
|
||||||
speed_wall = =math.ceil(speed_print * 40 / 80)
|
speed_wall = =math.ceil(speed_print * 40 / 80)
|
||||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||||
|
|
|
@ -19,6 +19,7 @@ material_print_temperature = 195
|
||||||
material_standby_temperature = 100
|
material_standby_temperature = 100
|
||||||
skin_overlap = 10
|
skin_overlap = 10
|
||||||
speed_print = 60
|
speed_print = 60
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 60)
|
speed_wall = =math.ceil(speed_print * 30 / 60)
|
||||||
top_bottom_thickness = 1
|
top_bottom_thickness = 1
|
||||||
|
|
|
@ -28,6 +28,7 @@ retraction_min_travel = =line_width * 2
|
||||||
retraction_prime_speed = =retraction_speed
|
retraction_prime_speed = =retraction_speed
|
||||||
skin_overlap = 15
|
skin_overlap = 15
|
||||||
speed_print = 70
|
speed_print = 70
|
||||||
|
speed_layer_0 = =speed_print * 30 / 70
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 70)
|
speed_topbottom = =math.ceil(speed_print * 30 / 70)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 70)
|
speed_wall = =math.ceil(speed_print * 30 / 70)
|
||||||
support_angle = 60
|
support_angle = 60
|
||||||
|
|
|
@ -27,6 +27,7 @@ retraction_min_travel = 1.5
|
||||||
retraction_prime_speed = 25
|
retraction_prime_speed = 25
|
||||||
skin_overlap = 15
|
skin_overlap = 15
|
||||||
speed_print = 70
|
speed_print = 70
|
||||||
|
speed_layer_0 = =round(speed_print * 30 / 70)
|
||||||
speed_topbottom = =math.ceil(speed_print * 30 / 70)
|
speed_topbottom = =math.ceil(speed_print * 30 / 70)
|
||||||
speed_wall = =math.ceil(speed_print * 30 / 70)
|
speed_wall = =math.ceil(speed_print * 30 / 70)
|
||||||
support_angle = 60
|
support_angle = 60
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue