mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-29 23:34:32 +08:00
Merge branch 'master' into remove-package-check
This commit is contained in:
commit
bff9a3afb5
@ -1,12 +1,13 @@
|
|||||||
# Copyright (c) 2018 Ultimaker B.V.
|
# Copyright (c) 2018 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import io
|
import io
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
from typing import Optional
|
from typing import Dict, Optional
|
||||||
from zipfile import ZipFile, ZIP_DEFLATED, BadZipfile
|
from zipfile import ZipFile, ZIP_DEFLATED, BadZipfile
|
||||||
|
|
||||||
from UM import i18nCatalog
|
from UM import i18nCatalog
|
||||||
@ -28,9 +29,9 @@ class Backup:
|
|||||||
# Re-use translation catalog.
|
# Re-use translation catalog.
|
||||||
catalog = i18nCatalog("cura")
|
catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
def __init__(self, zip_file: bytes = None, meta_data: dict = None) -> None:
|
def __init__(self, zip_file: bytes = None, meta_data: Dict[str, str] = None) -> None:
|
||||||
self.zip_file = zip_file # type: Optional[bytes]
|
self.zip_file = zip_file # type: Optional[bytes]
|
||||||
self.meta_data = meta_data # type: Optional[dict]
|
self.meta_data = meta_data # type: Optional[Dict[str, str]]
|
||||||
|
|
||||||
## Create a back-up from the current user config folder.
|
## Create a back-up from the current user config folder.
|
||||||
def makeFromCurrent(self) -> None:
|
def makeFromCurrent(self) -> None:
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# Copyright (c) 2018 Ultimaker B.V.
|
# Copyright (c) 2018 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
from typing import Optional, Tuple
|
|
||||||
|
from typing import Dict, Optional, Tuple
|
||||||
|
|
||||||
from UM.Logger import Logger
|
from UM.Logger import Logger
|
||||||
from cura.Backups.Backup import Backup
|
from cura.Backups.Backup import Backup
|
||||||
@ -18,7 +19,7 @@ class BackupsManager:
|
|||||||
## Get a back-up of the current configuration.
|
## Get a back-up of the current configuration.
|
||||||
# \return A tuple containing a ZipFile (the actual back-up) and a dict
|
# \return A tuple containing a ZipFile (the actual back-up) and a dict
|
||||||
# containing some metadata (like version).
|
# containing some metadata (like version).
|
||||||
def createBackup(self) -> Tuple[Optional[bytes], Optional[dict]]:
|
def createBackup(self) -> Tuple[Optional[bytes], Optional[Dict[str, str]]]:
|
||||||
self._disableAutoSave()
|
self._disableAutoSave()
|
||||||
backup = Backup()
|
backup = Backup()
|
||||||
backup.makeFromCurrent()
|
backup.makeFromCurrent()
|
||||||
@ -30,7 +31,7 @@ class BackupsManager:
|
|||||||
# \param zip_file A bytes object containing the actual back-up.
|
# \param zip_file A bytes object containing the actual back-up.
|
||||||
# \param meta_data A dict containing some metadata that is needed to
|
# \param meta_data A dict containing some metadata that is needed to
|
||||||
# restore the back-up correctly.
|
# restore the back-up correctly.
|
||||||
def restoreBackup(self, zip_file: bytes, meta_data: dict) -> None:
|
def restoreBackup(self, zip_file: bytes, meta_data: Dict[str, str]) -> None:
|
||||||
if not meta_data.get("cura_release", None):
|
if not meta_data.get("cura_release", None):
|
||||||
# If there is no "cura_release" specified in the meta data, we don't execute a backup restore.
|
# If there is no "cura_release" specified in the meta data, we don't execute a backup restore.
|
||||||
Logger.log("w", "Tried to restore a backup without specifying a Cura version number.")
|
Logger.log("w", "Tried to restore a backup without specifying a Cura version number.")
|
||||||
@ -43,13 +44,13 @@ class BackupsManager:
|
|||||||
if restored:
|
if restored:
|
||||||
# At this point, Cura will need to restart for the changes to take effect.
|
# At this point, Cura will need to restart for the changes to take effect.
|
||||||
# We don't want to store the data at this point as that would override the just-restored backup.
|
# We don't want to store the data at this point as that would override the just-restored backup.
|
||||||
self._application.windowClosed(save_data=False)
|
self._application.windowClosed(save_data = False)
|
||||||
|
|
||||||
## Here we try to disable the auto-save plug-in as it might interfere with
|
## Here we try to disable the auto-save plug-in as it might interfere with
|
||||||
# restoring a back-up.
|
# restoring a back-up.
|
||||||
def _disableAutoSave(self):
|
def _disableAutoSave(self) -> None:
|
||||||
self._application.setSaveDataEnabled(False)
|
self._application.setSaveDataEnabled(False)
|
||||||
|
|
||||||
## Re-enable auto-save after we're done.
|
## Re-enable auto-save after we're done.
|
||||||
def _enableAutoSave(self):
|
def _enableAutoSave(self) -> None:
|
||||||
self._application.setSaveDataEnabled(True)
|
self._application.setSaveDataEnabled(True)
|
||||||
|
@ -47,10 +47,10 @@ class BuildVolume(SceneNode):
|
|||||||
self._disallowed_area_color = None
|
self._disallowed_area_color = None
|
||||||
self._error_area_color = None
|
self._error_area_color = None
|
||||||
|
|
||||||
self._width = 0
|
self._width = 0 #type: float
|
||||||
self._height = 0
|
self._height = 0 #type: float
|
||||||
self._depth = 0
|
self._depth = 0 #type: float
|
||||||
self._shape = ""
|
self._shape = "" #type: str
|
||||||
|
|
||||||
self._shader = None
|
self._shader = None
|
||||||
|
|
||||||
@ -154,19 +154,19 @@ class BuildVolume(SceneNode):
|
|||||||
if active_extruder_changed is not None:
|
if active_extruder_changed is not None:
|
||||||
active_extruder_changed.connect(self._updateDisallowedAreasAndRebuild)
|
active_extruder_changed.connect(self._updateDisallowedAreasAndRebuild)
|
||||||
|
|
||||||
def setWidth(self, width):
|
def setWidth(self, width: float) -> None:
|
||||||
if width is not None:
|
if width is not None:
|
||||||
self._width = width
|
self._width = width
|
||||||
|
|
||||||
def setHeight(self, height):
|
def setHeight(self, height: float) -> None:
|
||||||
if height is not None:
|
if height is not None:
|
||||||
self._height = height
|
self._height = height
|
||||||
|
|
||||||
def setDepth(self, depth):
|
def setDepth(self, depth: float) -> None:
|
||||||
if depth is not None:
|
if depth is not None:
|
||||||
self._depth = depth
|
self._depth = depth
|
||||||
|
|
||||||
def setShape(self, shape: str):
|
def setShape(self, shape: str) -> None:
|
||||||
if shape:
|
if shape:
|
||||||
self._shape = shape
|
self._shape = shape
|
||||||
|
|
||||||
@ -294,7 +294,7 @@ class BuildVolume(SceneNode):
|
|||||||
if not self._width or not self._height or not self._depth:
|
if not self._width or not self._height or not self._depth:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not self._application._qml_engine:
|
if not self._engine_ready:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not self._volume_outline_color:
|
if not self._volume_outline_color:
|
||||||
|
@ -84,7 +84,6 @@ from cura.Settings.SettingInheritanceManager import SettingInheritanceManager
|
|||||||
from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager
|
from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager
|
||||||
|
|
||||||
from cura.Machines.VariantManager import VariantManager
|
from cura.Machines.VariantManager import VariantManager
|
||||||
from plugins.SliceInfoPlugin.SliceInfo import SliceInfo
|
|
||||||
|
|
||||||
from .SingleInstance import SingleInstance
|
from .SingleInstance import SingleInstance
|
||||||
from .AutoSave import AutoSave
|
from .AutoSave import AutoSave
|
||||||
@ -110,6 +109,10 @@ from cura.ObjectsModel import ObjectsModel
|
|||||||
from UM.FlameProfiler import pyqtSlot
|
from UM.FlameProfiler import pyqtSlot
|
||||||
|
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from plugins.SliceInfoPlugin.SliceInfo import SliceInfo
|
||||||
|
|
||||||
|
|
||||||
numpy.seterr(all = "ignore")
|
numpy.seterr(all = "ignore")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -407,43 +410,6 @@ class CuraApplication(QtApplication):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
"""
|
|
||||||
self._currently_loading_files = []
|
|
||||||
self._non_sliceable_extensions = []
|
|
||||||
|
|
||||||
self._machine_action_manager = MachineActionManager.MachineActionManager()
|
|
||||||
self._machine_manager = None # This is initialized on demand.
|
|
||||||
self._extruder_manager = None
|
|
||||||
self._material_manager = None
|
|
||||||
self._quality_manager = None
|
|
||||||
self._object_manager = None
|
|
||||||
self._build_plate_model = None
|
|
||||||
self._multi_build_plate_model = None
|
|
||||||
self._setting_visibility_presets_model = None
|
|
||||||
self._setting_inheritance_manager = None
|
|
||||||
self._simple_mode_settings_manager = None
|
|
||||||
self._cura_scene_controller = None
|
|
||||||
self._machine_error_checker = None
|
|
||||||
self._auto_save = None
|
|
||||||
self._save_data_enabled = True
|
|
||||||
|
|
||||||
self._additional_components = {} # Components to add to certain areas in the interface
|
|
||||||
|
|
||||||
super().__init__(name = "cura",
|
|
||||||
version = CuraVersion,
|
|
||||||
buildtype = CuraBuildType,
|
|
||||||
is_debug_mode = CuraDebugMode,
|
|
||||||
tray_icon_name = "cura-icon-32.png",
|
|
||||||
**kwargs)
|
|
||||||
|
|
||||||
# FOR TESTING ONLY
|
|
||||||
if kwargs["parsed_command_line"].get("trigger_early_crash", False):
|
|
||||||
assert not "This crash is triggered by the trigger_early_crash command line argument."
|
|
||||||
|
|
||||||
self._variant_manager = None
|
|
||||||
|
|
||||||
self.default_theme = "cura-light"
|
|
||||||
"""
|
|
||||||
# Runs preparations that needs to be done before the starting process.
|
# Runs preparations that needs to be done before the starting process.
|
||||||
def startSplashWindowPhase(self):
|
def startSplashWindowPhase(self):
|
||||||
super().startSplashWindowPhase()
|
super().startSplashWindowPhase()
|
||||||
@ -1518,7 +1484,9 @@ class CuraApplication(QtApplication):
|
|||||||
|
|
||||||
@pyqtSlot("QSize")
|
@pyqtSlot("QSize")
|
||||||
def setMinimumWindowSize(self, size):
|
def setMinimumWindowSize(self, size):
|
||||||
self.getMainWindow().setMinimumSize(size)
|
main_window = self.getMainWindow()
|
||||||
|
if main_window:
|
||||||
|
main_window.setMinimumSize(size)
|
||||||
|
|
||||||
def getBuildVolume(self):
|
def getBuildVolume(self):
|
||||||
return self._volume
|
return self._volume
|
||||||
|
@ -48,7 +48,7 @@ class CuraContainerStack(ContainerStack):
|
|||||||
self._empty_material = self._container_registry.findInstanceContainers(id = "empty_material")[0] #type: InstanceContainer
|
self._empty_material = self._container_registry.findInstanceContainers(id = "empty_material")[0] #type: InstanceContainer
|
||||||
self._empty_variant = self._container_registry.findInstanceContainers(id = "empty_variant")[0] #type: InstanceContainer
|
self._empty_variant = self._container_registry.findInstanceContainers(id = "empty_variant")[0] #type: InstanceContainer
|
||||||
|
|
||||||
self._containers = [self._empty_instance_container for i in range(len(_ContainerIndexes.IndexTypeMap))] #type: List[Union[InstanceContainer, DefinitionContainer]]
|
self._containers = [self._empty_instance_container for i in range(len(_ContainerIndexes.IndexTypeMap))] #type: List[ContainerInterface]
|
||||||
self._containers[_ContainerIndexes.QualityChanges] = self._empty_quality_changes
|
self._containers[_ContainerIndexes.QualityChanges] = self._empty_quality_changes
|
||||||
self._containers[_ContainerIndexes.Quality] = self._empty_quality
|
self._containers[_ContainerIndexes.Quality] = self._empty_quality
|
||||||
self._containers[_ContainerIndexes.Material] = self._empty_material
|
self._containers[_ContainerIndexes.Material] = self._empty_material
|
||||||
|
@ -95,7 +95,9 @@ class SingleInstance:
|
|||||||
elif command == "focus":
|
elif command == "focus":
|
||||||
# Operating systems these days prevent windows from moving around by themselves.
|
# Operating systems these days prevent windows from moving around by themselves.
|
||||||
# 'alert' or flashing the icon in the taskbar is the best thing we do now.
|
# 'alert' or flashing the icon in the taskbar is the best thing we do now.
|
||||||
self._application.callLater(lambda: self._application.getMainWindow().alert(0))
|
main_window = self._application.getMainWindow()
|
||||||
|
if main_window is not None:
|
||||||
|
self._application.callLater(lambda: main_window.alert(0)) # type: ignore # I don't know why MyPy complains here
|
||||||
|
|
||||||
# Command: Close the socket connection. We're done.
|
# Command: Close the socket connection. We're done.
|
||||||
elif command == "close-connection":
|
elif command == "close-connection":
|
||||||
|
10
cura_app.py
10
cura_app.py
@ -12,14 +12,14 @@ from UM.Platform import Platform
|
|||||||
|
|
||||||
parser = argparse.ArgumentParser(prog = "cura",
|
parser = argparse.ArgumentParser(prog = "cura",
|
||||||
add_help = False)
|
add_help = False)
|
||||||
parser.add_argument('--debug',
|
parser.add_argument("--debug",
|
||||||
action='store_true',
|
action="store_true",
|
||||||
default = False,
|
default = False,
|
||||||
help = "Turn on the debug mode by setting this option."
|
help = "Turn on the debug mode by setting this option."
|
||||||
)
|
)
|
||||||
parser.add_argument('--trigger-early-crash',
|
parser.add_argument("--trigger-early-crash",
|
||||||
dest = 'trigger_early_crash',
|
dest = "trigger_early_crash",
|
||||||
action = 'store_true',
|
action = "store_true",
|
||||||
default = False,
|
default = False,
|
||||||
help = "FOR TESTING ONLY. Trigger an early crash to show the crash dialog."
|
help = "FOR TESTING ONLY. Trigger an early crash to show the crash dialog."
|
||||||
)
|
)
|
||||||
|
@ -41,15 +41,11 @@ class StartJobResult(IntEnum):
|
|||||||
|
|
||||||
## Formatter class that handles token expansion in start/end gcode
|
## Formatter class that handles token expansion in start/end gcode
|
||||||
class GcodeStartEndFormatter(Formatter):
|
class GcodeStartEndFormatter(Formatter):
|
||||||
def get_value(self, key: str, *args: str, **kwargs) -> str: #type: ignore # [CodeStyle: get_value is an overridden function from the Formatter class]
|
def get_value(self, key: str, *args: str, default_extruder_nr: str = "-1", **kwargs) -> str: #type: ignore # [CodeStyle: get_value is an overridden function from the Formatter class]
|
||||||
# The kwargs dictionary contains a dictionary for each stack (with a string of the extruder_nr as their key),
|
# The kwargs dictionary contains a dictionary for each stack (with a string of the extruder_nr as their key),
|
||||||
# and a default_extruder_nr to use when no extruder_nr is specified
|
# and a default_extruder_nr to use when no extruder_nr is specified
|
||||||
|
|
||||||
if isinstance(key, str):
|
extruder_nr = int(default_extruder_nr)
|
||||||
try:
|
|
||||||
extruder_nr = int(kwargs["default_extruder_nr"])
|
|
||||||
except ValueError:
|
|
||||||
extruder_nr = -1
|
|
||||||
|
|
||||||
key_fragments = [fragment.strip() for fragment in key.split(",")]
|
key_fragments = [fragment.strip() for fragment in key.split(",")]
|
||||||
if len(key_fragments) == 2:
|
if len(key_fragments) == 2:
|
||||||
@ -57,13 +53,13 @@ class GcodeStartEndFormatter(Formatter):
|
|||||||
extruder_nr = int(key_fragments[1])
|
extruder_nr = int(key_fragments[1])
|
||||||
except ValueError:
|
except ValueError:
|
||||||
try:
|
try:
|
||||||
extruder_nr = int(kwargs["-1"][key_fragments[1]]) # get extruder_nr values from the global stack
|
extruder_nr = int(kwargs["-1"][key_fragments[1]]) # get extruder_nr values from the global stack #TODO: How can you ever provide the '-1' kwarg?
|
||||||
except (KeyError, ValueError):
|
except (KeyError, ValueError):
|
||||||
# either the key does not exist, or the value is not an int
|
# either the key does not exist, or the value is not an int
|
||||||
Logger.log("w", "Unable to determine stack nr '%s' for key '%s' in start/end g-code, using global stack", key_fragments[1], key_fragments[0])
|
Logger.log("w", "Unable to determine stack nr '%s' for key '%s' in start/end g-code, using global stack", key_fragments[1], key_fragments[0])
|
||||||
elif len(key_fragments) != 1:
|
elif len(key_fragments) != 1:
|
||||||
Logger.log("w", "Incorrectly formatted placeholder '%s' in start/end g-code", key)
|
Logger.log("w", "Incorrectly formatted placeholder '%s' in start/end g-code", key)
|
||||||
return "{" + str(key) + "}"
|
return "{" + key + "}"
|
||||||
|
|
||||||
key = key_fragments[0]
|
key = key_fragments[0]
|
||||||
try:
|
try:
|
||||||
@ -71,9 +67,6 @@ class GcodeStartEndFormatter(Formatter):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
Logger.log("w", "Unable to replace '%s' placeholder in start/end g-code", key)
|
Logger.log("w", "Unable to replace '%s' placeholder in start/end g-code", key)
|
||||||
return "{" + key + "}"
|
return "{" + key + "}"
|
||||||
else:
|
|
||||||
Logger.log("w", "Incorrectly formatted placeholder '%s' in start/end g-code", key)
|
|
||||||
return "{" + str(key) + "}"
|
|
||||||
|
|
||||||
|
|
||||||
## Job class that builds up the message of scene data to send to CuraEngine.
|
## Job class that builds up the message of scene data to send to CuraEngine.
|
||||||
|
@ -286,6 +286,9 @@ class FlavorParser:
|
|||||||
self._cancelled = False
|
self._cancelled = False
|
||||||
# We obtain the filament diameter from the selected extruder to calculate line widths
|
# We obtain the filament diameter from the selected extruder to calculate line widths
|
||||||
global_stack = CuraApplication.getInstance().getGlobalContainerStack()
|
global_stack = CuraApplication.getInstance().getGlobalContainerStack()
|
||||||
|
if not global_stack:
|
||||||
|
return None
|
||||||
|
|
||||||
self._filament_diameter = global_stack.extruders[str(self._extruder_number)].getProperty("material_diameter", "value")
|
self._filament_diameter = global_stack.extruders[str(self._extruder_number)].getProperty("material_diameter", "value")
|
||||||
|
|
||||||
scene_node = CuraSceneNode()
|
scene_node = CuraSceneNode()
|
||||||
|
@ -104,9 +104,12 @@ class Script:
|
|||||||
m = re.search('^-?[0-9]+\.?[0-9]*', sub_part)
|
m = re.search('^-?[0-9]+\.?[0-9]*', sub_part)
|
||||||
if m is None:
|
if m is None:
|
||||||
return default
|
return default
|
||||||
|
try:
|
||||||
|
return int(m.group(0))
|
||||||
|
except ValueError: #Not an integer.
|
||||||
try:
|
try:
|
||||||
return float(m.group(0))
|
return float(m.group(0))
|
||||||
except:
|
except ValueError: #Not a number at all.
|
||||||
return default
|
return default
|
||||||
|
|
||||||
## Convenience function to produce a line of g-code.
|
## Convenience function to produce a line of g-code.
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
|
# Copyright (c) 2018 Ultimaker B.V.
|
||||||
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
from ..Script import Script
|
from ..Script import Script
|
||||||
# from cura.Settings.ExtruderManager import ExtruderManager
|
|
||||||
|
from UM.Application import Application #To get the current printer's settings.
|
||||||
|
|
||||||
class PauseAtHeight(Script):
|
class PauseAtHeight(Script):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -136,6 +140,10 @@ class PauseAtHeight(Script):
|
|||||||
layers_started = False
|
layers_started = False
|
||||||
redo_layers = self.getSettingValueByKey("redo_layers")
|
redo_layers = self.getSettingValueByKey("redo_layers")
|
||||||
standby_temperature = self.getSettingValueByKey("standby_temperature")
|
standby_temperature = self.getSettingValueByKey("standby_temperature")
|
||||||
|
firmware_retract = Application.getInstance().getGlobalContainerStack().getProperty("machine_firmware_retract", "value")
|
||||||
|
control_temperatures = Application.getInstance().getGlobalContainerStack().getProperty("machine_nozzle_temp_enabled", "value")
|
||||||
|
|
||||||
|
is_griffin = False
|
||||||
|
|
||||||
# T = ExtruderManager.getInstance().getActiveExtruderStack().getProperty("material_print_temperature", "value")
|
# T = ExtruderManager.getInstance().getActiveExtruderStack().getProperty("material_print_temperature", "value")
|
||||||
|
|
||||||
@ -153,6 +161,8 @@ class PauseAtHeight(Script):
|
|||||||
|
|
||||||
# Scroll each line of instruction for each layer in the G-code
|
# Scroll each line of instruction for each layer in the G-code
|
||||||
for line in lines:
|
for line in lines:
|
||||||
|
if ";FLAVOR:Griffin" in line:
|
||||||
|
is_griffin = True
|
||||||
# Fist positive layer reached
|
# Fist positive layer reached
|
||||||
if ";LAYER:0" in line:
|
if ";LAYER:0" in line:
|
||||||
layers_started = True
|
layers_started = True
|
||||||
@ -162,12 +172,12 @@ class PauseAtHeight(Script):
|
|||||||
|
|
||||||
#Track the latest printing temperature in order to resume at the correct temperature.
|
#Track the latest printing temperature in order to resume at the correct temperature.
|
||||||
if line.startswith("T"):
|
if line.startswith("T"):
|
||||||
current_t = int(self.getValue(line, "T"))
|
current_t = self.getValue(line, "T")
|
||||||
m = self.getValue(line, "M")
|
m = self.getValue(line, "M")
|
||||||
if m is not None and (int(m) == 104 or int(m) == 109) and self.getValue(line, "S") is not None:
|
if m is not None and (m == 104 or m == 109) and self.getValue(line, "S") is not None:
|
||||||
extruder = current_t
|
extruder = current_t
|
||||||
if self.getValue(line, "T") is not None:
|
if self.getValue(line, "T") is not None:
|
||||||
extruder = int(self.getValue(line, "T"))
|
extruder = self.getValue(line, "T")
|
||||||
target_temperature[extruder] = self.getValue(line, "S")
|
target_temperature[extruder] = self.getValue(line, "S")
|
||||||
|
|
||||||
if not layers_started:
|
if not layers_started:
|
||||||
@ -247,57 +257,67 @@ class PauseAtHeight(Script):
|
|||||||
prepend_gcode += ";added code by post processing\n"
|
prepend_gcode += ";added code by post processing\n"
|
||||||
prepend_gcode += ";script: PauseAtHeight.py\n"
|
prepend_gcode += ";script: PauseAtHeight.py\n"
|
||||||
if pause_at == "height":
|
if pause_at == "height":
|
||||||
prepend_gcode += ";current z: {z}\n".format(z=current_z)
|
prepend_gcode += ";current z: {z}\n".format(z = current_z)
|
||||||
prepend_gcode += ";current height: {height}\n".format(height=current_height)
|
prepend_gcode += ";current height: {height}\n".format(height = current_height)
|
||||||
else:
|
else:
|
||||||
prepend_gcode += ";current layer: {layer}\n".format(layer=current_layer)
|
prepend_gcode += ";current layer: {layer}\n".format(layer = current_layer)
|
||||||
|
|
||||||
|
if not is_griffin:
|
||||||
# Retraction
|
# Retraction
|
||||||
prepend_gcode += self.putValue(M=83) + "\n"
|
prepend_gcode += self.putValue(M = 83) + "\n"
|
||||||
if retraction_amount != 0:
|
if retraction_amount != 0:
|
||||||
prepend_gcode += self.putValue(G=1, E=-retraction_amount, F=retraction_speed * 60) + "\n"
|
if firmware_retract:
|
||||||
|
prepend_gcode += self.putValue(G = 10)
|
||||||
|
else:
|
||||||
|
prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n"
|
||||||
|
|
||||||
# Move the head away
|
# Move the head away
|
||||||
prepend_gcode += self.putValue(G=1, Z=current_z + 1, F=300) + "\n"
|
prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + "\n"
|
||||||
|
|
||||||
# This line should be ok
|
# This line should be ok
|
||||||
prepend_gcode += self.putValue(G=1, X=park_x, Y=park_y, F=9000) + "\n"
|
prepend_gcode += self.putValue(G = 1, X = park_x, Y = park_y, F = 9000) + "\n"
|
||||||
|
|
||||||
if current_z < 15:
|
if current_z < 15:
|
||||||
prepend_gcode += self.putValue(G=1, Z=15, F=300) + "\n"
|
prepend_gcode += self.putValue(G = 1, Z = 15, F = 300) + "\n"
|
||||||
|
|
||||||
|
if control_temperatures:
|
||||||
# Set extruder standby temperature
|
# Set extruder standby temperature
|
||||||
prepend_gcode += self.putValue(M=104, S=standby_temperature) + "; standby temperature\n"
|
prepend_gcode += self.putValue(M = 104, S = standby_temperature) + "; standby temperature\n"
|
||||||
|
|
||||||
# Wait till the user continues printing
|
# Wait till the user continues printing
|
||||||
prepend_gcode += self.putValue(M=0) + ";Do the actual pause\n"
|
prepend_gcode += self.putValue(M = 0) + ";Do the actual pause\n"
|
||||||
|
|
||||||
|
if not is_griffin:
|
||||||
|
if control_temperatures:
|
||||||
# Set extruder resume temperature
|
# Set extruder resume temperature
|
||||||
prepend_gcode += self.putValue(M = 109, S = int(target_temperature.get(current_t, 0))) + "; resume temperature\n"
|
prepend_gcode += self.putValue(M = 109, S = int(target_temperature.get(current_t, 0))) + "; resume temperature\n"
|
||||||
|
|
||||||
# Push the filament back,
|
# Push the filament back,
|
||||||
if retraction_amount != 0:
|
if retraction_amount != 0:
|
||||||
prepend_gcode += self.putValue(G=1, E=retraction_amount, F=retraction_speed * 60) + "\n"
|
prepend_gcode += self.putValue(G = 1, E = retraction_amount, F = retraction_speed * 60) + "\n"
|
||||||
|
|
||||||
# Optionally extrude material
|
# Optionally extrude material
|
||||||
if extrude_amount != 0:
|
if extrude_amount != 0:
|
||||||
prepend_gcode += self.putValue(G=1, E=extrude_amount, F=extrude_speed * 60) + "\n"
|
prepend_gcode += self.putValue(G = 1, E = extrude_amount, F = extrude_speed * 60) + "\n"
|
||||||
|
|
||||||
# and retract again, the properly primes the nozzle
|
# and retract again, the properly primes the nozzle
|
||||||
# when changing filament.
|
# when changing filament.
|
||||||
if retraction_amount != 0:
|
if retraction_amount != 0:
|
||||||
prepend_gcode += self.putValue(G=1, E=-retraction_amount, F=retraction_speed * 60) + "\n"
|
prepend_gcode += self.putValue(G = 1, E = -retraction_amount, F = retraction_speed * 60) + "\n"
|
||||||
|
|
||||||
# Move the head back
|
# Move the head back
|
||||||
prepend_gcode += self.putValue(G=1, Z=current_z + 1, F=300) + "\n"
|
prepend_gcode += self.putValue(G = 1, Z = current_z + 1, F = 300) + "\n"
|
||||||
prepend_gcode += self.putValue(G=1, X=x, Y=y, F=9000) + "\n"
|
prepend_gcode += self.putValue(G = 1, X = x, Y = y, F = 9000) + "\n"
|
||||||
if retraction_amount != 0:
|
if retraction_amount != 0:
|
||||||
prepend_gcode += self.putValue(G=1, E=retraction_amount, F=retraction_speed * 60) + "\n"
|
if firmware_retract:
|
||||||
prepend_gcode += self.putValue(G=1, F=9000) + "\n"
|
prepend_gcode += self.putValue(G = 11)
|
||||||
prepend_gcode += self.putValue(M=82) + "\n"
|
else:
|
||||||
|
prepend_gcode += self.putValue(G = 1, E = retraction_amount, F = retraction_speed * 60) + "\n"
|
||||||
|
prepend_gcode += self.putValue(G = 1, F = 9000) + "\n"
|
||||||
|
prepend_gcode += self.putValue(M = 82) + "\n"
|
||||||
|
|
||||||
# reset extrude value to pre pause value
|
# reset extrude value to pre pause value
|
||||||
prepend_gcode += self.putValue(G=92, E=current_e) + "\n"
|
prepend_gcode += self.putValue(G = 92, E = current_e) + "\n"
|
||||||
|
|
||||||
layer = prepend_gcode + layer
|
layer = prepend_gcode + layer
|
||||||
|
|
||||||
|
@ -76,11 +76,26 @@ Item
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component
|
||||||
|
{
|
||||||
|
id: columnTextDelegate
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
anchors.fill: parent
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
text: styleData.value || ""
|
||||||
|
elide: Text.ElideRight
|
||||||
|
color: UM.Theme.getColor("text_medium")
|
||||||
|
font: UM.Theme.getFont("default")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TableViewColumn
|
TableViewColumn
|
||||||
{
|
{
|
||||||
role: "machine"
|
role: "machine"
|
||||||
title: "Machine"
|
title: "Machine"
|
||||||
width: Math.floor(table.width * 0.25)
|
width: Math.floor(table.width * 0.25)
|
||||||
|
delegate: columnTextDelegate
|
||||||
}
|
}
|
||||||
TableViewColumn
|
TableViewColumn
|
||||||
{
|
{
|
||||||
|
@ -74,6 +74,7 @@ Item
|
|||||||
}
|
}
|
||||||
spacing: Math.floor(UM.Theme.getSize("narrow_margin").height)
|
spacing: Math.floor(UM.Theme.getSize("narrow_margin").height)
|
||||||
width: childrenRect.width
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
text: catalog.i18nc("@label", "Version") + ":"
|
text: catalog.i18nc("@label", "Version") + ":"
|
||||||
@ -110,6 +111,7 @@ Item
|
|||||||
topMargin: UM.Theme.getSize("default_margin").height
|
topMargin: UM.Theme.getSize("default_margin").height
|
||||||
}
|
}
|
||||||
spacing: Math.floor(UM.Theme.getSize("narrow_margin").height)
|
spacing: Math.floor(UM.Theme.getSize("narrow_margin").height)
|
||||||
|
height: childrenRect.height
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
text: details.version || catalog.i18nc("@label", "Unknown")
|
text: details.version || catalog.i18nc("@label", "Unknown")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// Copyright (c) 2018 Ultimaker B.V.
|
// Copyright (c) 2018 Ultimaker B.V.
|
||||||
// Toolbox is released under the terms of the LGPLv3 or higher.
|
// Toolbox is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import QtQuick 2.2
|
import QtQuick 2.7
|
||||||
import QtQuick.Controls 1.4
|
import QtQuick.Controls 1.4
|
||||||
import QtQuick.Controls.Styles 1.4
|
import QtQuick.Controls.Styles 1.4
|
||||||
import QtQuick.Layouts 1.3
|
import QtQuick.Layouts 1.3
|
||||||
@ -9,10 +9,10 @@ import UM 1.1 as UM
|
|||||||
|
|
||||||
Column
|
Column
|
||||||
{
|
{
|
||||||
height: childrenRect.height
|
height: childrenRect.height + 2 * padding
|
||||||
width: parent.width
|
width: parent.width
|
||||||
spacing: UM.Theme.getSize("default_margin").height
|
spacing: UM.Theme.getSize("default_margin").height
|
||||||
|
padding: UM.Theme.getSize("wide_margin").height
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: heading
|
id: heading
|
||||||
@ -25,7 +25,7 @@ Column
|
|||||||
{
|
{
|
||||||
id: grid
|
id: grid
|
||||||
property var model: toolbox.viewCategory == "material" ? toolbox.authorsModel : toolbox.packagesModel
|
property var model: toolbox.viewCategory == "material" ? toolbox.authorsModel : toolbox.packagesModel
|
||||||
width: parent.width
|
width: parent.width - 2 * parent.padding
|
||||||
columns: 2
|
columns: 2
|
||||||
columnSpacing: UM.Theme.getSize("default_margin").height
|
columnSpacing: UM.Theme.getSize("default_margin").height
|
||||||
rowSpacing: UM.Theme.getSize("default_margin").width
|
rowSpacing: UM.Theme.getSize("default_margin").width
|
||||||
|
@ -15,22 +15,15 @@ ScrollView
|
|||||||
flickableItem.flickableDirection: Flickable.VerticalFlick
|
flickableItem.flickableDirection: Flickable.VerticalFlick
|
||||||
Column
|
Column
|
||||||
{
|
{
|
||||||
width: parent.width - 2 * padding
|
width: base.width
|
||||||
spacing: UM.Theme.getSize("default_margin").height
|
spacing: UM.Theme.getSize("default_margin").height
|
||||||
padding: UM.Theme.getSize("wide_margin").height
|
height: childrenRect.height
|
||||||
height: childrenRect.height + 2 * padding
|
|
||||||
|
|
||||||
ToolboxDownloadsShowcase
|
ToolboxDownloadsShowcase
|
||||||
{
|
{
|
||||||
id: showcase
|
id: showcase
|
||||||
width: parent.width
|
width: parent.width
|
||||||
}
|
}
|
||||||
Rectangle
|
|
||||||
{
|
|
||||||
color: UM.Theme.getColor("lining")
|
|
||||||
width: parent.width
|
|
||||||
height: UM.Theme.getSize("default_lining").height
|
|
||||||
}
|
|
||||||
|
|
||||||
ToolboxDownloadsGrid
|
ToolboxDownloadsGrid
|
||||||
{
|
{
|
||||||
|
@ -1,16 +1,22 @@
|
|||||||
// Copyright (c) 2018 Ultimaker B.V.
|
// Copyright (c) 2018 Ultimaker B.V.
|
||||||
// Toolbox is released under the terms of the LGPLv3 or higher.
|
// Toolbox is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import QtQuick 2.2
|
import QtQuick 2.7
|
||||||
import QtQuick.Controls 1.4
|
import QtQuick.Controls 1.4
|
||||||
import QtQuick.Controls.Styles 1.4
|
import QtQuick.Controls.Styles 1.4
|
||||||
import UM 1.1 as UM
|
import UM 1.1 as UM
|
||||||
|
|
||||||
Column
|
Rectangle
|
||||||
{
|
{
|
||||||
|
color: UM.Theme.getColor("secondary")
|
||||||
height: childrenRect.height
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
Column
|
||||||
|
{
|
||||||
|
height: childrenRect.height + 2 * padding
|
||||||
spacing: UM.Theme.getSize("toolbox_showcase_spacing").width
|
spacing: UM.Theme.getSize("toolbox_showcase_spacing").width
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
padding: UM.Theme.getSize("wide_margin").height
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: heading
|
id: heading
|
||||||
@ -43,4 +49,5 @@ Column
|
|||||||
delegate: ToolboxDownloadsShowcaseTile {}
|
delegate: ToolboxDownloadsShowcaseTile {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,37 +1,31 @@
|
|||||||
// Copyright (c) 2018 Ultimaker B.V.
|
// Copyright (c) 2018 Ultimaker B.V.
|
||||||
// Toolbox is released under the terms of the LGPLv3 or higher.
|
// Toolbox is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import QtQuick 2.3
|
import QtQuick 2.7
|
||||||
import QtQuick.Controls 1.4
|
import QtQuick.Controls 1.4
|
||||||
import QtQuick.Controls.Styles 1.4
|
import QtQuick.Controls.Styles 1.4
|
||||||
|
import QtGraphicalEffects 1.0
|
||||||
import UM 1.1 as UM
|
import UM 1.1 as UM
|
||||||
|
|
||||||
Item
|
Rectangle
|
||||||
{
|
{
|
||||||
width: UM.Theme.getSize("toolbox_thumbnail_large").width
|
id: tileBase
|
||||||
height: thumbnail.height + packageName.height
|
width: UM.Theme.getSize("toolbox_thumbnail_large").width + (2 * UM.Theme.getSize("default_lining").width)
|
||||||
Rectangle
|
height: thumbnail.height + packageNameBackground.height + (2 * UM.Theme.getSize("default_lining").width)
|
||||||
{
|
border.width: UM.Theme.getSize("default_lining").width
|
||||||
id: highlight
|
border.color: UM.Theme.getColor("lining")
|
||||||
anchors.fill: parent
|
color: "transparent"
|
||||||
opacity: 0.0
|
|
||||||
color: UM.Theme.getColor("primary")
|
|
||||||
}
|
|
||||||
Rectangle
|
Rectangle
|
||||||
{
|
{
|
||||||
id: thumbnail
|
id: thumbnail
|
||||||
color: "white"
|
color: "white"
|
||||||
width: UM.Theme.getSize("toolbox_thumbnail_large").width
|
width: UM.Theme.getSize("toolbox_thumbnail_large").width
|
||||||
height: UM.Theme.getSize("toolbox_thumbnail_large").height
|
height: UM.Theme.getSize("toolbox_thumbnail_large").height
|
||||||
border
|
|
||||||
{
|
|
||||||
width: UM.Theme.getSize("default_lining").width
|
|
||||||
color: UM.Theme.getColor("lining")
|
|
||||||
}
|
|
||||||
anchors
|
anchors
|
||||||
{
|
{
|
||||||
top: parent.top
|
top: parent.top
|
||||||
horizontalCenter: parent.horizontalCenter
|
horizontalCenter: parent.horizontalCenter
|
||||||
|
topMargin: UM.Theme.getSize("default_lining").width
|
||||||
}
|
}
|
||||||
Image
|
Image
|
||||||
{
|
{
|
||||||
@ -43,13 +37,23 @@ Item
|
|||||||
mipmap: true
|
mipmap: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Rectangle
|
||||||
|
{
|
||||||
|
id: packageNameBackground
|
||||||
|
color: UM.Theme.getColor("primary")
|
||||||
|
anchors
|
||||||
|
{
|
||||||
|
top: thumbnail.bottom
|
||||||
|
horizontalCenter: parent.horizontalCenter
|
||||||
|
}
|
||||||
|
height: UM.Theme.getSize("toolbox_heading_label").height
|
||||||
|
width: parent.width
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: packageName
|
id: packageName
|
||||||
text: model.name
|
text: model.name
|
||||||
anchors
|
anchors
|
||||||
{
|
{
|
||||||
top: thumbnail.bottom
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
horizontalCenter: parent.horizontalCenter
|
||||||
}
|
}
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
@ -57,22 +61,25 @@ Item
|
|||||||
height: UM.Theme.getSize("toolbox_heading_label").height
|
height: UM.Theme.getSize("toolbox_heading_label").height
|
||||||
width: parent.width
|
width: parent.width
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
color: UM.Theme.getColor("text")
|
color: UM.Theme.getColor("button_text")
|
||||||
font: UM.Theme.getFont("medium_bold")
|
font: UM.Theme.getFont("medium_bold")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
MouseArea
|
MouseArea
|
||||||
{
|
{
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
hoverEnabled: true
|
hoverEnabled: true
|
||||||
onEntered:
|
onEntered:
|
||||||
{
|
{
|
||||||
thumbnail.border.color = UM.Theme.getColor("primary")
|
packageName.color = UM.Theme.getColor("button_text_hover")
|
||||||
highlight.opacity = 0.1
|
packageNameBackground.color = UM.Theme.getColor("primary_hover")
|
||||||
|
tileBase.border.color = UM.Theme.getColor("primary_hover")
|
||||||
}
|
}
|
||||||
onExited:
|
onExited:
|
||||||
{
|
{
|
||||||
thumbnail.border.color = UM.Theme.getColor("lining")
|
packageName.color = UM.Theme.getColor("button_text")
|
||||||
highlight.opacity = 0.0
|
packageNameBackground.color = UM.Theme.getColor("primary")
|
||||||
|
tileBase.border.color = UM.Theme.getColor("lining")
|
||||||
}
|
}
|
||||||
onClicked:
|
onClicked:
|
||||||
{
|
{
|
||||||
|
@ -15,6 +15,7 @@ Item
|
|||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
text: catalog.i18nc("@info", "You will need to restart Cura before changes in packages have effect.")
|
text: catalog.i18nc("@info", "You will need to restart Cura before changes in packages have effect.")
|
||||||
|
color: UM.Theme.getColor("text")
|
||||||
height: Math.floor(UM.Theme.getSize("toolbox_footer_button").height)
|
height: Math.floor(UM.Theme.getSize("toolbox_footer_button").height)
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
anchors
|
anchors
|
||||||
@ -25,6 +26,7 @@ Item
|
|||||||
right: restartButton.right
|
right: restartButton.right
|
||||||
rightMargin: UM.Theme.getSize("default_margin").width
|
rightMargin: UM.Theme.getSize("default_margin").width
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Button
|
Button
|
||||||
{
|
{
|
||||||
|
@ -234,6 +234,11 @@ class Toolbox(QObject, Extension):
|
|||||||
|
|
||||||
if not self._dialog:
|
if not self._dialog:
|
||||||
self._dialog = self._createDialog("Toolbox.qml")
|
self._dialog = self._createDialog("Toolbox.qml")
|
||||||
|
|
||||||
|
if not self._dialog:
|
||||||
|
Logger.log("e", "Unexpected error trying to create the 'Toolbox' dialog.")
|
||||||
|
return
|
||||||
|
|
||||||
self._dialog.show()
|
self._dialog.show()
|
||||||
|
|
||||||
# Apply enabled/disabled state to installed plugins
|
# Apply enabled/disabled state to installed plugins
|
||||||
@ -241,7 +246,10 @@ class Toolbox(QObject, Extension):
|
|||||||
|
|
||||||
def _createDialog(self, qml_name: str) -> Optional[QObject]:
|
def _createDialog(self, qml_name: str) -> Optional[QObject]:
|
||||||
Logger.log("d", "Toolbox: Creating dialog [%s].", qml_name)
|
Logger.log("d", "Toolbox: Creating dialog [%s].", qml_name)
|
||||||
path = os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), "resources", "qml", qml_name)
|
plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId())
|
||||||
|
if not plugin_path:
|
||||||
|
return None
|
||||||
|
path = os.path.join(plugin_path, "resources", "qml", qml_name)
|
||||||
dialog = self._application.createQmlComponent(path, {"toolbox": self})
|
dialog = self._application.createQmlComponent(path, {"toolbox": self})
|
||||||
return dialog
|
return dialog
|
||||||
|
|
||||||
|
@ -103,8 +103,12 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
|
|||||||
else:
|
else:
|
||||||
file_formats = CuraApplication.getInstance().getMeshFileHandler().getSupportedFileTypesWrite()
|
file_formats = CuraApplication.getInstance().getMeshFileHandler().getSupportedFileTypesWrite()
|
||||||
|
|
||||||
|
global_stack = CuraApplication.getInstance().getGlobalContainerStack()
|
||||||
|
if not global_stack:
|
||||||
|
return
|
||||||
|
|
||||||
#Create a list from the supported file formats string.
|
#Create a list from the supported file formats string.
|
||||||
machine_file_formats = CuraApplication.getInstance().getGlobalContainerStack().getMetaDataEntry("file_formats").split(";")
|
machine_file_formats = global_stack.getMetaDataEntry("file_formats").split(";")
|
||||||
machine_file_formats = [file_type.strip() for file_type in machine_file_formats]
|
machine_file_formats = [file_type.strip() for file_type in machine_file_formats]
|
||||||
#Exception for UM3 firmware version >=4.4: UFP is now supported and should be the preferred file format.
|
#Exception for UM3 firmware version >=4.4: UFP is now supported and should be the preferred file format.
|
||||||
if "application/x-ufp" not in machine_file_formats and self.printerType == "ultimaker3" and Version(self.firmwareVersion) >= Version("4.4"):
|
if "application/x-ufp" not in machine_file_formats and self.printerType == "ultimaker3" and Version(self.firmwareVersion) >= Version("4.4"):
|
||||||
@ -125,6 +129,10 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
|
|||||||
else:
|
else:
|
||||||
writer = CuraApplication.getInstance().getMeshFileHandler().getWriterByMimeType(cast(str, preferred_format["mime_type"]))
|
writer = CuraApplication.getInstance().getMeshFileHandler().getWriterByMimeType(cast(str, preferred_format["mime_type"]))
|
||||||
|
|
||||||
|
if not writer:
|
||||||
|
Logger.log("e", "Unexpected error when trying to get the FileWriter")
|
||||||
|
return
|
||||||
|
|
||||||
#This function pauses with the yield, waiting on instructions on which printer it needs to print with.
|
#This function pauses with the yield, waiting on instructions on which printer it needs to print with.
|
||||||
self._sending_job = self._sendPrintJob(writer, preferred_format, nodes)
|
self._sending_job = self._sendPrintJob(writer, preferred_format, nodes)
|
||||||
self._sending_job.send(None) #Start the generator.
|
self._sending_job.send(None) #Start the generator.
|
||||||
@ -205,6 +213,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
|
|||||||
yield #To prevent having to catch the StopIteration exception.
|
yield #To prevent having to catch the StopIteration exception.
|
||||||
|
|
||||||
def _sendPrintJobWaitOnWriteJobFinished(self, job: WriteFileJob) -> None:
|
def _sendPrintJobWaitOnWriteJobFinished(self, job: WriteFileJob) -> None:
|
||||||
|
# This is the callback when the job finishes, where the message is created
|
||||||
|
assert(self._write_job_progress_message is not None)
|
||||||
self._write_job_progress_message.hide()
|
self._write_job_progress_message.hide()
|
||||||
|
|
||||||
self._progress_message = Message(i18n_catalog.i18nc("@info:status", "Sending data to printer"), lifetime = 0, dismissable = False, progress = -1,
|
self._progress_message = Message(i18n_catalog.i18nc("@info:status", "Sending data to printer"), lifetime = 0, dismissable = False, progress = -1,
|
||||||
@ -249,6 +259,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
|
|||||||
self.activePrinterChanged.emit()
|
self.activePrinterChanged.emit()
|
||||||
|
|
||||||
def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None:
|
def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None:
|
||||||
|
if self._progress_message is not None:
|
||||||
self._progress_message.hide()
|
self._progress_message.hide()
|
||||||
self._compressing_gcode = False
|
self._compressing_gcode = False
|
||||||
self._sending_gcode = False
|
self._sending_gcode = False
|
||||||
|
@ -170,7 +170,10 @@ class DiscoverUM3Action(MachineAction):
|
|||||||
Logger.log("d", "Creating additional ui components for UM3.")
|
Logger.log("d", "Creating additional ui components for UM3.")
|
||||||
|
|
||||||
# Create networking dialog
|
# Create networking dialog
|
||||||
path = os.path.join(PluginRegistry.getInstance().getPluginPath("UM3NetworkPrinting"), "UM3InfoComponents.qml")
|
plugin_path = PluginRegistry.getInstance().getPluginPath("UM3NetworkPrinting")
|
||||||
|
if not plugin_path:
|
||||||
|
return
|
||||||
|
path = os.path.join(plugin_path, "UM3InfoComponents.qml")
|
||||||
self.__additional_components_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self})
|
self.__additional_components_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self})
|
||||||
if not self.__additional_components_view:
|
if not self.__additional_components_view:
|
||||||
Logger.log("w", "Could not create ui components for UM3.")
|
Logger.log("w", "Could not create ui components for UM3.")
|
||||||
|
@ -23,7 +23,7 @@ if TYPE_CHECKING:
|
|||||||
#
|
#
|
||||||
# This way it won't freeze up the interface while sending those materials.
|
# This way it won't freeze up the interface while sending those materials.
|
||||||
class SendMaterialJob(Job):
|
class SendMaterialJob(Job):
|
||||||
def __init__(self, device: "ClusterUM3OutputDevice"):
|
def __init__(self, device: "ClusterUM3OutputDevice") -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.device = device #type: ClusterUM3OutputDevice
|
self.device = device #type: ClusterUM3OutputDevice
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import io
|
|||||||
|
|
||||||
from UM.VersionUpgrade import VersionUpgrade
|
from UM.VersionUpgrade import VersionUpgrade
|
||||||
|
|
||||||
|
deleted_settings = {"prime_tower_wall_thickness", "dual_pre_wipe", "prime_tower_purge_volume"}
|
||||||
|
|
||||||
## Upgrades configurations from the state they were in at version 3.4 to the
|
## Upgrades configurations from the state they were in at version 3.4 to the
|
||||||
# state they should be in at version 4.0.
|
# state they should be in at version 4.0.
|
||||||
@ -68,6 +69,9 @@ class VersionUpgrade34to40(VersionUpgrade):
|
|||||||
parser["metadata"]["setting_version"] = "5"
|
parser["metadata"]["setting_version"] = "5"
|
||||||
|
|
||||||
self._resetConcentric3DInfillPattern(parser)
|
self._resetConcentric3DInfillPattern(parser)
|
||||||
|
if "values" in parser:
|
||||||
|
for deleted_setting in deleted_settings:
|
||||||
|
del parser["values"][deleted_setting]
|
||||||
|
|
||||||
result = io.StringIO()
|
result = io.StringIO()
|
||||||
parser.write(result)
|
parser.write(result)
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
# Copyright (c) 2018 Ultimaker B.V.
|
||||||
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
|
import configparser #To parse the resulting config files.
|
||||||
|
import pytest #To register tests with.
|
||||||
|
|
||||||
|
import VersionUpgrade34to40 #The module we're testing.
|
||||||
|
|
||||||
|
## Creates an instance of the upgrader to test with.
|
||||||
|
@pytest.fixture
|
||||||
|
def upgrader():
|
||||||
|
return VersionUpgrade34to40.VersionUpgrade34to40()
|
||||||
|
|
||||||
|
test_upgrade_version_nr_data = [
|
||||||
|
("Empty config file",
|
||||||
|
"""[general]
|
||||||
|
version = 5
|
||||||
|
[metadata]
|
||||||
|
setting_version = 4
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
## Tests whether the version numbers are updated.
|
||||||
|
@pytest.mark.parametrize("test_name, file_data", test_upgrade_version_nr_data)
|
||||||
|
def test_upgradeVersionNr(test_name, file_data, upgrader):
|
||||||
|
#Perform the upgrade.
|
||||||
|
_, upgraded_instances = upgrader.upgradePreferences(file_data, "<string>")
|
||||||
|
upgraded_instance = upgraded_instances[0]
|
||||||
|
parser = configparser.ConfigParser(interpolation = None)
|
||||||
|
parser.read_string(upgraded_instance)
|
||||||
|
|
||||||
|
#Check the new version.
|
||||||
|
assert parser["general"]["version"] == "6"
|
||||||
|
assert parser["metadata"]["setting_version"] == "5"
|
@ -2,6 +2,7 @@
|
|||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
from math import pi, sin, cos, sqrt
|
from math import pi, sin, cos, sqrt
|
||||||
|
from typing import Dict
|
||||||
|
|
||||||
import numpy
|
import numpy
|
||||||
|
|
||||||
@ -42,7 +43,7 @@ class X3DReader(MeshReader):
|
|||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self._supported_extensions = [".x3d"]
|
self._supported_extensions = [".x3d"]
|
||||||
self._namespaces = {}
|
self._namespaces = {} # type: Dict[str, str]
|
||||||
|
|
||||||
# Main entry point
|
# Main entry point
|
||||||
# Reads the file, returns a SceneNode (possibly with nested ones), or None
|
# Reads the file, returns a SceneNode (possibly with nested ones), or None
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"machine_depth": { "default_value": 149.86 },
|
"machine_depth": { "default_value": 149.86 },
|
||||||
"machine_height": { "default_value": 99.822 },
|
"machine_height": { "default_value": 99.822 },
|
||||||
"machine_center_is_zero": { "default_value": true },
|
"machine_center_is_zero": { "default_value": true },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[ 0, 0 ],
|
[ 0, 0 ],
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_name": { "default_value": "3Dator" },
|
"machine_name": { "default_value": "3Dator" },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"speed_travel": { "default_value": 120 },
|
"speed_travel": { "default_value": 120 },
|
||||||
"prime_tower_size": { "default_value": 8.660254037844387 },
|
"prime_tower_size": { "default_value": 8.660254037844387 },
|
||||||
"infill_sparse_density": { "default_value": 20 },
|
"infill_sparse_density": { "default_value": 20 },
|
||||||
|
@ -26,9 +26,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[75, 18],
|
[75, 18],
|
||||||
|
@ -45,10 +45,6 @@
|
|||||||
{
|
{
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size":
|
|
||||||
{
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"gantry_height":
|
"gantry_height":
|
||||||
{
|
{
|
||||||
"default_value": 0
|
"default_value": 0
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
"prime_tower_size": { "default_value": 7.745966692414834 },
|
"prime_tower_size": { "default_value": 7.745966692414834 },
|
||||||
"machine_name": { "default_value": "BFB_Test" },
|
"machine_name": { "default_value": "BFB_Test" },
|
||||||
"machine_heated_bed": { "default_value": false },
|
"machine_heated_bed": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"speed_layer_0": { "default_value": 25 },
|
"speed_layer_0": { "default_value": 25 },
|
||||||
"machine_width": { "default_value": 275 },
|
"machine_width": { "default_value": 275 },
|
||||||
"machine_gcode_flavor": { "default_value": "BFB" },
|
"machine_gcode_flavor": { "default_value": "BFB" },
|
||||||
|
@ -54,7 +54,6 @@
|
|||||||
"prime_tower_position_y": { "default_value": 178 },
|
"prime_tower_position_y": { "default_value": 178 },
|
||||||
"prime_tower_wipe_enabled": { "default_value": false },
|
"prime_tower_wipe_enabled": { "default_value": false },
|
||||||
"prime_tower_min_volume": { "default_value": 50 },
|
"prime_tower_min_volume": { "default_value": 50 },
|
||||||
"dual_pre_wipe": { "default_value": false },
|
|
||||||
|
|
||||||
"prime_blob_enable": { "enabled": true },
|
"prime_blob_enable": { "enabled": true },
|
||||||
|
|
||||||
|
@ -54,7 +54,6 @@
|
|||||||
"prime_tower_position_y": { "default_value": 178 },
|
"prime_tower_position_y": { "default_value": 178 },
|
||||||
"prime_tower_wipe_enabled": { "default_value": false },
|
"prime_tower_wipe_enabled": { "default_value": false },
|
||||||
"prime_tower_min_volume": { "default_value": 50 },
|
"prime_tower_min_volume": { "default_value": 50 },
|
||||||
"dual_pre_wipe": { "default_value": false },
|
|
||||||
|
|
||||||
"prime_blob_enable": { "enabled": true },
|
"prime_blob_enable": { "enabled": true },
|
||||||
|
|
||||||
|
@ -53,7 +53,6 @@
|
|||||||
"prime_tower_position_y": { "default_value": 178 },
|
"prime_tower_position_y": { "default_value": 178 },
|
||||||
"prime_tower_wipe_enabled": { "default_value": false },
|
"prime_tower_wipe_enabled": { "default_value": false },
|
||||||
"prime_tower_min_volume": { "default_value": 50 },
|
"prime_tower_min_volume": { "default_value": 50 },
|
||||||
"dual_pre_wipe": { "default_value": false },
|
|
||||||
|
|
||||||
"prime_blob_enable": { "enabled": true },
|
"prime_blob_enable": { "enabled": true },
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
"material_print_temp_wait": { "default_value": false },
|
"material_print_temp_wait": { "default_value": false },
|
||||||
"material_bed_temp_wait": { "default_value": false },
|
"material_bed_temp_wait": { "default_value": false },
|
||||||
"prime_tower_enable": { "default_value": false },
|
"prime_tower_enable": { "default_value": false },
|
||||||
"prime_tower_wall_thickness": { "resolve": 0.7 },
|
"prime_tower_min_volume": { "value": "0.7" },
|
||||||
"prime_tower_size": { "value": 24.0 },
|
"prime_tower_size": { "value": 24.0 },
|
||||||
"prime_tower_position_x": { "value": 125 },
|
"prime_tower_position_x": { "value": 125 },
|
||||||
"prime_tower_position_y": { "value": 70 },
|
"prime_tower_position_y": { "value": 70 },
|
||||||
|
@ -31,9 +31,6 @@
|
|||||||
[30, 34]
|
[30, 34]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"layer_height_0": {
|
"layer_height_0": {
|
||||||
"default_value": 0.2
|
"default_value": 0.2
|
||||||
},
|
},
|
||||||
|
@ -27,9 +27,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[17, 70],
|
[17, 70],
|
||||||
|
@ -28,9 +28,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[17, 40],
|
[17, 40],
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
"speed_wall_0": { "default_value": 30 },
|
"speed_wall_0": { "default_value": 30 },
|
||||||
"speed_topbottom": { "default_value": 30 },
|
"speed_topbottom": { "default_value": 30 },
|
||||||
"layer_height": { "default_value": 0.2 },
|
"layer_height": { "default_value": 0.2 },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"speed_print": { "default_value": 30 },
|
"speed_print": { "default_value": 30 },
|
||||||
"speed_infill": { "default_value": 30 },
|
"speed_infill": { "default_value": 30 },
|
||||||
"machine_extruder_count": { "default_value": 1 },
|
"machine_extruder_count": { "default_value": 1 },
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
"machine_height": { "default_value": 250 },
|
"machine_height": { "default_value": 250 },
|
||||||
"machine_depth": { "default_value": 190 },
|
"machine_depth": { "default_value": 190 },
|
||||||
"machine_center_is_zero": { "default_value": true },
|
"machine_center_is_zero": { "default_value": true },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
"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 all axes (max endstops)\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."},
|
"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 all axes (max endstops)\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."},
|
||||||
"machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG28 ;Home all axes (max endstops)\nM84 ;steppers off\nG90 ;absolute positioning" },
|
"machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG28 ;Home all axes (max endstops)\nM84 ;steppers off\nG90 ;absolute positioning" },
|
||||||
|
@ -52,9 +52,6 @@
|
|||||||
"bottom_thickness": {
|
"bottom_thickness": {
|
||||||
"default_value": 1
|
"default_value": 1
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"speed_print": {
|
"speed_print": {
|
||||||
"default_value": 75
|
"default_value": 75
|
||||||
},
|
},
|
||||||
|
@ -35,7 +35,6 @@
|
|||||||
"machine_depth": { "default_value": 234 },
|
"machine_depth": { "default_value": 234 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_with_fans_polygon": { "default_value": [[-75, 35], [-75, -18], [18, 35], [18, -18]] },
|
"machine_head_with_fans_polygon": { "default_value": [[-75, 35], [-75, -18], [18, 35], [18, -18]] },
|
||||||
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||||
"machine_max_feedrate_x": { "default_value": 250 },
|
"machine_max_feedrate_x": { "default_value": 250 },
|
||||||
|
@ -4247,6 +4247,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"support_fan_enable":
|
||||||
|
{
|
||||||
|
"label": "Fan Speed Override",
|
||||||
|
"description": "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support.",
|
||||||
|
"type": "bool",
|
||||||
|
"default_value": false,
|
||||||
|
"enabled": "support_enable",
|
||||||
|
"settable_per_mesh": false
|
||||||
|
},
|
||||||
|
"support_supported_skin_fan_speed":
|
||||||
|
{
|
||||||
|
"label": "Supported Skin Fan Speed",
|
||||||
|
"description": "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove.",
|
||||||
|
"unit": "%",
|
||||||
|
"minimum_value": "0",
|
||||||
|
"maximum_value": "100",
|
||||||
|
"default_value": 100,
|
||||||
|
"type": "float",
|
||||||
|
"enabled": "support_enable and support_fan_enable",
|
||||||
|
"settable_per_mesh": false
|
||||||
|
},
|
||||||
"support_use_towers":
|
"support_use_towers":
|
||||||
{
|
{
|
||||||
"label": "Use Towers",
|
"label": "Use Towers",
|
||||||
@ -4992,32 +5013,12 @@
|
|||||||
"description": "The minimum volume for each layer of the prime tower in order to purge enough material.",
|
"description": "The minimum volume for each layer of the prime tower in order to purge enough material.",
|
||||||
"unit": "mm³",
|
"unit": "mm³",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default_value": 10,
|
"default_value": 5,
|
||||||
"value": "8.48 if prime_tower_circular else 10",
|
|
||||||
"minimum_value": "0",
|
"minimum_value": "0",
|
||||||
"maximum_value_warning": "round((resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height'), 2) if prime_tower_circular else resolveOrValue('prime_tower_size') ** 2 * resolveOrValue('layer_height')",
|
"maximum_value_warning": "((resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') if prime_tower_circular else resolveOrValue('prime_tower_size') ** 2 * resolveOrValue('layer_height')) - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume",
|
||||||
"enabled": "resolveOrValue('prime_tower_enable')",
|
"enabled": "resolveOrValue('prime_tower_enable')",
|
||||||
"settable_per_mesh": false,
|
"settable_per_mesh": false,
|
||||||
"settable_per_extruder": true,
|
"settable_per_extruder": true
|
||||||
"children":
|
|
||||||
{
|
|
||||||
"prime_tower_wall_thickness":
|
|
||||||
{
|
|
||||||
"label": "Prime Tower Thickness",
|
|
||||||
"description": "The thickness of the hollow prime tower. A thickness larger than half the Prime Tower Minimum Volume will result in a dense prime tower.",
|
|
||||||
"unit": "mm",
|
|
||||||
"type": "float",
|
|
||||||
"default_value": 2,
|
|
||||||
"value": "round(max(2 * prime_tower_line_width, (0.5 * (prime_tower_size - math.sqrt(max(0, prime_tower_size ** 2 - 4 * prime_tower_min_volume / (3.14159 * layer_height))))) if prime_tower_circular else (0.5 * (prime_tower_size - math.sqrt(max(0, prime_tower_size ** 2 - prime_tower_min_volume / layer_height))))), 3)",
|
|
||||||
"resolve": "max(extruderValues('prime_tower_wall_thickness'))",
|
|
||||||
"minimum_value": "0.001",
|
|
||||||
"minimum_value_warning": "2 * min(extruderValues('prime_tower_line_width')) - 0.0001",
|
|
||||||
"maximum_value_warning": "prime_tower_size / 2",
|
|
||||||
"enabled": "prime_tower_enable",
|
|
||||||
"settable_per_mesh": false,
|
|
||||||
"settable_per_extruder": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"prime_tower_position_x":
|
"prime_tower_position_x":
|
||||||
{
|
{
|
||||||
@ -5072,29 +5073,6 @@
|
|||||||
"settable_per_mesh": false,
|
"settable_per_mesh": false,
|
||||||
"settable_per_extruder": true
|
"settable_per_extruder": true
|
||||||
},
|
},
|
||||||
"dual_pre_wipe":
|
|
||||||
{
|
|
||||||
"label": "Wipe Nozzle After Switch",
|
|
||||||
"description": "After switching extruder, wipe the oozed material off of the nozzle on the first thing printed. This performs a safe slow wipe move at a place where the oozed material causes least harm to the surface quality of your print.",
|
|
||||||
"type": "bool",
|
|
||||||
"enabled": "resolveOrValue('prime_tower_enable')",
|
|
||||||
"default_value": true,
|
|
||||||
"settable_per_mesh": false,
|
|
||||||
"settable_per_extruder": true
|
|
||||||
},
|
|
||||||
"prime_tower_purge_volume":
|
|
||||||
{
|
|
||||||
"label": "Prime Tower Purge Volume",
|
|
||||||
"description": "Amount of filament to be purged when wiping on the prime tower. Purging is useful for compensating the filament lost by oozing during inactivity of the nozzle.",
|
|
||||||
"type": "float",
|
|
||||||
"enabled": "resolveOrValue('prime_tower_enable') and dual_pre_wipe",
|
|
||||||
"unit": "mm³",
|
|
||||||
"default_value": 0,
|
|
||||||
"minimum_value": "0",
|
|
||||||
"maximum_value_warning": "2.5",
|
|
||||||
"settable_per_mesh": false,
|
|
||||||
"settable_per_extruder": true
|
|
||||||
},
|
|
||||||
"ooze_shield_enabled":
|
"ooze_shield_enabled":
|
||||||
{
|
{
|
||||||
"label": "Enable Ooze Shield",
|
"label": "Enable Ooze Shield",
|
||||||
|
@ -44,7 +44,6 @@
|
|||||||
"retraction_amount": { "default_value": 1 },
|
"retraction_amount": { "default_value": 1 },
|
||||||
"retraction_speed": { "default_value": 50},
|
"retraction_speed": { "default_value": 50},
|
||||||
"material_flow": { "default_value": 87 },
|
"material_flow": { "default_value": 87 },
|
||||||
"machine_nozzle_size": { "default_value": 0.35 },
|
|
||||||
"adhesion_type": { "default_value": "skirt" },
|
"adhesion_type": { "default_value": "skirt" },
|
||||||
"skirt_brim_minimal_length": { "default_value": 130},
|
"skirt_brim_minimal_length": { "default_value": 130},
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
"machine_depth": { "default_value": 406 },
|
"machine_depth": { "default_value": 406 },
|
||||||
"machine_height": { "default_value": 533 },
|
"machine_height": { "default_value": 533 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"layer_height": { "default_value": 0.2 },
|
"layer_height": { "default_value": 0.2 },
|
||||||
"layer_height_0": { "default_value": 0.3 },
|
"layer_height_0": { "default_value": 0.3 },
|
||||||
"retraction_amount": { "default_value": 1 },
|
"retraction_amount": { "default_value": 1 },
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
"machine_depth": { "default_value": 406 },
|
"machine_depth": { "default_value": 406 },
|
||||||
"machine_height": { "default_value": 533 },
|
"machine_height": { "default_value": 533 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"layer_height": { "default_value": 0.2 },
|
"layer_height": { "default_value": 0.2 },
|
||||||
"layer_height_0": { "default_value": 0.3 },
|
"layer_height_0": { "default_value": 0.3 },
|
||||||
"retraction_amount": { "default_value": 1 },
|
"retraction_amount": { "default_value": 1 },
|
||||||
|
@ -29,9 +29,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.5
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-75, -18],
|
[-75, -18],
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
"machine_width": { "default_value": 170 },
|
"machine_width": { "default_value": 170 },
|
||||||
"machine_height": { "default_value": 145 },
|
"machine_height": { "default_value": 145 },
|
||||||
"machine_depth": { "default_value": 160 },
|
"machine_depth": { "default_value": 160 },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-43.7, -19.2],
|
[-43.7, -19.2],
|
||||||
|
@ -34,9 +34,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_nozzle_heat_up_speed": {
|
"machine_nozzle_heat_up_speed": {
|
||||||
"default_value": 2
|
"default_value": 2
|
||||||
},
|
},
|
||||||
|
@ -35,9 +35,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_nozzle_heat_up_speed": {
|
"machine_nozzle_heat_up_speed": {
|
||||||
"default_value": 2
|
"default_value": 2
|
||||||
},
|
},
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
|
@ -31,9 +31,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.35
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
|
@ -33,9 +33,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-75, -18],
|
[-75, -18],
|
||||||
|
@ -33,9 +33,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-75, -18],
|
[-75, -18],
|
||||||
|
@ -30,9 +30,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
|
@ -30,9 +30,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
|
@ -33,9 +33,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"gantry_height": {
|
"gantry_height": {
|
||||||
"default_value": 55
|
"default_value": 55
|
||||||
},
|
},
|
||||||
|
@ -29,9 +29,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[ -75, 35 ],
|
[ -75, 35 ],
|
||||||
|
@ -60,10 +60,6 @@
|
|||||||
"machine_height": { "default_value": 120 },
|
"machine_height": { "default_value": 120 },
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4,
|
|
||||||
"minimum_value": 0.15
|
|
||||||
},
|
|
||||||
"machine_max_feedrate_x": { "default_value": 150 },
|
"machine_max_feedrate_x": { "default_value": 150 },
|
||||||
"machine_max_feedrate_y": { "default_value": 150 },
|
"machine_max_feedrate_y": { "default_value": 150 },
|
||||||
"machine_max_feedrate_z": { "default_value": 1.5 },
|
"machine_max_feedrate_z": { "default_value": 1.5 },
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
"machine_height": { "default_value": 300 },
|
"machine_height": { "default_value": 300 },
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
|
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[ -3, 3 ],
|
[ -3, 3 ],
|
||||||
|
@ -70,9 +70,6 @@
|
|||||||
"gantry_height": {
|
"gantry_height": {
|
||||||
"default_value": 55
|
"default_value": 55
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"infill_sparse_density": { "default_value": 15 },
|
"infill_sparse_density": { "default_value": 15 },
|
||||||
"speed_travel": { "default_value": 150 },
|
"speed_travel": { "default_value": 150 },
|
||||||
"layer_height": { "default_value": 0.3 },
|
"layer_height": { "default_value": 0.3 },
|
||||||
"machine_nozzle_size": { "default_value": 0.35 },
|
|
||||||
"material_print_temperature": { "default_value": 240 },
|
"material_print_temperature": { "default_value": 240 },
|
||||||
"machine_extruder_count": { "default_value": 5 },
|
"machine_extruder_count": { "default_value": 5 },
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
|
@ -28,9 +28,6 @@
|
|||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 130
|
"default_value": 130
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.067
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
"machine_depth": { "default_value": 100 },
|
"machine_depth": { "default_value": 100 },
|
||||||
"machine_height": { "default_value": 130 },
|
"machine_height": { "default_value": 130 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"layer_height": { "default_value": 0.2 },
|
"layer_height": { "default_value": 0.2 },
|
||||||
"layer_height_0": { "default_value": 0.3 },
|
"layer_height_0": { "default_value": 0.3 },
|
||||||
"retraction_amount": { "default_value": 0.7 },
|
"retraction_amount": { "default_value": 0.7 },
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
"machine_height": { "default_value": 150 },
|
"machine_height": { "default_value": 150 },
|
||||||
"machine_depth": { "default_value": 140 },
|
"machine_depth": { "default_value": 140 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-49, 20],
|
[-49, 20],
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
"machine_height": { "default_value": 235 },
|
"machine_height": { "default_value": 235 },
|
||||||
"machine_depth": { "default_value": 150 },
|
"machine_depth": { "default_value": 150 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[ 55, -20 ],
|
[ 55, -20 ],
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
"machine_width": { "default_value": 100 },
|
"machine_width": { "default_value": 100 },
|
||||||
"machine_depth": { "default_value": 100 },
|
"machine_depth": { "default_value": 100 },
|
||||||
"machine_height": { "default_value": 115 },
|
"machine_height": { "default_value": 115 },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_with_fans_polygon": {
|
"machine_head_with_fans_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-40, 1000],
|
[-40, 1000],
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-75, -18],
|
[-75, -18],
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"machine_depth": { "default_value": 210 },
|
"machine_depth": { "default_value": 210 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"material_bed_temperature": { "default_value": 55 },
|
"material_bed_temperature": { "default_value": 55 },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"layer_height": { "default_value": 0.1 },
|
"layer_height": { "default_value": 0.1 },
|
||||||
"layer_height_0": { "default_value": 0.15 },
|
"layer_height_0": { "default_value": 0.15 },
|
||||||
"retraction_amount": { "default_value": 0.8 },
|
"retraction_amount": { "default_value": 0.8 },
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-75, -18],
|
[-75, -18],
|
||||||
|
@ -33,9 +33,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_nozzle_heat_up_speed": {
|
"machine_nozzle_heat_up_speed": {
|
||||||
"default_value": 6
|
"default_value": 6
|
||||||
},
|
},
|
||||||
|
@ -33,9 +33,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_nozzle_heat_up_speed": {
|
"machine_nozzle_heat_up_speed": {
|
||||||
"default_value": 6
|
"default_value": 6
|
||||||
},
|
},
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_nozzle_heat_up_speed": {
|
"machine_nozzle_heat_up_speed": {
|
||||||
"default_value": 6
|
"default_value": 6
|
||||||
},
|
},
|
||||||
|
@ -32,9 +32,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_nozzle_heat_up_speed": {
|
"machine_nozzle_heat_up_speed": {
|
||||||
"default_value": 6
|
"default_value": 6
|
||||||
},
|
},
|
||||||
|
@ -69,9 +69,6 @@
|
|||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 150
|
"default_value": 150
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap"
|
"default_value": "RepRap"
|
||||||
},
|
},
|
||||||
|
@ -80,9 +80,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"gantry_height": {
|
"gantry_height": {
|
||||||
"default_value": 25
|
"default_value": 25
|
||||||
},
|
},
|
||||||
|
@ -28,9 +28,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"gantry_height": {
|
"gantry_height": {
|
||||||
"default_value": 0
|
"default_value": 0
|
||||||
},
|
},
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
"machine_height": { "default_value": 530 },
|
"machine_height": { "default_value": 530 },
|
||||||
"machine_max_feedrate_z": { "default_value": 400 },
|
"machine_max_feedrate_z": { "default_value": 400 },
|
||||||
"machine_name": { "default_value": "Artemis" },
|
"machine_name": { "default_value": "Artemis" },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"machine_shape": { "default_value": "elliptic" },
|
"machine_shape": { "default_value": "elliptic" },
|
||||||
"machine_width": { "default_value": 290 },
|
"machine_width": { "default_value": 290 },
|
||||||
"relative_extrusion": { "default_value": false },
|
"relative_extrusion": { "default_value": false },
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
"machine_height": { "default_value": 395 },
|
"machine_height": { "default_value": 395 },
|
||||||
"machine_max_feedrate_z": { "default_value": 300 },
|
"machine_max_feedrate_z": { "default_value": 300 },
|
||||||
"machine_name": { "default_value": "Rostock Max V3.2" },
|
"machine_name": { "default_value": "Rostock Max V3.2" },
|
||||||
"machine_nozzle_size": { "default_value": 0.5 },
|
|
||||||
"machine_shape": { "default_value": "elliptic" },
|
"machine_shape": { "default_value": "elliptic" },
|
||||||
"machine_width": { "default_value": 265 },
|
"machine_width": { "default_value": 265 },
|
||||||
"relative_extrusion": { "default_value": false },
|
"relative_extrusion": { "default_value": false },
|
||||||
|
@ -43,10 +43,6 @@
|
|||||||
{
|
{
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size":
|
|
||||||
{
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"gantry_height":
|
"gantry_height":
|
||||||
{
|
{
|
||||||
"default_value": 0
|
"default_value": 0
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
"machine_height": { "default_value": 200 },
|
"machine_height": { "default_value": 200 },
|
||||||
"machine_depth": { "default_value": 200 },
|
"machine_depth": { "default_value": 200 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"machine_head_polygon":
|
"machine_head_polygon":
|
||||||
{
|
{
|
||||||
"default_value":
|
"default_value":
|
||||||
|
@ -8,7 +8,10 @@
|
|||||||
"manufacturer": "Tevo",
|
"manufacturer": "Tevo",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"icon": "icon_ultimaker2.png",
|
"icon": "icon_ultimaker2.png",
|
||||||
"has_materials": true
|
"has_materials": true,
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "tevo_tornado_extruder_0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_name": {
|
"machine_name": {
|
||||||
@ -34,12 +37,6 @@
|
|||||||
[30, 34]
|
[30, 34]
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
},
|
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"top_bottom_thickness": {
|
"top_bottom_thickness": {
|
||||||
"default_value": 1.2
|
"default_value": 1.2
|
||||||
},
|
},
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
"machine_depth": { "default_value": 275 },
|
"machine_depth": { "default_value": 275 },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"material_bed_temperature": { "default_value": 70 },
|
"material_bed_temperature": { "default_value": 70 },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"layer_height_0": { "default_value": 0.1 },
|
"layer_height_0": { "default_value": 0.1 },
|
||||||
"retraction_amount": { "default_value": 2 },
|
"retraction_amount": { "default_value": 2 },
|
||||||
"retraction_speed": { "default_value": 50 },
|
"retraction_speed": { "default_value": 50 },
|
||||||
|
@ -54,10 +54,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4,
|
|
||||||
"minimum_value": "0.001"
|
|
||||||
},
|
|
||||||
"gantry_height": {
|
"gantry_height": {
|
||||||
"default_value": 48
|
"default_value": 48
|
||||||
},
|
},
|
||||||
|
@ -35,9 +35,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
|
@ -37,9 +37,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
|
@ -11,7 +11,10 @@
|
|||||||
"manufacturer": "TheCoolTool",
|
"manufacturer": "TheCoolTool",
|
||||||
"file_formats": "text/x-ngc;text/x-gcode",
|
"file_formats": "text/x-ngc;text/x-gcode",
|
||||||
"platform": "uni_print_3d_platform.stl",
|
"platform": "uni_print_3d_platform.stl",
|
||||||
"platform_offset": [0, 0, 0]
|
"platform_offset": [0, 0, 0],
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "uni_print_3d_extruder_0"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
@ -21,8 +24,6 @@
|
|||||||
"machine_height": { "default_value": 230 },
|
"machine_height": { "default_value": 230 },
|
||||||
"machine_depth": { "default_value": 220 },
|
"machine_depth": { "default_value": 220 },
|
||||||
"machine_center_is_zero": { "default_value": true },
|
"machine_center_is_zero": { "default_value": true },
|
||||||
"machine_nozzle_size": { "default_value": 0.4 },
|
|
||||||
"material_diameter": { "default_value": 1.75 },
|
|
||||||
"machine_nozzle_heat_up_speed": { "default_value": 2.0 },
|
"machine_nozzle_heat_up_speed": { "default_value": 2.0 },
|
||||||
"machine_nozzle_cool_down_speed": { "default_value": 2.0 },
|
"machine_nozzle_cool_down_speed": { "default_value": 2.0 },
|
||||||
"machine_head_shape_min_x": { "default_value": 75 },
|
"machine_head_shape_min_x": { "default_value": 75 },
|
||||||
|
@ -30,9 +30,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.5
|
|
||||||
},
|
|
||||||
"gantry_height": {
|
"gantry_height": {
|
||||||
"default_value": 55
|
"default_value": 55
|
||||||
},
|
},
|
||||||
|
@ -30,9 +30,6 @@
|
|||||||
"machine_shape": {
|
"machine_shape": {
|
||||||
"default_value": "elliptic"
|
"default_value": "elliptic"
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.35
|
|
||||||
},
|
|
||||||
"machine_head_shape_min_x": {
|
"machine_head_shape_min_x": {
|
||||||
"default_value": 0
|
"default_value": 0
|
||||||
},
|
},
|
||||||
|
@ -42,9 +42,6 @@
|
|||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.35
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-60, -18],
|
[-60, -18],
|
||||||
|
@ -43,9 +43,6 @@
|
|||||||
"machine_use_extruder_offset_to_offset_coords": {
|
"machine_use_extruder_offset_to_offset_coords": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.35
|
|
||||||
},
|
|
||||||
"machine_head_polygon": {
|
"machine_head_polygon": {
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[-60, -18],
|
[-60, -18],
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_225_145_platform.obj",
|
"platform": "wanhao_225_145_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_d4s_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -33,9 +36,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
@ -44,9 +44,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_200_200_platform.obj",
|
"platform": "wanhao_200_200_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_d6_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -33,9 +36,6 @@
|
|||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 200
|
"default_value": 200
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
@ -50,9 +50,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_200_200_platform.obj",
|
"platform": "wanhao_200_200_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_d6_plus_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -30,9 +33,6 @@
|
|||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 200
|
"default_value": 200
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
@ -44,9 +44,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_300_200_platform.obj",
|
"platform": "wanhao_300_200_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_duplicator5S_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -36,9 +39,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
@ -47,9 +47,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 3
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_300_200_platform.obj",
|
"platform": "wanhao_300_200_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_duplicator5Smini_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -33,9 +36,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
@ -44,9 +44,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 3
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_200_200_platform.obj",
|
"platform": "wanhao_200_200_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_i3_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -33,9 +36,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
@ -44,9 +44,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_110_110_platform.obj",
|
"platform": "wanhao_110_110_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_i3mini_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-15,
|
-15,
|
||||||
@ -33,9 +36,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
@ -44,9 +44,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,9 @@
|
|||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"platform": "wanhao_200_200_platform.obj",
|
"platform": "wanhao_200_200_platform.obj",
|
||||||
"platform_texture": "Wanhaobackplate.png",
|
"platform_texture": "Wanhaobackplate.png",
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "wanhao_i3plus_extruder_0"
|
||||||
|
},
|
||||||
"platform_offset": [
|
"platform_offset": [
|
||||||
0,
|
0,
|
||||||
-28,
|
-28,
|
||||||
@ -33,9 +36,6 @@
|
|||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_nozzle_size": {
|
|
||||||
"default_value": 0.4
|
|
||||||
},
|
|
||||||
"machine_gcode_flavor": {
|
"machine_gcode_flavor": {
|
||||||
"default_value": "RepRap (Marlin/Sprinter)"
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
},
|
},
|
||||||
@ -44,9 +44,6 @@
|
|||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||||
},
|
|
||||||
"material_diameter": {
|
|
||||||
"default_value": 1.75
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
},
|
},
|
||||||
"machine_nozzle_offset_x": { "default_value": 0 },
|
"machine_nozzle_offset_x": { "default_value": 0 },
|
||||||
"machine_nozzle_offset_y": { "default_value": 0 },
|
"machine_nozzle_offset_y": { "default_value": 0 },
|
||||||
|
"machine_nozzle_size": { "default_value": 0.35 },
|
||||||
"material_diameter": { "default_value": 1.75 },
|
"material_diameter": { "default_value": 1.75 },
|
||||||
|
|
||||||
"machine_extruder_start_pos_abs": { "default_value": true },
|
"machine_extruder_start_pos_abs": { "default_value": true },
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user