Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Cura 2.1.2 Alternative Drucker - Workaround

geschrieben von I.R.Gendwer 
Cura 2.1.2 Alternative Drucker - Workaround
23. July 2016 03:26
Seit Anfang Juni hat Ultimaker Cura 2.1.2 veröffentlicht, sogar in 64bitthumbs up. Im Gegensatz zu vorherigen 2.1.1openBeta ist es nun möglich andere Drucker
außer Ultimaker in der Druckerverwaltung auszuwählen.
Ich war gewillt der neuen Version mal eine Chance zu geben obwohl ich nie so richtig mit der 14.xx und 15.xx warm geworden bin.
Genug geschwafelt.
In der Druckerverwaltung sind eine Reihe Drucker hinzugekommen, darunter die 'üblichen Verdächtigen' und auch einige weniger bekannte.



Wer seinen Drucker hier nicht findet nimmt sich einfach einen der vom Druckbett her passt oder kreiert sich seinen ... .
Mein CoreXY ist ist natürlich auch nicht bei, also wird er der Vollständigkeit halber angelegt.
Ab hier ist alles nur exemplarisches Beispiel!
Nun muß man dazu aber kein Programierguru sein ... .
Cura GUI ist Python und die relevanten Konfigurationsdateien sind als 'JavaScript Object Notation'(.json) hinterlegt, die ganz einfach mit einem Texteditor
editiert werden können. Einer mit Syntaxhighlihting wie z.B. Notpad++ ist angebracht.
Da meine Druckbettgröße dem eines I3 ähnlich ist bediene ich mir dessen.
Erstmal Cura schließen.
Dann impotiere ich in meinem CAD-Programm folgende Datei C:\Program Files\Cura 2.1\resources\meshes\prusai3_platform.stl und ändere diese getreu meiner Maschine,
bzw. zeichne eine neue Plattform und speichere diese als C:\Program Files\Cura 2.1\resources\meshes\corexy_platform.stl .
Als nächstes öffnen wir mit unserem Editor folgende Datei als Administrator - C:\Program Files\Cura 2.1\resources\machines\prusa_i3.json.
Markieren alles und öffnen eine neue Datei und fügen alles ein und ändern diese ersteimal wie folgt ab:
    "id": "corexy",
    "version": 1, 
    "name": "CoreXY",
    "manufacturer": "Other",
    "author": "Other",
    "icon": "icon_ultimaker2.png",
    "platform": "corexy_platform.stl",
    "file_formats": "text/x-gcode",
    "inherits": "fdmprinter.json",
...
und speichern diese als C:\Program Files\Cura 2.1\resources\machines\corexy.json ab.
Wenn wir jetzt die Druckerverwaltung öffnen sehen wir einen CoreXY, können diesen schonmal auswählen und einen Namen verpassen.



Anschließend können wir dann unseren Drucker auswählen.



Noch nicht drucken !!!
Cura wieder schließen.
Als nächstes nehmen wir uns nochmal die C:\Program Files\Cura 2.1\resources\machines\corexy.json vor und ändern das auf unsere Mascchine passend ab.
Wichtig hierbei die Bettgröße und -höhe, Düsengröße, Materialdurchmesser.
Dann noch der Start- und Endcode (;=Kommentar, \n=Zeilenumbruch)
{
    "id": "corexy",
    "version": 1, 
    "name": "CoreXY",
    "manufacturer": "Other",
    "author": "Other",
    "icon": "icon_ultimaker2.png",
    "platform": "corexy_platform.stl",
    "file_formats": "text/x-gcode",
    "inherits": "fdmprinter.json",

    "machine_settings": {
        "machine_heated_bed": { "default": true },
        "machine_width": { "default": 200 },
        "machine_height": { "default": 170 },
        "machine_depth": { "default": 200 },
        "machine_center_is_zero": { "default": false },
        "machine_nozzle_size": { "default": 0.3 },
        "material_diameter": { "default": 1.75 },
        "machine_nozzle_heat_up_speed": { "default": 2.0 },
        "machine_nozzle_cool_down_speed": { "default": 2.0 },
        "machine_head_shape_min_x": { "default": 75 },
        "machine_head_shape_min_y": { "default": 18 },
        "machine_head_shape_max_x": { "default": 18 },
        "machine_head_shape_max_y": { "default": 35 },
        "machine_nozzle_gantry_distance": { "default": 55 },
        "machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },

        "machine_start_gcode": {
            "default": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 Z0 ;move X,Y,Z to min endstops\nG1 Z8 F9000\nG1 X2 Y2 
            F7000\nG4 S3 ;3sec pause\nG92 E0 ;reset extruder\nG1 Z0.15\nG1 Y20\nG1 E3 F200 ;extrude 3mm\nG92 E0\nG1 Y50 F800"
        },
        "machine_end_gcode": {
            "default": "G1 Y10 X210\nG91\nG1 Z5"
        }
    }
}
In der corexy.json finden wir in Zeile 10 ' "inherits": "fdmprinter.json",' , das ist ein Verweis auf eine weitere config-Datei.
Haben wir angepassten Endcode und/oder Startcode ist folgendes zu beachten:
Entweder wir nehmen den angepassten Code ausschließlich aus der corexy.json und setzen in der fdmprinter.json von Zeile 13 - 21 den code auf false.
Oder wir mischen beides, macht Sinn wenn man mehrere Drucker hat.
So sieht meiner aus:
...
     "machine_start_gcode": {
            "description": "Gcode commands to be executed at the very start - separated by \\n.",
            "default": "G28 ; Home\nG1 Z15.0 F6000 ;move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0",
            "global_only": false
        },
        "machine_end_gcode": {
            "description": "Gcode commands to be executed at the very end - separated by \\n.",
            "default": "M104 S0 ;turn off Hotend\nM140 S0 ;turn off Headbed\nG92 E1\nG1 E-2 F300 ;Retract the filament\nM84 ;disable motors",
            "global_only": true
...
Das wars auch schon... .
Man kann in der fdmprinter.json Cura völligst zerkonfigurieren, also Vorsicht!!

Noch was wichtiges: Ich übernehme keine Garantien jeglicher Art - Alles auf eigene Gefahr!

Fehler berichtigt - danke für die Hinweise1-mal bearbeitet. Zuletzt am 23.07.16 05:50.


Gruß Jürgen

Alles wird jut
Yet another Core XY 'YacXY'
Triffid_Hunter's_Calibration_Guide/de
Re: Cura 2.1.2 Alternative Drucker - Workaround
23. July 2016 04:03
Schöne Anleitung, aber wie kommst du da drauf:
Quote

Cura ist Java ...
???
Re: Cura 2.1.2 Alternative Drucker - Workaround
23. July 2016 04:26
Cura GUI ist Python und Cura Engine ist in C++
Re: Cura 2.1.2 Alternative Drucker - Workaround
23. July 2016 05:21
Autschn, Java und Javascript haben wohl wenig miteinander zu tun, das sind komplett verschiedene Welten...
Und JSON kam zwar von Javascript ist aber aktuell schon fast ein übergreifender Standard.

lg
Re: Cura 2.1.2 Alternative Drucker - Workaround
23. July 2016 05:44
Ihr habt ja Recht, sollte eigentlich auch ganz anders lauten. Den ursprünglichen Text hatte ich gekürzt.
Ich ändere das mal ab.


Gruß Jürgen

Alles wird jut
Yet another Core XY 'YacXY'
Triffid_Hunter's_Calibration_Guide/de
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen