mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 13:39:00 +08:00
Merge branch 'refactoring_machine_manager' of github.com:Ultimaker/Cura into refactoring_machine_manager
This commit is contained in:
commit
5a6e84a57f
@ -7,6 +7,7 @@ from UM.Logger import Logger
|
||||
from UM.Settings.Interfaces import DefinitionContainerInterface
|
||||
from UM.Settings.InstanceContainer import InstanceContainer
|
||||
from UM.Settings.ContainerRegistry import ContainerRegistry
|
||||
from UM.Settings.SettingFunction import SettingFunction
|
||||
from UM.Util import parseBool
|
||||
|
||||
from cura.Machines.VariantManager import VariantType
|
||||
@ -50,7 +51,6 @@ class CuraStackBuilder:
|
||||
(definition_id, global_variant_name))
|
||||
global_variant_container = variant_node.getContainer()
|
||||
|
||||
|
||||
# get variant container for extruders
|
||||
extruder_variant_container = application.empty_variant_container
|
||||
# Only look for the preferred variant if this machine has variants
|
||||
@ -65,21 +65,6 @@ class CuraStackBuilder:
|
||||
(definition_id, extruder_variant_name))
|
||||
extruder_variant_container = variant_node.getContainer()
|
||||
|
||||
# get material container for extruders
|
||||
material_container = application.empty_material_container
|
||||
# Only look for the preferred material if this machine has materials
|
||||
if parseBool(machine_definition.getMetaDataEntry("has_materials", False)):
|
||||
material_diameter = machine_definition.getProperty("material_diameter", "value")
|
||||
approximate_material_diameter = str(round(material_diameter))
|
||||
root_material_id = machine_definition.getMetaDataEntry("preferred_material")
|
||||
root_material_id = material_manager.getRootMaterialIDForDiameter(root_material_id, approximate_material_diameter)
|
||||
material_node = material_manager.getMaterialNode(definition_id, extruder_variant_name, material_diameter, root_material_id)
|
||||
# Sanity check. If you see this error, the related definition files should be fixed.
|
||||
if not material_node:
|
||||
raise RuntimeError("Cannot find material with definition [%s], extruder_variant_name [%s], and root_material_id [%s]" %
|
||||
(definition_id, extruder_variant_name, root_material_id))
|
||||
material_container = material_node.getContainer()
|
||||
|
||||
generated_name = registry.createUniqueName("machine", "", name, machine_definition.getName())
|
||||
# Make sure the new name does not collide with any definition or (quality) profile
|
||||
# createUniqueName() only looks at other stacks, but not at definitions or quality profiles
|
||||
@ -96,6 +81,23 @@ class CuraStackBuilder:
|
||||
)
|
||||
new_global_stack.setName(generated_name)
|
||||
|
||||
# get material container for extruders
|
||||
material_container = application.empty_material_container
|
||||
# Only look for the preferred material if this machine has materials
|
||||
if parseBool(machine_definition.getMetaDataEntry("has_materials", False)):
|
||||
material_diameter = machine_definition.getProperty("material_diameter", "value")
|
||||
if isinstance(material_diameter, SettingFunction):
|
||||
material_diameter = material_diameter(new_global_stack)
|
||||
approximate_material_diameter = str(round(material_diameter))
|
||||
root_material_id = machine_definition.getMetaDataEntry("preferred_material")
|
||||
root_material_id = material_manager.getRootMaterialIDForDiameter(root_material_id, approximate_material_diameter)
|
||||
material_node = material_manager.getMaterialNode(definition_id, extruder_variant_name, material_diameter, root_material_id)
|
||||
# Sanity check. If you see this error, the related definition files should be fixed.
|
||||
if not material_node:
|
||||
raise RuntimeError("Cannot find material with definition [%s], extruder_variant_name [%s], and root_material_id [%s]" %
|
||||
(definition_id, extruder_variant_name, root_material_id))
|
||||
material_container = material_node.getContainer()
|
||||
|
||||
# Create ExtruderStacks
|
||||
extruder_dict = machine_definition.getMetaDataEntry("machine_extruder_trains")
|
||||
|
||||
|
@ -69,9 +69,11 @@ class MonitorStage(CuraStage):
|
||||
self._printer_output_device.connectionStateChanged.connect(self._updateIconSource)
|
||||
self._setActivePrinter(self._printer_output_device.activePrinter)
|
||||
|
||||
# Force an update of the icon source
|
||||
self._updateIconSource()
|
||||
# Force an update of the icon source
|
||||
self._updateIconSource()
|
||||
except IndexError:
|
||||
#If index error occurs, then the icon on monitor button also should be updated
|
||||
self._updateIconSource()
|
||||
pass
|
||||
|
||||
def _onEngineCreated(self):
|
||||
|
@ -6,9 +6,7 @@
|
||||
"visible": true,
|
||||
"author": "ABAX 3d Technologies",
|
||||
"manufacturer": "ABAX 3d Technologies",
|
||||
"file_formats": "text/x-gcode",
|
||||
"quality_definition": "abax_pri3",
|
||||
"has_machine_quality": true
|
||||
"file_formats": "text/x-gcode"
|
||||
},
|
||||
"overrides": {
|
||||
"machine_start_gcode": {
|
||||
|
@ -519,6 +519,9 @@ UM.MainWindow
|
||||
|
||||
insertPage(4, catalog.i18nc("@title:tab", "Profiles"), Qt.resolvedUrl("Preferences/ProfilesPage.qml"));
|
||||
|
||||
// Remove plug-ins page because we will use the shiny new plugin browser:
|
||||
removePage(5);
|
||||
|
||||
//Force refresh
|
||||
setPage(0);
|
||||
}
|
||||
@ -630,17 +633,6 @@ UM.MainWindow
|
||||
}
|
||||
}
|
||||
|
||||
// show the installed plugins page in the preferences dialog
|
||||
Connections
|
||||
{
|
||||
target: Cura.Actions.configurePlugins
|
||||
onTriggered:
|
||||
{
|
||||
preferences.visible = true
|
||||
preferences.setPage(5)
|
||||
}
|
||||
}
|
||||
|
||||
UM.ExtensionModel {
|
||||
id: curaExtensions
|
||||
}
|
||||
|
22
resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
Normal file
22
resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
Normal file
@ -0,0 +1,22 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = Fine
|
||||
definition = abax_pri5
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = normal
|
||||
weight = -1
|
||||
material = generic_pla
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 80
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri5/apri5_pla_high.inst.cfg
Normal file
22
resources/quality/abax_pri5/apri5_pla_high.inst.cfg
Normal file
@ -0,0 +1,22 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = Extra Fine
|
||||
definition = abax_pri5
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = high
|
||||
weight = 1
|
||||
material = generic_pla
|
||||
|
||||
[values]
|
||||
layer_height = 0.1
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
Normal file
22
resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
Normal file
@ -0,0 +1,22 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = Fine
|
||||
definition = abax_pri5
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = normal
|
||||
weight = 0
|
||||
material = generic_pla
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
@ -12,7 +12,6 @@ material = generic_petg
|
||||
variant = 0.4 mm
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.3
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_bed_temperature = 50
|
||||
material_bed_temperature_layer_0 = 55
|
||||
|
@ -12,7 +12,6 @@ material = generic_petg
|
||||
variant = 0.4 mm 2-fans
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.3
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_bed_temperature = 50
|
||||
material_bed_temperature_layer_0 = 55
|
||||
|
@ -12,7 +12,6 @@ material = generic_petg
|
||||
variant = 0.4 mm
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.2
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_bed_temperature = 50
|
||||
material_bed_temperature_layer_0 = 55
|
||||
|
@ -12,7 +12,6 @@ material = generic_petg
|
||||
variant = 0.4 mm 2-fans
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.2
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_bed_temperature = 50
|
||||
material_bed_temperature_layer_0 = 55
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.3
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
meshfix_union_all = False
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm 2-fans
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.3
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
meshfix_union_all = False
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.1
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
material_print_temperature = 205
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm 2-fans
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.1
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
material_print_temperature = 205
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.2
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
meshfix_union_all = False
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm 2-fans
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.2
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
meshfix_union_all = False
|
||||
|
@ -12,7 +12,6 @@ material = generic_pla
|
||||
variant = 0.4 mm
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
bottom_thickness = 0.6
|
||||
coasting_enable = True
|
||||
coasting_speed = 95
|
||||
@ -27,8 +26,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.05
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
material_print_temperature = 202
|
||||
|
@ -27,8 +27,6 @@ infill_line_width = 0.6
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 20
|
||||
layer_height = 0.05
|
||||
layer_height_0 = 0.3
|
||||
line_width = 0.4
|
||||
material_flow = 90
|
||||
material_print_temperature = 202
|
||||
|
@ -0,0 +1,16 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = Coarse
|
||||
definition = imade3d_jellybox
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = fast
|
||||
weight = -1
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
layer_height = 0.3
|
||||
layer_height_0 = 0.3
|
@ -0,0 +1,16 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = Fine
|
||||
definition = imade3d_jellybox
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = high
|
||||
weight = 1
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
layer_height = 0.1
|
||||
layer_height_0 = 0.3
|
@ -0,0 +1,16 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = Medium
|
||||
definition = imade3d_jellybox
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = normal
|
||||
weight = 0
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
layer_height = 0.2
|
||||
layer_height_0 = 0.3
|
@ -0,0 +1,16 @@
|
||||
[general]
|
||||
version = 2
|
||||
name = UltraFine
|
||||
definition = imade3d_jellybox
|
||||
|
||||
[metadata]
|
||||
setting_version = 4
|
||||
type = quality
|
||||
quality_type = ultrahigh
|
||||
weight = 2
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
adhesion_type = skirt
|
||||
layer_height = 0.05
|
||||
layer_height_0 = 0.3
|
12
setup.py
12
setup.py
@ -51,24 +51,24 @@ setup(name="Cura",
|
||||
#console=[{"script": "cura_app.py"}],
|
||||
options={"py2exe": {"skip_archive": False, "includes": includes}})
|
||||
|
||||
print("Coping Cura plugins.")
|
||||
print("Copying Cura plugins.")
|
||||
shutil.copytree(os.path.dirname(UM.__file__) + "/../plugins", "dist/plugins", ignore = shutil.ignore_patterns("ConsoleLogger", "OBJWriter", "MLPWriter", "MLPReader"))
|
||||
for path in os.listdir("plugins"):
|
||||
copytree("plugins/" + path, "dist/plugins/" + path)
|
||||
print("Coping resources.")
|
||||
print("Copying resources.")
|
||||
copytree(os.path.dirname(UM.__file__) + "/../resources", "dist/resources")
|
||||
copytree("resources", "dist/resources")
|
||||
print("Coping Uranium QML.")
|
||||
print("Copying Uranium QML.")
|
||||
shutil.copytree(os.path.dirname(UM.__file__) + "/Qt/qml/UM", "dist/qml/UM")
|
||||
for site_package in site.getsitepackages():
|
||||
qt_origin_path = os.path.join(site_package, "PyQt5")
|
||||
if os.path.isdir(qt_origin_path):
|
||||
print("Coping PyQt5 plugins from: %s" % qt_origin_path)
|
||||
print("Copying PyQt5 plugins from: %s" % qt_origin_path)
|
||||
shutil.copytree(os.path.join(qt_origin_path, "plugins"), "dist/PyQt5/plugins")
|
||||
print("Coping PyQt5 QtQuick from: %s" % qt_origin_path)
|
||||
print("Copying PyQt5 QtQuick from: %s" % qt_origin_path)
|
||||
shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick"), "dist/qml/QtQuick")
|
||||
shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick.2"), "dist/qml/QtQuick.2")
|
||||
print("Coping PyQt5 svg library from: %s" % qt_origin_path)
|
||||
print("Copying PyQt5 svg library from: %s" % qt_origin_path)
|
||||
shutil.copy(os.path.join(qt_origin_path, "Qt5Svg.dll"), "dist/Qt5Svg.dll")
|
||||
print("Copying Angle libraries from %s" % qt_origin_path)
|
||||
shutil.copy(os.path.join(qt_origin_path, "libEGL.dll"), "dist/libEGL.dll")
|
||||
|
Loading…
x
Reference in New Issue
Block a user