diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 79ffafa0f1..0788832d5c 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -14,6 +14,7 @@ on: - 'resources/**' - ".github/workflows/build_*.yml" - 'scripts/flatpak/**' + - 'scripts/msix/**' pull_request: branches: @@ -30,6 +31,7 @@ on: - 'build_release_vs2022.bat' - 'build_release_macos.sh' - 'scripts/flatpak/**' + - 'scripts/msix/**' schedule: diff --git a/.github/workflows/build_orca.yml b/.github/workflows/build_orca.yml index 7ccb52b0e6..1e8588a373 100644 --- a/.github/workflows/build_orca.yml +++ b/.github/workflows/build_orca.yml @@ -371,6 +371,25 @@ jobs: asset_content_type: application/x-msdownload max_releases: 1 + - name: Build MSIX Store package Win + if: runner.os == 'Windows' && !vars.SELF_HOSTED + working-directory: ${{ github.workspace }} + shell: pwsh + run: | + ./scripts/msix/build_msix.ps1 ` + -InstallDir "${{ github.workspace }}/build/OrcaSlicer" ` + -OutputPath "${{ github.workspace }}/build/OrcaSlicer_Windows_MSIX_${{ env.ver }}.msix" ` + -IdentityName "${{ vars.ORCA_MSIX_IDENTITY_NAME || 'OrcaSlicer.OrcaSlicer' }}" ` + -Publisher "${{ vars.ORCA_MSIX_PUBLISHER || 'CN=38F7EA55-C73B-4072-B3B2-C8E0EA15BB82' }}" ` + -PublisherDisplayName "${{ vars.ORCA_MSIX_PUBLISHER_DISPLAY_NAME || 'OrcaSlicer' }}" + + - name: Upload artifacts Win MSIX + if: runner.os == 'Windows' && !vars.SELF_HOSTED + uses: actions/upload-artifact@v7 + with: + name: OrcaSlicer_Windows_MSIX_${{ env.ver }} + path: ${{ github.workspace }}/build/OrcaSlicer_Windows_MSIX_${{ env.ver }}.msix + # Ubuntu - name: Apt-Install Dependencies if: runner.os == 'Linux' && !vars.SELF_HOSTED diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 7c2999e872..98514d99db 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -73,8 +73,9 @@ jobs: - name: Download release artifacts from build run run: | + # Windows_V* (not Windows_*) keeps the MSIX Store artifact out: it goes to Partner Center, not GitHub releases. gh run download "$RUN_ID" --repo "$GITHUB_REPOSITORY" --dir artifacts \ - -p 'OrcaSlicer_Windows_*' \ + -p 'OrcaSlicer_Windows_V*' \ -p 'OrcaSlicer_Mac_universal_*' \ -p 'OrcaSlicer_Linux_ubuntu_*' \ -p 'OrcaSlicer-Linux-flatpak_*' \ diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index 7b55bc286d..b6136c2dc2 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -1873,12 +1873,14 @@ msgid "" "You are currently in Stealth Mode. To log into the Cloud, you need to " "disable Stealth Mode first." msgstr "" +"Sie befinden sich derzeit im Stealth-Modus. Um sich in der Cloud anzumelden, " +"müssen Sie zunächst den Stealth-Modus deaktivieren." msgid "Stealth Mode" -msgstr "" +msgstr "Stealth-Modus" msgid "Quit Stealth Mode" -msgstr "" +msgstr "Stealth-Modus verlassen" msgid "new or open project file is not allowed during the slicing process!" msgstr "" @@ -1900,20 +1902,31 @@ msgid "" "Pull downloads the cloud copy. Force push overwrites it with your local " "preset." msgstr "" +"Cloud-Synchronisationskonflikt: Dieses Profil hat eine neuere Version in " +"OrcaCloud.\n" +"Pull lädt die Cloud-Kopie herunter. Force Push überschreibt sie mit Ihrem " +"lokalen Profil." msgid "" "Cloud sync conflict: a preset with this name already exists in OrcaCloud.\n" "Pull downloads the cloud copy. Force push overwrites it with your local " "preset." msgstr "" +"Cloud-Synchronisationskonflikt: Ein Profil mit diesem Namen existiert bereits " +"in OrcaCloud.\n" +"Pull lädt die Cloud-Kopie herunter. Force Push überschreibt sie mit Ihrem " +"lokalen Profil." msgid "" "Force push will overwrite the cloud copy with your local preset changes.\n" "Do you want to continue?" msgstr "" +"Force Push überschreibt die Cloud-Kopie mit Ihren lokalen Profiländerungen.\n" +"Möchten Sie fortfahren?" msgid "Resolve cloud sync conflict" msgstr "" +"Cloud-Synchronisationskonflikt lösen" msgid "Retrieving printer information, please try again later." msgstr "Empfange Druckerinformationen, bitte später erneut versuchen." @@ -2231,7 +2244,7 @@ msgid "Orca Cube" msgstr "Orca Würfel" msgid "OrcaSliced Combo" -msgstr "" +msgstr "OrcaSliced Kombination" msgid "Orca Tolerance Test" msgstr "Orca Toleranz Test" @@ -5670,7 +5683,7 @@ msgid "Outline" msgstr "Umriss" msgid "Realistic View" -msgstr "" +msgstr "Realistische Ansicht" msgid "Perspective" msgstr "Perspektive" @@ -5980,7 +5993,7 @@ msgid "Show Configuration Folder" msgstr "Konfigurationsordner anzeigen" msgid "Troubleshoot Center" -msgstr "" +msgstr "Fehlerbehebungszentrum" msgid "Open Network Test" msgstr "Netzwerktest öffnen" @@ -6024,10 +6037,10 @@ msgid "Rear" msgstr "Hinten" msgid "Rear View" -msgstr "Ansicht von Hinten" +msgstr "Ansicht von hinten" msgid "Left View" -msgstr "Anicht von Links" +msgstr "Ansicht von links" msgid "Right View" msgstr "Ansicht von rechts" @@ -7371,10 +7384,10 @@ msgid "Model file downloaded." msgstr "Modelldatei heruntergeladen." msgid "Pull" -msgstr "" +msgstr "Herunterladen" msgid "Force push" -msgstr "" +msgstr "Hochladen erzwingen" msgid "Shared profiles may be available for this printer." msgstr "Für diesen Drucker sind möglicherweise freigegebene Profile verfügbar." @@ -8449,10 +8462,10 @@ msgstr "" "werden nur positive Teile exportiert." msgid "Flashforge host is not available." -msgstr "" +msgstr "Flashforge-Host ist nicht verfügbar." msgid "Unable to log in to the Flashforge printer." -msgstr "" +msgstr "Anmeldung am Flashforge-Drucker nicht möglich." msgid "Is the printer ready? Is the print sheet in place, empty and clean?" msgstr "" @@ -9031,22 +9044,22 @@ msgid "Graphics" msgstr "Grafik" msgid "Phong shading" -msgstr "" +msgstr "Phong-Shading" msgid "Uses Phong shading inside realistic view." -msgstr "" +msgstr "Verwendet Phong-Shading in der realistischen Ansicht." msgid "SSAO ambient occlusion" -msgstr "" +msgstr "SSAO-Umgebungsverdeckung" msgid "Applies SSAO in realistic view." -msgstr "" +msgstr "Wendet SSAO in der realistischen Ansicht an." msgid "Shadows" -msgstr "" +msgstr "Schatten" msgid "Renders cast shadows on the plate in realistic view." -msgstr "" +msgstr "Zeigt geworfene Schatten auf der Platte in der realistischen Ansicht an." msgid "Anti-aliasing" msgstr "Kantenglättung" @@ -9126,12 +9139,16 @@ msgid "" "Note: When Stealth Mode is enabled, your user profiles will not be backed up " "to Orca Cloud." msgstr "" +"Dies deaktiviert alle Cloud-Funktionen, einschließlich der Profil-Synchronisierung " +"mit Orca Cloud. Benutzer, die es vorziehen, vollständig offline zu arbeiten, " +"können diese Option aktivieren.\n" +"Hinweis: Wenn der Unsichtbare Modus aktiviert ist, werden Ihre Benutzerprofile nicht in Orca Cloud gesichert." msgid "Hide login side panel" -msgstr "" +msgstr "Login-Seitenleiste ausblenden" msgid "Hide the login side panel on the home page." -msgstr "" +msgstr "Blendet die Login-Seitenleiste auf der Startseite aus." msgid "Network test" msgstr "Netzwerktest" @@ -9299,12 +9316,14 @@ msgstr "" "Sehr experimentell! Langsam und kann Artefakte erzeugen." msgid "Show unsupported presets" -msgstr "" +msgstr "Nicht unterstützte Profile anzeigen" msgid "" "Show incompatible/unsupported presets in the printer and filament dropdown " "lists. These presets cannot be selected." msgstr "" +"Zeigt inkompatible/nicht unterstützte Profile in den Dropdown-Listen für " +"Drucker und Filament an. Diese Profile können nicht ausgewählt werden." msgid "Allow Abnormal Storage" msgstr "Fehlerhaften Speicher zulassen" @@ -10966,6 +10985,11 @@ msgid "" "\n" "Shall I set it to 100% in order to enable Firmware Retraction?" msgstr "" +"Die Option Rückzug vor Wischen kann nur 100% sein, wenn der Modus Filament " +"Rückzug durch Firmware verwendet wird.\n" +"\n" +"Soll ich es auf 100% setzen, um den Filament Rückzug durch Firmware zu " +"aktivieren?" msgid "Firmware Retraction" msgstr "Filament Rückzug durch Firmware" @@ -12720,17 +12744,23 @@ msgid "Layer height cannot exceed nozzle diameter." msgstr "Schichthöhe darf den Düsendurchmesser nicht überschreiten." msgid "Bridge line width must not exceed nozzle diameter" -msgstr "" +msgstr "Die Breite der Brückenlinie darf den Düsendurchmesser nicht überschreiten." msgid "" "\"G92 E0\" was found in before_layer_change_gcode, but the G or E are not " "uppercase. Please change them to the exact uppercase \"G92 E0\"." msgstr "" +"\"G92 E0\" wurde in before_layer_change_gcode gefunden, aber G oder E sind " +"nicht großgeschrieben. Bitte ändern Sie sie in das exakte Großgeschriebene " +"\"G92 E0\"." msgid "" "\"G92 E0\" was found in layer_change_gcode, but the G or E are not " "uppercase. Please change them to the exact uppercase \"G92 E0\"." msgstr "" +"\"G92 E0\" wurde in layer_change_gcode gefunden, aber G oder E sind " +"nicht großgeschrieben. Bitte ändern Sie sie in das exakte Großgeschriebene " +"\"G92 E0\"." msgid "" "Relative extruder addressing requires resetting the extruder position at " @@ -12745,6 +12775,8 @@ msgid "" "\"G92 E0\" was found in before_layer_change_gcode, which is incompatible " "with absolute extruder addressing." msgstr "" +"\"G92 E0\" wurde in before_layer_change_gcode gefunden, was mit absoluter " +"Extruderadressierung nicht kompatibel ist." msgid "" "\"G92 E0\" was found in layer_change_gcode, which is incompatible with " @@ -12859,29 +12891,32 @@ msgid "Extruder printable area" msgstr "Druckbarer Bereich des Extruders" msgid "Support parallel printheads" -msgstr "" +msgstr "Unterstützung paralleler Druckköpfe" msgid "" "Enable printer settings for machines that can use multiple printheads in " "parallel." -msgstr "" +msgstr "Aktivieren Sie die Druckereinstellungen für Maschinen, die mehrere Druckköpfe parallel verwenden können." msgid "Parallel printheads count" -msgstr "" +msgstr "Anzahl der parallelen Druckköpfe" msgid "" "Set the number of parallel printheads for machines like OrangeStorm Giga " "printer." -msgstr "" +msgstr "Legen Sie die Anzahl der parallelen Druckköpfe für Maschinen wie den OrangeStorm Giga Drucker fest." msgid "Parallel printheads bed exclude areas" -msgstr "" +msgstr "Druckbett-Ausschlussbereiche für parallele Druckköpfe" msgid "" "Ordered list of bed exclude areas by parallel printhead count. Item 1 " "applies to one printhead, item 2 to two printheads, and so on. Leave an item " "empty for no excluded area." msgstr "" +"Geordnete Liste der Druckbett-Ausschlussbereiche nach Anzahl der parallelen " +"Druckköpfe. Punkt 1 gilt für einen Druckkopf, Punkt 2 für zwei Druckköpfe und so " +"weiter. Lassen Sie einen Punkt leer, wenn keine Ausschlussbereiche vorhanden sind." msgid "Bed exclude area" msgstr "ausgenommene Druckbettfläche" @@ -13029,10 +13064,10 @@ msgstr "" "erforderliche Passwort enthalten." msgid "Serial Number" -msgstr "" +msgstr "Seriennummer" msgid "Flashforge local API requires the printer serial number." -msgstr "" +msgstr "Die lokale Flashforge-API erfordert die Seriennummer des Druckers." msgid "Name of the printer." msgstr "Name des Druckers" @@ -13405,6 +13440,17 @@ msgid "" "\n" "Use 180° for zero absolute angle." msgstr "" +"Externe Brückenwinkelüberschreibung.\n" +"Wenn auf Null gelassen, wird der Brückenwinkel automatisch für jede " +"spezifische Brücke berechnet.\n" +"Ansonsten wird der angegebene Winkel wie folgt verwendet:\n" +" - Die absoluten Koordinaten\n" +" - Die absoluten Koordinaten + Modellrotation: Wenn 'Füllrichtung an Modell " +"ausrichten' aktiviert ist\n" +" - Der optimale automatische Winkel + dieser Wert: Wenn 'Relativer " +"Brückenwinkel' aktiviert ist\n" +"\n" +"Verwenden Sie 180° für einen absoluten Winkel von Null." msgid "Internal bridge infill direction" msgstr "Interne Brücken Füllrichtung" @@ -13422,14 +13468,27 @@ msgid "" "\n" "Use 180° for zero absolute angle." msgstr "" +"Interne Brückenwinkelüberschreibung.\n" +"Wenn auf Null gelassen, wird der Brückenwinkel automatisch für jede " +"spezifische Brücke berechnet.\n" +"Ansonsten wird der angegebene Winkel wie folgt verwendet:\n" +" - Die absoluten Koordinaten\n" +" - Die absoluten Koordinaten + Modellrotation: Wenn 'Füllrichtung an Modell " +"ausrichten' aktiviert ist\n" +" - Der optimale automatische Winkel + dieser Wert: Wenn 'Relativer " +"Brückenwinkel' aktiviert ist\n" +"\n" +"Verwenden Sie 180° für einen absoluten Winkel von Null." msgid "Relative bridge angle" -msgstr "" +msgstr "Relativer Brückenwinkel" msgid "" "When enabled, the bridge angle values are added to the automatically " "calculated bridge direction instead of overriding it." msgstr "" +"Wenn aktiviert, werden die Brückenwinkelwerte zur automatisch berechneten " +"Brückenrichtung hinzugefügt, anstatt sie zu überschreiben." msgid "External bridge density" msgstr "Externe Brücken Dichte" @@ -13453,6 +13512,19 @@ msgid "" "\n" "Recommended range: Minimum 10% - Maximum 125%." msgstr "" +"Steuert die Dichte (Abstand) der Linien der externen Brücke. Standard ist 100%.\n" +"Theoretisch bedeutet 100% eine solide Brücke, aber aufgrund der Neigung von " +"Brückenextrusionen zum Durchhängen, ist 100% möglicherweise nicht ausreichend.\n" +"\n" +"- Höher als 100% Dichte (Empfohlen Max 125%):\n" +" - Vorteile: Erzeugt glattere Brückenoberflächen, da sich überlappende Linien während des Druckens zusätzliche Unterstützung bieten.\n" +" - Nachteile: Kann zu Überextrusion führen, was die Qualität der unteren und oberen Oberfläche verringern und das Risiko von Verzug erhöhen kann.\n" +"\n" +"- Niedriger als 100% Dichte (Min 10%):\n" +" - Vorteile: Kann eine fadenartige erste Schicht erzeugen. Schneller und mit besserer Kühlung, da mehr Platz für die Luftzirkulation um die extrudierte Brücke vorhanden ist.\n" +" - Nachteile: Kann zu Durchhängen und schlechterer Oberflächenqualität führen.\n" +"\n" +"Empfohlener Bereich: Minimum 10% - Maximum 125%." msgid "Internal bridge density" msgstr "Interne Brücken Dichte" @@ -13480,6 +13552,28 @@ msgid "" "bridge over infill option to improve bridging further before solid infill is " "extruded." msgstr "" +"Steuert die Dichte (Abstand) der Linien der internen Brücke. Standard ist 100%. " +"100% bedeutet eine solide interne Brücke.\n" +"\n" +"Interne Brücken wirken als Zwischenstütze zwischen lockerer Füllung und " +"oberer festen Füllung und können die Qualität der Oberseite stark beeinflussen.\n" +"\n" +"- Höher als 100% Dichte (Empfohlen Max 125%):\n" +" - Vorteile: Verbessert die Stärke der internen Brücke und die Unterstützung " +"unter den oberen Schichten, reduziert das Durchhängen und verbessert die " +"Oberflächenqualität.\n" +" - Nachteile: Erhöht den Materialverbrauch und die Druckzeit; eine zu hohe " +"Dichte kann zu Überfüllung und inneren Spannungen führen.\n" +"\n" +"- Niedriger als 100% Dichte (Min 10%):\n" +" - Vorteile: Kann das Pillowing reduzieren und die Kühlung verbessern (mehr " +"Luftzirkulation durch die Brücke), und kann den Druck beschleunigen.\n" +" - Nachteile: Kann die innere Unterstützung reduzieren und das Risiko von " +"Durchhängen und Defekten auf der Oberseite erhöhen.\n" +"\n" +"Diese Option funktioniert besonders gut in Kombination mit der zweiten internen " +"Brücke über Füllungsoption, um die Brückenbildung weiter zu verbessern, bevor " +"die obere feste Füllung extrudiert wird." msgid "Bridge flow ratio" msgstr "Brücken Flussrate" @@ -13505,6 +13599,15 @@ msgid "" "The maximum value is 100% or the nozzle diameter.\n" "If set to 0, the line width will match the Internal solid infill width." msgstr "" +"Die Brückenlinienbreite wird entweder als absoluter Wert oder als Prozentsatz " +"des aktiven Düsendurchmessers angegeben (Prozentsätze werden vom Düsendurch- " +"messer berechnet).\n" +"Wird empfohlen, in Verbindung mit einer höheren Brückendichte oder einer " +"höheren Brückenflussrate zu verwenden.\n" +"\n" +"Der maximale Wert beträgt 100% oder der Düsendurchmesser.\n" +"Wenn auf 0 gesetzt, entspricht die Linienbreite der Breite der inneren " +"festen Füllung." msgid "Internal bridge flow ratio" msgstr "Interne Brücken Flussrate" @@ -13521,6 +13624,15 @@ msgid "" "The actual bridge flow used is calculated by multiplying this value with the " "filament flow ratio, and if set, the object's flow ratio." msgstr "" +"Dieser Wert steuert die Dicke der internen Brückenlage. Dies ist die erste " +"Schicht über der lockeren Füllung, daher kann eine Erhöhung die Festigkeit und ""die Qualität der oberen Schicht verbessern.\n" +"Werte über 1.0: Erhöhen die Materialmenge bei gleichbleibendem Linienabstand. Dies kann die " +"Linienkontakt und Festigkeit verbessern.\n" +"Werte unter 1.0: Reduzieren die Materialmenge bei Anpassung des Linienabstands, um den Kontakt aufrechtzuerhalten. Dies kann das Durchhängen verbessern.\n" +"\n" +"Der tatsächliche Brückenfluss wird berechnet, indem dieser Wert mit dem " +"Filamentflussverhältnis und, falls festgelegt, dem Objektflussverhältnis " +"multipliziert wird." msgid "Top surface flow ratio" msgstr "Durchflussverhältnis obere Fläche" @@ -13909,6 +14021,30 @@ msgid "" "For example, when the perimeters are 100% overhanging, with no wall " "supporting them from underneath, the 100% overhang speed will be applied." msgstr "" +"Aktivieren Sie diese Option, um den Druck in Bereichen zu verlangsamen, in " +"denen sich die Umfänge möglicherweise nach oben gekrümmt haben.\n" +"Zum Beispiel wird bei der Druckung von Überhängen an scharfen Ecken wie dem " +"Vorderteil der Benchy-Hülle eine zusätzliche Verlangsamung angewendet, um " +"das Krümmen zu reduzieren, das sich über mehrere Schichten hinweg " +"verstärkt.\n" +"\n" +"Es wird in der Regel empfohlen, diese Option aktiviert zu lassen, es sei " +"denn, Ihre Druckerkühlung ist stark genug oder die Druckgeschwindigkeit ist " +"langsam genug, sodass sich Umfänge nicht krümmen. \n" +"Wenn Sie mit einer hohen externen Umfangsgeschwindigkeit drucken, kann dieser " +"Parameter bei der Verlangsamung Wandartefakte verursachen, da die " +"potentiell große Varianz der Druckgeschwindigkeiten den Extruder daran " +"hindert, dem geforderten Fließänderungsverlauf zu folgen.\n" +"Die Ursache dieser Artefakte ist in der Regel eine leicht abweichende PA-" +"Einstellung, insbesondere in Kombination mit einer hohen PA-Glättungszeit.\n" +"\n" +"Empfehlungen bei Aktivierung dieser Option:\n" +"1. Reduzieren Sie die Glättungszeit des Druckvorschubs auf 0,015 - 0,02, damit der Extruder schnell auf Geschwindigkeitsänderungen reagieren kann.\n" +"2. Erhöhen Sie die Mindestdruckgeschwindigkeiten, um die Schwankung zwischen den schnellen und langsamen Segmenten zu begrenzen.\n" +"3. Wenn Artefakte weiterhin auftreten, aktivieren Sie die Glättung der Extrusionsrate (ERS), um die Übergänge der Fließrate weiter zu glätten.\n" +"\n" +"Hinweis: Wenn diese Option aktiviert ist, werden die Überhangumfänge wie Überhänge behandelt, was bedeutet, dass die Überhanggeschwindigkeit auch dann angewendet wird, wenn der überhängende Umfang Teil einer Brücke ist.\n" +"Zum Beispiel wird bei den Umfängen, die zu 100 % überhängen, wobei keine Wand darunter liegt, die 100 % Überhanggeschwindigkeit angewendet." msgid "mm/s or %" msgstr "mm/s o. %" @@ -14199,6 +14335,10 @@ msgid "" "If disabled, bridges may look better but are generally reliable only for " "shorter spans." msgstr "" +"Wenn aktiviert, verwendet die Brückenextrusion eine Linienhöhe, die dem " +"Düsendurchmesser entspricht.\n" +"Dies erhöht die Brückenfestigkeit und Zuverlässigkeit, ermöglicht längere Spannweiten, kann aber das Aussehen verschlechtern.\n" +"Wenn deaktiviert, können Brücken besser aussehen, sind aber im Allgemeinen nur für kürzere Spannweiten zuverlässig." msgid "Thick internal bridges" msgstr "Dicke interne Brücken" @@ -14211,6 +14351,12 @@ msgid "" "If disabled, internal bridges may look better but can be less reliable over " "sparse infill." msgstr "" +"Wenn aktiviert, verwendet die interne Brückenextrusion eine Linienhöhe, die " +"dem Düsendurchmesser entspricht.\n" +"Dies erhöht die interne Brückenfestigkeit und Zuverlässigkeit, wenn über " +"seltenes Infill gedruckt wird, kann aber das Aussehen verschlechtern.\n" +"Wenn deaktiviert, können interne Brücken besser aussehen, sind aber " +"überdünnes Infill weniger zuverlässig." msgid "Extra bridge layers (beta)" msgstr "Zusätzliche Brückenschichten (Beta)" @@ -15499,6 +15645,9 @@ msgid "" "When enabled, directions rotate with the model to maintain optimal strength " "characteristics." msgstr "" +"Richtet die Richtungen von Füllung, Brücke, Glättung und Oberflächenfüllung so " +"aus, dass sie der Orientierung des Modells auf der Bauplatte folgen.\n" +"Wenn aktiviert, drehen sich die Richtungen mit dem Modell, um optimale Festigkeitseigenschaften zu erhalten." msgid "Insert solid layers" msgstr "Massive Schichten einfügen" @@ -15634,25 +15783,28 @@ msgstr "" "Wabenstruktur." msgid "Lightning overhang angle" -msgstr "" +msgstr "Überhangwinkel der Blitzfüllung" msgid "Maximum overhang angle for Lightning infill support propagation." -msgstr "" +msgstr "Maximaler Überhangwinkel für die Ausbreitung der Blitzfüllungsunterstützung." msgid "Prune angle" -msgstr "" +msgstr "Beschneidungswinkel" msgid "" "Controls how aggressively short or unsupported Lightning branches are " "pruned.\n" "This angle is converted internally to a per-layer distance." msgstr "" +"Steuert, wie aggressiv kurze oder nicht unterstützte Blitzäste beschnitten " +"werden.\n" +"Dieser Winkel wird intern in eine pro-Schicht-Distanz umgewandelt." msgid "Straightening angle" -msgstr "" +msgstr "Begradigungswinkel" msgid "Maximum straightening angle used to simplify Lightning branches." -msgstr "" +msgstr "Maximaler Begradigungswinkel zur Vereinfachung von Blitzästen." msgid "Sparse infill anchor length" msgstr "Länge des Infill-Ankers" @@ -16761,6 +16913,8 @@ msgid "" "Filament to print internal sparse infill.\n" "\"Default\" uses the active object/part filament." msgstr "" +"Filament zum Drucken der internen spärlichen Füllung.\n" +"\"Standard\" verwendet das Filament des aktiven Objekts/Teils." msgid "" "Line width of internal sparse infill. If expressed as a %, it will be " @@ -17649,20 +17803,24 @@ msgstr "" "100%% Überhang wird die Brückengeschwindigkeit verwendet." msgid "Outer walls" -msgstr "" +msgstr "Äußere Wände" msgid "" "Filament to print outer walls.\n" "\"Default\" uses the active object/part filament." msgstr "" +"Filament zum Drucken der äußeren Wände.\n" +"\"Standard\" verwendet das Filament des aktiven Objekts/Teils." msgid "Inner walls" -msgstr "" +msgstr "Innere Wände" msgid "" "Filament to print inner walls.\n" "\"Default\" uses the active object/part filament." msgstr "" +"Filament zum Drucken der inneren Wände.\n" +"\"Standard\" verwendet das Filament des aktiven Objekts/Teils." msgid "" "Line width of inner wall. If expressed as a %, it will be computed over the " @@ -18382,16 +18540,22 @@ msgid "" "Filament to print internal solid infill.\n" "\"Default\" uses the active object/part filament." msgstr "" +"Filament zum Drucken der internen massiven Füllung.\n" +"\"Standard\" verwendet das Filament des aktiven Objekts/Teils." msgid "" "Filament to print top surface.\n" "\"Default\" uses the active object/part filament." msgstr "" +"Filament zum Drucken der oberen Oberfläche.\n" +"\"Standard\" verwendet das Filament des aktiven Objekts/Teils." msgid "" "Filament to print bottom surface.\n" "\"Default\" uses the active object/part filament." msgstr "" +"Filament zum Drucken der unteren Oberfläche.\n" +"\"Standard\" verwendet das Filament des aktiven Objekts/Teils." msgid "" "Line width of internal solid infill. If expressed as a %, it will be " @@ -18795,6 +18959,9 @@ msgid "" "\"Default\" means no specific filament for support and current filament is " "used." msgstr "" +"Filament zum Drucken der Stützstruktur-Basis und des Rafts.\n" +"\"Standard\" bedeutet kein spezifisches Filament für die Stützstruktur und das " +"aktuelle Filament wird verwendet." msgid "Avoid interface filament for base" msgstr "Schnittstellenfilament für die Basis verringern" @@ -18828,6 +18995,9 @@ msgid "" "\"Default\" means no specific filament for support interface and current " "filament is used." msgstr "" +"Filament zum Drucken der Stützstruktur-Schnittstelle.\n" +"\"Standard\" bedeutet kein spezifisches Filament für die Stützstruktur-" +"Schnittstelle und das aktuelle Filament wird verwendet." msgid "Top interface layers" msgstr "Obere Schnittstellenschichten" @@ -19943,7 +20113,7 @@ msgid "Invalid value when spiral vase mode is enabled: " msgstr "Ungültiger Wert, wenn der Spiral-Vase-Modus aktiviert ist: " msgid "Bridge line width must not exceed nozzle diameter: " -msgstr "" +msgstr "Die Brückenlinienbreite darf den Düsendurchmesser nicht überschreiten: " msgid "too large line width " msgstr "Zu große Linienbreite" @@ -20210,10 +20380,10 @@ msgstr "" "3:info, 4:debug, 5:trace\n" msgid "Log file" -msgstr "" +msgstr "Protokolldatei" msgid "Redirects debug logging to file.\n" -msgstr "" +msgstr "Leitet die Fehlerprotokollierung in eine Datei um.\n" msgid "Enable timelapse for print" msgstr "Zeitraffer für Druck aktivieren" @@ -21764,13 +21934,13 @@ msgid "Top Surface Pattern" msgstr "Oberflächenmuster" msgid "Choose a slot for the selected color" -msgstr "" +msgstr "Wählen Sie einen Slot für die ausgewählte Farbe" msgid "Material in the material station" -msgstr "" +msgstr "Material in der Materialstation" msgid "Only materials of the same type can be selected." -msgstr "" +msgstr "Es können nur Materialien desselben Typs ausgewählt werden." msgid "Send G-code to printer host" msgstr "Senden Sie G-Code an den Drucker-Host" @@ -21798,46 +21968,50 @@ msgid "Upload" msgstr "Hochladen" msgid "Leveling before print" -msgstr "" +msgstr "Nivellierung vor dem Druck" msgid "Time-lapse" msgstr "Zeitraffer" msgid "Enable IFS" -msgstr "" +msgstr "IFS aktivieren" #, c-format, boost-format msgid "Detected %d IFS slots on printer." -msgstr "" +msgstr "%d IFS-Slots auf dem Drucker erkannt." msgid "This printer does not report a material station." -msgstr "" +msgstr "Dieser Drucker meldet keine Materialstation." msgid "Unable to read IFS slots from printer." -msgstr "" +msgstr "Kann IFS-Slots vom Drucker nicht lesen." msgid "Loading IFS slots from printer..." -msgstr "" +msgstr "Lade IFS-Slots vom Drucker..." msgid "Slice the plate first to get project material information." -msgstr "" +msgstr "Schneiden Sie die Platte zuerst, um Projektmaterialinformationen zu erhalten." msgid "" "This plate uses multiple materials. Enable IFS and assign each tool to a " "printer slot." msgstr "" +"Diese Platte verwendet mehrere Materialien. Aktivieren Sie IFS und weisen Sie jedem Werkzeug einen Drucker-Slot zu." + msgid "Each project material must be assigned to an IFS slot before printing." -msgstr "" +msgstr "Jedes Projektmaterial muss vor dem Drucken einem IFS-Slot zugewiesen werden." msgid "" "Each project material must be assigned to a loaded IFS slot before printing." msgstr "" +"Jedes Projektmaterial muss vor dem Drucken einem geladenen IFS-Slot zugewiesen werden." msgid "" "Each project material must match the material loaded in the selected IFS " "slot." msgstr "" +"Jedes Projektmaterial muss mit dem in dem ausgewählten IFS-Slot geladenen Material übereinstimmen." msgid "Print host upload queue" msgstr "Druck-Host-Upload-Warteschlange" @@ -21894,13 +22068,13 @@ msgstr "Glatte Bauplatte (Seite B)" #, c-format, boost-format msgid "Printer: %s" -msgstr "" +msgstr "Drucker: %s" msgid "Calibrate before printing" -msgstr "" +msgstr "Vor dem Drucken kalibrieren" msgid "Filament Mapping:" -msgstr "" +msgstr "Filamentzuordnung:" msgid "Unable to perform boolean operation on selected parts" msgstr "" @@ -22628,16 +22802,16 @@ msgstr "" "Druckerkommunikation. Verfügbare Agenten werden beim Start registriert." msgid "Select a Flashforge printer" -msgstr "" +msgstr "Wählen Sie einen Flashforge-Drucker aus" msgid "Discovered Printers" -msgstr "" +msgstr "Gefundene Drucker" msgid "Could not get a valid Printer Host reference" msgstr "Konnte keine gültige Referenz zum Druck-Host erhalten" msgid "Valid session not detected. Proceed with login to 3DPrinterOS?" -msgstr "" +msgstr "Keine gültige Sitzung erkannt. Mit dem Login bei 3DPrinterOS fortfahren?" msgid "Success!" msgstr "Erfolgreich!" @@ -22688,28 +22862,28 @@ msgstr "" "fehlgeschlagen." msgid "3DPrinterOS Cloud upload options" -msgstr "" +msgstr "3DPrinterOS Cloud-Upload-Optionen" msgid "Single file" -msgstr "" +msgstr "Einzelne Datei" msgid "Project File" -msgstr "" +msgstr "Projektdatei" msgid "Project:" -msgstr "" +msgstr "Projekt:" msgid "Printer type:" -msgstr "" +msgstr "Druckertyp:" msgid "Printer type not found, please select manually." -msgstr "" +msgstr "Druckertyp nicht gefunden, bitte manuell auswählen." msgid "Authorizing..." -msgstr "" +msgstr "Autorisierung..." msgid "Error session check" -msgstr "" +msgstr "Fehler bei der Sitzungsüberprüfung" #, c-format, boost-format msgid "Mismatched type of print host: %s" @@ -23508,19 +23682,19 @@ msgstr "" "es einzurichten." msgid "Flashforge returned an invalid JSON response." -msgstr "" +msgstr "Flashforge hat eine ungültige JSON-Antwort zurückgegeben." msgid "No Flashforge printers were discovered on the local network." -msgstr "" +msgstr "Es wurden keine Flashforge-Drucker im lokalen Netzwerk gefunden." msgid "Connected to Flashforge local API successfully." -msgstr "" +msgstr "Erfolgreich mit der lokalen Flashforge-API verbunden." msgid "Serial connection to Flashforge is working correctly." msgstr "Die serielle Verbindung zu Flashforge funktioniert korrekt." msgid "Could not connect to Flashforge local API" -msgstr "" +msgstr "Konnte keine Verbindung zur lokalen Flashforge-API herstellen." msgid "Could not connect to Flashforge via serial" msgstr "" @@ -23529,6 +23703,8 @@ msgstr "" msgid "Flashforge local API requires both serial number and access code." msgstr "" +"Die lokale Flashforge-API erfordert sowohl die Seriennummer als auch den " +"Zugriffscode." msgid "The provided state is not correct." msgstr "Der bereitgestellte Status ist nicht korrekt." diff --git a/resources/calib/filament_flow/Orca-LinearFlow_fine.3mf b/resources/calib/filament_flow/Orca-LinearFlow_fine.3mf index 94f8e62fbf..496b30c992 100644 Binary files a/resources/calib/filament_flow/Orca-LinearFlow_fine.3mf and b/resources/calib/filament_flow/Orca-LinearFlow_fine.3mf differ diff --git a/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json b/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json index 89564df4db..96e4a96352 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 Max (0.4 nozzle).json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Creality HF Generic PLA" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json b/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json index 9962a3afc3..25519f9220 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 Max (0.6 nozzle).json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Creality HF Generic PLA" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json b/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json index cee9b68326..cfe7baed49 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json +++ b/resources/profiles/Creality/machine/Creality K1 Max (0.8 nozzle).json @@ -124,7 +124,7 @@ "default_filament_profile": [ "Creality HF Generic PLA" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails": [ diff --git a/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json index b67cfef0a8..6da2fc8125 100644 --- a/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 Max_CFS-C 0.4 nozzle.json @@ -54,7 +54,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", "machine_ptc_exist": "1", - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", diff --git a/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json index ab89862643..af015ece59 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 SE 0.4 nozzle.json @@ -123,7 +123,7 @@ "default_filament_profile": [ "Creality Generic PLA @K1-all" ], - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "scan_first_layer": "0", "thumbnails_format": "PNG", diff --git a/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json index f218bfeb51..f5f56418bb 100644 --- a/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1 SE_CFS-C 0.4 nozzle.json @@ -53,7 +53,7 @@ "machine_min_travel_rate": "0,0", "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", diff --git a/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json index 3c050f0172..7060043e3f 100644 --- a/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1C_CFS-C 0.4 nozzle.json @@ -54,7 +54,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", "machine_ptc_exist": "1", - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", diff --git a/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json index 24329d6cec..0ba20f265d 100644 --- a/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K1_CFS-C 0.4 nozzle.json @@ -54,7 +54,7 @@ "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", "machine_ptc_exist": "1", - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM204 S2000\nM104 S[nozzle_temperature_initial_layer]\nG1 Z3 F600\nM83\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", diff --git a/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json index 6652e9eab0..a6d31198ab 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.2 nozzle.json @@ -88,7 +88,8 @@ "5" ], "machine_pause_gcode": "PAUSE", - "machine_start_gcode": ";SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y130 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y130 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X130 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_type": "hardened_steel", diff --git a/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json index 33083cfd29..13f1ae6b89 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.4 nozzle.json @@ -86,8 +86,8 @@ "5" ], "machine_pause_gcode": "PAUSE", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", - "machine_unload_filament_time": "0", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "manual_filament_change": "0", "nozzle_type": "hardened_steel", "nozzle_volume": "183", diff --git a/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json index da3501a1fd..ec1254ff37 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.6 nozzle.json @@ -86,7 +86,8 @@ "5" ], "machine_pause_gcode": "PAUSE", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_type": "hardened_steel", diff --git a/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json index cb89d24692..d6f955ae17 100644 --- a/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 0.8 nozzle.json @@ -86,7 +86,8 @@ "5" ], "machine_pause_gcode": "PAUSE", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_type": "hardened_steel", diff --git a/resources/profiles/Creality/machine/Creality K2 Plus 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Plus 0.2 nozzle.json index 8f7d6b1bc6..7f70f8a16b 100644 --- a/resources/profiles/Creality/machine/Creality K2 Plus 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Plus 0.2 nozzle.json @@ -138,7 +138,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 Plus 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Plus 0.4 nozzle.json index 848aefa4db..db0233fe59 100644 --- a/resources/profiles/Creality/machine/Creality K2 Plus 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Plus 0.4 nozzle.json @@ -138,7 +138,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 Plus 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Plus 0.6 nozzle.json index 6592a240eb..e527bb5065 100644 --- a/resources/profiles/Creality/machine/Creality K2 Plus 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Plus 0.6 nozzle.json @@ -138,7 +138,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 Plus 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Plus 0.8 nozzle.json index 96ed049880..4c854a7052 100644 --- a/resources/profiles/Creality/machine/Creality K2 Plus 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Plus 0.8 nozzle.json @@ -138,7 +138,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; creality_uuid: \n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "END_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.2 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.2 nozzle.json index 2ee489b7fa..6b3455edb8 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.2 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.2 nozzle.json @@ -138,8 +138,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": ";SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\n\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", - "machine_end_gcode": "END_PRINT", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\nG1 X0 Y245 F30000\nG1 Z{z_after_toolchange} F600", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json index f3b5a9bedf..199ee93b37 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.4 nozzle.json @@ -136,7 +136,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "{if print_sequence == \"by object\"}\nG91\nG1 X2 Y2 Z1 F24000\nG90\nG1 Z{max_layer_z+2} F600\n{endif}\nEND_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{if print_sequence == \"by object\"}\nG0 Z{max_layer_z + 0.8} F900\n{endif}\nG1 X0 Y160 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json index 1fce24ea83..8b587e79a3 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.6 nozzle.json @@ -136,7 +136,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "{if print_sequence == \"by object\"}\nG91\nG1 X2 Y2 Z1 F24000\nG90\nG1 Z{max_layer_z+2} F600\n{endif}\nEND_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{if print_sequence == \"by object\"}\nG0 Z{max_layer_z + 0.8} F900\n{endif}\nG1 X0 Y160 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json b/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json index 660a32e6aa..2aeb72dca5 100644 --- a/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 Pro 0.8 nozzle.json @@ -136,7 +136,8 @@ "default_filament_profile": [ "Creality Generic PLA @K2-all" ], - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_end_gcode": "{if print_sequence == \"by object\"}\nG91\nG1 X2 Y2 Z1 F24000\nG90\nG1 Z{max_layer_z+2} F600\n{endif}\nEND_PRINT", "machine_pause_gcode": "PAUSE", "change_filament_gcode": "G2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{if print_sequence == \"by object\"}\nG0 Z{max_layer_z + 0.8} F900\n{endif}\nG1 X0 Y160 F30000\nG1 Z{z_after_toolchange} F600", diff --git a/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json b/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json index 7b93cdc3ba..6aab3b5e3a 100644 --- a/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json +++ b/resources/profiles/Creality/machine/Creality K2 SE 0.4 nozzle.json @@ -53,7 +53,8 @@ "machine_min_travel_rate": "0,0", "machine_pause_gcode": "PAUSE", "machine_platform_motion_enable": "1", - "machine_start_gcode": "M140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM104 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 E0.8 F300\nG1 X0 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG1 X150 Y0 E9 F{filament_max_volumetric_speed[initial_extruder]/0.3*60}\nG92 E0\nG1 Z1 F600", + "_comment": "the generated by Creality_Print start gcode removes a warning/error message when printing with Orca because it thinks its sliced with CrealityPrint ", + "machine_start_gcode": "; HEADER_BLOCK_START\n; generated by Creality_Print V7.0.1.4212 on [year]-[month]-[day] at [hour]:[minute]:[second]\n; total layer number: [total_layer_count]\n; HEADER_BLOCK_END\n; SET PRINT AREA MIN AND MAX COORDINATES TO ENABLE ADAPTIVE PROBING\n; MINX = {first_layer_print_min[0]}\n; MINY = {first_layer_print_min[1]}\n; MAXX = {first_layer_print_max[0]}\n; MAXY = {first_layer_print_max[1]}\nM140 S0\nM104 S0 \nSTART_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single]\nT[initial_no_support_extruder]\nM109 S[nozzle_temperature_initial_layer]\nM204 S2000\nG1 Z3 F600\nM83\nG1 Y150 F12000\nG1 X0 F12000\nG1 Z0.2 F600\nG1 X0 Y150 F6000\nG1 X0 Y0 E15 F6000\nG1 X150 Y0 E15 F6000\nG92 E0\nG1 Z1 F600", "machine_unload_filament_time": "0", "manual_filament_change": "0", "nozzle_hrc": "0", diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index a80b129b68..dd18bac848 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -1,6 +1,6 @@ { "name": "Elegoo", - "version": "02.04.00.02", + "version": "02.04.00.04", "force_update": "0", "description": "Elegoo configurations", "machine_model_list": [ diff --git a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json index c98a5ecfb9..5dd0f6691c 100644 --- a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri 0.4 nozzle.json @@ -62,7 +62,7 @@ "change_filament_gcode": "", "machine_pause_gcode": "M600", "support_multi_filament": "0", - "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", - "machine_start_gcode": ";;===== date: 20251011 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\n;bed_level_temp:[bed_temperature_initial_layer_single]\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nM729 ;Clean Nozzle\nM190 S[bed_temperature_initial_layer_single]\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X-1.2 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X-0.5 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "layer_change_gcode": "SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] CURRENT_LAYER={layer_num+1}", + "machine_start_gcode": ";;===== date: 20251011 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\n;bed_level_temp:[bed_temperature_initial_layer_single]\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nG28 ;home\nM729 ;Clean Nozzle\nM190 S[bed_temperature_initial_layer_single]\n\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X-1.2 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X-0.5 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] CURRENT_LAYER=0\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", "machine_end_gcode": ";===== date: 20250603 =====================\nM400 ; wait for buffer to clear\nM140 S0 ;Turn-off bed\nM106 S255 ;Cooling nozzle\nM83\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800\nG2 I1 J0 Z{max_layer_z+0.5} F3000 ; lower z a little\nG90\n{if max_layer_z > 100}G1 Z{min(max_layer_z+50, printable_height+0.5)} F20000{else}G1 Z100 F20000 {endif}; Move print head up \nM204 S5000\nM400\nM83\nG1 X202 F20000\nM400\nG1 Y250 F20000\nG1 Y264.5 F1200\nM400\nG92 E0\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM84 ;Disable all steppers" } diff --git a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json index a354e51d6f..5e3de2b1e6 100644 --- a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon 0.4 nozzle.json @@ -66,7 +66,7 @@ "change_filament_gcode": "\n;==========CC_CHANGE_FILAMENT_GCODE_CCB==========\n;===== date: 2025-12-04-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\nT[next_extruder]\n;==========CC_CHANGE_FILAMENT_GCODE_CCE==========", "machine_pause_gcode": "M600", "support_multi_filament": "1", - "layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", - "machine_start_gcode": ";===== CC_START_GCODE ================\n;===== date: 2026-04-28-001 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\n;bed_level_temp:[bed_temperature_initial_layer_single]\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nM83\nG28 ;home\nM729 ;Clean Nozzle\nM190 S[bed_temperature_initial_layer_single]\n\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\n\n\nG90\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X0 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X0.9 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "layer_change_gcode": "SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] CURRENT_LAYER={layer_num+1}", + "machine_start_gcode": ";===== CC_START_GCODE ================\n;===== date: 2026-04-28-001 =====================\n;printer_model:[printer_model]\n;initial_filament:{filament_type[initial_extruder]}\n;curr_bed_type:{curr_bed_type}\n;bed_level_temp:[bed_temperature_initial_layer_single]\nM400 ; wait for buffer to clear\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nG90\nM83\nG28 ;home\nM729 ;Clean Nozzle\nM190 S[bed_temperature_initial_layer_single]\n\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n;=============turn on fans to prevent PLA jamming=================\n{if filament_type[initial_no_support_extruder]==\"PLA\"}\n {if (bed_temperature[initial_no_support_extruder] >50)||(bed_temperature_initial_layer[initial_no_support_extruder] >50)}\n M106 P3 S255\n {elsif (bed_temperature[initial_no_support_extruder] >45)||(bed_temperature_initial_layer[initial_no_support_extruder] >45)}\n M106 P3 S180\n {endif};Prevent PLA from jamming\n{endif}\n\n;enable_pressure_advance:{enable_pressure_advance[initial_extruder]}\n;This value is called if pressure advance is enabled\n{if enable_pressure_advance[initial_extruder] == \"true\"}\nSET_PRESSURE_ADVANCE ADVANCE=[pressure_advance] ;\nM400\n{endif}\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\n\n\nG1 X{print_bed_max[0]*0.5} Y-1.2 F20000\nG1 Z0.3 F900\n\n\nG90\nM83\nG92 E0 ;Reset Extruder\nG1 F{min(6000, max(900, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X0 E10.156 ;Draw the first line\nG1 Y98.8 E7.934\nG1 X0.9 Y100 E0.1\nG1 Y-0.3 E7.934\nG1 X{print_bed_max[0]*0.5-50} E6.284\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5-10} E2\nG1 F{0.2*min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+10} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+30} E2\nG1 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]/0.5/0.3*60))} \nG1 X{print_bed_max[0]*0.5+50} E2\n;End PA test.\n\n\nG3 I-1 J0 Z0.6 F1200.0 ;Move to side a little\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] CURRENT_LAYER=0\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", "machine_end_gcode": ";===== CC_END_GCODE ================\n;===== date: 2025-12-04-001 =====================\nM400 ; wait for buffer to clear\nM140 S0 ;Turn-off bed\nM106 S255 ;Cooling nozzle\nM83\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800\nG2 I1 J0 Z{max_layer_z+0.5} F3000 ; lower z a little\nG90\n{if max_layer_z > 100}G1 Z{min(max_layer_z+50, printable_height+0.5)} F20000{else}G1 Z100 F20000 {endif}; Move print head up \nM204 S5000\nM749\nM204 S5000\nM400\nM83\nG1 X202 F20000\nM400\nG1 Y250 F20000\nG1 Y264.5 F1200\nM400\nG92 E0\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM84 ;Disable all steppers" } diff --git a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json index a190c292c3..7b7c1619ea 100644 --- a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2 0.4 nozzle.json @@ -86,9 +86,9 @@ "9" ], "change_filament_gcode": "\n;==========CC2_CHANGE_FILAMENT_GCODE==========\n;===== date: 2026-01-16-001 =====================\nM106 S0\nM106 P2 S0\nG1 Z{min(max_layer_z+3, printable_height+0.5)} F1200\nM6211 T[next_extruder] L[flush_length] M{old_filament_e_feedrate} N{new_filament_e_feedrate} Q[old_filament_temp] R[nozzle_temperature_range_high] S[new_filament_temp]\nT[next_extruder]\n", - "layer_change_gcode": "M73 L{layer_num+1}\n;LAYER:{layer_num+1}\nSET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}", + "layer_change_gcode": "M73 L{layer_num+1}\n;LAYER:{layer_num+1}\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] CURRENT_LAYER={layer_num+1}", "machine_end_gcode": ";===== CC2_END_GCODE ================\n;===== date: 2026-01-16-001 =====================\n\n\nM140 S0 ;Turn-off bed\nM83\nG92 E0 ; zero the extruder\nG1 E-1.5 F1800\nG2 I0 J1 Z{max_layer_z+0.5} F3000 ; lower z a little\nM106 S0\nM106 P2 S0\nG90\n{if max_layer_z > 75}G1 Z{min(max_layer_z+5, printable_height+0.5)} F20000{else}G1 Z80 F20000 {endif}; Move print head up \nG180 S9\nM104 S0\nM84\n", - "machine_start_gcode": ";===== CC2_START_GCODE ================\n;===== date: 2026-01-16-001 =====================\n\nG90\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single] A\nM106 S0\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 FROM_SLICER=1\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\nG28\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n{if first_layer_print_min[1] > 0.5}\nG180 S7\nG1 X{print_bed_max[0]*0.5-1} Y-1.2 F20000\nG1 Z0.5 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 E6 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nM106 S200\nG1 X{print_bed_max[0]*0.5-41} E20 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nG1 F6000\nG1 X{print_bed_max[0]*0.5-46} E0.8\n{else}\nG1 E30 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))}\n{endif}\nM106 S0\nG180 S8\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", + "machine_start_gcode": ";===== CC2_START_GCODE ================\n;===== date: 2026-01-16-001 =====================\n\nG90\nM104 S140\nM140 S[bed_temperature_initial_layer_single]\nM190 S[bed_temperature_initial_layer_single] A\nM106 S0\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0 FROM_SLICER=1\nM204 S{min(20000,max(1000,outer_wall_acceleration))} ;Call exterior wall print acceleration\nG28\nM109 S[nozzle_temperature_initial_layer]\nM6211 A1 L200 T[initial_no_support_extruder] Q[nozzle_temperature_initial_layer] R[nozzle_temperature_initial_layer] S[nozzle_temperature_initial_layer]\nT[initial_no_support_extruder]\n\n{if first_layer_print_min[1] > 0.5}\nG180 S7\nG1 X{print_bed_max[0]*0.5-1} Y-1.2 F20000\nG1 Z0.5 F900\nM109 S[nozzle_temperature_initial_layer]\nM83\nG92 E0 ;Reset Extruder\nG1 E6 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nM106 S200\nG1 X{print_bed_max[0]*0.5-41} E20 F{min(12000, max(1200, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))} \nG1 F6000\nG1 X{print_bed_max[0]*0.5-46} E0.8\n{else}\nG1 E30 F{min(1200, max(120, filament_max_volumetric_speed[initial_no_support_extruder]*60/2/2.5043))}\n{endif}\nM106 S0\nG180 S8\nG1 F20000\nG92 E0 ;Reset Extruder\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count] CURRENT_LAYER=0\n;LAYER_COUNT:[total_layer_count]\n;LAYER:0", "retract_restart_extra_toolchange": [ "0.5" ] diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json index 8667a1bbc9..295cf9b20b 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.16mm Optimal @Elegoo Giga 0.4 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", "layer_height": "0.16", "instantiation": "true", + "renamed_from": "0.16mm Optimal @EOS Giga 0.4 nozzle", "name": "0.16mm Optimal @Elegoo Giga 0.4 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json index 1e52b73ec6..afa4f4a0b3 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.18mm Fine @Elegoo Giga 0.6 nozzle.json @@ -2,6 +2,7 @@ "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", "layer_height": "0.18", "instantiation": "true", + "renamed_from": "0.18mm Fine @EOS Giga 0.6 nozzle", "name": "0.18mm Fine @Elegoo Giga 0.6 nozzle", "compatible_printers": [ "Elegoo OrangeStorm Giga 0.6 nozzle" diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json index e1ad8c344a..8f8dbf9ca9 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Standard @Elegoo Giga 0.4 nozzle.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "PEOSG04020", "instantiation": "true", + "renamed_from": "0.20mm Standard @EOS Giga 0.4 nozzle", "default_acceleration": "3000", "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_print_height": "0.25", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json index 7acb40bb70..398980f074 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.20mm Strength @Elegoo Giga 0.4 nozzle.json @@ -4,5 +4,6 @@ "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "instantiation": "true", + "renamed_from": "0.20mm Strength @EOS Giga 0.4 nozzle", "wall_loops": "6" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json index 4b9c599c72..620a3ac8bd 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Draft @Elegoo Giga 0.4 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", "layer_height": "0.24", "instantiation": "true", + "renamed_from": "0.24mm Draft @EOS Giga 0.4 nozzle", "name": "0.24mm Draft @Elegoo Giga 0.4 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json index 559d02aad4..b334d0d45b 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Fine @Elegoo Giga 0.8 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", "layer_height": "0.24", "instantiation": "true", + "renamed_from": "0.24mm Fine @EOS Giga 0.8 nozzle", "name": "0.24mm Fine @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json index 5386ff6e49..62764498ae 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.24mm Optimal @Elegoo Giga 0.6 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", "layer_height": "0.24", "instantiation": "true", + "renamed_from": "0.24mm Optimal @EOS Giga 0.6 nozzle", "name": "0.24mm Optimal @Elegoo Giga 0.6 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json index c661130a05..8407214a34 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.28mm Extra Draft @Elegoo Giga 0.4 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.20mm Standard @Elegoo Giga 0.4 nozzle", "layer_height": "0.28", "instantiation": "true", + "renamed_from": "0.28mm Extra Draft @EOS Giga 0.4 nozzle", "name": "0.28mm Extra Draft @Elegoo Giga 0.4 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json index 8531d718b5..424afaed59 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Fine @Elegoo Giga 1.0 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.50mm Standard @Elegoo Giga 1.0 nozzle", "layer_height": "0.3", "instantiation": "true", + "renamed_from": "0.30mm Fine @EOS Giga 1.0 nozzle", "name": "0.30mm Fine @Elegoo Giga 1.0 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json index 3f16262ffd..5ee13152a9 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Standard @Elegoo Giga 0.6 nozzle.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "PEOSG06030", "instantiation": "true", + "renamed_from": "0.30mm Standard @EOS Giga 0.6 nozzle", "default_acceleration": "3000", "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json index f6737db309..e5ab6e67fb 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.30mm Strength @Elegoo Giga 0.6 nozzle.json @@ -4,5 +4,6 @@ "wall_sequence": "inner-outer-inner wall", "reduce_crossing_wall": "1", "instantiation": "true", + "renamed_from": "0.30mm Strength @EOS Giga 0.6 nozzle", "wall_loops": "5" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json index 8358b1841e..bdd1068550 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.32mm Optimal @Elegoo Giga 0.8 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", "layer_height": "0.32", "instantiation": "true", + "renamed_from": "0.32mm Optimal @EOS Giga 0.8 nozzle", "name": "0.32mm Optimal @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json index 81ccb6eb3c..dbbd626b97 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.36mm Draft @Elegoo Giga 0.6 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", "layer_height": "0.36", "instantiation": "true", + "renamed_from": "0.36mm Draft @EOS Giga 0.6 nozzle", "name": "0.36mm Draft @Elegoo Giga 0.6 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json index 9d1d99ea00..a9b9d8f9d2 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Optimal @Elegoo Giga 1.0 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.50mm Standard @Elegoo Giga 1.0 nozzle", "layer_height": "0.4", "instantiation": "true", + "renamed_from": "0.40mm Optimal @EOS Giga 1.0 nozzle", "name": "0.40mm Optimal @Elegoo Giga 1.0 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json index f5001c8a5a..d2ba5ef203 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.40mm Standard @Elegoo Giga 0.8 nozzle.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "PEOSG08040", "instantiation": "true", + "renamed_from": "0.40mm Standard @EOS Giga 0.8 nozzle", "default_acceleration": "3000", "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json index e69eae7853..634a0d0dcc 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.42mm Extra Draft @Elegoo Giga 0.6 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.30mm Standard @Elegoo Giga 0.6 nozzle", "layer_height": "0.42", "instantiation": "true", + "renamed_from": "0.42mm Extra Draft @EOS Giga 0.6 nozzle", "name": "0.42mm Extra Draft @Elegoo Giga 0.6 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json index 460d3a4948..1d2d1eff86 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.48mm Draft @Elegoo Giga 0.8 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", "layer_height": "0.48", "instantiation": "true", + "renamed_from": "0.48mm Draft @EOS Giga 0.8 nozzle", "name": "0.48mm Draft @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json index dd40cac324..fb0fa6878e 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.50mm Standard @Elegoo Giga 1.0 nozzle.json @@ -4,6 +4,7 @@ "from": "system", "setting_id": "PEOSG10050", "instantiation": "true", + "renamed_from": "0.50mm Standard @EOS Giga 1.0 nozzle", "default_acceleration": "3000", "filename_format": "EOGiga1_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", "initial_layer_acceleration": "1000", diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json index 9003b1cdb3..e92e167768 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.56mm Extra Draft @Elegoo Giga 0.8 nozzle.json @@ -1,5 +1,6 @@ { "inherits": "0.40mm Standard @Elegoo Giga 0.8 nozzle", "instantiation": "true", + "renamed_from": "0.56mm Extra Draft @EOS Giga 0.8 nozzle", "name": "0.56mm Extra Draft @Elegoo Giga 0.8 nozzle" } diff --git a/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json b/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json index 1d50fcf903..fe6e0e6868 100644 --- a/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json +++ b/resources/profiles/Elegoo/process/EOSGIGA/0.60mm Draft @Elegoo Giga 1.0 nozzle.json @@ -2,5 +2,6 @@ "inherits": "0.50mm Standard @Elegoo Giga 1.0 nozzle", "layer_height": "0.6", "instantiation": "true", + "renamed_from": "0.60mm Draft @EOS Giga 1.0 nozzle", "name": "0.60mm Draft @Elegoo Giga 1.0 nozzle" } diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index 4af118e06e..2793d510f0 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -1,6 +1,6 @@ { "name": "OrcaFilamentLibrary", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Orca Filament Library", "filament_list": [ diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json index d021e99723..cee17f94ce 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEABSS00", "instantiation": "true", + "renamed_from": "Elegoo ABS", "fan_max_speed": [ "40" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json index 1084493ef9..67881a1152 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA-CF @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEASACFS00", "instantiation": "true", + "renamed_from": "Elegoo ASA-CF", "pressure_advance": [ "0.04" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json index 1303bc0c4a..1f9c14d50d 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT-CF @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPAHTCFS00", "instantiation": "true", + "renamed_from": "Elegoo PAHT-CF", "close_fan_the_first_x_layers": [ "3" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json index 7892facc41..79c73d4400 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPCS00", "instantiation": "true", + "renamed_from": "Elegoo PC", "pressure_advance": [ "0.052" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json index d542425163..22dcd15ad7 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC-FR @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPCFRS00", "instantiation": "true", + "renamed_from": "Elegoo PC-FR", "pressure_advance": [ "0.05" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json index dfc52bf0bf..215dd7fb67 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PET-CF @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPETCFS00", "instantiation": "true", + "renamed_from": "Elegoo PET-CF", "pressure_advance": [ "0.05" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json index cb00ed6c74..00b3abe6ba 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPETGS00", "instantiation": "true", + "renamed_from": "Elegoo PETG", "pressure_advance": [ "0.05" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json index 7fbd876d93..65ca9560b0 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG HF @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OERPETGHFS00", "instantiation": "true", + "renamed_from": "Elegoo PETG HF", "pressure_advance": [ "0.052" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json index d191bcf93b..90944b2256 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Translucent @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPETGTRANSS00", "instantiation": "true", + "renamed_from": "Elegoo PETG Translucent", "pressure_advance": [ "0.052" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json index 7bacc7f84d..262967a7a3 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-CF @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPETGCFS00", "instantiation": "true", + "renamed_from": "Elegoo PETG-CF", "pressure_advance": [ "0.052" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json index 6ae0310d35..bcd79021f7 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG-GF @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPETGFS00", "instantiation": "true", + "renamed_from": "Elegoo PETG-GF", "pressure_advance": [ "0.052" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json index 1f7735d6ee..d305fe60b2 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Basic @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLABASICS00", "instantiation": "true", + "renamed_from": "Elegoo PLA Basic", "nozzle_temperature": [ "220" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json index 9b20653149..702ca4fbf2 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Galaxy @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLAGALAXYS00", "instantiation": "true", + "renamed_from": "Elegoo PLA Galaxy", "fan_min_speed": [ "80" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json index c7ab217760..b5442c93cf 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Glow @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLAGLOWS00", "instantiation": "true", + "renamed_from": "Elegoo PLA Glow", "pressure_advance": [ "0.04" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json index 1bcf34ce0c..b9dc720687 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Marble @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLAMARBLES00", "instantiation": "true", + "renamed_from": "Elegoo PLA Marble", "fan_min_speed": [ "80" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json index ec534f3c07..98efe996aa 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Sparkle @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLASPARKLES00", "instantiation": "true", + "renamed_from": "Elegoo PLA Sparkle", "fan_min_speed": [ "80" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json index 4d32ef561e..7fd5c82416 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Translucent2 @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLATRA2S00", "instantiation": "true", + "renamed_from": "Elegoo PLA Translucent2", "pressure_advance": [ "0.04" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json index bda6a141b5..10a3680fe9 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Wood @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OEPLAWOODS00", "instantiation": "true", + "renamed_from": "Elegoo PLA Wood", "fan_min_speed": [ "80" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json index 823ac91827..9465a56d7a 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid TPU 95A @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OERTPU95AS00", "instantiation": "true", + "renamed_from": "Elegoo Rapid TPU 95A", "pressure_advance": [ "0.1" ], diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json index 1716e4bf06..9c19595a56 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @System.json @@ -5,6 +5,7 @@ "from": "system", "setting_id": "OETPU95AS00", "instantiation": "true", + "renamed_from": "Elegoo TPU 95A", "filament_max_volumetric_speed": [ "3.2" ], diff --git a/resources/profiles/Qidi.json b/resources/profiles/Qidi.json index 1619c0c7b7..97b0462855 100644 --- a/resources/profiles/Qidi.json +++ b/resources/profiles/Qidi.json @@ -1,6 +1,6 @@ { "name": "Qidi", - "version": "02.04.00.01", + "version": "02.04.00.02", "force_update": "0", "description": "Qidi configurations", "machine_model_list": [ diff --git a/resources/profiles/Qidi/machine/Qidi Q2 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi Q2 0.4 nozzle.json index 27ae986981..24e6450d00 100644 --- a/resources/profiles/Qidi/machine/Qidi Q2 0.4 nozzle.json +++ b/resources/profiles/Qidi/machine/Qidi Q2 0.4 nozzle.json @@ -48,7 +48,7 @@ "20" ], "machine_pause_gcode": "PAUSE", - "machine_start_gcode": "INIT_MAPPING_VALUE\nPRINT_START BED=[bed_temperature_initial_layer_single] HOTEND=[nozzle_temperature_initial_layer] CHAMBER=[chamber_temperature] EXTRUDER=[initial_no_support_extruder]\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\nM83\nM140 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nM141 S[chamber_temperature]\nG4 P3000\nT[initial_tool]\nG1 X108.000 Y1 F30000\nG0 Z[initial_layer_print_height] F600\n;G1 E3 F1800\nG90\nM83\nG0 X128 E8 F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG91\nG1 X1 Z-0.300\nG1 X4\nG1 Z1 F1200\nG90\nM400\nG1 X108.000 Y2.5 F30000\nG0 Z[initial_layer_print_height] F600\nM83\nG0 X128 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG91\nG1 X1 Z-0.300\nG1 X4\nG1 Z1 F1200\nG90\nM400\nG1 Z1 F600", + "machine_start_gcode": "INIT_MAPPING_VALUE\nPRINT_START BED=[bed_temperature_initial_layer_single] HOTEND=[nozzle_temperature_initial_layer] CHAMBER=[chamber_temperature] EXTRUDER=[initial_no_support_extruder]\nSET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\nM83\nT[initial_tool]\nM140 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer]\nM141 S[chamber_temperature]\nG4 P3000\nG1 X108 Y1 F30000\nG0 Z[initial_layer_print_height] F600\nG0 X128 E8 F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X154 Z-0.1\nG1 X158\nG1 Z1 F600\nG1 X108 Y2.5 F30000\nG0 Z[initial_layer_print_height] F600\nG0 X128 E10 F{outer_wall_volumetric_speed/(24/20) * 60}\nG0 X133 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X138 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X143 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG0 X148 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5) * 60}\nG0 X153 E.3742 F{outer_wall_volumetric_speed/(0.3*0.5)/4 * 60}\nG1 X154 Z-0.1\nG1 X158\nG1 Z1 F600", "machine_unload_filament_time": "35", "nozzle_diameter": [ "0.4" diff --git a/scripts/msix/AppxManifest.xml b/scripts/msix/AppxManifest.xml new file mode 100644 index 0000000000..56477bf80a --- /dev/null +++ b/scripts/msix/AppxManifest.xml @@ -0,0 +1,75 @@ + + + + + + + OrcaSlicer + @MSIX_PUBLISHER_DISPLAY_NAME@ + Assets\StoreLogo.png + + disabled + + + $(KnownFolder:RoamingAppData)\OrcaSlicer + + + + + + + + + + + + + + + + + + + + .3mf + .stl + .step + .stp + .gcode + .drc + + + Orca.Slicer.1 + + + + + + + + + + + + + + + diff --git a/scripts/msix/assets/Square150x150Logo.png b/scripts/msix/assets/Square150x150Logo.png new file mode 100644 index 0000000000..546b5c57f9 Binary files /dev/null and b/scripts/msix/assets/Square150x150Logo.png differ diff --git a/scripts/msix/assets/Square44x44Logo.png b/scripts/msix/assets/Square44x44Logo.png new file mode 100644 index 0000000000..248a2050d2 Binary files /dev/null and b/scripts/msix/assets/Square44x44Logo.png differ diff --git a/scripts/msix/assets/Square44x44Logo.targetsize-44_altform-unplated.png b/scripts/msix/assets/Square44x44Logo.targetsize-44_altform-unplated.png new file mode 100644 index 0000000000..248a2050d2 Binary files /dev/null and b/scripts/msix/assets/Square44x44Logo.targetsize-44_altform-unplated.png differ diff --git a/scripts/msix/assets/StoreLogo.png b/scripts/msix/assets/StoreLogo.png new file mode 100644 index 0000000000..eb5a9b0c75 Binary files /dev/null and b/scripts/msix/assets/StoreLogo.png differ diff --git a/scripts/msix/build_msix.ps1 b/scripts/msix/build_msix.ps1 new file mode 100644 index 0000000000..55e9fc156f --- /dev/null +++ b/scripts/msix/build_msix.ps1 @@ -0,0 +1,67 @@ +<# +Builds the unsigned MSIX Store package from an existing install tree. +The package is intentionally NOT signed: the Microsoft Store strips and +re-signs uploads with Microsoft's certificate. For local installs use +Developer Mode loose-layout registration instead: + ./scripts/msix/build_msix.ps1 -StageOnly + Add-AppxPackage -Register \AppxManifest.xml +Requires the Windows SDK (makeappx.exe) unless -StageOnly is used. +#> +param( + [string]$InstallDir = "build/OrcaSlicer", + [string]$OutputPath = "build/OrcaSlicer_Windows_MSIX.msix", + [string]$StagingDir = "", + [switch]$StageOnly, + [string]$IdentityName = "OrcaSlicer.OrcaSlicer", + [string]$Publisher = "CN=38F7EA55-C73B-4072-B3B2-C8E0EA15BB82", + [string]$PublisherDisplayName = "OrcaSlicer" +) +$ErrorActionPreference = 'Stop' + +$repoRoot = Split-Path (Split-Path $PSScriptRoot -Parent) -Parent + +# MSIX version = MAJOR.MINOR.PATCH.0 from the SoftFever_VERSION semver triplet +# (Store requires the revision field to be 0). +$versionContent = Get-Content (Join-Path $repoRoot 'version.inc') -Raw +if ($versionContent -notmatch 'set\(SoftFever_VERSION "(\d+)\.(\d+)\.(\d+)') { + throw "Could not parse SoftFever_VERSION from version.inc" +} +$msixVersion = "$($Matches[1]).$($Matches[2]).$($Matches[3]).0" +Write-Output "MSIX version: $msixVersion" + +if (-not (Test-Path (Join-Path $InstallDir 'orca-slicer.exe'))) { + throw "orca-slicer.exe not found in '$InstallDir' - build the install tree first" +} + +if ([string]::IsNullOrEmpty($StagingDir)) { + $StagingDir = Join-Path ([System.IO.Path]::GetTempPath()) 'orca-msix-staging' +} +if (Test-Path $StagingDir) { Remove-Item $StagingDir -Recurse -Force } +New-Item -ItemType Directory -Force $StagingDir | Out-Null + +Copy-Item -Path (Join-Path $InstallDir '*') -Destination $StagingDir -Recurse +Copy-Item -Path (Join-Path $PSScriptRoot 'assets') -Destination (Join-Path $StagingDir 'Assets') -Recurse + +$manifest = Get-Content (Join-Path $PSScriptRoot 'AppxManifest.xml') -Raw +$manifest = $manifest.Replace('@MSIX_VERSION@', $msixVersion) +$manifest = $manifest.Replace('@MSIX_IDENTITY_NAME@', $IdentityName) +$manifest = $manifest.Replace('@MSIX_PUBLISHER@', $Publisher) +$manifest = $manifest.Replace('@MSIX_PUBLISHER_DISPLAY_NAME@', $PublisherDisplayName) +Set-Content -Path (Join-Path $StagingDir 'AppxManifest.xml') -Value $manifest -Encoding utf8 + +if ($StageOnly) { + Write-Output "Staged loose layout at: $StagingDir" + return +} + +$makeappx = Get-ChildItem "${env:ProgramFiles(x86)}\Windows Kits\10\bin\10.*\x64\makeappx.exe" -ErrorAction SilentlyContinue | + Sort-Object { [version]$_.Directory.Parent.Name } -Descending | + Select-Object -First 1 -ExpandProperty FullName +if (-not $makeappx) { + throw "makeappx.exe not found under '${env:ProgramFiles(x86)}\Windows Kits\10\bin' - install the Windows SDK" +} +Write-Output "Using makeappx: $makeappx" + +& $makeappx pack /d $StagingDir /p $OutputPath /o +if ($LASTEXITCODE -ne 0) { throw "makeappx pack failed with exit code $LASTEXITCODE" } +Write-Output "Packed: $OutputPath" diff --git a/scripts/msix/generate_assets.ps1 b/scripts/msix/generate_assets.ps1 new file mode 100644 index 0000000000..52071cb7be --- /dev/null +++ b/scripts/msix/generate_assets.ps1 @@ -0,0 +1,56 @@ +# Generates the MSIX package logo assets from the master vector logo +# (resources\images\OrcaSlicer_gradient_circle.svg). Each PNG is rendered from +# the SVG at its exact target size (true per-size vector rasterization, not +# downscaled from one bitmap), preserving alpha transparency in the corners +# outside the circle (the manifest uses BackgroundColor="transparent"). +# +# Run once locally on Windows (re-run only if the logo changes), then commit +# the PNGs in assets/. CI never runs this script. +# +# Prerequisite: Python 3 with the resvg-py package (pip install resvg-py). +# It bundles the resvg SVG renderer, needed because the master SVG uses +# gradients with alpha-fade stops that System.Drawing cannot rasterize. +param( + [string]$Python = 'python' +) +$ErrorActionPreference = 'Stop' + +$repoRoot = Split-Path (Split-Path $PSScriptRoot -Parent) -Parent +$source = Join-Path $repoRoot 'resources\images\OrcaSlicer_gradient_circle.svg' +$outDir = Join-Path $PSScriptRoot 'assets' +New-Item -ItemType Directory -Force $outDir | Out-Null + +$sizes = [ordered]@{ + 'Square150x150Logo.png' = 150 + 'Square44x44Logo.png' = 44 + 'Square44x44Logo.targetsize-44_altform-unplated.png' = 44 + 'StoreLogo.png' = 50 +} + +$py = @' +import sys +from pathlib import Path + +import resvg_py + +svg, out_dir = sys.argv[1], Path(sys.argv[2]) +for spec in sys.argv[3:]: + name, px = spec.rsplit('=', 1) + px = int(px) + data = resvg_py.svg_to_bytes(svg_path=svg, width=px, height=px) + (out_dir / name).write_bytes(bytes(data)) + print(f'Wrote {name} ({px}x{px})') +'@ + +$renderScript = Join-Path $env:TEMP 'orca_msix_render.py' +Set-Content -Path $renderScript -Value $py -Encoding utf8 +try { + $specs = foreach ($name in $sizes.Keys) { "$name=$($sizes[$name])" } + & $Python $renderScript $source $outDir @specs + if ($LASTEXITCODE -ne 0) { + throw 'resvg render failed. Is resvg-py installed? (pip install resvg-py)' + } +} +finally { + Remove-Item $renderScript -ErrorAction SilentlyContinue +} diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 9fbfe906c3..d3abf95fb4 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -2362,6 +2362,10 @@ bool PresetCollection::validate_preset(const std::string &preset_name, std::stri const std::string canonical_inherit_name = this->canonical_preset_name(inherit_name); it = this->find_preset_internal(canonical_inherit_name); found = it != m_presets.end() && it->name == canonical_inherit_name && is_trusted(*it); + if (!found) { + it = this->find_preset_renamed(canonical_inherit_name); + found = it != m_presets.end() && is_trusted(*it); + } if (found) BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": preset_name %1%, inherit_name %2%, found inherit in list")%preset_name %inherit_name; else @@ -2453,7 +2457,9 @@ std::pair PresetCollection::load_external_preset( if (!inherits.empty() && (different_settings_list.size() > 0)) { auto iter = this->find_preset_internal(inherits); - if (iter != m_presets.end() && iter->name == inherits) { + if (iter == m_presets.end() || iter->name != inherits) + iter = this->find_preset_renamed(inherits); + if (iter != m_presets.end()) { //std::vector dirty_options = cfg.diff(iter->config); BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": change preset %1% inherit %2% 's value to %3% 's values")%original_name %inherits %path; cfg.update_non_diff_values_to_base_config(iter->config, keys, different_settings_list, extruder_id_name, extruder_variant_name, *key_set1, *key_set2); @@ -2505,7 +2511,9 @@ std::pair PresetCollection::load_external_preset( // and override its settings with the loaded ones. assert(it == m_presets.end()); it = this->find_preset_internal(inherits); - found = it != m_presets.end() && it->name == inherits; + if (it == m_presets.end() || it->name != inherits) + it = this->find_preset_renamed(inherits); + found = it != m_presets.end(); if (found && profile_print_params_same(it->config, cfg)) { // The system preset exists and it matches the values stored inside config. if (select == LoadAndSelect::Always) diff --git a/src/slic3r/GUI/BBLTopbar.cpp b/src/slic3r/GUI/BBLTopbar.cpp index 7a5bece0af..eb6f4bcb00 100644 --- a/src/slic3r/GUI/BBLTopbar.cpp +++ b/src/slic3r/GUI/BBLTopbar.cpp @@ -807,6 +807,8 @@ wxAuiToolBarItem* BBLTopbar::FindToolByCurrentPosition() } #ifdef __WXMSW__ +#include + WXLRESULT CenteredTitle::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) { switch (nMsg) { @@ -823,6 +825,8 @@ WXLRESULT BBLTopbar::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam { switch (nMsg) { case WM_NCHITTEST: { + m_last_mouse_position = ScreenToClient({GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)}); + wxAuiToolBarItem* item = this->FindToolByCurrentPosition(); if (item != NULL && item->GetWindow() != m_title_ctrl) { break; diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 8a5897622b..4b35274867 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -2859,7 +2859,11 @@ bool GUI_App::on_init_inner() switch (dialog.ShowModal()) { case wxID_YES: - wxLaunchDefaultBrowser(version_info.url); + // Store builds get updates from the Microsoft Store, not the GitHub release page. + if (is_running_in_msix()) + open_ms_store_product_page(); + else + wxLaunchDefaultBrowser(version_info.url); break; case wxID_NO: break; @@ -4940,6 +4944,7 @@ void GUI_App::on_http_error(wxCommandEvent &evt) // Parse the conflict body to extract the error code and server profile id int conflict_code = 0; std::string conflict_setting_id; + std::string conflict_preset_name; try { json conflict_body = json::parse(body_str); if (conflict_body.contains("code")) @@ -4947,21 +4952,40 @@ void GUI_App::on_http_error(wxCommandEvent &evt) if (conflict_body.contains("server_profile") && conflict_body["server_profile"].contains("id") && conflict_body["server_profile"]["id"].is_string()) conflict_setting_id = conflict_body["server_profile"]["id"].get(); + // The local preset name is injected into the conflict body by the agent (sync_push), + // since the server response itself omits it for tombstone (-3) conflicts. + if (conflict_body.contains("name") && conflict_body["name"].is_string()) + conflict_preset_name = conflict_body["name"].get(); } catch (...) { BOOST_LOG_TRIVIAL(warning) << "Failed to parse 409 conflict body."; } + // Capture the user id up front so the force-push closure does not have to touch m_agent. + std::string conflict_user_id = m_agent ? m_agent->get_user_id() : std::string(); auto* plater = wxGetApp().plater(); if (plater != nullptr && wxGetApp().imgui()->display_initialized()) { std::string text; - if (conflict_code == -1) { + + switch (conflict_code) { + case -1: text = _u8L("Cloud sync conflict: this preset has a newer version in OrcaCloud.\n" "Pull downloads the cloud copy. Force push overwrites it with your local preset."); - } else { + break; + case -2: text = _u8L("Cloud sync conflict: a preset with this name already exists in OrcaCloud.\n" "Pull downloads the cloud copy. Force push overwrites it with your local preset."); - } + break; + case -3: + text = _u8L("Cloud sync conflict: a preset with the same name was previously deleted from the cloud.\n" + "Delete will delete your local preset. Force push overwrites it with your local preset."); + break; + default: + text = _u8L("Cloud sync conflict: there was an unexpected or unidentified preset conflict.\n" + "Pull downloads the cloud copy. Force push overwrites it with your local preset."); + break; + }; + plater->get_notification_manager()->push_orca_sync_conflict_notification( - text, + text, conflict_code, [this](wxEvtHandler*) { // Runs on the GUI thread (on_http_error is a queued wx event); restart_sync_user_preset() // already joins the old sync thread off the UI thread, so no extra thread is needed here. @@ -4971,7 +4995,7 @@ void GUI_App::on_http_error(wxCommandEvent &evt) restart_sync_user_preset(); return true; }, - [this, conflict_setting_id](wxEvtHandler*) { + [this, conflict_setting_id, conflict_preset_name, conflict_user_id](wxEvtHandler*) { if (mainframe == nullptr) return false; MessageDialog @@ -4981,7 +5005,13 @@ void GUI_App::on_http_error(wxCommandEvent &evt) if (dlg.ShowModal() != wxID_YES) return false; - force_push_conflicting_preset(conflict_setting_id); + std::string setting_id = conflict_setting_id; + if (setting_id.empty()) { + setting_id = OrcaCloudServiceAgent::generate_uuid_for_setting_id(conflict_preset_name, conflict_user_id); + BOOST_LOG_TRIVIAL(info) << "conflict setting id empty, generated one: " << setting_id; + } + + force_push_conflicting_preset(setting_id); return true; }); } @@ -7055,15 +7085,26 @@ void GUI_App::force_push_conflicting_preset(const std::string& setting_id) m_pending_conflict_setting_ids.push_back(setting_id); } + const std::string user_id = m_agent ? m_agent->get_user_id() : std::string(); + // The 409 left this preset on "hold", which get_user_presets() skips. Restore it to // "update" so the next push-sync re-includes it and consumes the queued force flag. // (We must NOT pull from the cloud here as the Pull path does — that would overwrite // the local changes the user is trying to force-push.) + // For a -3 tombstone on a newly created preset the on-disk setting_id is EMPTY (it only + // gets assigned after a successful first push), so derive it on the fly from the preset + // name and stamp it onto the preset — otherwise sync_with_lock's `id == preset.setting_id` + // check never fires and the force-push silently no-ops. PresetCollection* collections[] = {&preset_bundle->prints, &preset_bundle->filaments, &preset_bundle->printers}; for (PresetCollection* coll : collections) { for (const Preset& preset : coll->get_presets()) { - if (preset.setting_id == setting_id && preset.sync_info == "hold") { - coll->set_sync_info_and_save(preset.name, preset.setting_id, "update", 0); + if (preset.sync_info != "hold") + continue; + const std::string preset_id = preset.setting_id.empty() + ? OrcaCloudServiceAgent::generate_uuid_for_setting_id(preset.name, user_id) + : preset.setting_id; + if (preset_id == setting_id) { + coll->set_sync_info_and_save(preset.name, setting_id, "update", 0); break; } } @@ -9075,6 +9116,10 @@ static bool del_win_registry(HKEY hkeyHive, const wchar_t *pszVar, const wchar_t void GUI_App::associate_files(std::wstring extend) { #ifdef WIN32 + // MSIX: shell integration is declared in the package manifest; registry + // writes from a packaged process are virtualized and invisible to the shell. + if (is_running_in_msix()) + return; wchar_t app_path[MAX_PATH]; ::GetModuleFileNameW(nullptr, app_path, sizeof(app_path)); @@ -9100,6 +9145,8 @@ void GUI_App::associate_files(std::wstring extend) void GUI_App::disassociate_files(std::wstring extend) { #ifdef WIN32 + if (is_running_in_msix()) + return; wchar_t app_path[MAX_PATH]; ::GetModuleFileNameW(nullptr, app_path, sizeof(app_path)); @@ -9151,6 +9198,8 @@ bool GUI_App::check_url_association(std::wstring url_prefix, std::wstring& reg_b void GUI_App::associate_url(std::wstring url_prefix) { #ifdef WIN32 + if (is_running_in_msix()) + return; boost::filesystem::path binary_path(boost::filesystem::canonical(boost::dll::program_location())); wxString wbinary = from_path(binary_path); BOOST_LOG_TRIVIAL(info) << "Downloader registration: Path of binary: " << wbinary.ToUTF8().data(); @@ -9176,6 +9225,8 @@ void GUI_App::associate_url(std::wstring url_prefix) void GUI_App::disassociate_url(std::wstring url_prefix) { #ifdef WIN32 + if (is_running_in_msix()) + return; wxRegKey key_full(wxRegKey::HKCU, "Software\\Classes\\" + url_prefix + "\\shell\\open\\command"); if (!key_full.Exists()) { return; diff --git a/src/slic3r/GUI/GUI_Utils.cpp b/src/slic3r/GUI/GUI_Utils.cpp index a16d9916a6..697eefea0b 100644 --- a/src/slic3r/GUI/GUI_Utils.cpp +++ b/src/slic3r/GUI/GUI_Utils.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include "libslic3r/Config.hpp" @@ -171,6 +172,42 @@ template typename F::FN winapi_get_function(const wchar_t *dll, const c } #endif +bool is_running_in_msix() +{ +#ifdef _WIN32 + // The package identity APIs are Win8+ - resolved dynamically so the exe still loads on Win7 + // (same treatment as the DPI APIs below). Null-buffer probe: returns ERROR_INSUFFICIENT_BUFFER + // when packaged, APPMODEL_ERROR_NO_PACKAGE when running unpackaged. + struct GetCurrentPackageFullName_t { typedef LONG (WINAPI *FN)(UINT32 *length, PWSTR full_name); }; + static const bool packaged = []() { + auto fn = winapi_get_function(L"Kernel32.dll", "GetCurrentPackageFullName"); + UINT32 length = 0; + return fn != nullptr && fn(&length, nullptr) != APPMODEL_ERROR_NO_PACKAGE; + }(); + return packaged; +#else + return false; +#endif +} + +void open_ms_store_product_page() +{ +#ifdef _WIN32 + struct GetCurrentPackageFamilyName_t { typedef LONG (WINAPI *FN)(UINT32 *length, PWSTR family_name); }; + static auto fn = winapi_get_function(L"Kernel32.dll", "GetCurrentPackageFamilyName"); + if (fn == nullptr) + return; + UINT32 length = 0; + if (fn(&length, nullptr) != ERROR_INSUFFICIENT_BUFFER) + return; + std::wstring family_name(length, L'\0'); + if (fn(&length, family_name.data()) != ERROR_SUCCESS) + return; + family_name.resize(length > 0 ? length - 1 : 0); // drop the terminating null + wxLaunchDefaultBrowser(wxString(L"ms-windows-store://pdp/?PFN=") + family_name.c_str()); +#endif +} + // If called with nullptr, a DPI for the primary monitor is returned. int get_dpi_for_window(const wxWindow *window) { diff --git a/src/slic3r/GUI/GUI_Utils.hpp b/src/slic3r/GUI/GUI_Utils.hpp index e50c9254a9..d6767d3310 100644 --- a/src/slic3r/GUI/GUI_Utils.hpp +++ b/src/slic3r/GUI/GUI_Utils.hpp @@ -67,6 +67,10 @@ wxDECLARE_EVENT(EVT_VOLUME_DETACHED, VolumeDetachedEvent); wxTopLevelWindow* find_toplevel_parent(wxWindow *window); wxString format_nozzle_diameter(float diameter); +// True when running inside an MSIX package (Microsoft Store build); always false on non-Windows. +bool is_running_in_msix(); +// Opens the Microsoft Store product page for the current package. No-op when not packaged. +void open_ms_store_product_page(); void on_window_geometry(wxTopLevelWindow *tlw, std::function callback); diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 5079dfecf0..2e8d22ebee 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -2416,7 +2416,7 @@ void NotificationManager::OrcaSyncConflictNotification::render_text(ImGuiWrapper } const float action_y = starting_y + m_endlines.size() * shift_y; - const std::string pull_text = _u8L("Pull"); + const std::string pull_text = conflict_code == -3 ? _u8L("Delete") : _u8L("Pull"); render_hyperlink_action(imgui, x_offset, action_y, pull_text, "##orca_sync_pull", [this] { if (m_pull_callback && m_pull_callback(m_evt_handler)) close(); }); if (m_force_push_callback) { @@ -2437,13 +2437,14 @@ void NotificationManager::push_shared_profiles_notification(const std::string& e } void NotificationManager::push_orca_sync_conflict_notification(const std::string& text, + int conflict_code, std::function pull_callback, std::function force_push_callback) { close_notification_of_type(NotificationType::OrcaSyncConflict); NotificationData data{ NotificationType::OrcaSyncConflict, NotificationLevel::WarningNotificationLevel, 0, text }; push_notification_data(std::make_unique( - data, m_id_provider, m_evt_handler, std::move(pull_callback), std::move(force_push_callback)), 0); + data, m_id_provider, m_evt_handler, std::move(pull_callback), std::move(force_push_callback), conflict_code), 0); } void NotificationManager::push_download_URL_progress_notification(size_t id, const std::string& text, std::function user_action_callback) diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index 006de5cff6..dd17f19e42 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -279,6 +279,7 @@ public: // Shared profiles available for selected printer void push_shared_profiles_notification(const std::string& explore_url); void push_orca_sync_conflict_notification(const std::string& text, + int conflict_code, std::function pull_callback, std::function force_push_callback); @@ -905,10 +906,12 @@ private: public: OrcaSyncConflictNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler, std::function pull_callback, - std::function force_push_callback) + std::function force_push_callback, + int conflict_code) : PopNotification(n, id_provider, evt_handler) , m_pull_callback(std::move(pull_callback)) , m_force_push_callback(std::move(force_push_callback)) + , conflict_code(conflict_code) { m_multiline = true; } @@ -920,6 +923,7 @@ private: std::function m_pull_callback; std::function m_force_push_callback; + int conflict_code; }; class SlicingProgressNotification; diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 1e6b1f6558..ef3d8fcee5 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1846,6 +1846,26 @@ void PreferencesDialog::create_items() //// ASSOCIATE TAB ///////////////////////////////////// #ifdef _WIN32 + // MSIX: associations are declared in the package manifest and defaults are + // managed by Windows Settings; the runtime registry toggles below cannot work. + // Show a minimal page that sends the user to Windows' Default Apps settings instead. + if (is_running_in_msix()) { + m_pref_tabs->AppendItem(_L("Associate")); + f_sizers.push_back(new wxFlexGridSizer(1, 1, v_gap, 0)); + g_sizer = f_sizers.back(); + g_sizer->AddGrowableCol(0, 1); + + g_sizer->Add(create_item_title(_L("Associate files to OrcaSlicer")), 1, wxEXPAND); + + auto item_open_default_apps = create_item_button( + _L("File associations for the Microsoft Store version are managed by Windows Settings."), + _L("Open Windows Default Apps Settings"), "", "", + []() { wxLaunchDefaultBrowser("ms-settings:defaultapps"); }); + g_sizer->Add(item_open_default_apps); + + g_sizer->AddSpacer(FromDIP(10)); + sizer_page->Add(g_sizer, 0, wxEXPAND); + } else { m_pref_tabs->AppendItem(_L("Associate")); f_sizers.push_back(new wxFlexGridSizer(1, 1, v_gap, 0)); g_sizer = f_sizers.back(); @@ -1880,6 +1900,7 @@ void PreferencesDialog::create_items() g_sizer->AddSpacer(FromDIP(10)); sizer_page->Add(g_sizer, 0, wxEXPAND); + } #endif // _WIN32 ////////////////////////// diff --git a/src/slic3r/GUI/ReleaseNote.cpp b/src/slic3r/GUI/ReleaseNote.cpp index 3dd87e8626..84546a941d 100644 --- a/src/slic3r/GUI/ReleaseNote.cpp +++ b/src/slic3r/GUI/ReleaseNote.cpp @@ -5,6 +5,7 @@ #include "libslic3r/Thread.hpp" #include "GUI.hpp" #include "GUI_App.hpp" +#include "GUI_Utils.hpp" #include "GUI_Preview.hpp" #include "MainFrame.hpp" #include "format.hpp" @@ -252,7 +253,9 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent) m_text_up_info = new Label(this, Label::Head_14, wxEmptyString, LB_AUTO_WRAP); m_text_up_info->SetForegroundColour(wxColour(0x26, 0x2E, 0x30)); - auto github_link = new HyperLink(this, _L("Check on Github"), "", LB_AUTO_WRAP); + // Store builds get updates from the Microsoft Store: wxID_YES opens the Store + // product page there (see the EVT_SLIC3R_VERSION_ONLINE handler) instead of GitHub. + auto github_link = new HyperLink(this, is_running_in_msix() ? _L("Check on Microsoft Store") : _L("Check on Github"), "", LB_AUTO_WRAP); github_link->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { EndModal(wxID_YES); }); @@ -302,7 +305,7 @@ UpdateVersionDialog::UpdateVersionDialog(wxWindow *parent) auto sizer_button = new wxBoxSizer(wxHORIZONTAL); - m_button_download = new Button(this, _L("Download")); + m_button_download = new Button(this, is_running_in_msix() ? _L("Open Microsoft Store") : _L("Download")); m_button_download->SetStyle(ButtonStyle::Confirm, ButtonType::Choice); m_button_download->Bind(wxEVT_LEFT_DOWN, [this](wxMouseEvent &e) { @@ -479,7 +482,10 @@ void UpdateVersionDialog::update_version_info(wxString release_note, wxString ve // else { //m_simplebook_release_note->SetMaxSize(wxSize(FromDIP(560), FromDIP(430))); m_simplebook_release_note->SetSelection(1); - m_text_up_info->SetLabel(wxString::Format(_L("Click to download new version in default browser: %s"), version)); + if (is_running_in_msix()) + m_text_up_info->SetLabel(wxString::Format(_L("New version available: %s. Please update OrcaSlicer from the Microsoft Store."), version)); + else + m_text_up_info->SetLabel(wxString::Format(_L("Click to download new version in default browser: %s"), version)); auto data_buf_in = release_note.utf8_str(); auto bg_color = StateColor::darkModeColorFor(wxColour("#FFFFFF")).GetAsString(); auto fg_color = StateColor::darkModeColorFor(wxColour("#262E30")).GetAsString(); diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp index 02804d1598..61eb388b92 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp @@ -101,24 +101,6 @@ std::string resolve_display_name( return username; } -std::string generate_uuid_for_setting_id(const std::string& name, const std::string& user_id = "") -{ - if (name.empty()) { - return ""; - } - - // Mix user_id into the hashed input so two different users generating a setting_id - // for an identically-named preset get distinct UUIDs. Without this, the cloud's ID - // space collides across accounts and the second user's create gets HTTP 409 with - // server_profile=null on every sync (the foreign owner's record is not exposed). - static const boost::uuids::uuid orca_namespace = - boost::uuids::string_generator()("f47ac10b-58cc-4372-a567-0e02b2c3d479"); - - boost::uuids::name_generator_sha1 gen(orca_namespace); - boost::uuids::uuid id = user_id.empty() ? gen(name) : gen(user_id + "/" + name); - return boost::uuids::to_string(id); -} - std::string base64url_encode(const std::vector& data) { std::string out; @@ -412,6 +394,24 @@ OrcaCloudServiceAgent::~OrcaCloudServiceAgent() } } +std::string OrcaCloudServiceAgent::generate_uuid_for_setting_id(const std::string& name, const std::string& user_id) +{ + if (name.empty()) { + return ""; + } + + // Mix user_id into the hashed input so two different users generating a setting_id + // for an identically-named preset get distinct UUIDs. Without this, the cloud's ID + // space collides across accounts and the second user's create gets HTTP 409 with + // server_profile=null on every sync (the foreign owner's record is not exposed). + static const boost::uuids::uuid orca_namespace = + boost::uuids::string_generator()("f47ac10b-58cc-4372-a567-0e02b2c3d479"); + + boost::uuids::name_generator_sha1 gen(orca_namespace); + boost::uuids::uuid id = user_id.empty() ? gen(name) : gen(user_id + "/" + name); + return boost::uuids::to_string(id); +} + void OrcaCloudServiceAgent::configure_urls(AppConfig* app_config) { if (!app_config) return; @@ -1250,8 +1250,10 @@ SyncPushResult OrcaCloudServiceAgent::sync_push(const std::string& profile_id, if (http_code == 409) { // Conflict - parse server version + nlohmann::json err_body; try { auto json = nlohmann::json::parse(response); + err_body = json; if (json.is_null()) { result.server_deleted = true; } else { @@ -1261,6 +1263,13 @@ SyncPushResult OrcaCloudServiceAgent::sync_push(const std::string& profile_id, result.server_version.updated_time = profile_data.value(ORCA_JSON_KEY_UPDATE_TIME, 0); } } catch (...) {} + // Surface the conflict via the http-error callback with the local preset name injected. + // The raw server body omits the name for tombstone (-3) conflicts (server_profile is null), + // but the GUI needs it to regenerate the deterministic setting_id for a force push. + if (!err_body.is_object()) + err_body = nlohmann::json::object(); + err_body["name"] = name; + invoke_http_error_callback(409, err_body.dump()); result.error_message = response; return result; } @@ -1937,7 +1946,10 @@ int OrcaCloudServiceAgent::http_post(const std::string& path, const std::string& if (response_body) *response_body = res.body; if (http_code) *http_code = res.status; - if (!suppress && (!res.success || res.status >= 400)) { + // 409 is a push-only domain conflict; sync_push re-fires the error callback with the + // local preset name injected (the raw server body omits it for tombstone conflicts), + // so skip the generic nameless auto-fire here to avoid a duplicate, nameless event. + if (!suppress && (!res.success || res.status >= 400) && res.status != 409) { invoke_http_error_callback(res.status, res.body); } diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.hpp b/src/slic3r/Utils/OrcaCloudServiceAgent.hpp index 6852992198..8820425f7f 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.hpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.hpp @@ -300,6 +300,8 @@ public: bool set_user_session(const nlohmann::json& session_json, bool notify_login = true); void clear_session(); + static std::string generate_uuid_for_setting_id(const std::string& name, const std::string& user_id = ""); + private: // Sync protocol helpers int sync_pull(