mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 07:33:57 -06:00
Merge branch '4.5' of github.com:Ultimaker/Cura into 4.5
This commit is contained in:
commit
277d730ed8
6 changed files with 21 additions and 15 deletions
|
@ -47,7 +47,10 @@ class WindowsRemovableDrivePlugin(RemovableDrivePlugin.RemovableDrivePlugin):
|
||||||
def checkRemovableDrives(self):
|
def checkRemovableDrives(self):
|
||||||
drives = {}
|
drives = {}
|
||||||
|
|
||||||
|
# The currently available disk drives, e.g.: bitmask = ...1100 <-- ...DCBA
|
||||||
bitmask = ctypes.windll.kernel32.GetLogicalDrives()
|
bitmask = ctypes.windll.kernel32.GetLogicalDrives()
|
||||||
|
# Since we are ignoring drives A and B, the bitmask has has to shift twice to the right
|
||||||
|
bitmask >>= 2
|
||||||
# Check possible drive letters, from C to Z
|
# Check possible drive letters, from C to Z
|
||||||
# Note: using ascii_uppercase because we do not want this to change with locale!
|
# Note: using ascii_uppercase because we do not want this to change with locale!
|
||||||
# Skip A and B, since those drives are typically reserved for floppy disks.
|
# Skip A and B, since those drives are typically reserved for floppy disks.
|
||||||
|
|
|
@ -83,7 +83,7 @@ class CloudPackageChecker(QObject):
|
||||||
package_discrepancy = list(set(user_subscribed_packages).difference(user_installed_packages))
|
package_discrepancy = list(set(user_subscribed_packages).difference(user_installed_packages))
|
||||||
if package_discrepancy:
|
if package_discrepancy:
|
||||||
self._model.addDiscrepancies(package_discrepancy)
|
self._model.addDiscrepancies(package_discrepancy)
|
||||||
self._model.initialize(subscribed_packages_payload)
|
self._model.initialize(self._package_manager, subscribed_packages_payload)
|
||||||
self._handlePackageDiscrepancies()
|
self._handlePackageDiscrepancies()
|
||||||
|
|
||||||
def _handlePackageDiscrepancies(self) -> None:
|
def _handlePackageDiscrepancies(self) -> None:
|
||||||
|
|
|
@ -2,9 +2,12 @@
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
from PyQt5.QtCore import Qt, pyqtProperty, pyqtSlot
|
from PyQt5.QtCore import Qt, pyqtProperty, pyqtSlot
|
||||||
|
|
||||||
|
from UM.PackageManager import PackageManager
|
||||||
from UM.Qt.ListModel import ListModel
|
from UM.Qt.ListModel import ListModel
|
||||||
|
from UM.Version import Version
|
||||||
|
|
||||||
from cura import ApplicationMetadata
|
from cura import ApplicationMetadata
|
||||||
from UM.Logger import Logger
|
|
||||||
from typing import List, Dict, Any
|
from typing import List, Dict, Any
|
||||||
|
|
||||||
|
|
||||||
|
@ -46,7 +49,7 @@ class SubscribedPackagesModel(ListModel):
|
||||||
def getIncompatiblePackages(self) -> List[str]:
|
def getIncompatiblePackages(self) -> List[str]:
|
||||||
return [package["package_id"] for package in self._items if not package["is_compatible"]]
|
return [package["package_id"] for package in self._items if not package["is_compatible"]]
|
||||||
|
|
||||||
def initialize(self, subscribed_packages_payload: List[Dict[str, Any]]) -> None:
|
def initialize(self, package_manager: PackageManager, subscribed_packages_payload: List[Dict[str, Any]]) -> None:
|
||||||
self._items.clear()
|
self._items.clear()
|
||||||
for item in subscribed_packages_payload:
|
for item in subscribed_packages_payload:
|
||||||
if item["package_id"] not in self._discrepancies:
|
if item["package_id"] not in self._discrepancies:
|
||||||
|
@ -59,15 +62,13 @@ class SubscribedPackagesModel(ListModel):
|
||||||
"md5_hash": item["md5_hash"],
|
"md5_hash": item["md5_hash"],
|
||||||
"is_dismissed": False,
|
"is_dismissed": False,
|
||||||
}
|
}
|
||||||
if self._sdk_version not in item["sdk_versions"]:
|
|
||||||
package.update({"is_compatible": False})
|
compatible = any(package_manager.isPackageCompatible(Version(version)) for version in item["sdk_versions"])
|
||||||
else:
|
package.update({"is_compatible": compatible})
|
||||||
package.update({"is_compatible": True})
|
|
||||||
try:
|
try:
|
||||||
package.update({"icon_url": item["icon_url"]})
|
package.update({"icon_url": item["icon_url"]})
|
||||||
except KeyError: # There is no 'icon_url" in the response payload for this package
|
except KeyError: # There is no 'icon_url" in the response payload for this package
|
||||||
package.update({"icon_url": ""})
|
package.update({"icon_url": ""})
|
||||||
self._items.append(package)
|
self._items.append(package)
|
||||||
self.setItems(self._items)
|
self.setItems(self._items)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
"chromatik_pla",
|
"chromatik_pla",
|
||||||
"dsm_arnitel2045_175", "dsm_novamid1070_175",
|
"dsm_arnitel2045_175", "dsm_novamid1070_175",
|
||||||
"emotiontech_abs", "emotiontech_asax", "emotiontech_hips", "emotiontech_petg", "emotiontech_pla", "emotiontech_pva-m", "emotiontech_pva-oks", "emotiontech_pva-s", "emotiontech_tpu98a",
|
"emotiontech_abs", "emotiontech_asax", "emotiontech_hips", "emotiontech_petg", "emotiontech_pla", "emotiontech_pva-m", "emotiontech_pva-oks", "emotiontech_pva-s", "emotiontech_tpu98a",
|
||||||
|
"eSUN_PETG_Black", "eSUN_PETG_Grey", "eSUN_PETG_Purple", "eSUN_PLA_PRO_Black", "eSUN_PLA_PRO_Grey", "eSUN_PLA_PRO_Purple", "eSUN_PLA_PRO_White",
|
||||||
"fabtotum_abs", "fabtotum_nylon", "fabtotum_pla", "fabtotum_tpu",
|
"fabtotum_abs", "fabtotum_nylon", "fabtotum_pla", "fabtotum_tpu",
|
||||||
"fiberlogy_hd_pla",
|
"fiberlogy_hd_pla",
|
||||||
"filo3d_pla", "filo3d_pla_green", "filo3d_pla_red",
|
"filo3d_pla", "filo3d_pla_green", "filo3d_pla_red",
|
||||||
|
@ -118,6 +119,7 @@
|
||||||
"material_final_print_temperature": {"value": "material_print_temperature"},
|
"material_final_print_temperature": {"value": "material_print_temperature"},
|
||||||
"material_bed_temperature_layer_0": {"value": "material_bed_temperature"},
|
"material_bed_temperature_layer_0": {"value": "material_bed_temperature"},
|
||||||
"material_flow": {"value": "100"},
|
"material_flow": {"value": "100"},
|
||||||
|
"material_flow_layer_0": {"value": "material_flow"},
|
||||||
"retraction_enable": {"value": true },
|
"retraction_enable": {"value": true },
|
||||||
"retract_at_layer_change": {"value": true },
|
"retract_at_layer_change": {"value": true },
|
||||||
"retraction_amount": {"value": "1"},
|
"retraction_amount": {"value": "1"},
|
||||||
|
@ -130,9 +132,9 @@
|
||||||
|
|
||||||
"speed_print": {"value": "50"},
|
"speed_print": {"value": "50"},
|
||||||
"speed_infill": {"value": "speed_print"},
|
"speed_infill": {"value": "speed_print"},
|
||||||
"speed_wall": {"value": "(speed_print/5*3) if speed_print < 51 else speed_print"},
|
"speed_wall": {"value": "(speed_print/5*3) if speed_print > 45 else speed_print"},
|
||||||
"speed_wall_x": {"value": "speed_wall"},
|
"speed_wall_x": {"value": "speed_wall"},
|
||||||
"speed_layer_0": {"value": "(speed_print/5*4) if speed_print < 51 else speed_print"},
|
"speed_layer_0": {"value": "(speed_print/5*4) if speed_print > 45 else speed_print"},
|
||||||
"speed_topbottom": {"value": "speed_layer_0"},
|
"speed_topbottom": {"value": "speed_layer_0"},
|
||||||
"speed_travel": {"value": "150"},
|
"speed_travel": {"value": "150"},
|
||||||
"speed_travel_layer_0": {"value": "speed_travel"},
|
"speed_travel_layer_0": {"value": "speed_travel"},
|
||||||
|
@ -151,8 +153,8 @@
|
||||||
"cool_fan_speed": {"value": 0},
|
"cool_fan_speed": {"value": 0},
|
||||||
"cool_fan_enabled": {"value": true},
|
"cool_fan_enabled": {"value": true},
|
||||||
"cool_min_layer_time_fan_speed_max": {"value": "cool_min_layer_time"},
|
"cool_min_layer_time_fan_speed_max": {"value": "cool_min_layer_time"},
|
||||||
"cool_min_layer_time": {"value": 20},
|
"cool_min_layer_time": {"value": 30},
|
||||||
"cool_min_speed": {"value": "10"},
|
"cool_min_speed": {"value": "5"},
|
||||||
"cool_lift_head": {"value": false},
|
"cool_lift_head": {"value": false},
|
||||||
|
|
||||||
"support_infill_rate": {"value": 25},
|
"support_infill_rate": {"value": 25},
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
||||||
"material_diameter": { "default_value": 1.75 },
|
"material_diameter": { "default_value": 1.75 },
|
||||||
"machine_extruder_start_code": {
|
"machine_extruder_start_code": {
|
||||||
"default_value": "\n;changing to tool1\nM109 T0 S{material_print_temperature}\nG1 Y120 F3000\nG1 X10 F12000\n\n"
|
"default_value": "\n;changing to tool1\nM83\nM109 T0 S{material_print_temperature}\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 Y120 F3000\nG1 X10 F12000\nG1 E-{switch_extruder_retraction_amount} F2400\n\n"
|
||||||
},
|
},
|
||||||
"machine_extruder_end_code": {
|
"machine_extruder_end_code": {
|
||||||
"default_value": "\nG1 X10 Y120 F12000\nG1 X-40 F12000\nM109 T0 R{material_standby_temperature}\nG1 Y100 F3000\n; ending tool1\n\n"
|
"default_value": "\nG1 X10 Y120 F12000\nG1 X-40 F12000\nM109 T0 R{material_standby_temperature}\nG1 Y100 F3000\n; ending tool1\n\n"
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
||||||
"material_diameter": { "default_value": 1.75 },
|
"material_diameter": { "default_value": 1.75 },
|
||||||
"machine_extruder_start_code": {
|
"machine_extruder_start_code": {
|
||||||
"default_value": "\n;changing to tool2\nM109 T1 S{material_print_temperature}\nG1 Y120 F3000\nG1 X10 F12000\n\n"
|
"default_value": "\n;changing to tool2\nM83\nM109 T1 S{material_print_temperature}\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 E{switch_extruder_extra_prime_amount} F480\nG1 Y120 F3000\nG1 X10 F12000\nG1 E-{switch_extruder_retraction_amount} F2400\n\n"
|
||||||
},
|
},
|
||||||
"machine_extruder_end_code": {
|
"machine_extruder_end_code": {
|
||||||
"default_value": "\nG1 X10 Y120 F12000\nG1 X-40 F12000\nM109 T1 R{material_standby_temperature}\nG1 Y100 F3000\n; ending tool2\n\n"
|
"default_value": "\nG1 X10 Y120 F12000\nG1 X-40 F12000\nM109 T1 R{material_standby_temperature}\nG1 Y100 F3000\n; ending tool2\n\n"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue