Merge branch 'master' of github.com:Ultimaker/Cura

This commit is contained in:
Jack Ha 2018-01-10 11:15:23 +01:00
commit 72c24c2b5b
102 changed files with 1726 additions and 90 deletions

View File

@ -18,7 +18,7 @@ class OneAtATimeIterator(Iterator.Iterator):
def _fillStack(self): def _fillStack(self):
node_list = [] node_list = []
for node in self._scene_node.getChildren(): for node in self._scene_node.getChildren():
if not type(node) is SceneNode: if not isinstance(node, SceneNode):
continue continue
if node.callDecoration("getConvexHull"): if node.callDecoration("getConvexHull"):

View File

@ -816,6 +816,22 @@ class ContainerManager(QObject):
ContainerRegistry.getInstance().addContainer(container_to_add) ContainerRegistry.getInstance().addContainer(container_to_add)
return self._getMaterialContainerIdForActiveMachine(clone_of_original) return self._getMaterialContainerIdForActiveMachine(clone_of_original)
## Create a duplicate of a material or it's original entry
#
# \return \type{str} the id of the newly created container.
@pyqtSlot(str, result = str)
def duplicateOriginalMaterial(self, material_id):
# check if the given material has a base file (i.e. was shipped by default)
base_file = self.getContainerMetaDataEntry(material_id, "base_file")
if base_file == "":
# there is no base file, so duplicate by ID
return self.duplicateMaterial(material_id)
else:
# there is a base file, so duplicate the original material
return self.duplicateMaterial(base_file)
## Create a new material by cloning Generic PLA for the current material diameter and setting the GUID to something unqiue ## Create a new material by cloning Generic PLA for the current material diameter and setting the GUID to something unqiue
# #
# \return \type{str} the id of the newly created container. # \return \type{str} the id of the newly created container.

View File

@ -202,7 +202,6 @@ class CuraContainerRegistry(ContainerRegistry):
for plugin_id, meta_data in self._getIOPlugins("profile_reader"): for plugin_id, meta_data in self._getIOPlugins("profile_reader"):
if meta_data["profile_reader"][0]["extension"] != extension: if meta_data["profile_reader"][0]["extension"] != extension:
continue continue
profile_reader = plugin_registry.getPluginObject(plugin_id) profile_reader = plugin_registry.getPluginObject(plugin_id)
try: try:
profile_or_list = profile_reader.read(file_name) # Try to open the file with the profile reader. profile_or_list = profile_reader.read(file_name) # Try to open the file with the profile reader.
@ -215,6 +214,20 @@ class CuraContainerRegistry(ContainerRegistry):
name_seed = os.path.splitext(os.path.basename(file_name))[0] name_seed = os.path.splitext(os.path.basename(file_name))[0]
new_name = self.uniqueName(name_seed) new_name = self.uniqueName(name_seed)
# if the loaded profile comes from g-code then the instance cointaners should be
# defined differently
file_extension = os.path.splitext(file_name)[1][1:]
if file_extension == "gcode":
for item in profile_or_list:
item.metaData["name"] = new_name
if item.getMetaDataEntry("extruder") is None:
temp_defintion = item.getMetaDataEntry("definition")
item.metaData["id"] = temp_defintion + "_" + new_name
elif item.getMetaDataEntry("extruder") is not None:
temp_extruder = item.getMetaDataEntry("extruder")
item.metaData["id"] = temp_extruder + "_" + new_name
# Ensure it is always a list of profiles # Ensure it is always a list of profiles
if type(profile_or_list) is not list: if type(profile_or_list) is not list:
profile_or_list = [profile_or_list] profile_or_list = [profile_or_list]
@ -515,6 +528,7 @@ class CuraContainerRegistry(ContainerRegistry):
extruder_quality_changes_container = self.findInstanceContainers(name = machine.qualityChanges.getName(), extruder = extruder_id) extruder_quality_changes_container = self.findInstanceContainers(name = machine.qualityChanges.getName(), extruder = extruder_id)
if extruder_quality_changes_container: if extruder_quality_changes_container:
extruder_quality_changes_container = extruder_quality_changes_container[0] extruder_quality_changes_container = extruder_quality_changes_container[0]
quality_changes_id = extruder_quality_changes_container.getId() quality_changes_id = extruder_quality_changes_container.getId()
extruder_stack.setQualityChangesById(quality_changes_id) extruder_stack.setQualityChangesById(quality_changes_id)
else: else:
@ -525,15 +539,92 @@ class CuraContainerRegistry(ContainerRegistry):
if extruder_quality_changes_container: if extruder_quality_changes_container:
quality_changes_id = extruder_quality_changes_container.getId() quality_changes_id = extruder_quality_changes_container.getId()
extruder_stack.setQualityChangesById(quality_changes_id) extruder_stack.setQualityChangesById(quality_changes_id)
else:
# if we still cannot find a quality changes container for the extruder, create a new one
container_id = self.uniqueName(extruder_stack.getId() + "_user")
container_name = machine.qualityChanges.getName()
extruder_quality_changes_container = InstanceContainer(container_id)
extruder_quality_changes_container.setName(container_name)
extruder_quality_changes_container.addMetaDataEntry("type", "quality_changes")
extruder_quality_changes_container.addMetaDataEntry("setting_version", CuraApplication.SettingVersion)
extruder_quality_changes_container.addMetaDataEntry("extruder", extruder_stack.definition.getId())
extruder_quality_changes_container.addMetaDataEntry("quality_type", machine.qualityChanges.getMetaDataEntry("quality_type"))
extruder_quality_changes_container.setDefinition(machine.qualityChanges.getDefinition().getId())
if not extruder_quality_changes_container: if not extruder_quality_changes_container:
Logger.log("w", "Could not find quality_changes named [%s] for extruder [%s]", Logger.log("w", "Could not find quality_changes named [%s] for extruder [%s]",
machine.qualityChanges.getName(), extruder_stack.getId()) machine.qualityChanges.getName(), extruder_stack.getId())
else:
# move all per-extruder settings to the extruder's quality changes
for qc_setting_key in machine.qualityChanges.getAllKeys():
settable_per_extruder = machine.getProperty(qc_setting_key, "settable_per_extruder")
if settable_per_extruder:
setting_value = machine.qualityChanges.getProperty(qc_setting_key, "value")
setting_definition = machine.getSettingDefinition(qc_setting_key)
new_instance = SettingInstance(setting_definition, definition_changes)
new_instance.setProperty("value", setting_value)
new_instance.resetState() # Ensure that the state is not seen as a user state.
extruder_quality_changes_container.addInstance(new_instance)
extruder_quality_changes_container.setDirty(True)
machine.qualityChanges.removeInstance(qc_setting_key, postpone_emit=True)
else: else:
extruder_stack.setQualityChangesById("empty_quality_changes") extruder_stack.setQualityChangesById("empty_quality_changes")
self.addContainer(extruder_stack) self.addContainer(extruder_stack)
# Also need to fix the other qualities that are suitable for this machine. Those quality changes may still have
# per-extruder settings in the container for the machine instead of the extruder.
if machine.qualityChanges.getId() not in ("empty", "empty_quality_changes"):
quality_changes_machine_definition_id = machine.qualityChanges.getDefinition().getId()
else:
whole_machine_definition = machine.definition
machine_entry = machine.definition.getMetaDataEntry("machine")
if machine_entry is not None:
container_registry = ContainerRegistry.getInstance()
whole_machine_definition = container_registry.findDefinitionContainers(id = machine_entry)[0]
quality_changes_machine_definition_id = "fdmprinter"
if whole_machine_definition.getMetaDataEntry("has_machine_quality"):
quality_changes_machine_definition_id = machine.definition.getMetaDataEntry("quality_definition",
whole_machine_definition.getId())
qcs = self.findInstanceContainers(type = "quality_changes", definition = quality_changes_machine_definition_id)
qc_groups = {} # map of qc names -> qc containers
for qc in qcs:
qc_name = qc.getName()
if qc_name not in qc_groups:
qc_groups[qc_name] = []
qc_groups[qc_name].append(qc)
# try to find from the quality changes cura directory too
quality_changes_container = self._findQualityChangesContainerInCuraFolder(machine.qualityChanges.getName())
if quality_changes_container:
qc_groups[qc_name].append(quality_changes_container)
for qc_name, qc_list in qc_groups.items():
qc_dict = {"global": None, "extruders": []}
for qc in qc_list:
extruder_def_id = qc.getMetaDataEntry("extruder")
if extruder_def_id is not None:
qc_dict["extruders"].append(qc)
else:
qc_dict["global"] = qc
if qc_dict["global"] is not None and len(qc_dict["extruders"]) == 1:
# move per-extruder settings
for qc_setting_key in qc_dict["global"].getAllKeys():
settable_per_extruder = machine.getProperty(qc_setting_key, "settable_per_extruder")
if settable_per_extruder:
setting_value = qc_dict["global"].getProperty(qc_setting_key, "value")
setting_definition = machine.getSettingDefinition(qc_setting_key)
new_instance = SettingInstance(setting_definition, definition_changes)
new_instance.setProperty("value", setting_value)
new_instance.resetState() # Ensure that the state is not seen as a user state.
qc_dict["extruders"][0].addInstance(new_instance)
qc_dict["extruders"][0].setDirty(True)
qc_dict["global"].removeInstance(qc_setting_key, postpone_emit=True)
# Set next stack at the end # Set next stack at the end
extruder_stack.setNextStack(machine) extruder_stack.setNextStack(machine)
@ -562,6 +653,9 @@ class CuraContainerRegistry(ContainerRegistry):
if parser["general"]["name"] == name: if parser["general"]["name"] == name:
# load the container # load the container
container_id = os.path.basename(file_path).replace(".inst.cfg", "") container_id = os.path.basename(file_path).replace(".inst.cfg", "")
if self.findInstanceContainers(id = container_id):
# this container is already in the registry, skip it
continue
instance_container = InstanceContainer(container_id) instance_container = InstanceContainer(container_id)
with open(file_path, "r") as f: with open(file_path, "r") as f:

View File

@ -22,7 +22,9 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
self._selected_object_id = None self._selected_object_id = None
self._node = None self._node = None
self._stack = None self._stack = None
self._skip_setting = None
# this is a set of settings that will be skipped if the user chooses to reset.
self._skip_reset_setting_set = set()
def setSelectedObjectId(self, id): def setSelectedObjectId(self, id):
if id != self._selected_object_id: if id != self._selected_object_id:
@ -39,8 +41,8 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
return self._selected_object_id return self._selected_object_id
@pyqtSlot(str) @pyqtSlot(str)
def setSkipSetting(self, setting_name): def addSkipResetSetting(self, setting_name):
self._skip_setting = setting_name self._skip_reset_setting_set.add(setting_name)
def setVisible(self, visible): def setVisible(self, visible):
if not self._node: if not self._node:
@ -57,7 +59,7 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
# Remove all instances that are not in visibility list # Remove all instances that are not in visibility list
for instance in all_instances: for instance in all_instances:
# exceptionally skip setting # exceptionally skip setting
if self._skip_setting is not None and self._skip_setting == instance.definition.key: if instance.definition.key in self._skip_reset_setting_set:
continue continue
if instance.definition.key not in visible: if instance.definition.key not in visible:
settings.removeInstance(instance.definition.key) settings.removeInstance(instance.definition.key)

View File

@ -324,8 +324,8 @@ Item {
// force updating the model to sync it with addedSettingsModel // force updating the model to sync it with addedSettingsModel
if(visible) if(visible)
{ {
// Set skip setting, it will prevent from restting selected mesh_type // Set skip setting, it will prevent from resetting selected mesh_type
contents.model.visibilityHandler.setSkipSetting(meshTypeSelection.model.get(meshTypeSelection.currentIndex).type) contents.model.visibilityHandler.addSkipResetSetting(meshTypeSelection.model.get(meshTypeSelection.currentIndex).type)
listview.model.forceUpdate() listview.model.forceUpdate()
} }
} }

View File

@ -80,6 +80,8 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
self._print_view = None self._print_view = None
self._request_job = [] self._request_job = []
self._job_list = []
self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterMonitorItem.qml") self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterMonitorItem.qml")
self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterControlItem.qml") self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ClusterControlItem.qml")
@ -281,14 +283,11 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
def sendPrintJob(self): def sendPrintJob(self):
nodes, file_name, filter_by_machine, file_handler, kwargs = self._request_job nodes, file_name, filter_by_machine, file_handler, kwargs = self._request_job
output_build_plate_number = self._job_list.pop(0) output_build_plate_number = self._job_list.pop(0)
gcode_dict = getattr(Application.getInstance().getController().getScene(), "gcode_dict")[output_build_plate_number] gcode_list = getattr(Application.getInstance().getController().getScene(), "gcode_dict")[output_build_plate_number]
if not gcode_dict: # Empty build plate if not gcode_list: # Empty build plate
Logger.log("d", "Skipping empty job (build plate number %d).", output_build_plate_number) Logger.log("d", "Skipping empty job (build plate number %d).", output_build_plate_number)
return self.sendPrintJob() return self.sendPrintJob()
active_build_plate_id = Application.getInstance().getBuildPlateModel().activeBuildPlate
gcode_list = gcode_dict[active_build_plate_id]
self._send_gcode_start = time.time() self._send_gcode_start = time.time()
Logger.log("d", "Sending print job [%s] to host, build plate [%s]..." % (file_name, output_build_plate_number)) Logger.log("d", "Sending print job [%s] to host, build plate [%s]..." % (file_name, output_build_plate_number))

View File

@ -1,4 +1,5 @@
{ {
"id": "malyan_m180",
"version": 2, "version": 2,
"name": "Malyan M180", "name": "Malyan M180",
"inherits": "fdmprinter", "inherits": "fdmprinter",

View File

@ -0,0 +1,85 @@
{
"id": "malyan_m200",
"version": 2,
"name": "Malyan M200",
"inherits": "fdmprinter",
"metadata": {
"author": "Brian Corbino, Tyler Gibson",
"manufacturer": "Malyan",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "malyan_m200_platform.stl",
"has_machine_quality": true,
"has_materials": true,
"preferred_quality": "*normal*",
"supports_usb_connection": true,
"visible": true,
"first_start_actions": ["MachineSettingsAction"],
"supported_actions": ["MachineSettingsAction"]
},
"overrides": {
"machine_name": { "default_value": "Malyan M200" },
"speed_print": { "default_value": 50 },
"speed_wall_0": { "value": "round(speed_print * 0.75, 2)" },
"speed_wall_x": { "value": "speed_print" },
"speed_support": { "value": "speed_wall_0" },
"speed_layer_0": { "value": "round(speed_print / 2.0, 2)" },
"speed_travel": { "default_value": 50 },
"speed_travel_layer_0": { "default_value": 40 },
"speed_infill": { "value": "speed_print" },
"speed_topbottom": {"value": "speed_print / 2"},
"layer_height": { "minimum_value": "0.04375", "maximum_value": "machine_nozzle_size * 0.875", "maximum_value_warning": "machine_nozzle_size * 0.48125 + 0.0875", "default_value": 0.13125 },
"line_width": { "value": "round(machine_nozzle_size * 0.875, 2)" },
"material_print_temperature": { "minimum_value": "0" },
"material_print_temperature_layer_0": { "value": "min(material_print_temperature + 5, 245)" },
"material_bed_temperature": { "minimum_value": "0" },
"material_bed_temperature_layer_0": { "value": "min(material_bed_temperature + 5, 70)" },
"material_standby_temperature": { "minimum_value": "0" },
"machine_show_variants": { "default_value": true },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode" : {
"default_value": "G21;(metric values)\nG90;(absolute positioning)\nM82;(set extruder to absolute mode)\nM107;(start with the fan off)\nG28;(Home the printer)\nG92 E0;(Reset the extruder to 0)\nG0 Z5 E5 F500;(Move up and prime the nozzle)\nG0 X-1 Z0;(Move outside the printable area)\nG1 Y60 E8 F500;(Draw a priming/wiping line to the rear)\nG1 X-1;(Move a little closer to the print area)\nG1 Y10 E16 F500;(draw more priming/wiping)\nG1 E15 F250;(Small retract)\nG92 E0;(Zero the extruder)"
},
"machine_end_gcode" : {
"default_value": "G0 X0 Y127;(Stick out the part)\nM190 S0;(Turn off heat bed, don't wait.)\nG92 E10;(Set extruder to 10)\nG1 E7 F200;(retract 3mm)\nM104 S0;(Turn off nozzle, don't wait)\nG4 S300;(Delay 5 minutes)\nM107;(Turn off part fan)\nM84;(Turn off stepper motors.)"
},
"machine_width": { "default_value": 120 },
"machine_depth": { "default_value": 120 },
"machine_height": { "default_value": 120 },
"machine_heated_bed": { "default_value": true },
"machine_center_is_zero": { "default_value": false },
"material_diameter": { "value": 1.75 },
"machine_nozzle_size": {
"default_value": 0.4,
"minimum_value": 0.15
},
"machine_max_feedrate_x": { "default_value": 150 },
"machine_max_feedrate_y": { "default_value": 150 },
"machine_max_feedrate_z": { "default_value": 1.5 },
"machine_max_feedrate_e": { "default_value": 100 },
"machine_max_acceleration_x": { "default_value": 800 },
"machine_max_acceleration_y": { "default_value": 800 },
"machine_max_acceleration_z": { "default_value": 20 },
"machine_max_acceleration_e": { "default_value": 10000 },
"machine_max_jerk_xy": { "default_value": 20 },
"machine_max_jerk_z": { "default_value": 0.4 },
"machine_max_jerk_e": { "default_value": 5},
"adhesion_type": { "default_value": "raft" },
"raft_margin": { "default_value": 5 },
"raft_airgap": { "default_value": 0.2625 },
"raft_base_thickness": { "value": "0.30625" },
"raft_interface_thickness": { "value": "0.21875" },
"raft_surface_layers": { "default_value": 1 },
"skirt_line_count": { "default_value": 2},
"brim_width" : { "default_value": 5},
"start_layers_at_same_position": { "default_value": true},
"retraction_combing": { "default_value": "noskin" },
"retraction_amount" : { "default_value": 4.5},
"retraction_speed" : { "default_value": 40},
"coasting_enable": { "default_value": true },
"prime_tower_enable": { "default_value": false}
}
}

View File

@ -0,0 +1,18 @@
{
"id": "monoprice_select_mini_v1",
"version": 2,
"name": "Monoprice Select Mini V1",
"inherits": "malyan_m200",
"metadata": {
"author": "Brian Corbino, Tyler Gibson",
"manufacturer": "Monoprice",
"category": "Other",
"file_formats": "text/x-gcode",
"quality_definition": "malyan_m200",
"visible": true
},
"overrides": {
"machine_name": { "default_value": "Monoprice Select Mini V1" }
}
}

View File

@ -0,0 +1,25 @@
{
"id": "monoprice_select_mini_v2",
"version": 2,
"name": "Monoprice Select Mini V2 (E3D)",
"inherits": "malyan_m200",
"metadata": {
"author": "Tyler Gibson",
"manufacturer": "Monoprice",
"category": "Other",
"file_formats": "text/x-gcode",
"has_machine_quality": true,
"has_materials": true,
"preferred_quality": "*normal*",
"visible": true
},
"overrides": {
"machine_name": { "default_value": "Monoprice Select Mini V2" },
"adhesion_type": { "default_value": "brim" },
"retraction_combing": { "default_value": "noskin" },
"retraction_amount" : { "default_value": 2.5},
"retraction_speed" : { "default_value": 40},
"material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }
}
}

Binary file not shown.

View File

@ -104,14 +104,13 @@ TabView
Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Color") } Label { width: scrollView.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Color") }
Row Row {
{ width: scrollView.columnWidth
width: scrollView.columnWidth; height: parent.rowHeight
height: parent.rowHeight;
spacing: Math.floor(UM.Theme.getSize("default_margin").width/2) spacing: Math.floor(UM.Theme.getSize("default_margin").width/2)
Rectangle // color indicator square
{ Rectangle {
id: colorSelector id: colorSelector
color: properties.color_code color: properties.color_code
@ -121,17 +120,36 @@ TabView
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
MouseArea { anchors.fill: parent; onClicked: colorDialog.open(); enabled: base.editingEnabled } // open the color selection dialog on click
MouseArea {
anchors.fill: parent
onClicked: colorDialog.open()
enabled: base.editingEnabled
}
} }
ReadOnlyTextField
{ // make sure the color stays connected after changing the color
Binding {
target: colorSelector
property: "color"
value: properties.color_code
}
// pretty color name text field
ReadOnlyTextField {
id: colorLabel; id: colorLabel;
text: properties.color_name; text: properties.color_name;
readOnly: !base.editingEnabled readOnly: !base.editingEnabled
onEditingFinished: base.setMetaDataEntry("color_name", properties.color_name, text) onEditingFinished: base.setMetaDataEntry("color_name", properties.color_name, text)
} }
ColorDialog { id: colorDialog; color: properties.color_code; onAccepted: base.setMetaDataEntry("color_code", properties.color_code, color) } // popup dialog to select a new color
// if successful it sets the properties.color_code value to the new color
ColorDialog {
id: colorDialog
color: properties.color_code
onAccepted: base.setMetaDataEntry("color_code", properties.color_code, color)
}
} }
Item { width: parent.width; height: UM.Theme.getSize("default_margin").height } Item { width: parent.width; height: UM.Theme.getSize("default_margin").height }
@ -401,11 +419,11 @@ TabView
} }
// Tiny convenience function to check if a value really changed before trying to set it. // Tiny convenience function to check if a value really changed before trying to set it.
function setMetaDataEntry(entry_name, old_value, new_value) function setMetaDataEntry(entry_name, old_value, new_value) {
{ if (old_value != new_value) {
if(old_value != new_value) Cura.ContainerManager.setContainerMetaDataEntry(base.containerId, entry_name, new_value)
{ // make sure the UI properties are updated as well since we don't re-fetch the entire model here
Cura.ContainerManager.setContainerMetaDataEntry(base.containerId, entry_name, new_value); properties[entry_name] = new_value
} }
} }

View File

@ -132,93 +132,82 @@ UM.ManagementPage
} }
buttons: [ buttons: [
Button
{ // Activate button
text: catalog.i18nc("@action:button", "Activate"); Button {
text: catalog.i18nc("@action:button", "Activate")
iconName: "list-activate"; iconName: "list-activate";
enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId && Cura.MachineManager.hasMaterials enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId && Cura.MachineManager.hasMaterials
onClicked: onClicked: {
{ forceActiveFocus()
forceActiveFocus();
Cura.MachineManager.setActiveMaterial(base.currentItem.id) Cura.MachineManager.setActiveMaterial(base.currentItem.id)
currentItem = base.model.getItem(base.objectList.currentIndex) // Refresh the current item. currentItem = base.model.getItem(base.objectList.currentIndex) // Refresh the current item.
} }
}, },
Button
{ // Create button
Button {
text: catalog.i18nc("@action:button", "Create") text: catalog.i18nc("@action:button", "Create")
iconName: "list-add" iconName: "list-add"
onClicked: onClicked: {
forceActiveFocus()
Cura.ContainerManager.createMaterial()
}
Connections
{ {
forceActiveFocus(); target: base.objectList.model
var material_id = Cura.ContainerManager.createMaterial() onItemsChanged:
if(material_id == "")
{ {
return base.objectList.currentIndex = base.getIndexById(Cura.MachineManager.activeMaterialId);
} }
if(Cura.MachineManager.hasMaterials)
{
Cura.MachineManager.setActiveMaterial(material_id)
}
base.objectList.currentIndex = base.getIndexById(material_id);
} }
}, },
Button
{ // Duplicate button
Button {
text: catalog.i18nc("@action:button", "Duplicate"); text: catalog.i18nc("@action:button", "Duplicate");
iconName: "list-add"; iconName: "list-add";
enabled: base.currentItem != null enabled: base.currentItem != null
onClicked: onClicked: {
{ forceActiveFocus()
forceActiveFocus(); Cura.ContainerManager.duplicateOriginalMaterial(base.currentItem.id)
var base_file = Cura.ContainerManager.getContainerMetaDataEntry(base.currentItem.id, "base_file")
// We need to copy the base container instead of the specific variant.
var material_id = base_file == "" ? Cura.ContainerManager.duplicateMaterial(base.currentItem.id): Cura.ContainerManager.duplicateMaterial(base_file)
if(material_id == "")
{
return
}
if(Cura.MachineManager.hasMaterials)
{
Cura.MachineManager.setActiveMaterial(material_id)
}
// TODO: this doesn't work because the source is a bit delayed
base.objectList.currentIndex = base.getIndexById(material_id);
} }
}, },
Button
{ // Remove button
text: catalog.i18nc("@action:button", "Remove"); Button {
iconName: "list-remove"; text: catalog.i18nc("@action:button", "Remove")
iconName: "list-remove"
enabled: base.currentItem != null && !base.currentItem.readOnly && !Cura.ContainerManager.isContainerUsed(base.currentItem.id) enabled: base.currentItem != null && !base.currentItem.readOnly && !Cura.ContainerManager.isContainerUsed(base.currentItem.id)
onClicked: onClicked: {
{ forceActiveFocus()
forceActiveFocus(); confirmDialog.open()
confirmDialog.open();
} }
}, },
Button
{ // Import button
text: catalog.i18nc("@action:button", "Import"); Button {
iconName: "document-import"; text: catalog.i18nc("@action:button", "Import")
onClicked: iconName: "document-import"
{ onClicked: {
forceActiveFocus(); forceActiveFocus()
importDialog.open(); importDialog.open()
} }
visible: true; visible: true
}, },
Button
{ // Export button
Button {
text: catalog.i18nc("@action:button", "Export") text: catalog.i18nc("@action:button", "Export")
iconName: "document-export" iconName: "document-export"
onClicked: onClicked: {
{ forceActiveFocus()
forceActiveFocus(); exportDialog.open()
exportDialog.open();
} }
enabled: currentItem != null enabled: currentItem != null
} }
] ]
Item { Item {

View File

@ -195,11 +195,22 @@ Item
text: text:
{ {
var result = "" var result = ""
if (Cura.MachineManager.activeMachine != null) { if(Cura.MachineManager.activeMachine != null)
{
result = Cura.ProfilesModel.getItem(index).layer_height_without_unit result = Cura.ProfilesModel.getItem(index).layer_height_without_unit
if (result == undefined) if(result == undefined)
result = "" {
result = "";
}
else
{
result = Number(Math.round(result + "e+2") + "e-2"); //Round to 2 decimals. Javascript makes this difficult...
if (result == undefined || result != result) //Parse failure.
{
result = "";
}
}
} }
return result return result
} }

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fast
definition = malyan_m200
[metadata]
type = quality
quality_type = draft
material = generic_abs_175
weight = -2
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Normal
definition = malyan_m200
[metadata]
type = quality
quality_type = fast
material = generic_abs_175
weight = -1
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Finer
definition = malyan_m200
[metadata]
type = quality
quality_type = high
material = generic_abs_175
weight = 1
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fine
definition = malyan_m200
[metadata]
type = quality
quality_type = normal
material = generic_abs_175
weight = 0
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Lowest Quality Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = superdraft
material = generic_abs_175
weight = -5
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = thickerdraft
material = generic_abs_175
weight = -3
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Ultra Fine
definition = malyan_m200
[metadata]
type = quality
quality_type = ultra
material = generic_abs_175
weight = 2
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Low Detail Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = verydraft
material = generic_abs_175
weight = -4
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,22 @@
[general]
version = 2
name = M1 Quality
definition = malyan_m200
[metadata]
type = quality
weight = 2
quality_type = fine
setting_version = 4
[values]
layer_height = 0.04375
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,22 @@
[general]
version = 2
name = M2 Quality
definition = malyan_m200
[metadata]
type = quality
weight = 1
quality_type = high
setting_version = 4
[values]
layer_height = 0.0875
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,22 @@
[general]
version = 2
name = M3 Quality
definition = malyan_m200
[metadata]
type = quality
weight = 0
quality_type = normal
setting_version = 4
[values]
layer_height = 0.13125
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = M4 Quality
definition = malyan_m200
[metadata]
type = quality
weight = -1
quality_type = fast
global_quality = true
setting_version = 4
[values]
layer_height = 0.175
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,22 @@
[general]
version = 2
name = M5 Quality
definition = malyan_m200
[metadata]
type = quality
weight = -2
quality_type = faster
setting_version = 4
[values]
layer_height = 0.21875
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,22 @@
[general]
version = 2
name = M6 Quality
definition = malyan_m200
[metadata]
type = quality
weight = -3
quality_type = draft
setting_version = 4
[values]
layer_height = 0.2625
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,22 @@
[general]
version = 2
name = M7 Quality
definition = malyan_m200
[metadata]
type = quality
weight = -4
quality_type = turbo
setting_version = 4
[values]
layer_height = 0.30625
layer_height_0 = 0.30625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = M8 Quality
definition = malyan_m200
[metadata]
type = quality
weight = -5
quality_type = hyper
global_quality = true
setting_version = 4
[values]
layer_height = 0.35
layer_height_0 = 0.35
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Fast
definition = malyan_m200
[metadata]
type = quality
weight = -2
quality_type = draft
global_quality = True
setting_version = 4
[values]
layer_height = 0.21875
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Normal
definition = malyan_m200
[metadata]
type = quality
weight = -1
quality_type = fast
global_quality = True
setting_version = 4
[values]
layer_height = 0.175
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Finer
definition = malyan_m200
[metadata]
type = quality
weight = 1
quality_type = high
global_quality = True
setting_version = 4
[values]
layer_height = 0.0875
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Fine
definition = malyan_m200
[metadata]
type = quality
weight = 0
quality_type = normal
global_quality = True
setting_version = 4
[values]
layer_height = 0.13125
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Lowest Quality Draft
definition = malyan_m200
[metadata]
type = quality
weight = -5
quality_type = superdraft
global_quality = True
setting_version = 4
[values]
layer_height = 0.35
layer_height_0 = 0.35
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Draft
definition = malyan_m200
[metadata]
type = quality
weight = -3
quality_type = thickerdraft
global_quality = True
setting_version = 4
[values]
layer_height = 0.2625
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Ultra Fine
definition = malyan_m200
[metadata]
type = quality
weight = 2
quality_type = ultra
global_quality = True
setting_version = 4
[values]
layer_height = 0.04375
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Low Detail Draft
definition = malyan_m200
[metadata]
type = quality
weight = -4
quality_type = verydraft
global_quality = True
setting_version = 4
[values]
layer_height = 0.30625
layer_height_0 = 0.30625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fast
definition = malyan_m200
[metadata]
type = quality
quality_type = draft
material = generic_petg_175
weight = -2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Normal
definition = malyan_m200
[metadata]
type = quality
quality_type = fast
material = generic_petg_175
weight = -1
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Finer
definition = malyan_m200
[metadata]
type = quality
quality_type = high
material = generic_petg_175
weight = 1
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fine
definition = malyan_m200
[metadata]
type = quality
quality_type = normal
material = generic_petg_175
weight = 0
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Lowest Quality Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = superdraft
material = generic_petg_175
weight = -5
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = thickerdraft
material = generic_petg_175
weight = -3
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Ultra Fine
definition = malyan_m200
[metadata]
type = quality
quality_type = ultra
material = generic_petg_175
weight = 2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Low Detail Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = verydraft
material = generic_petg_175
weight = -4
setting_version = 4

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fast
definition = malyan_m200
[metadata]
type = quality
quality_type = draft
material = generic_pla_175
weight = -2
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Normal
definition = malyan_m200
[metadata]
type = quality
quality_type = fast
material = generic_pla_175
weight = -1
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Finer
definition = malyan_m200
[metadata]
type = quality
quality_type = high
material = generic_pla_175
weight = 1
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fine
definition = malyan_m200
[metadata]
type = quality
quality_type = normal
material = generic_pla_175
weight = 0
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Lowest Quality Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = superdraft
material = generic_pla_175
weight = -5
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = thickerdraft
material = generic_pla_175
weight = -3
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Ultra Fine
definition = malyan_m200
[metadata]
type = quality
quality_type = ultra
material = generic_pla_175
weight = 2
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Low Detail Draft
definition = malyan_m200
[metadata]
type = quality
quality_type = verydraft
material = generic_pla_175
weight = -4
setting_version = 4
[values]
material_bed_temperature = 60
material_bed_temperature_layer_0 = 60

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fast
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = draft
material = generic_abs_175
weight = -2
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Normal
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = fast
material = generic_abs_175
weight = -1
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Finer
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = high
material = generic_abs_175
weight = 1
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = normal
material = generic_abs_175
weight = 0
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Lowest Quality Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = superdraft
material = generic_abs_175
weight = -5
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = thickerdraft
material = generic_abs_175
weight = -3
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Ultra Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = thickerdraft
material = generic_abs_175
weight = 2
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Low Detail Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = verydraft
material = generic_abs_175
weight = -4
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Fast
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = -2
quality_type = draft
global_quality = True
setting_version = 4
[values]
layer_height = 0.21875
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Normal
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = -1
quality_type = fast
global_quality = True
setting_version = 4
[values]
layer_height = 0.175
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Finer
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = 1
quality_type = high
global_quality = True
setting_version = 4
[values]
layer_height = 0.0875
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = 0
quality_type = normal
global_quality = True
setting_version = 4
[values]
layer_height = 0.13125
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Lowest Quality Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = -5
quality_type = superdraft
global_quality = True
setting_version = 4
[values]
layer_height = 0.35
layer_height_0 = 0.35
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = -3
quality_type = thickerdraft
global_quality = True
setting_version = 4
[values]
layer_height = 0.2625
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Ultra Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = 2
quality_type = ultra
global_quality = True
setting_version = 4
[values]
layer_height = 0.04375
layer_height_0 = 0.2625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,23 @@
[general]
version = 2
name = Low Detail Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
weight = -4
quality_type = verydraft
global_quality = True
setting_version = 4
[values]
layer_height = 0.30625
layer_height_0 = 0.30625
wall_thickness = 1.05
top_bottom_thickness = 0.72
infill_sparse_density = 22
speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20
cool_min_layer_time = 5
cool_min_speed = 10

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fast
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = draft
material = generic_nylon_175
weight = -2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Normal
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = fast
material = generic_nylon_175
weight = -1
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Finer
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = high
material = generic_nylon_175
weight = 1
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = normal
material = generic_nylon_175
weight = 0
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Lowest Quality Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = superdraft
material = generic_nylon_175
weight = -5
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = thickerdraft
material = generic_nylon_175
weight = -3
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Ultra Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = ultra
material = generic_nylon_175
weight = 2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Low Detail Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = verydraft
material = generic_nylon_175
weight = -4
setting_version = 4

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fast
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = draft
material = generic_pc_175
weight = -2
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Normal
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = fast
material = generic_pc_175
weight = -1
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Finer
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = high
material = generic_pc_175
weight = 1
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = normal
material = generic_pc_175
weight = 0
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Lowest Quality Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = superdraft
material = generic_pc_175
weight = -5
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = thickerdraft
material = generic_pc_175
weight = -3
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Ultra Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = ultra
material = generic_pc_175
weight = 2
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,15 @@
[general]
version = 2
name = Low Detail Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = verydraft
material = generic_pc_175
weight = -4
setting_version = 4
[values]
material_bed_temperature = 70
material_bed_temperature_layer_0 = 70

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fast
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = draft
material = generic_petg_175
weight = -2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Normal
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = fast
material = generic_petg_175
weight = -1
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Finer
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = high
material = generic_petg_175
weight = 1
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = normal
material = generic_petg_175
weight = 0
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Lowest Quality Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = superdraft
material = generic_petg_175
weight = -5
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = thickerdraft
material = generic_petg_175
weight = -3
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Ultra Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = ultra
material = generic_petg_175
weight = 2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Low Detail Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = verydraft
material = generic_petg_175
weight = -4
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fast
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = draft
material = generic_pla_175
weight = -2
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Normal
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = fast
material = generic_pla_175
weight = 0
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Finer
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = high
material = generic_pla_175
weight = 0
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Fine
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = normal
material = generic_pla_175
weight = 0
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Lowest Quality Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = superdraft
material = generic_pla_175
weight = -5
setting_version = 4

View File

@ -0,0 +1,11 @@
[general]
version = 2
name = Draft
definition = monoprice_select_mini_v2
[metadata]
type = quality
quality_type = thickerdraft
material = generic_pla_175
weight = -3
setting_version = 4

Some files were not shown because too many files have changed in this diff Show More