Mehrfarbiger Gehäusedruck

Hallo zusammen,

ich schaue mir gerade die STLs aus dem GitHub-Repository an und versuche herauszufinden, welche Dateien ich in welcher Kombination ausdrucken muss, bzw. was zusammenpasst. Dabei habe ich die verschiedenen Versionen mit erhabenem oder invertiertem Logo gesehen.

Auf Radsicherheit: Abstandsmesser selber bauen · Dlf Nova gibt es ein Bild mit einem Gehäuse, bei dem Logo und Gehäuse in unterschiedlichen Farben gedruckt wurde. Das Gehäuse gefällt mir sehr gut. Allerdings fehlt mir gerade die Fantasie, wie ich das mit einem normalen 3D-Drucker hinbekommen kann. Wurde das mit einem Drucker mit Multi-Extruder gedruckt oder wie macht man das?

Für sachdienliche Hinweise wäre ich sehr dankbar.

Viele Grüße,
Roland

Hallo Roland / @HortusNanum, willkommen im Forum!

Es gibt verschiedene Möglichkeiten, STLs zu erzeugen mit Logos. Prinzipiell brauchst du für jedes Bauteil 2 STL-Dateien, einmal das Gehäuse mit ausgeschnittenem Logo, und das Logo selbst. Die legst du so übereinander, das sie zusammen genau die Gesamtform ergeben. In Prusa Slicer geht das indem du einen Multi-Extruder Drucker konfigurierst, und dann beide STL-Dateien beim Import gleichzeitig hinzufügst, sie werden dann zu einem Bauteil mit mehreren Komponenten zusammengefasst. Dann kannst du den Extruder für die beiden Teile auswählen und slicen. Eventuell fragt der Slicer beim Import auch das hier („Yes“ wäre hier angebracht):

image

Falls du nur einen Extruder hast, kann vielleicht deine Firmware das M600-Kommando („Filament Change“). In Marlin zum Beispiel kann das einkompiliert werden, jedenfalls für einige Druckermodelle. Bei meinem Ender 3 v2 hat es geklappt. Dann pausiert der Druck zwischen den Filamenten, und du kannst das neue einlegen. Danach wird die Nozzle wieder aufgeheizt, und eine vordefinierte Menge Filament „ausgespuckt“, sodass die neue Farbe ankommt. Hierbei musst du danebensitzen und das herauskommende Misch-Filament entfernen, bevor der Druck weitergeht.

Zurück zu den STL-Dateien:

  • Das mit Logo bedruckte Gehäuse das du meinst ist vermutlich das Vertical Case.

  • Die Dateien für die normalen Logos sind:

    OBS-MainCase-B-001a_MainCase_with_0.4mm_OBS-logo.stl
    OBS-MainCase-B-001b_inner_logo_part.stl
    OBS-MainCase-B-002_Lid_v0.1.0_with_0.4mm_OBS-logo_top.stl
    OBS-MainCase-B-002_Lid_with_0.4mm_OBS-logo_v0.1.0_bottom.stl
    

    Die oberen beiden sind das Gehäuse, die unteren beiden der Deckel.

  • Es gibt auch eine Variante, in denen das Logo invertiert ist. Dann hat der Rand vom Gehäuse die gleiche Farbe wie das Logo, der Rest der Logo-Fläche ist „die andere Farbe“.

  • Du kannst die gleichen Dateien mit deinem eigenen Logo auch generieren aus den Grunddateien ohne Logo. Dafür gibt es ein OpenSCAD-Script im Unterordner logo-case-generator. Eventuell ist das veraltet und die Pfade müssten ein bisschen angepasst werden, so etwas passiert ab und zu :wink:

Viel Erfolg!

1 „Gefällt mir“

Ich habe tatsächlich auch einen Ender3 V2 mit nur einem Extruder. Ich muss mal schauen, ob meine Firmware das M600-Kommando unterstützt. Ich habe eine Custom-Firmware für den BL-Touch drauf, daher bin ich da nicht sicher. Notfalls muss ich updaten.
Ich arbeite üblicherweise mit CURA und bevor ich mich in einen anderen Slicer einarbeite, schaue ich mal, ob ich es damit hinbekomme.
Vielen Dank für die Tipps!

Hast Du eine Idee, wie man in CURA beide STLs exakt übereinander legt ohne sich einen Wolf zu zoomen? :upside_down_face:

Hier scheint jemand das gleiche Problem gehabt zu haben.

Wenn ich mich richtig erinnere, habe ich für den Multicolor-Print damals auf PrusaSlicer gewechselt, der macht das finde ich besser. Ich glaube, Cura braucht auch ein Postprocessing Plugin, um den M600 einzufügen… geht, ist aber umständlich. Vielleicht versuchst du es auch mit dem PrusaSlicer, damit habe ich nur gute Erfahrungen gemacht :wink:

1 „Gefällt mir“

Ich mache das im PrusaSlicer NUR mit der Datei „OBS-MainCase-B-001a_MainCase_with_0.4mm_OBS-logo.stl“. Man kann im Slicer nach dem „Slice Now“ einen Farbwechsel im rechten Balken mit der li Maustaste setzen. Ich starte mit der Gehäusefarbe (zB schwarz) bis 0.4mm Layer. Danach setze ich die Logofarbe (zB ws) bis Layer 0.8 oder auch 1.0mm. Danch wieder auf Gehäusefarbe wechseln! Also: Farbwechsel setzen bei Höhe 0.4ws/0.8wieder auf sw zurück. Zu Beginn natürlich sw (0-0.4). Prusa meldet sich und stoppt beim Farbwechsel - der Farbwechsel dauert bei mir etwa 30s und funktioniert ohne Probleme!

Mein Drucker kann kein M600, mein Workaround sieht so aus:

  • Gehäuseunterseite mit Logo im Prusa-Slicer laden
  • das Teil in der Liste rechts anklicken, „Teil hinzufügen“ und die Oberseite und den „manual_brim_for_maincase“ hinzufügen
  • die Oberseite zum „Stützblocker“ machen und Slicen
  • den gcode im editor öffnen und die Zeile relativ weit am Ende mit „M140 S0“ löschen, damit heizt der Drucker nach dem Druck das Bett weiter
  • Filament wechseln
  • das Logo zum Stützblocker machen und das Oberteil wieder zum „Teil“
  • normal Slicen
  • auf das noch im Druckbett klebende Logo draufdrucken
2 „Gefällt mir“

Ich bin auf der Suche nach den Details für den Mehrfarbendruck auf die Seite Farb Druck - 3D Druck lernen. gestoßen.

Dort ist die Vorgehensweise für Ender 3 und Prusa-Slicer sehr ausführlich dokumentiert. Darüber hinaus hat er noch eine kleines Test-Projekt (Stop-Schild aus dem Straßenverkehr), mit dem sich das Ganze sehr gut üben lässt, bevor man mit dem recht zeitaufwändigen Gehäusedeckel/-boden „in Produktion“ geht.

In der Kombination mit Octoprint und der Druckersteuerung gibt es in diesem Zusammenhang doch einiges zu üben: Es muss der Knopf am Bedienpanel und noch ein Popup am Octopi bestätigt werden, damit der Druck mit der nächsten Farbe fortfährt.

Ich habe inzwischen auch ein Tutorial für Cura gefunden: Single Extruder Multicolor in Cura Tutorial // Multipass 3D Printing - YouTube
Ausprobiert habe ich es aber noch nicht.

Etwas Zeit ist vergangen, andere Projekte wurden weggeschafft und ich hatte wieder etwas Zeit, mich dem OBS und dem Gehäusedruck zu widmen. Das oben verlinkte Video hat mir wirklich geholfen.

Der Zweifarbendruck mit nur einem Extruder und Slicing in CURA funktioniert wie folgt (hier am Beispiel des Gehäusedeckels):

  1. Man lädt die STL-Dateien beider Teile in CURA, also MainCaseLid-normal-highlight.stl und MainCaseLid-normal-main.stl
  2. Beide Teile mit STRG-A auswählen und mit Rechtsklick „Merge models“ auswählen. Die beiden Teile werden durch das Mergen passgenau übereinandergelegt.
  3. Teile auf dem Druckbett nach Wunsch positionieren.
  4. Rechtsklick auf die Gruppe und „Ungroup models“ klicken.
  5. Den Deckel (nicht die Schrift) auswählen und löschen.
  6. Nun die Schrift slicen und den GCODE abspeichern (Slicing Einstellungen siehe unten).
  7. Mit STRG-Z das Löschen des Deckels rückgängig machen, die Schrift auswählen und diese löschen.
  8. Nun den Deckel slicen und den GCODE abspeichern.

Slicer-Einstelllungen:
Die Schrift ist 2 Layer (also 0,4mm) hoch. Damit der Druckkopf beim Drucken der zweiten Farbe die Buchstaben nicht abräumt, muss die Z-Achse beim Verlassen des zu druckenden Bereichs angehoben werden. Das macht in CURA die Einstellung „Z-Hop“. Ich habe hier 1mm eingestellt, damit zwischen Nozzle und gedruckter Schrift genug Platz ist.
Wichtig ist auch, dass man ohne Brim, Raft oder Skirt druckt, damit sich diese nicht gegenseitig im Wege sind. Es empfiehlt sich auch, die ersten 2 Layer etwas langsamer zu drucken als normal, damit alles schön zusammenpasst.

Das Drucken:
Man druckt zuerst die Schrift (also MainCaseLid-normal-highlight.stl) - hier in Orange. Dies hat auf meinem Ender3 V2 etwa 10min gedauert. Als der Druck der ersten Farbe fertig war, habe ich sofort im Druckermenü „Preheat“ ausgewählt, damit Bett und Nozzle zwischenzeitlich nicht auskühlen. Dann wechselt man das Filament (hier Grau) und lässt den Extruder transportieren bis die Farbe sauber ist.
Danach druckt man die zweite GCODE-Datei (die von MainCaseLid-normal-main.stl). Da beide Dateien auf der Selben Position auf dem Druckbett liegen, passen sie schön übereinander.

Und so sieht es dann aus:

Vielleicht hilft es ja jemandem.

2 „Gefällt mir“

Danke, wäre super wenns in Prusa auch funktionieren würde: wähle ich beide Dateien und drücke „Merge“ ist die Schrift in x um ca. 12.5mm verschoben und geringfügig auch in y. Muss mal schauen ob es den Befehl „beim Verlassen des zu druckenden Bereichs angehoben werden. Das macht in CURA die Einstellung „Z-Hop““ in Prusa uch gibt.

Die Einstellung gibt es auch und sie heißt genau so. Um ein mehrteiliges Objekt zu erzeugen brauchst du einen Drucker mit mehreren Extrudern. Das kannst du in den Einstellungenen des Druckers auswählen. Wenn deine Firmware kein m600 unterstützt kannst du den Trick wie oben beschrieben machen und 2 Dateien mit nur dem ersten Extruder erzeugen. Um ein mehrteiliges Modell zu bekommen musst du sie gleichzeitig importieren, dann fragt PrusaSlicer nach.

PS: das hatte ich auch schon im 2. Post dieses Threads beschrieben mit Screenshot;)

Tut leid, dass stimmt nicht. Probier es einfach aus - er verschiebt bei merge. Alles ausprobiert!
Lösung: MIt Cura machen (da gehts) - exportieren nach Prusa (3mf). Funktioniert sofort…
Achja: und ich hatte mich eh schon damit beschäftigt: Profil - pepponia - OpenBikeSensor | Discourse
So ging es auch - ich wollte nur schauen ob die andere Lösung auch funktioniert :wink:

Der Trick ist, kein Merge zu machen, sondern

  1. einen Drucker mit 2 Extrudern anzulegen

  2. beim Import beide Dateien gleichzeitig auszuwählen (mit Shift)

  3. auf diese Frage mit „Yes“ zu antworten:

    image

Wenn ich a) keinen Multi-Extruder-Drucker auswähle oder b) nicht beide auf einmal importiere, habe ich auch den Versatz, da Prusa leider nicht den Ursprung aus der STL-Datei nimmt, sondern selbst „die Mitte des Objekts“ als Referenzpunkt berechnet.

Das Ergebnis nach obigem Vorgehen ist korrekt ausgerichtet:

Edit: Statt beide Parts gleichzeitig zu laden geht auch eins hinzuzufügen, und dann rechtsklick darauf und „Add Part → Load…“ zu wählen. Nach wie vor, es muss sich um einen Drucker mit mehreren Extrudern handeln.

Danke für deine Mühen, bei mir kommt noch immer kompletter Schwachsinn raus. Ich werde dir das Morgen mitfilmen. Update: Ich habe im Slicer einen Programmfehler. Es erscheint beim Umschalten auf 2 Extruder danach im Plater immer ein Teil, dass ich vor Wochen geslicet habe. Dieses lässt sich auch nicht löschen. Selbst nach kompletter Deinstallation und Neuinstallation mit anschließendem Registryclean erscheint es immer wieder. Ich hab es jetzt aufgegeben, hab dieses Teil am Bildschirm nach extremem Rauszoomen ins letzte Eck geschoben(das geht) und jetzt passt alles. Ein Deep Deinstall des Slicer scheint unmöglich zu sein. Irgendwo ist dieses Bild des Teiles, dass ich gar nicht hineingeladen habe abgespeichert…

2 „Gefällt mir“

Bei mir klappt es auch wie bei Paul, ich habe allerdings auch das Häkchen bei „Single Extruder Multi Material“ gesetzt:
image

Als „Tool change g-code (unter custom-g-code bei den printer settings)“ habe ich das hier

;tool change gcode
{if layer_z > 0.1}M600 Z{max_layer_z+2}{endif}
;end tool change gcode

Das ``if``` vermeidet einen color change vor dem ersten layer.

Druck ich das Teil dann so wie von @HortusNanum beschrieben oder wie muss ich da verfahren? Weil wenn ich es auf 2x Drucke tastet der Drucker ja auf der bereits gedruckten Schrift an ….
Und dein Gcode liefert in Line2 beim slicen „Not a variable name“ - was hab ich da wieder falsch?

Um das dann zu drucken muss dein Drucker in der Firmware das M600 Kommando (Filament Change) verstehen. Ich habe auf meinem Ender3-v2 die Jyers Marlin Firmware installiert. Damit geht das dann.

Die Variable max_layer_z scheint es nicht (mehr?) zu geben. Ich habe diesen sehr gut funktionierenden G-Code, der auch den Farbcode des ausgewählten Filaments als Message am Drucker ausgibt :slight_smile:

image

{if previous_extruder != -1}
  M117 Color change: {extruder_colour[next_extruder]}
  M107; fan off
  M600; tool change
  M106; fan on
{else}
  M117 Initial color: {extruder_colour[next_extruder]}
{endif}
1 „Gefällt mir“

Ich habe das Werkstück einfach so außermittig auf dem Druckbett platziert, dass der Drucker in der Bettmitte antasten kann. Oder meinst Du etwas anderes?

Bitte noch ein letztes mal um Hilfe: Wer hat den exakten Ablauf für einen PrusaM3ik3s-Drucker und dem Prusa Slicer? Ich bin seit Stunden am probieren und schaff es nicht.
Danke jedenfalls für die vielen Tipps, die bei mir allerdings nicht geholfen haben und eine andere Firmware auf den Prusadrucker werde ich sicher nicht installieren wollen.

Hallo @pepponia, was macht der Drucker denn genau, wenn du wie beschrieben verfährst? Laut Dokumentation müsste der MK3S das M600 Kommando mit der normalen Prusa Firmware schon beherrschen. (siehe Prusa Knowledge Base)

Die schritt für schritt anleitung wäre dann:
image

Tool Change G-Code einstellen

{if previous_extruder != -1}
  M117 Color change: {extruder_colour[next_extruder]}
  M107; fan off
  M600; tool change
  M106; fan on
{else}
  M117 Initial color: {extruder_colour[next_extruder]}
{endif}

2 Modelle aufs druckbett ziehen, frage mit ja beantworten:
image
unterschiedlichen Extrudern zuordnen:
image
Den Extrudern jeweils ein Filament zuordnen, am besten unterschiedliche Filamentfarben für leichte zuordbarkeit
image
Filamentfarben kann man einfach durch erstellen einer Kopie des gewünschten Filaments erzeugen - Benenen und dann Filamentfarbe einstellen:

Gesliced siehts dann so aus (tool view damit man weiß, was aus welchem extruder kommt):

Wenns probleme gibt lass uns doch einfach mal abends im senfcall drüber reden - Ich glaub das ist einfacher als das hier aufzuschreiben.

Beim Drucken hält er dann nach der ersten Farbe an und piept damit du ihm neues Filament fütterst. GGF. musst du dabei selbst purgen (durchschieben) bis die richtige Farbe rauskommt. Evtl. kann man auch einen wipe tower konfigurieren der das für einen macht - Musst du probieren, wenn es dich interessiert, hab ich noch nicht mit gespielt.

Alternativ hab ich hier noch eine deutsche anleitung gefunden:
https://3d-druck-lernen.de/farb-druck/

Zum ausprobieren empfiehlt es sich auch, erstmal mit dummyobjekten zu probieren, bis man den filamentwechselworkflow verstanden hat (ob und wenn ja wie viel der drucker bei M600 retracted und wieder unretracted.