Magic Train Packwagen Umbau

Hallo.

Hier gibt es den Bricht zum Umbau eines Magic Train Personenwagens in einen Packwagen. Das ganze soll auch als Abschluss des OpenSCAD Kurses dienen, weswegen die Code für die 3D Druckteile ausführlicher besprochen wird.

Bei den Magic Train Personenwagen gibt es tatsächlich Unterschiede. Es sind nicht alle Wagen gleich. Generell gibt es zwei unterschiedliche Dächer und auch zwei unterschiedliche Aufbauten. Für den Umbau ist nur der eine Typ Aufbau geeignet und, sofern man alles so umsetzen möchte, wie hier vorgestellt, auch nur eine Dachform.

Schauen wir uns die verschiedenen Typen mal genauer an. Zuerst mal ein “Oktoberfest- Wagen”, wobei die Farbgebung und die Aufdrucke völlig nebensächlich sind. Nach dem Umbau muss der Wagen sowieso neu lackiert werden.

Von diesem Wagen ist der Aufbau die geeignete Variante, aber das Dach nur für den teilweisen Umbau.

Da ich nur einen einzigen Wagen mit dem anderen Aufbau- Typ habe und der schon stark umgebaut seinen Weg zu mir gefunden hat, bitte nicht wundern. Die Unterschiede kann man trotzdem erkennen, hoffe ich. Dieser Wagen ruht nicht auf dem Magic Train Einheits- Fahrwerk sondern auf zwei Feldbahn- Loren, die als Drehgestelle genutzt werden:

Dieser Wagen hätte die passende Dachform, aber der Aufbau ist auf Grund der zusätzlichen Oberlichter über den eigentlichen Fenstern nicht wirklich für den geplanten Umbau zu gebrauchen…

Wir benötigen also den Aufbau von Nummer 1 und das Dach von Nummer 2. Voila, hier ist exakt der Wagen, den ich umbauen werde:

Dieser Wagen, genauer der Aufbau und das Dach stammen von einem Startpackungswagen, der ohne Fensterscheiben ausgeliefert wurde. Ich habe vor geraumer Zeit diesen Aufbau mit Dach mal geschenkt bekommen. Ein Fahrwerk hatte er nicht.  Deswegen thront  er jetzt auf einem Güterwagen Fahrwerk, von dem der Aufbau für ein anderes Bastel- Projekt benötigt wurde. Güterwagen haben aber im Gegensatz zu den Personenwagen maximal eine Bühne. Die ist hier auf dem Foto rechts zu erkennen. Dadurch sieht die linke Seite nun etwas kahl aus. Wenn man einen vollständigen Personenwagen umbaut, kann man natürlich auf beiden Seiten die Bühnen belassen.  Dann sind beide Dachformen für den Umbau geeignet. In diesem Fall soll aber der Aufbau auf der linken Seite so weit verlängert werden, das er in etwa bündig mit dem Fahrwerk und dem Dach abschließt.  Dabei stellt das mehrfach geneigte Dach des Typs “Oktoberfest- Wagen” eine massive Erschwernis dar. Deswegen das “gerade” Dach…

Theoretisch könnte man nun den Aufbau zerschneiden und mit Kunststoffplatten verlängern, so das er die benötigte Länge bekommt.  Das erfordert definitiv weniger Aufwand beim 3D Konstruieren, hat aber zwei nicht zu vernachlässigende Nachteile. Zum einen ist die Stabilität eines zerschnittenen und wieder zusammen geleimten Aufbaus deutlich niedriger als bei einem nicht modifizierten Aufbau.  Daneben passen dann die Rast- Nasen nicht mehr und man müsste den Aufbau mit dem Fahrwerk verkleben.  Für mich besonders gravierend ist aber die Tatsache, das man danach das Dach ebenfalls festkleben müsste. Da aber eine batteriebetriebene Innenbeleuchtung vorgesehen ist, ist ein leicht abzunehmendes Dach einfach Pflicht.

Also wird der “Umbausatz” ein 3D Teil zu Verlängerung der “linken” Stirnseite enthalten. Daneben benötigen wir Einsätze, um die überzähligen Fenster zu verschließen. Pro Seite sind das zwei. Das dritte Fenster wird von der Schiebetür verdeckt, die samt Schienen einfach auf die Seite des Wagens geklebt werden. Eine geöffnete Darstellung ist nicht vorgesehen. Das Fenster ganz rechts bleibt erhalten. Dahinter wird das Zugführer Büro eingerichtet. Dieses Büro bekommt dann auch eine LED Beleuchtung, die aus einer Knopfzellen- Batterie gespeist wird…

Fangen wir also an zu konstruieren. Doch halt, dieses Mal wird nicht mit OpenSCAD angefangen. Die Form der Seitenwand ist durch die unterschiedlichen Radien des Daches etwas komplexer. Man könnte das sicher auch direkt in OpenSCAD hin bekommen, aber ich möchte mir das Leben nicht unnötig schwer machen. OpenSCAD kann nämlich auch SVG Dateien importieren. Das sind Vektor Grafiken, wie sie z.B.  das kostenlose Zeichenprogramm Inkscape erzeugen kann. Das alleine hilft uns aber auch nicht viel. Wenn wir die genauen Radien wüssten, dann könnten wir auch direkt in OpenSCAD anfangen. Also kommt noch ein (kostenloses) Programm zum Einsatz, eine Bildbearbeitungs- Software. Die gibt es in unzähligen Varianten und Preisklassen vom kostenlosen Paint.net (Windows only) über das ebenfalls kostenlose Gimp (alle Plattformen) und preisgünstige Programme wie Affinity Photo (30-55€, je nach Angebot) oder Corel PhotoPaint (ca 70-80€) und Photoshop Elements (ca 100€) bis hin zu der Profi- Software Photoshop, die es nur im Abo für ca 40€ monatlich gibt… Ich habe hier Paint.NET verwendet, was besonders einfach zu bedienen ist. Doch wie bekommen wir nun unsere Seitenwand in den PC? Ganz einfach mit einem Scanner. Damit bekommt man perspektivisch korrekte Bilder von allem, was man auf die (meist Din A4) Scanfläche legen kann.

Um die Seitenwand einzuscannen, muss man natürlich den Wagen auseinander bauen. Nur dann kann man die Stirnwand des Magic Train Wagens auf den Scanner legen. Allerdings ist sie nicht ganz eben. Deswegen habe ich zwei Abschnitte eines Kaffee- Rührstäbchens unter gelegt. So “kippelt” der Aufbau nicht und es gibt keine Verzerrungen. Mein Scanner verschluckt leider ein oder zwei Millimeter am oberen Rand. Deswegen kann man das zu scannende Objekt, sofern es zu 100% erfasst werden soll, nicht ganz an den Rand legen. Dadurch besteht aber die Gefahr, das man den Aufbau nicht exakt rechtwinklig auflegt.  Man muss also einen graden Gegenstand als Anschlag dazwischen legen. Da die Inneneinrichtung sowieso im Weg lag, habe ich sie genutzt.

Jetzt lässt sich der Aufbau gut ausgerichtet auf dem Scanner platzieren.

Normalerweise wird ja alles, wo nichts liegt, beim Scannen weiß. Da wir aber den Deckel nicht schließen, kann er das Licht nicht reflektieren. Die ungenutzten Bereiche werden deswegen schwarz, also nicht wundern. Das Scannen können wir direkt aus Paint.NET erledigen. Wichtig ist nur, mit wie viel DPI der Scann durchgeführt wird. ich habe 300 DPI verwendet. Diesen Wert brauchen wir später in OpenSCAD, deswegen gut merken oder aufschreiben…

So sieht das dann aus. Die Holzstäbchen und die Tür stempeln wir einfach mit dem Kopierstempel weg. Diese Funktion hat jede Bildbearbeitung. Im Prinzip bestimmt man einen kleinen Bereich des Bildes, der auf eine andere Stelle kopiert wird. So kann man viele störende Elemente entfernen…

Jetzt haben wir schon fast das, was wir benötigen, aber eben nur fast. Als nächstes müssen wir den Hintergrund (das was schwarz ist) entfernen. Dazu verwenden wir den “Zauberstab”, ebenfalls ein Werkzeug, das praktisch jede Bildbearbeitung hat. Damit werden Bereich mit gleicher oder sehr ähnlicher Farbe ausgewählt. Wir klicken also mit dem Zauberstab in den schwarzen Bereich. Wird zu viel oder zu wenig ausgewählt, muss man die Toleranz anpassen, bis das gewünschte Ergebnis erzielt wird. Nun ist also alles, was schwarz im Bild ist, ausgewählt. Durch einfaches Drücken auf die Löschen Taste wird der ausgewählte Bereich entfernt.

So könnten wir zwar schon weiter machen. Aber es ist einfacher, wenn die Seitenwand wirklich einfarbig ist. Da wir ja nun alles ausgewählt haben, was wir nicht einfärben wollen, müssen wir die Auswahl einfach invertieren. Das ist oben im Menü unter Auswahl zu finden. Jetzt ist alles, was rot ist, ausgewählt. Nun aber bitte nicht wieder auf Löschen klicken, dann ist sowohl das Schwarze als auch das Rote weg… Wir verwenden das Füll- Werkzeug, oft als Spraydose markiert. Damit können wir den ausgewählten Bereich mit einer Farbe, Schwarz bietet sich an, ausfüllen.

Jetzt sind wir wirklich fertig und können das Bild speichern. Das muss zwingend als PNG erfolgen. Wir haben einen transparenten Hintergrund. JPG oder BMP können keine Transparenz verarbeiten. Dann wäre alle Arbeit vergeblich. Also bitte als PNG abspeichern.

Jetzt kommt dann Inkscape zum Einsatz. Wir legen ein neues Projekt an (geschieht normalerweise direkt beim Öffnen des Programms). In dieses Projekt importieren wir die gerade erzeugte PNG Datei. Danach sollten wir die Dokumentengröße an das Objekt anpassen lassen.

Nun lassen wir die Form der Stirnwand automatisch nachzeichnen. Das ist oben im Menu unter Pfad zu finden und heißt “Bitmap nachzeichnen”.

Zunächst sehen wir keinen Unterschied, aber wenn man genau hin schaut, ist jetzt ein zweites Objekt vorhanden. Das erste Objekt heißt imagexxx (die Zahl ist jedes mal anders, spielt aber hier keine Rolle) und ist unser importiertes PNG. Darüber taucht nun aber ein weiteres Objekt auf, das pathxxx heißt. Sofern wir die Füllung nicht angegeben haben, ist das Objekt nicht sichtbar, aber dennoch vorhanden. OpenSCAD interessiert sich nicht für die Farbe, von daher wäre es egal. Aber wenn wir sehen können, was wir machen, ist das natürlich schöner. Also stellt man, sofern nicht bereits geschehen, die Füllung für unseren Pfad auf Schwarz ein.

Mit den “Augen- Piktogrammen” können wir nun sowohl das Bild als auch den Pfad ein- und ausblenden. Solange wenigstens eines der beiden Objekte sichtbar ist, ändert sich scheinbar nichts.  Aber zwischen einer Bitmap, die wir mit dem Scanner in Paint.NET erzeugt haben und einer Vektor- Grafik liegen Welten… OpenSCAD benötigt eben Vektor- Zeichnungen und keine Bitmaps, zumindest nicht für das, was wir hier vorhaben. Nun löschen wir das Bild wieder, in dem wir einfach die Löschen Taste drücken, sofern das Bild (imagexxx) blau hinterlegt, also ausgewählt ist.  Jetzt müssen wir die Datei nur noch als SVG speichern. SVG ist das “native” Format von Inkscape, das sollte also gar keine Probleme bereiten.

Packwagen-Stirnseite

Für alle, die das nicht selbst machen wollen, habe ich hier die SVG Datei angehängt.

Aus diesem Scan eines Magic- Train Wagens erzeugen wir nun in OpenSCAD ein 3D Modell…

Neben den schon bekanntem “translate” brauchen wir zwei neue Befehle. Zum einen “linear_extrude”, was aus einem 2D Objekt durch Extrudieren ein 3D Objekt erzeugt. Daneben müssen wir die SVG Datei ja irgendwie in OpenSCAD rein bekommen. Das geht mit dem Befehl Import.

translate([0,0,0.75])linear_extrude(height = 1.5, center = true, convexity = 10)
import("Packwagen-Stirnseite.svg", dpi = 300);

Das ist alles, was wir in OpenSCAD benötigen, um eine dreidimensionale Stirnwand zu bekommen. Mit “height” wird die Dicke der Wand angegeben. ich habe mich für 1,5 mm entschieden um das Anbauteil nicht zu schwer aber auch nicht zu instabil zu machen.  convexity = 10 ist eine reine Formalie und hat auf das Ergebnis keinen Einfluss, fehlt es aber, gibt es Probleme… Wenn die SVG Datei im selben Verzeichnis wie das OpenSCAD Skript liegt, muss kein Pfad angegeben werden, so wie im Beispiel hier. Sonst muss der vollständige Pfad dort angegeben werden. Bei Windows müsste obendrein alle \ doppelt geschrieben werden, da sie sonst als Steuerzeichen und nicht als Teil des Pfades interpretiert werden. Am besten ist es also, die Datei einfach im gleichen Ordner zu haben.

Soweit erst mal für jetzt. Als nächstes muss ein Test- Druck gemacht werden, ob alles soweit passt. Ein wenig Spachteln werden wir sicher müssen, aber das Anbauteil sollte doch so gut wie möglich passen.

Weiter geht es dann mit den Seitenwänden und dem Boden, die je nur aus einfachen Kuben bestehen. Dazu muss ich aber den Wagen erst wieder zusammenbauen und ein paar Maße nehmen…

Auf diese Art kann man natürlich auch noch sehr viel komplexere Vorbilder in das 3D Programm bringen. Bei Fotos muss man halt die Perspektive korrigieren und die Größe so anpassen, das es zum angedachten Maßstab passt. Beim Einscannen von (halbwegs) ebenen Objekten passt sowohl die Perspektive als auch die Größe von Haus aus, Deswegen habe ich kein Foto vom Wagen gemacht, sondern den Scanner verwendet…

Inzwischen habe ich die benötigten Maße vom Wagen abgenommen und das Anbauteil weiter konstruiert.

Statt die Wände aus einzelnen Kuben zusammen zu setzen, extrudiere ich lieber die Wand auf die volle benötigte Dicke und höhle das Teil dann aus. Macht weniger Arbeit…

//Packwagen- Verlängerung

difference(){
translate([0,0,6.5])linear_extrude(height = 13, center = true, convexity = 10)
import("Packwagen-Stirnseite.svg", dpi = 300); // Aus Scan extrudierte Grundplatte

translate([4,3,-1]) cube([48,70,12]); //Aushöhlung des Anbauteils

translate([16.5,0,-1]) cube([20,4,3]); //Aussparung für die Tür
}

Die Version oben würde bündig mit dem Fahrwerk und dem Dach abschließen. Die untere Aussparung ist als Spielraum für die erhaben ausgeführte Tür des Aufbaus vorgesehen. So besteht keine Gefahr, das der Anbau nicht bündig passt.

Eine andere denkbare Version, die wohl nicht so “nackig” daher kommt, wäre es, den Anbau  kürzer zu machen und dafür zwei U- Profile an die Stirnwand zu bauen, wie man sie häufig bei Güterwagen findet..

//Packwagen- Verlängerung

difference(){
translate([0,0,6.5])linear_extrude(height = 12, center = true, convexity = 10)
import("Packwagen-Stirnseite.svg", dpi = 300); // Aus Scan extrudierte Grundplatte

translate([4,3,-1]) cube([48,70,11]); //Aushöhlung des Anbauteils

translate([16.5,0,-1]) cube([20,4,3]); //Aussparung für die Tür

}

//U-Profil zur Auflockerung

difference(){
translate([10.5,-5,12]) cube([3,56,1]);
translate([11.25,-6,12.5]) cube([1.5,58,0.5]);

}// Erstes Profil

difference(){
translate([42,-5,12]) cube([3,56,1]);

translate([42.75,-6,12.5]) cube([1.5,58,0.5]);

}// Zweites Profil

Ich musste ein wenig mit den Werten jonglieren, bis es gefällig aussieht…

Diese Version werde ich nun erst mal ausdrucken und testen, ob alles passt…

Das sieht so zwar gefällig aus, kann aber nicht funktionieren. Denn das Fahrwerk würde mit den U- Profilen kollidieren. Zum Glück ist mir das noch vor dem Testdruck aufgefallen, sonst hätte ich die überstehenden Profile mühsam abtrennen müssen…

//Packwagen- Verlängerung

difference(){
translate([0,0,6.5])linear_extrude(height = 12, center = true, convexity = 10)
import("Packwagen-Stirnseite.svg", dpi = 300); // Aus Scan extrudierte Grundplatte

translate([4,3,-1]) cube([48,70,11]); //Aushöhlung des Anbauteils

translate([16.5,0,-1]) cube([20,4,3]); //Aussparung für die Tür

}

//U-Profil zur Auflockerung

difference(){
translate([10.5,0.5,12]) cube([3,50.5,1]);
translate([11.25,-1,12.5]) cube([1.5,53,0.5]);

}// Erstes Profil

difference(){
translate([42,0.5,12]) cube([3,50.5,1]);

translate([42.75,-1,12.5]) cube([1.5,53,0.5]);

}// Zweites Profil

Also auf ein Neues ab in den Slicer.

So, nun aber wirklich drucken. Das wird so ca 2 Stunden (incl. Versäubern und Aushärten) dauern…

Während das Teil druckt, habe ich noch eben schnell die Fenster- Einsätze konstruiert. Die könnte man sicher auch einfach aus Kunststoff ausschneiden, aber wenn man schon einen 3D Drucker hat, warum sollte man das von Hand machen?

// Fenster Einsatz für Magic Train Personenwagen

cube([20,17,1]);

translate([1,1,0])cube([17.6,14.6,2.9]);

Der Code ist so simpel, das man ihn wirklich nicht mehr erklären muss..

Da man ja vier Einsätze für einen Wagen braucht, fügt man das Teil eben vier mal in den Slicer ein. So werden alle vier Teile auf einmal ausgedruckt…

Die Drucke sind fertig und passen leidlich gut. Die Fenster- Einsätze könnten 0,1 mm dicker sein, aber das spachtele ich einfach weg…

Jetzt kann man doch schon gut sehen, was das mal werden soll.

Das Ansatzteil passt saugend unter das Dach. Es ist noch nicht angeklebt, hält aber bombenfest. Bevor ich die Schiebetür, die erst noch konstruiert und gedruckt werden muss, anbauen kann, muss der Wagen- Aufbau erst verspachtelt und geschliffen werden.  Dann können die Schiebetüren angebaut und der Aufbau lackiert werden. Zuletzt kommt dann die Inneneinrichtung und die Beleuchtung. Dann sollte der Packwagen so weit fertig sein…

Heute habe ich die Schiebetür(en) konstruiert. Zumindest mal eine erste Version. Ob das dann alles auch so passt und druckbar ist, muss sich erst noch zeigen…

Als grobe Vorlage habe ich ein Foto eines GMS 54 Güterwagen- Modells von Lenz hergenommen. Wenn man zu viele Details wie z.b. Holzmaserung und Bretterfugen auf der Tür verwirklicht, wird es vermutlich mit dem sehr glatten “geschweißten Blech- Aufbau” des Magic Train Wagens nicht wirklich harmonieren. Der GMS 54 hat glatte Blech- Türen und die eigentliche Schiebe- Mechanik ist in den Schienen verborgen. Trotzdem sind diverse Bolzen, Hebel und Verstärkungs- “Bleche” vorhanden. Eigentlich besteht die Schiebetür nur aus den Grundkörpern, die am Anfang des OpenSCAD Kurses behandelt wurden. Als kleinen Trick verwende ich hier Zylinder mit einer “Auflösung” $fn=6 womit man schöne Sechskant- Bolzen bekommt.

cylinder(h = 1, r = 0.5, $fn = 6);

Das ergibt Bolzen mit 45 mm Durchmesser umgerechnet von 1:45…

Daneben wird noch eine komplett neue Funktion angewendet, die “surface” Funktion. Damit kann aus einer PNG Bitmap ein Objekt erzeugt werden, bei dem die Helligkeits- Informationen der Grafik als Definition für die Höhe. Je dunkler das Bild ist, desto höher wird das Objekt an dieser Stelle. Man kann das Ganze auch umkehren. Dann wird es mit zunehmender Helligkeit höher. Was man bevorzugt, ist Geschmackssache. Eigentlich müsste man sich die PNG Datei selbst herstellen, um die gewünschte Größe des Objekts genau bestimmen zu können. Da ich diese Funktion nur für die Trittstufen verwendet habe, habe ich mir den Aufwand gespart und mir ein PNG im Internet gesucht. Allerdings war das viel zu groß, so das ich sehr seltsame Skalierungewerte verwenden musste.

Hier ist die erste Version des Codes für die linke Seite (sofern man die verbleibenden Fenster als “vorne” ansieht:

// Schiebetür 1

// Auflösung
$fn=100;

// Tür- Grundkörper
translate([1,0,0]) cube([26,40,1]);

// Untere Schiene
difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Obere Schiene
translate([0,40,2])rotate([180,0,0])difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Stütze
translate([54.5,0,0])difference(){
cube([1.5,40,2]);
translate([0,0,0.5])cube([0.75,40,1]);
}

// Puffer
translate([54.2,21,1])sphere(d=2);

translate([54,20,0])
cube(2);

// Rahmen
translate([1,2.8,1])difference(){
cube([26,34.8,1]);
translate([2,2,0.5])cube([22,30.8,2]);
}

// Verstärkungsecken
translate([3,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([3,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);

//U-Profil
translate([13,2.3,1])difference(){
translate([0,0.5,0]) cube([2,34.8,1.5]);
translate([0.5,-1,1]) cube([1,43,1]);
}

// Türpuffer
translate([27.3,21,1])sphere(d=2);

translate([25.5,20,0])
cube(2);

// Handgriff 1
translate([2.1,7.9,0])cylinder(h = 4, r = 0.3);
translate([2.1,7.9,4]) sphere(0.3);
translate([2.1,15.9,0])cylinder(h = 4, r = 0.3);
translate([2.1,15.9,4]) sphere(0.3);
translate([2.1,15.9,4])rotate([90,0,0])cylinder(h = 8, r = 0.3);

// Schrauben unten
translate([2.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben oben
translate([2.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben links
translate([2.1,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben rechts
translate([25.9,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Tritt 1
translate([3,1,0.8])rotate([90,0,0])cylinder(h=6.7, r=0.5);
translate([3,-4.8,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([13,1,0.8])rotate([90,0,0])cylinder(h=6.7, r=0.5);
translate([13,-4.8,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([2.2,-5.5,2.5])
scale([0.0233, 0.005, 0.01])rotate([-90,0,0])
surface(file = "holz.png");

// Riegel 1
translate([0.8,19,0])cylinder(h = 3, r = 0.3);
translate([0.8,19,3]) sphere(0.3);
translate([0.8,19,3])rotate([0,90,0])cylinder(h = 4, r = 0.3);
translate([4.8,19,3]) sphere(0.3);
translate([3,18.4,2])cube([2,0.5,1.5]);
translate([3,18.4,2])cube([2,1.5,0.5]);
translate([3,18.4,3])cube([2,1.5,0.5]);

Die andere Seite unterscheidet sich bei der Anordnung des Handgriffs, des Riegels und des Tritts..

// Schiebetür 2

// Auflösung
$fn=100;

// Tür- Grundkörper
translate([1,0,0]) cube([26,40,1]);

// Untere Schiene
difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Obere Schiene
translate([0,40,2])rotate([180,0,0])difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Stütze
translate([54.5,0,0])difference(){
cube([1.5,40,2]);
translate([0,0,0.5])cube([0.75,40,1]);
}

// Puffer
translate([54.2,21,1])sphere(d=2);

translate([54,20,0])
cube(2);

// Rahmen
translate([1,2.8,1])difference(){
cube([26,34.8,1]);
translate([2,2,0.5])cube([22,30.8,2]);
}

// Verstärkungsecken
translate([3,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([3,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);

//U-Profil
translate([13,2.3,1])difference(){
translate([0,0.5,0]) cube([2,34.8,1.5]);
translate([0.5,-1,1]) cube([1,43,1]);
}

// Türpuffer
translate([27.3,21,1])sphere(d=2);

translate([25.5,20,0])
cube(2);

// Handgriff 2
translate([2.1,23.9,0])cylinder(h = 4, r = 0.3);
translate([2.1,23.9,4]) sphere(0.3);
translate([2.1,31.9,0])cylinder(h = 4, r = 0.3);
translate([2.1,31.9,4]) sphere(0.3);
translate([2.1,31.9,4])rotate([90,0,0])cylinder(h = 8, r = 0.3);

// Schrauben unten
translate([2.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben oben
translate([2.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben links
translate([2.1,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben rechts
translate([25.9,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Tritt 2
translate([3,45.8,0.8])rotate([90,0,0])cylinder(h=6.6, r=0.5);
translate([3,46.2,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([13,45.8,0.8])rotate([90,0,0])cylinder(h=6.6, r=0.5);
translate([13,46.2,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([2.2,45.7,0])
scale([0.0233, 0.005, 0.01])rotate([90,0,0])
surface(file = "holz.png");

// Riegel 2
translate([0.8,21,0])cylinder(h = 3, r = 0.3);
translate([0.8,21,3]) sphere(0.3);
translate([0.8,21,3])rotate([0,90,0])cylinder(h = 4, r = 0.3);
translate([4.8,21,3]) sphere(0.3);
translate([3,21.4,2])cube([2,0.5,1.5]);
translate([3,20,2])cube([2,1.5,0.5]);
translate([3,20,3])cube([2,1.5,0.5]);

Und hier noch ein Screenshot aus OpenSCAD…

Und die beiden Türen mal als Bild exportiert:

Und die andere Seite:

Die zweite Tür ist die, die auf die Seite kommt, welches man auf dem Foto vom Packwagen mit den schon angebauten 3D Teilen sehen kann. Die andere Tür kommt entsprechend auf die nicht sichtbare Seite…

Jetzt muss ich die Türen noch rendern und ausdrucken. Das wird aber nicht mehr heute geschehen…

Eine erste Lage Spachtel ist ebenfalls schon aufgetragen und wieder runter geschliffen. Ist ja meist so, das man fast alles, was man an Spachtel aufträgt nachher mühsam wieder abschleifen muss… Aber das kleine Bisschen, was übrig bleibt, macht eben den Unterschied… Aber ich muss noch mal eine zweite Lage auftragen, um wirklich alle Unebenheiten zu beseitigen. Bei dem Staub und Dreck habe ich keine Fotos gemacht. Das passiert erst dann wieder, wenn die Schleiferei vorbei ist.

Heute habe ich die Schiebetüren gerendert und ausgedruckt. Das Rendern hat auf Grund der Holzmaserung auf den Tritten ca 20 Minuten gedauert. Also nicht wundern. Das eigentliche Ausdrucken hat nicht viel länger gedauert.

Ein weiterer “Brocken” wird ja noch die Inneneinrichtung aber bisher hat mich der Packwagen- Umbau gerade mal 1,50€ an Harz gekostet. Viel mehr als 1€ dürfte aber auch die Inneneinrichtung nicht verschlingen. Und der Slicer rechnet immer mit 60€ pro Liter. Tatsächlich kostet das Harz aber eher 35-40€. Der Rest ist (mehr als großzügig) für den Verschleiß des Displays und der Folien einkalkuliert.

An sich hat der Druck gut funktioniert. Nur der Haken zum Verriegeln der Tür ist , warum auch immer, nicht mit gedruckt worden. Die filigranen freistehenden Griffstangen sind dagegen wunderbar gedruckt geworden.

Da der aktuell umzubauende Wagen gerade frisch gespachtelt ist und erst mal durchtrocknen muss, hier als ersten Eindruck mal eine Tür auf einen Personenwagen gelegt, der später ebenfalls zu einem Packwagen umgebaut werden soll…

Ich muss  die Tür doch etwas höher machen. Es schien passend zu sein, als ich gemessen habe, aber nun sieht es so aus, als ob die Tür etwas arg klein ist… Dabei werde ich auch gleich das Problem mit dem Riegel lösen.  und die hintere Strebe etwas verstärken. Wenn Teile zu dünn über eine zu lange Strecke werden, verziehen sie sich leider gerne mal, wie man auf dem Foto ja leider sehen kann… Außerdem werde ich statt der zwar einwandfrei gedruckten Handgriffe lieber zwei Löcher für etwas Messingdraht vorsehen. Die Griffe brechen nämlich schon vom Anpusten ab, so filigran sind sie geworden. Auch die Tritte werde ich eine Nummer robuster machen. Die kommen ebenfalls papierdünn aus dem Drucker. Auch die dürften kein langes Leben haben, so wie sie sind…

Also erneut in OpenSCAD gehen und ein paar Sachen ändern.

// Schiebetür 1

// Auflösung
$fn=100;

scale([1.05,1.08,1])
difference(){
union(){
// Tür- Grundkörper
translate([1,0,0]) cube([26,40,1]);

// Untere Schiene
difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Obere Schiene
translate([0,40,2])rotate([180,0,0])difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Stütze
translate([54.5,0,0])//difference(){
cube([1.5,40,2]);
//translate([0,0,0.5])cube([0.75,40,1]);
//}

// Puffer
translate([54.2,21,1])sphere(d=2);

translate([54,20,0])
cube(2);

// Rahmen
translate([1,2.8,1])difference(){
cube([26,34.8,1]);
translate([2,2,0.5])cube([22,30.8,2]);
}

// Verstärkungsecken
translate([3,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([3,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);

//U-Profil
translate([13,2.3,1])difference(){
translate([0,0.5,0]) cube([2,34.8,1.5]);
translate([0.5,-1,1]) cube([1,43,1]);
}

// Türpuffer
translate([27.3,21,1])sphere(d=2);

translate([25.5,20,0])
cube(2);

// Schrauben unten
translate([2.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben oben
translate([2.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben links
translate([2.1,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben rechts
translate([25.9,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Tritt 1
translate([3,1,0.8])rotate([90,0,0])cylinder(h=6.7, r=0.5);
translate([3,-4.8,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([13,1,0.8])rotate([90,0,0])cylinder(h=6.7, r=0.5);
translate([13,-4.8,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([0,-5.5,0])
cube([16,1,3]);

// Riegel 1
translate([0.7,19,0])cylinder(h = 3, r = 0.5);
translate([0.7,19,3]) sphere(0.5);
translate([0.7,19,3])rotate([0,90,0])cylinder(h = 4, r = 0.5);
translate([4.5,19,3]) sphere(0.5);
difference(){
translate([3,18,0])cube([2,2,4]);
translate([2,18.55,3.2])cube([3.5,1,1]);

}
}
// Löcher für Handgriff 1
translate([2.1,7.9,0])cylinder(h = 4, r = 0.5);
translate([2.1,15.9,0])cylinder(h = 4, r = 0.5);
}

Und die andere Seite:

// Schiebetür 2

// Auflösung
$fn=100;

scale([1.05,1.08,1])
difference(){
union(){
// Tür- Grundkörper
translate([1,0,0]) cube([26,40,1]);

// Untere Schiene
difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Obere Schiene
translate([0,40,2])rotate([180,0,0])difference(){
cube([56,2,2]);
translate([27.7,1.1,0.5])cube([28,1,1]);
}

// Stütze
translate([54.5,0,0])//difference(){
cube([1.5,40,2]);
//translate([0,0,0.5])cube([0.75,40,1]);
//}

// Puffer
translate([54.2,21,1])sphere(d=2);

translate([54,20,0])
cube(2);

// Rahmen
translate([1,2.8,1])difference(){
cube([26,34.8,1]);
translate([2,2,0.5])cube([22,30.8,2]);
}

// Verstärkungsecken
translate([3,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([3,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,3.5,1.5])rotate([0,0,45])cube([2,2,0.2]);
translate([24.9,34.1,1.5])rotate([0,0,45])cube([2,2,0.2]);

//U-Profil
translate([13,2.3,1])difference(){
translate([0,0.5,0]) cube([2,34.8,1.5]);
translate([0.5,-1,1]) cube([1,43,1]);
}

// Türpuffer
translate([27.3,21,1])sphere(d=2);

translate([25.5,20,0])
cube(2);

// Schrauben unten
translate([2.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,3.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben oben
translate([2.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([6.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([10.1,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([21.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([17.9,36.6,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben links
translate([2.1,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([2.1,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Schrauben rechts
translate([25.9,7.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,11.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,15.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,19.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,23.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,27.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);
translate([25.9,31.9,0.5])cylinder(h = 2, r = 0.5, $fn = 6);

// Tritt 2
translate([3,45.8,0.8])rotate([90,0,0])cylinder(h=6.7, r=0.5);
translate([3,46.2,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);
translate([13,45.8,0.8])rotate([90,0,0])cylinder(h=6.7, r=0.5);
translate([13,46.2,0.8])rotate([90,0,0])cylinder(h = 1, r = 0.5, $fn = 6);

translate([0,44.7,0])
cube([16,1,3]);

// Riegel 2
translate([0.7,21,0])cylinder(h = 3, r = 0.5);
translate([0.8,21,3]) sphere(0.5);
translate([0.8,21,3])rotate([0,90,0])cylinder(h = 4, r = 0.5);
difference(){
translate([3,20,0])cube([2,2,4]);
translate([2,20.55,3.2])cube([3.5,1,1]);

}
}

// Löcher für Handgriff 2
translate([2.1,23.9,0])cylinder(h = 4, r = 0.5);
translate([2.1,31.9,0])cylinder(h = 4, r = 0.5);
}

Statt alle Abmessungen zu ändern habe ich einfach die ganze Tür per “union” zu einem Objekt vereint und dieses Objekt dann mit “scale” in der Größe verändert.  Obwohl ich unterschiedliche Werte für X Y und Z

(scale([1.05,1.08,1])

verwendet habe, sind die Verzerrungen nicht zu sehen. So passt die Tür aber genau. Den wirklich sauber gedruckten Handgriff, der aber mit 0,6 mm Durchmesser einfach zu empfindlich ist, habe ich durch zwei entsprechende Löcher für etwas Messingdraht ersetzt. Leider sind die Löcher beim Drucken dann ziemlich zugelaufen, so das ich sie nach dem Lackieren noch mal aufbohren muss. Aber das ist kein Problem… Beim zweiten Packwagen werde ich sie noch etwas größer vom Durchmesser her machen, was ich schon in den Quellcode oben eingebaut habe. Aber für jetzt geht es erst mal so… Den Riegel habe ich auch überarbeitet, meint etwas grober gemacht. Nun wird er anständig gedruckt.

Nach dem Drucken und Aushärten hatte ich dann tatsächlich zwei brauchbare Türen für meinen Packwagen.

Schnell noch eine “Anprobe”:

Und die Türen können an den gespachtelten und geschliffenen Aufbau angeklebt werden.

Jetzt ist der Wagen im Rohbau so weit fertig und kann lackiert werden.

Nun muss noch die Inneneirichtung fürs Büro, die Fensterscheiben und die Innenbeleuchtung hergestellt werden.  Vielleicht spendiere ich meinen Magic Train Wagen auch noch Fensterahmen aus 0,5 mm dickem, schwarzen, gelaserten Karton.

Die Inneneinrichtung wird auch noch im 3D Druck hergestellt. Dabei will ich neben der Einrichtung für den Packwagen auch eine für die “normalen” Personenwagen konstruieren. Das, was bei Magic Train mitgeliefert wird, ist nicht mal ein Witz, völlig unbrauchbar…

Wenn alles so weit fertig ist, werde ich noch mal gesammelt alle STL, SCAD, SVG und PNG Dateien in einem Zip- Archiv zum Download einstellen.

Inzwischen bin ich mit der Inneneinrichtung angefangen. Wie angekündigt, habe ich zunächst die Einrichtung für die “normalen” Personenwagen konstruiert. Dazu habe ich ein .PNG erzeugt, welches den Dielenboden des Wagens darstellen soll.

Daraus habe ich dann per “Surface” Befehl  den Fußboden  erzeugen lassen. Dadurch wird das Rendern zwar wieder stark verlangsamt, aber anders sind solche Effekte nur schwer hin zu bekommen…

Die Wagen bekommen eine Toilette, wofür jeweils ein Fenster mit weißem Papier hinterlegt werden muss.

Die Sitze habe ich einzeln als Modul in einer externen Datei “sitz.scad” konstruiert und später mit “include” in die eigentliche Inneneinrichtung eingebunden. Das Modul wird in der ersten Zeile definiert.  Das geht mit “module modulname() {” und erfordert natürlich noch eine schließende } am Ende… Der Modulname kann frei gewählt werden. Hier heißt das Modul sitz, was passend erscheint…

// Sitz - Modul
module sitz() {

$fn=100;

// Füße
translate([0.5,2,0])cube([7,4,5]);
translate([0.5,14,0])cube([7,4,5]);

//Sitzfläche
translate([0,0,4.99])
difference(){
minkowski()
{ translate([1.0,2,0])
cube([5.2,16,1]);
cylinder(h = 0.1, d = 4);

}
translate([-3,0,-0.1])cube([3.7,21,3]);
}

//Rückenlehne

difference(){
rotate([0,-5,0])
cube([1.2,20,18]);
translate([-0.1,0,-10.1])cube([10,25,10]);
}

difference(){
minkowski()
{ translate([-1.5,2,18])cube([1.2,16,14]);
rotate([0,90,0])cylinder(h = 0.1, d = 4);
}
translate([-1.5,-0.1,8.9])cube([1.2,21,9]);
}

// Gepäcknetz
translate([2.5,0,0])rotate([0,-5,0])union(){translate([-1,1.5,25])rotate([0,90,0])cylinder(h=5, d=1);
translate([4,1.5,25])
sphere(d=1);

translate([-1,18.5,25])rotate([0,90,0])cylinder(h=5, d=1);
translate([4,18.5,25])
sphere(d=1);

translate([4,18.5,25])rotate([90,0,0])cylinder(h=17, d=1);

translate([0.5,18.5,25])rotate([90,0,0])cylinder(h=17, d=0.3);
translate([1.5,18.5,25])rotate([90,0,0])cylinder(h=17, d=0.3);

translate([2.5,18.5,25])rotate([90,0,0])cylinder(h=17, d=0.3);

translate([-1,5.75,25])rotate([0,90,0])cylinder(h=5, d=0.3);

translate([-1,10,25])rotate([0,90,0])cylinder(h=5, d=0.3);

translate([-1,14.5,25])rotate([0,90,0])cylinder(h=5, d=0.3);
}
}

Sonst ist hier nichts, was wir nicht schon gehabt hätten. Während der Bearbeitung kann/sollte man das Modul einmal aufrufen, damit der Sitz angezeigt wird. Das geht dann so:

sitz();

Ist man fertig, muss man diese Zeile löschen oder aus- kommentieren, da sonst bei jedem Aufruf des Moduls zusätzlich ein Sitz bei 0,0,0 erzeugt wird. Das wäre gar nicht sinnvoll…

Wenn man jetzt was am Sitz ändern will, z.B. noch Polster oder Armlehnen anbauen will, muss man an der Datei für die Inneneinrichtung nichts mehr ändern, einfach neu  rendern (das dauert sehr lange, nicht wundern) und neu als STL exportieren…

In der eigentlichen Konstruktion für die Inneneinrichtung wird die Grundplatte, die Wände mit Tür für die Toilette und die Position der Sitze festgelegt…

// Inneneinrichtung Magic Train Personenwagen

//Includes

include <sitz.scad> //Die Sitze als Modul

//Grundplatte mit Holzboden
difference(){

union(){
cube([102,49,1.3]);
translate([0,0,1.3])scale([0.341, 0.343, 0.005])
surface(file = "Holzbohlen2.png");
}

translate([-0.1,-0.1,-0.5])cube([2,2,3]);
translate([0.,47.1,-0.5])cube([2,2,3]);
translate([100.1,-0.1,-0.5])cube([2,2,3]);
translate([100.1,47.1,-0.5])cube([2,2,3]);
translate([10,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
translate([92,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
}
// Toilette, Gangseite
translate([0,1.1,0])union(){
difference(){translate([0,18,1])cube([24.5,1,40]);
translate([2,18.1,1])cube([12,1.2,37]);
}

translate([2.2,18.1,1])cube([11.6,1,36.8]);

// Türscharniere
translate([2.1,19.1,34])cylinder(h=2, d=0.5, $fn=100);

translate([2.1,19.1,4])cylinder(h=2, d=0.5, $fn=100);

// Türklinke

translate([11.5,18.9,19])cube([1.5,0.5,2.8]);

translate([12.25,19.9,20.8])rotate([90,0,0])cylinder(h = 1.5, r = 0.3, $fn=100);
translate([12.25,19.9,20.8]) sphere(0.3, $fn=100);
translate([12.25,19.9,20.8])rotate([0,-90,0])cylinder(h = 1.8, r = 0.3, $fn=100);

}
// Toilette, Sitzseite
translate([23.5,0,1])cube([1,19.5,40]);

// Sitzreihe Fensterseite
difference(){
translate([1.2,28.15,0])rotate([0,0,0])sitz();
translate([-40,28,0])cube(40);
}

translate([25.6,28.15,0])sitz();

translate([23.6,48.15,0])rotate([0,0,180])
sitz();

translate([50.6,28.15,0])sitz();

translate([48.6,48.15,0])rotate([0,0,180])
sitz();

translate([75.6,28.15,0])sitz();

translate([73.6,48.15,0])rotate([0,0,180])
sitz();

difference(){
translate([100.6,48.15,0])rotate([0,0,180])
sitz();
translate([102,10,0])cube(40);
}

// Sitzreihe Toilettenseite
translate([25.6,0.05,0])sitz();

translate([50.6,0.15,0])sitz();

translate([48.6,20.15,0])rotate([0,0,180])
sitz();

translate([75.6,0.15,0])sitz();

translate([73.6,20.15,0])rotate([0,0,180])
sitz();

difference(){
translate([100.6,20.08,0])rotate([0,0,180])sitz();
translate([102,0,0])cube(40);
}

Auch hier sind keine unbekannten Befehle enthalten, wenn man von dem Include ganz oben absieht und dem mehrfachen Aufruf unseres eigenen Moduls “sitz()”.

Nach dem sehr lange dauernden Rendern habe ich das Modell als .STL Datei exportiert. Da die Inneneinrichtung auch für Leute interessant sein könnte, die keinen Packwagen- Umbau machen oder dem OpenSCAD Kurs nicht verfolgen, hänge ich die STL Datei hier einfach mal an:

Inneneinrichtung

Die Datei ist noch ungetestet, sprich noch nicht gedruckt. Das wird heute Nacht passieren.

Sollten noch Änderungen nötig werden, werde ich die Datei neu hochladen…

Die Inneneinrichtung für den Packwagen ist längst nicht so kompliziert, sollte also schnell erledigt sein. Das gehe ich dann als nächstes an.

Man könnte auf die Sitze per “surface” auch Bretterfugen machen.  Aber ich hatte eher vor, dort Sitzpolster drauf zu machen statt Bretterfugen. Schließlich ist das keine “Museumsbahn”, sondern eine Touristen- Attraktion… Die Gepäcknetze kommen übrigens (fast) einwandfrei aus dem Drucker. Lediglich eines der vielen Netze ist nicht 100% sauber geworden. 0.3 mm “Drähte” kann ich drucken. Nur die Stabilität ist minimal. Das wird aber durch den stabilen Rahmen abgemildert…

Ich habe die “sitz.scad” Datei noch mal überarbeitet, so das man den Sitz jetzt wahlweise mit oder ohne Sitzpolster drucken kann. Als Standard wird der Sitz mit Polstern gedruckt. Wenn man das nicht möchte, muss man das Modul mit einem Argument aufrufen sitz(0);  statt wie bisher sitz();  Mit sitz(1); werden die Polster ebenfalls gedruckt, bei jeder beliebigen anderen Zahl nicht…

// Sitz - Modul

module sitz(polster=1) {

// Wenn man keine Sitzpolster will, einfach das Modul mit sitz(0); oder irgendeiner anderen Zahl außer 1 aufrufen

//Auflösung
$fn=100;

// Füße
translate([0.5,2,0])cube([7,4,5]);
translate([0.5,14,0])cube([7,4,5]);

//Sitzfläche
translate([0,0,4.99])
difference(){
minkowski()
{ translate([1.0,2,0])
cube([5.2,16,1]);
cylinder(h = 0.1, d = 4);

}
translate([-3,0,-0.1])cube([3.7,21,3]);
}

 

//Rückenlehne

difference(){
rotate([0,-5,0])
cube([1.2,20,18]);
translate([-0.1,0,-10.1])cube([10,25,10]);
}

difference(){
minkowski()
{ translate([-1.5,2,18])cube([1.2,16,14]);
rotate([0,90,0])cylinder(h = 0.1, d = 4);
}
translate([-1.5,-0.1,8.9])cube([1.2,21,9]);
}

// Gepäcknetz
color("silver")translate([2.5,0,0])rotate([0,-5,0])union(){translate([-1,1.5,25])rotate([0,90,0])cylinder(h=5, d=1);
translate([4,1.5,25])
sphere(d=1);

translate([-1,18.5,25])rotate([0,90,0])cylinder(h=5, d=1);
translate([4,18.5,25])
sphere(d=1);

translate([4,18.5,25])rotate([90,0,0])cylinder(h=17, d=1);

translate([0.5,18.5,25])rotate([90,0,0])cylinder(h=17, d=0.3);
translate([1.5,18.5,25])rotate([90,0,0])cylinder(h=17, d=0.3);

translate([2.5,18.5,25])rotate([90,0,0])cylinder(h=17, d=0.3);

translate([-1,5.75,25])rotate([0,90,0])cylinder(h=5, d=0.3);

translate([-1,10,25])rotate([0,90,0])cylinder(h=5, d=0.3);

translate([-1,14.5,25])rotate([0,90,0])cylinder(h=5, d=0.3);
}

if (polster==1){
color("aqua")translate([0.5,2,6.01])minkowski(){
cube([6,6.8,0.5]);
cylinder(h=0.1, r=1,$fn=100);
}

color("aqua")translate([0.5,11.5,6.01])minkowski(){
cube([6,6.8,0.5]);
cylinder(h=0.1, r=1, $fn=100);
}

color("aqua")translate([0,2,6.01])rotate([0,-5,0])minkowski(){
cube([1.2,6.8,8.5]);
rotate([0,90,0]) cylinder(h=0.1, r=1, $fn=100);
}

color("aqua")translate([0,11.5,6.01])rotate([0,-5,0])minkowski(){
cube([1.2,6.8,8.5]);
rotate([0,90,0]) cylinder(h=0.1, r=1, $fn=100);
}

}
}
//sitz();

Ich musste aber sowieso noch mal ran. Die Position der Sitze ist leider nicht ganz richtig. Ich habe mich um ca 0.5 mm verrechnet. Deswegen stehen die Sitze nicht genau mittig zwischen den Fenstern, sondern der Abstand ist je um 0.5 mm zu klein. Dadurch rutschen die Sitze immer mehr an die Kante der Bereiche zwischen den Fenstern…

Außerdem ist die “Gewichtsverteilung” nicht gut. Unten ein dünnes, durchgehendes “Brett” und oben lauter frei in die Höhe ragende schwere Teile. Nach dem Aushärten fängt das Teil leider an sich massiv zu verziehen. Direkt nach dem Aushärten war der Boden noch topfeben. Über Nacht nimmt er immer mehr eine Kugelform an…

Hier ist das überarbeitete OpenSCAD Skript, für alle, die die Inneneinrichtung trotzdem an einem Stück drucken wollen. Ich habe die Position der Sitze korrigiert und die Toilette verstärkt in der Hoffnung, das der Verzug nicht mehr so extrem wird..

// Inneneinrichtung Magic Train Personenwagen

//Includes

include <sitz.scad> //Die Sitze als Modul

//Grundplatte mit Holzboden
difference(){

union(){
cube([102,49,1.3]);
translate([0,0,1.3])scale([0.341, 0.343, 0.005])
surface(file = "Holzbohlen2.png");
}

translate([-0.1,-0.1,-0.5])cube([2,2,3]);
translate([0.,47.1,-0.5])cube([2,2,3]);
translate([100.1,-0.1,-0.5])cube([2,2,3]);
translate([100.1,47.1,-0.5])cube([2,2,3]);
translate([10,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
translate([92,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
}
// Toilette, Gangseite
translate([0,1.1,0])union(){
difference(){translate([0,18,1])cube([24.5,1,40]);
translate([2,18.1,1])cube([12,1.2,37]);
}

translate([0,1,1])cube([24.5,17.5,15]);

translate([2.2,18.1,1])cube([11.6,1,36.8]);

// Türscharniere
translate([2.1,19.1,34])cylinder(h=2, d=0.5, $fn=100);

translate([2.1,19.1,4])cylinder(h=2, d=0.5, $fn=100);

// Türklinke

translate([11.5,18.9,19])cube([1.5,0.5,2.8]);

translate([12.25,19.9,20.8])rotate([90,0,0])cylinder(h = 1.5, r = 0.3, $fn=100);
translate([12.25,19.9,20.8]) sphere(0.3, $fn=100);
translate([12.25,19.9,20.8])rotate([0,-90,0])cylinder(h = 1.8, r = 0.3, $fn=100);

}
// Toilette, Sitzseite
translate([23.5,0,1])cube([1,19.5,40]);

translate([0,1.9,1])cube([1,18,40]);

// Toilette, Dach
translate([0,0.5,39.9])cube([24.5,19.5,1.5]);

// Sitzreihe Fensterseite
difference(){
translate([1.2,28.15,0])rotate([0,0,0])sitz();
translate([-40,28,0])cube(40);
}

translate([25.6,28.15,0])sitz();

translate([23.1,48.15,0])rotate([0,0,180])
sitz();

translate([50.1,28.15,0])sitz();

translate([47.6,48.15,0])rotate([0,0,180])
sitz();

translate([74.6,28.15,0])sitz();

translate([72.1,48.15,0])rotate([0,0,180])
sitz();

difference(){
translate([100.6,48.15,0])rotate([0,0,180])
sitz();
translate([102,10,0])cube(40);
}

// Sitzreihe Toilettenseite
translate([25.1,0.05,0])sitz();

translate([49.6,0.15,0])sitz();

translate([47.6,20.15,0])rotate([0,0,180])
sitz();

translate([74.1,0.15,0])sitz();

translate([72.1,20.15,0])rotate([0,0,180])
sitz();

difference(){
translate([100.6,20.08,0])rotate([0,0,180])sitz();
translate([102,0,0])cube(40);
}

Ich selbst werde den Boden, die Sitze und die Toilette aber einzeln drucken und später zusammen kleben…

Die Grundplatte passt so auch zum Packwagen:

Ich habe die Bilder mal ein wenig mit Farbe aufgepeppt, damit man die Details besser erkennen kann… Auf die STL Dateien oder gar das Druck- Resultat hat das keinerlei Einfluss. Hier das OpenSCAD Skript. Die Farbe wird mit “color(“grey”) gesetzt. Man kann hier die gängigen (englischen) Farben- Namen  (hier “grey” für Grau) verwenden, oder RGB Werte direkt eingeben. Wie gesagt, ist für das fertige Modell völlig unerheblich, macht nur die Bilder etwas “schöner”…

// Fußboden Magic Train Personenwagen

//Grundplatte mit Holzboden
difference(){

color("grey") union(){
cube([102,49,1.3]);
translate([0,0,1.3])scale([0.341, 0.343, 0.005])
surface(file = "Holzbohlen2.png");
}

translate([-0.1,-0.1,-0.5])cube([2,2,3]);
translate([0.,47.1,-0.5])cube([2,2,3]);
translate([100.1,-0.1,-0.5])cube([2,2,3]);
translate([100.1,47.1,-0.5])cube([2,2,3]);
translate([10,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
translate([92,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
}

Nun der Doppelsitz. Hiervon werden für die komplette Inneneinrichtung 5 Stück gebraucht. Falls man auf die Toilette verzichten will, benötigt man 6 Stück…

Das Skript:

// Doppel-Sitz

//Includes

include <sitz.scad> //Die Sitze als Modul

// Mit Sitzpolster
sitz();

translate([-1.7,20.15,0])rotate([0,0,180])
sitz();

// Ohne Sitzpolster muss es jeweils sitz(0); heißen

 

Und noch der Einzelsitz… Davon benötigt man 3 Stück, Sofern man ohne Toilette baut, braucht man 4 solcher Sitze…

// Einzel-Sitz

//Includes

include <sitz.scad> //Die Sitze als Modul

// Mit Sitzpolster
sitz();

// Ohne Sitzpolster muss es sitz(0); heißen

 

 

Und zum Schluss noch die Toilette.

// Inneneinrichtung Magic Train Personenwagen

//Includes

include <sitz.scad> //Die Sitze als Modul

// Toilette, Gangseite
translate([0,1.1,0])union(){
color("maroon")difference(){translate([0,18,0])cube([24.5,1,40]);
translate([2,18.1,0])cube([12,1.2,37]);
}

translate([0,1,0])cube([24.5,17.5,15]);

color("teal")translate([2.2,18.1,0])cube([11.6,1,36.8]);

// Türscharniere
color("silver")translate([2.1,19.1,34])cylinder(h=2, d=0.5, $fn=100);

color("silver")translate([2.1,19.1,4])cylinder(h=2, d=0.5, $fn=100);

// Türklinke

color("silver")translate([11.5,18.9,19])cube([1.5,0.5,2.8]);

color("silver")translate([12.25,19.9,20.8])rotate([90,0,0])cylinder(h = 1.5, r = 0.3, $fn=100);
color("silver")translate([12.25,19.9,20.8]) sphere(0.3, $fn=100);
color("black")translate([12.25,19.9,20.8])rotate([0,-90,0])cylinder(h = 1.8, r = 0.3, $fn=100);

}
// Toilette, Sitzseite
color("maroon")translate([23.5,0,0])cube([1,19.5,40]);

translate([0,1.9,0])cube([1,18,40]);

// Toilette, Dach
color("maroon")translate([0,0,39.9])cube([24.5,20.1,1.5]);

// Sitz an Toilette
translate([25.1,0.05,0])sitz();

Die Toilette wird pro Wagen (maximal) einmal benötigt.

Man sieht, ich habe jetzt in drei verschiedenen Dateien jeweils das Sitz- Modul aus “sitz.scad” eingebunden und verwendet… Sonst hätte ich nach einem “Kopieren und Einfügen” alle drei Dateien entsprechend anpassen müssen, damit die Sitzpolster mit gedruckt werden können…

Allerdings geht mein Harz zur Neige… Ich überlege mir inzwischen, auf das ABS- LIke Resin umzusteigen. Nur dazu benötige ich eine “Waschanlage”, die mit Isopropylalkohol gefüllt werden kann… Dazu sind entweder zusätzliche Bastel- Arbeiten nötig oder eine Investition in eine “Elegoo Merkur” Wasch- und Aushärtekammer (gut 100€)… Daneben bin ich in den nächsten 2 Wochen arg beschäftigt, so das ich kaum Zeit finden werde, mich mit dem für mich neuen Harz und der Verarbeitung zu beschäftigen… Generell scheint mir das ABS- Like Harz aber besser für unsere Zwecke zu sein, als das herkömmliche, wasserwaschbare Harz. Deswegen würde ich es gerne mal versuchen, aber wie gesagt, das ist mit Arbeit und Geldausgeben verbunden…

Hier sind die .scad und .stl Dateien für die Personenwagen- Inneneirichtung, zusammengefasst in einem Zip Archiv:

STL_SCAD

Inzwischen habe ich auch die Inneneinrichtung für den Packwagen konstruiert.

Hier habe ich aber trotzdem versucht, die Einrichtung in einem Stück zu drucken. Dazu habe ich diverse Verstärkungen eingebaut. Beim Packwagen geht das, da ja große Teile des Raumes unsichtbar sind…

// Inneneinrichtung Magic Train Packwagen

// Modul Regal

module regal() {
difference(){
cube([4.6,8.8,20.8]);
translate([1,1,1])cube([4.6,6.8,4]);
translate([1,1,5.8])cube([4.6,6.8,4]);
translate([1,1,10.8])cube([4.6,6.8,4]);
translate([1,1,15.8])cube([4.6,6.8,4]);
}
}

//Grundplatte mit Holzboden
difference(){

color("grey") union(){
cube([102,49,1.3]);
translate([0,0,1.3])scale([0.341, 0.343, 0.005])
surface(file = "Holzbohlen2.png");
}

translate([-0.1,-0.1,-0.5])cube([2,2,3]);
translate([-0.1,47.1,-0.5])cube([2,2,3]);
translate([50.1,-0.1,-0.5])cube([60,8,3]);
translate([50,42,-0.5])cube([60,8,3]);
translate([10,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
translate([92,24.5,-0.1])cylinder(d=5, h= 1.5, $fn=100);
}

//Versteifung
translate([30,20,0])cube([70,10,20]);

// Büro
translate([0,1.1,0])union(){
// Tür
rotate([0,0,90])translate([10,-44.2,1])union(){
color("teal")translate([2.2,18.1,1])cube([11.6,1,36.8]);

// Türscharniere
color("silver")translate([2.1,19.1,34])cylinder(h=2, d=0.5, $fn=100);

color("silver")translate([2.1,19.1,4])cylinder(h=2, d=0.5, $fn=100);

// Türklinke

color("silver")translate([11.5,18.9,19])cube([1.5,0.5,2.8]);

color("silver")translate([12.25,19.9,20.8])rotate([90,0,0])cylinder(h = 1.5, r = 0.3, $fn=100);
color("silver")translate([12.25,19.9,20.8]) sphere(0.3, $fn=100);
color("black")translate([12.25,19.9,20.8])rotate([0,-90,0])cylinder(h = 1.8, r = 0.3, $fn=100);
}
}

translate([25.5,0,1])cube([10,48.9,41]);

translate([0,1.9,1])cube([1,16,41]);

translate([0,31,1])cube([1,16,41]);

// Dach
translate([0,11.5,41.9])difference(){cube([35.5,27.5,1.5]);
translate([14,12.5,-0.5])cylinder(h=3, d=3.2, $fn=50);
}

// Büroeinrichtung

// Aktenschrank
cube([25.5,7,15]);
color("teal")translate([0.1,0,14.9])cube([25.8,9,0.5]);
color("teal")translate([1.9,6.8,2.4])cube([11,0.5,9]);
color("silver")translate([12.0,7.3,7.9])rotate([0,0,90])cylinder(h = 2.5, r = 0.3, $fn=50);

color("teal")translate([1.9,6.8,11.9])cube([11,0.5,2]);
color("silver")translate([6.2,7.3,12.9])rotate([90,0,90])cylinder(h = 2.5, r = 0.3, $fn=50);

color("teal")translate([13.5,6.8,2.4])cube([11,0.5,9]);
color("silver")translate([14.0,7.3,7.9])rotate([0,0,90])cylinder(h = 2.5, r = 0.3, $fn=50);

color("teal")translate([13.5,6.8,11.9])cube([11,0.5,2]);
color("silver")translate([17.6,7.3,12.9])rotate([90,0,90])cylinder(h = 2.5, r = 0.3, $fn=50);

//Schreibtisch
color("teal")translate([0.1,39.8,14.9])cube([25.8,9,0.5]);

difference(){translate([2,40.8,0])color("maroon")cube([21.8,7,15.3]);
color("aqua")translate([-0.5,41.75,-0.9])cube([24.8,5,15.0]);
color("aqua")translate([3,40.75,-0.9])cube([19.8,9,15.0]);
}

// Regale "aufhängen"
translate([0.5,0.2,18])regal();

translate([0.5,39.9,18])regal();

scale([1,1.8,1])rotate([0,0,180])translate([-26,-25.2,18])regal();

Die Regale habe ich als Modul konzipiert und es insgesamt dreimal verwendet. Das dritte Regal ist in eine Richtung (Breite) verzerrt worden, was in dem Fall keinen negativen Einfluss auf die Optik hat. Hier habe ich das Modul nicht als externe Datei ausgeführt, sondern es einfach am Anfang des Skripts eingebaut. Einen Stuhl habe ich bewusst nicht mit integriert. Stühle gibt es zuhauf fertig konstruiert auf Thingiverse (einfach mal nach “chair” suchen). So kann man ihn nachträglich leichter bemalen und mit einer Figur versehen…

Die Aussparungen in der Grundplatte habe ich erst nachdem ich mein Exemplar gedruckt habe, eingebaut. Durch die Fenster- Füllstücke ist der Packwagen innen enger als ein “normaler” Personenwagen. Ohne diese Aussparungen bekommt man die Einrichtung nicht in den Wagen eingesetzt. Ich habe bei meinem Exemplar einfach mit einem Seitenschneider etwas abgezwickt. Sieht nicht schön aus, funktioniert aber. Der Bereich ist ja am fertigen Modell nicht zu sehen, von daher ist es völlig egal und kein Grund, diesen Druck wegzuwerfen. Besonders, da ich nur noch sehr wenig Harz habe…

Das “Dach” dient vorrangig zum Versteifen der Konstruktion. Das “Loch” hat genau Platz für eine Standard- LED mit 3 mm Durchmesser. Damit wird die Innenbeleuchtung realisiert.

Ich hoffe, das Ganze verzieht sich jetzt dann nicht mehr. Muss man aber erst abwarten.

Hier ein paar Fotos vom ersten Testdruck. Das harz ist inzwischen auch schon ziemlich alt, wird Zeit, das es verbraucht wird. Ich muss noch einiges bereinigen, bevor ich die Einrichtung lackieren und einbauen kann…

Zunächst mal solo.

man sieht leider gut, wo der Druck nicht ganz sauber ist.

Aber im eingebauten Zustand dürfte das kaum noch auffallen. Schließlich handelt es sich hier um Magic Train und nicht um Fulgurex…

Leider dürfte mein Harz nicht mehr reichen, um die Inneneinrichtungen für alle “Rheingold”- Wagen zu drucken. Ich will aber alle vier Wagen auf einmal lackieren, damit ich nicht so oft die Farben in der Airbrush wechseln muss… Deswegen dürfte die endgültige Fertigstellung meines ersten “Theme Train” noch ein paar Wochen dauern… Vom lackieren abgesehen, ist der Umbau jetzt aber abgeschlossen. Na ja, vielleicht nicht ganz…

Ich will nämlich mal sehen, ob ich nicht eine Trittstufe für Tackerklammern lasern kann, vielleicht aus 1 mm Balsaholz. Diese feinen Plastik- Teile sind einfach zu empfindlich und brechen zu schnell ab. Tackerklammern aus Metall sind da wesentlich robuster und haben für 0e bzw. 0n30 eine recht passable Größe… Das ist als Ersatz für die “angespritzten” Trittstufen bei den Schiebetüren gedacht, da sich schon wieder ein Tritt “selbstständig” gemacht hat…

Und wie versprochen, hier sind alle STL und OpenSCAD Dateien sowohl für den kompletten Packwagen Umbau als auch für die Personenwagen Inneneinrichtung.

Packwagen-Umbau

Personenwagen-Inneneinrichtung

Viel Spaß damit. Für private Zwecke kann sie jeder der mag, verwenden. Bei einer eventuellen kommerziellen Nutzung muss aber vorher mit mir geredet werden. Dann will ich meinen Anteil abhaben wobei wir uns da sicher einig werden…

Zuckerrohr Lore Teil 2

Erstens kommt es anders und zweitens als man denkt…. Irgendwie stehen alle meine Eigen- Konstruktionspläne unter keinem guten Stern. Nachdem ich angefangen habe, die Zuckerrohr Lore aus Holz zu lasern, habe ich entdecken müssen, das sich diese Arbeit schon jemand vor mir gemacht hat.  Auf Thingiverse gibt es ein 3D Modell einer Zuckerrohr Lore in 0n30 frei zum Download und ausdrucken. Auch wenn in der Titelzeile H0n30 steht, ist die Lore definitiv in 0n30 konstruiert. Dasselbe Schicksal hat auch mein C 50 Projekt ereilt. Auch diese Lok gibt es auf Thingiverse in 1:45 kostenlos zum Download… Dazu später mehr im entsprechenden Beitrag,

Die Lore kann ich mit meinem Elegoo Mars in einem Durchgang gleich zweimal drucken. Das spart eine Menge Zeit.

Die Kosten für das Harz liegen pro Lore bei gut 1€ (der Display Verschleiß ist dabei schon einkalkuliert). Und das, obwohl ich aus schlechten Erfahrungen der letzten Zeit gelernt habe, lieber zu viel als zu wenig Stützen einzuplanen.

Das Fahrwerk ist ein einzelnes Druckteil, der Käfig wird aus 4 Teilen montiert.

Bei so reichhaltigem Support macht das Versäubern etwas Arbeit. Dafür sind die Teile nicht so wellig, dort wo das Modell gestützt werden muss…

Nach dem Versäubern und Aushärten ging die Suche nach passenden Radsätzen los.  Leider passen die bei mir in großer Zahl vorhandenen Roco H0 Radsätze auch hier nicht. Im Gegensatz zu den Five79 Bausätzen (für die die Roco Achsen zu kurz sind) sind hier die Achsen aber zu lang. Es passen aber Radsätze von Fleischmann und auch Märklin Hamo, die einen knappen Millimeter kürzere Achsen haben. Nur habe ich davon bei weitem nicht so viele, leider…

Der MT Wagen dient zur Höhenjustage der Kupplung und als Größenvergleich.  Nachdem ich passende Radsätze hatte, musste ich noch passende Kupplungen auftreiben. Eine mögliche Variante wäre es, eine Kadee NEM Kupplung von unten gegen den Rahmen zu kleben/schrauben. Die NEM Köpfe haben eine Feder zur Mittel- Justage bereits integriert. Das wäre eine zumindest halbwegs funktionierende Lösung gewesen.

Die Loren haben einen Schlitz, in den ein 3D Druck Teil als “Feldbahn- Kupplung” eingesetzt werden kann. Zufällig ist dieser Schlitz exakt in der passenden Höhe, Dicke , Breite und Tiefe um direkt eine “Whisker” Kupplung (Kadee #118) aufzunehmen. Nun muss man nur noch eine Schraube von Unten eindrehen, um die Kupplung zu befestigen. Das ist die bessere und auch preisewertere Lösung denn die NEM Kupplungen kosten etwas mehr bzw. sie gibt es nicht in Großpackungen. Eine Lore kommt so komplett auf 5 bis 6€ incl. Radsätzen, Kupplungen, Kleber und Lack. Muss man sie drucken lassen, wird es natürlich deutlich teurer, weil kein Dienstleister rein für die Materialkosten arbeitet, arbeiten kann…

Zum Komplettieren der Lore benötigt man neben dem eigentlichen 3D Druck zwei H0 Radsätze, zwei Kupplungen passend zum eigenen System, etwas Kleber und Lack sowie ein wenig Fliegengitter- Stoff, am besten in Schwarz. Diesen Stoff gibt es für ganz kleines Geld im 1€ Shop und er eignet sich neben der Bespannung dieser Loren auch als Maschendrahtzaun und ähnliches. In aller Regel hat man ein paar Reststücke übrig, wenn man seine Fenster vor den lästigen Plagegeistern schützt. Also nicht wegwerfen, sondern weiter verwerten, ganz im Sinne des Nachhaltigkeitsgedankens…

Im Vergleich zu dem MT Personenwagen ist die Lore doch recht winzig. Die Breite ist aber so, das es gut zueinander passt. Das Fahrwerk kann man auch für andere Flach- oder Kasten- Loren verwenden… Dazu kann man leicht aus etwas Balsaholz einen Boden und ggfs. Seitenwände “schnitzen”.

Jetzt mus sich erst noch eine Lösung für das Ladegut finden. Wachsendes Zuckerrohr werde ich auf meiner Anlage mit Gras- Teppichen für Outdoor Gebrauch simulieren. Aber geschnittenes Zuckerrohr sieht doch anders aus.  Das werde ich nun eine Weile dran grübeln. Die Ladung will ich vor der Endmontage und dem Lackieren zumindest vorbereitet haben. Sonst müsste ich einen Holz- Boden einbauen, wie er für leere Loren auf jeden Fall nötig wäre..

Noch mal ein Foto mit der Porter, die besser zu den Loren passt als der vergleichsweise riesige MT Personenwagen…

Da ich zufällig ein schönes Reststück Furnierholz gefunden habe, werde ich den Loren doch allen einen Echtholz- Boden spendieren. So kann ich mich auch später noch um das Ladegut kümmern, wenn mir irgendwann dann doch mal was dazu einfällt.

Um zu entscheiden, wie ich die Maserung laufen haben möchte, habe ich einen Boden in Längs- und einen in Quer- Richtung ausgeschnitten und verglichen.

Der Sieger ist eindeutig die Quer- Richtung… Also noch einen zweiten Boden ausgeschnitten, bevor die Käfige auf die Fahrwerke geklebt werden.

Das dünne Furnier für den Boden ist ziemlich wellig. Das wird sich legen, wenn es später mit dem Fahrzeug verklebt worden ist.

Das Zusammenkleben ist etwas fummelig, da es keine Rastnasen oder Ähnliches gibt und die Teile stumpf aneinander geklebt werden müssen. Dazu lässt sich das Harz nicht mit Kunststoffkleber, auch nicht mit Ruderer verkleben. Es funktioniert nur Sekundenkleber, was die ganze Sache nicht erleichtert. Zusätzlich ist mir auch gerade noch der Gel Kleber ausgegangen, der für solche Arbeiten erheblich besser geeignet ist, als der dünnflüssige “normale” Sekundenkleber.

Nichtsdestotrotz  habe ich die beiden Loren  zusammen gebaut bekommen.

Das ist doch ein niedliches Züglein, oder?

Als nächstes will ich noch 2 x 2 Loren ausdrucken sowie Sekundenkleber Gel und Fleischmann Radsätze organisieren. Die Märklin Hamo Radsätze passen zwar rein, da die Achsen aber 24,4 mm lang sind, laufen sie nicht so leicht wie die 24,0 mm Fleischmann Achsen. Mit den Fleischmann Radsätzen laufen sie wirklich gut. Deswegen gibt es einen kompletten Satz 10,4 mm Räder mit 24,0 mm Achsen für meine 6 geplanten bzw. existierenden Loren.

Was ich noch nicht gemessen habe, ist das Gewicht. Allerdings erschienen sie mir nicht zu leicht, von daher… Zur Not kann man ja immer noch Ballast unter den Fahrwerken bzw. unter dem Ladegut anbringen. Allerdings denke ich erst mal nicht, dass das nötig sein wird.

Das Finish mache ich erst, wenn alle 6 Loren so weit sind, um alle auf einmal lackieren zu können. Die Option später noch mehr von diesen Loren herzustellen, steht mir ja jederzeit offen. 3D Druckdaten werden nicht schlecht, verbrauchen keinen Platz und nutzen sich auch nicht ab. Ein Resin Drucker wird auch in Zukunft fest zu meinem Werkzeugpark gehören. Es sei denn, es gibt demnächst etwas noch Besseres in einem vergleichbaren Preisrahmen.

Kleiner Nachtrag. Inzwischen habe ich alle 6 Loren der ersten Auflage  ausgedruckt und mit neuen Radsätzen von modellbahn-radsatz.de ausgerüstet. Zum lackieren bin ich aber noch nicht gekommen, also sind die Loren weiterhin nur in Grau zu “bewundern”. Hier auf meinem “Fiddle- Gleis” mit der 0-4-2 Porter von Bachmann als Zugpferd.

Wirkt durchaus “karibisch”. Auch die Bachmann Shay macht sich ganz gut vor den Loren, obwohl ich sie vorrangig im Touristen- Verkehr einsetzen will, da die Shay eine echte Attraktion für Bahn- Fans ist.

Wenn mir das Ganze mal zu exotisch wird, könnte ich die Loren problemlos auch ins mitteleuropäische Hochmoor verlegen. Eine Jung Feldbahnlok davor und das ganze Karibik- Flair ist dahin… Nun ist es ein “langweiliger” Torfzug…

Irgendwann die Tage muss ich dann doch mal lackieren, damit die Loren fertig montiert werden können…

Fortsetzung folgt.

Five79 Rungenwagen Bausatz

Heute möchte ich euch gerne die Bausätze der englischen Firma Five79 näher bringen. Es handelt sich dabei um eine Neu- Auflage der bekannten Slimrails bzw. Chivers Finelines  Bausätze, die es in Regelspur 00 (entspricht H0) und N sowie in Schmalspur 009 (entspricht H0e), 0-16.5 und 0n30 (entspricht beides 0e) gibt. Die Rungenwagen, um die es hier geht, stammen aus der 0n30 Serie und passen sowohl zu US- 0n30 als auch zu einer Feldbahn bzw. Waldbahn, selbst bei einer europäischen Schmalspurbahn lassen sie sich glaubhaft einsetzten. Also passen sie natürlich auch zur RTR… Diese Wagen sind “freelance”, habe also kein konkretes Vorbild. Aber das stört nicht weiter, da sie wirklich typisch für solche Wagen aussehen. Sie sind mit 14 Fuß Vorbildlänge sehr kurz, besonders für Drehgestellwagen. Deswegen eigenen sie sich aber besonders gut auf kleinen und mit engen Radien versehenen Anlagen, wie wir sie als Modellbahner ja viel zu oft haben…

Was alle Five79 Kunststoff- Bausätze auszeichnet ist der, besonders für hiesige Verhältnisse, sehr günstige Preis. So ein Bausatz kostet 12 GPB, umgerechnet incl. Porto bei Bestellung von 2 Bausätzen waren das zur Zeit der Bestellung (bereits in der Nach- Brexit Ära) 16,57€… Es fehlen neben Kupplungen (sie sind für Kadee No5 vorbereitet) auch die Radsätze (es passen die gängigen 10,5 mm  H0 Güterwagen Radsätze von Roco und anderen) eigentlich nur noch Messing- Achslagerbuchsen. Man kann sich meist auch mit kurzen Schnipseln eines passenden Messingrohrs behelfen. Ich setze aber lieber richtige Buchsen für eine gute Spitzenlagerung der Achsen ein. Leider wusste ich nicht, das ich solche Buchsen benötige. Deswegen konnte ich die Wagen bisher noch nicht fertig stellen, da ich erst noch auf die bestellten Buchsen warten muss.  Angefangen mit dem Bau bin ich aber dann doch schon. Zumindest so weit ich ohne die Lagerbuchsen gekommen bin.

Zuerst mal ein Blick auf den kompletten Bausatz, wie er geliefert wird:

Ein verschließbarer Plastikbeutel, der ein Din A 4 Blatt mit der (englischsprachigen) Bauanleitung und einen kleinen Beutel mit 2 Schrauben zur Befestigung der Drehgestelle, ein Handrad für die Handbremse aus Messing und ein Stück Messingdraht, um das Handrad zu montieren,  sowie natürlich diverse Spritzgussteile aus Kunststoff enthält. Die Teile sind sauber gespritzt und lassen sich mit jedem handelsüblichen Plastikkleber montieren. Ich verwende meist den sehr dünnflüssigen Faller Expert oder Super Expert, da mir die Flasche mit der langen Kanüle gut gefällt. So lässt sich der Klebstoff sehr präzise und fein dosiert platzieren. Daneben nutze ich Ruderer 530 aus der Tube. Letzterer wird  von mir vorrangig dann verwendet, wenn ich Kunststoff mit anderen Materialien verkleben muss oder wenn der Faller Expert zu dünn für eine bestimmte Verklebung ist. Daneben braucht man nur noch Standard- Werkzeug wie einen Seitenschneider, ein Cuttermesser, eine Pinzette, ein oder zwei Feilen und einen 0,6mm Bohrer, der zum Durchbohren der Befestigung für das Handbremsrad  benötigt wird. Ein Stiftenklöbchen für diesen Bohrer ist natürlich von Vorteil, aber für diese eine Bohrung geht es auch ohne, falls man keines hat..

Normalerweise soll man mit den Drehgestellen anfangen. Da ich aber noch keine Achslagerbuchsen dafür habe, bin ich schon mal mit dem Wagenkasten angefangen. Man trennt die benötigten Teile vorsichtig mit dem Seitenschneider vom Spritz- Ast ab. Die Schnittkanten werden dann sorgfältig mit dem Messer verputzt und bei Bedarf mit einer Sandpapier- Feile geglättet.

Als nächstes bohrt man das Loch für den Messingdraht. Der Boden hat zwei entsprechende Aufnahmen. Aufbohren muss man aber nur eines. Welches der beiden ist egal.

Der Wagenkasten besteht aus dem eigentlichen Boden, zwei Seitenteilen mit angespritzten Rungen, zwei Pufferbohlen und zwei Längsträgern, die von unten montiert werden. Die Teile werden nun zusammengeklebt. Man muss nur darauf achten, das der Wagenkasten hinterher nicht verzogen oder krumm wird.

Anschließend werden die Längsträger eingeklebt.

Hier musste ich leicht nacharbeiten, da die Längsträger minimal zu lang waren. Zwei, drei leichte Striche mit der Feile beheben dieses “Problem” aber schnell…

Um sich die Proportionen des Wagens vorstellen zu können, hier mal ein Bild mit einer 0-4-0 Porter von Bachmann in 0n30 (Maßstab 1:48), die explizit als passendes Zugfahrzeug für diese Wagen erwähnt wird.

So weit konnte ich die Wagen bisher bauen. Nun werden unbedingt die Drehgestelle benötigt. Deswegen ist jetzt erst mal Warten auf die Bestellung angesagt.

Natürlich habe ich auch den zweiten Bausatz so weit fertig gestellt. Die Montage bis hierhin dauert vielleicht 10 Minuten. Ist also wirklich schnell erledigt.

Weiter geht es dann, wenn die Lagerbuchsen angekommen sind.

Inzwischen sind die Lagerbuchsen angekommen. Also frisch ans Werk.

Da ich solche Buchsen zum ersten Mal verarbeite, habe ich mir auch gleich das passende Spezialwerkzeug dafür zugelegt. Damit tut man sich leichter, um die Achslagerblenden so vorzubereiten, das die Lagerbuchsen passen. Die vorhandenen Löcher werden mit dem Spezial- Bohrer vorsichtig! so aufgeweitet, das man die Lagerbuchsen einpressen kann.

Hier sieht man schön den Unterschied, oben mit Lagerbuchsen, unten ohne.

Nun werden die Drehgestelle montiert.

Als erstes muss man das Bremsgestänge zusammen fummeln, damit die Baugruppe aushärten kann. Leider ist das gar nicht spaßig, denn die winzigen Bremsklötze müssen mit der runden Seite stumpf  auf eine rechteckige Stange kleben, ganz ohne irgendwelche Führungen.

Dabei macht man leider mehr kaputt als das man etwas montiert. Diese Teile hätten meiner Ansicht nach an den Querträger angespritzt gehört. Sonst ist ja auch alles so weit möglich gleich zusammen hergestellt. Warum hier diese unsägliche Fummelei? Irgendeinen Vorteil bringt das weder für das Modell noch für den Hersteller. Und Spaß macht es auch nicht. Hätte man sich gut sparen können und würde dem Modell eindeutig besser stehen. Alleine diese Teile zu montieren hat erheblich länger gedauert als die komplette Montage der Wagenkästen… Ich habe letztendlich auch nur je eines der Gestänge an die fertigen Drehgestelle so montiert bekommen, das sie an Ort und Stelle platziert sind. Die anderen beiden sind nichts geworden. Die Seiten der Drehgestelle kommen dann am fertigen Modell nach innen. Dann fällt das nicht so auf.

Nun werden die eigentlichen Drehgestelle montiert. Dabei ist zu beachten, das es nur wenig Spielraum für die Spurkränze gibt. Meist muss man nacharbeiten.

Hier sind Radsätze von alten Roco H0 Güterwagen montiert. Sie haben zwar die passenden Laufkranzdurchmesser, passen aber sonst nicht wirklich. Die Spurkränze sind zu groß und die Achsen deutlich zu kurz. Es gibt zwar von Roco Radsätze mit 10,4 mm LKDM und 24,75 mm Achslänge, doch das sind leider nicht die, die in fast allen Güterwagen eingebaut sind. Die haben nur eine Achslänge von 23,5 mm und sind somit 1,5 mm zu kurz für die Bausätze. Also muss ich doch passende Radsätze besorgen, bevor ich die Wagen komplettieren kann. Zum Glück gibt es von Bachmann H0 Radsätze mit 10,4 mm LKDM und 25.4mm Achslänge. 0,4mm Differenz kann man in den Lagerbuchsen ausgleichen, kein Problem. Solche Radsätze bekommt man (als Nachbau, Made in Germany) z.B. bei http://www.modellbahn-radsatz.de/ zum Preis von 0,98€ pro Stück. Nur ist jetzt wieder warten angesagt, bis die Radsätze eintreffen.

Allerdings wollte ich wenigstens soweit kommen, um den Wagen auf eigene Räder stellen zu können. Oben sieht man, wie die Gegenlager für die Drehgestelle zwischen die Längsstreben geklebt werden. In der Bauanleitung sind diese Teile gar nicht erwähnt oder abgebildet. Zum Glück gibt es Rasten am Boden, so das man die Position problemlos justiert bekommt. Dadurch wird ja nun die Position der Drehgestelle festgelegt.

Nachdem man die Gegenlager montiert hat, werden die Querträger an die passende Stelle geklebt. Die Schraube, mit der später das Drehgestell montiert wird, dient hier als Justierhilfe, denn für die Querträger gibt es keine Anschläge. Auch wenn genau das in der Bauanleitung steht.

Bis auf die Kupplungen, das Handbremsrad sowie die Stirnrungen ist der Rohbau damit abgeschlossen. Die Kupplungen baue ich erst ein, wenn die tatsächlich verwendeten Radsätze da sind. Die Stirnrungen und das Handbremsrad werden erst nach der Grund- Lackierung per Airbrush montiert.

Hier mal eine Stellprobe noch mit den “falschen” Rädern.

Und ein Blick auf den fast fertige Rohbau, wieder mit der Bachmann Porter zum Vergleich

Heute sind die bestellten Radsätze angekommen. Mit bloßem Auge ist da kein Unterschied zu erkennen. Wenn man nicht aufpasst, muss man tatsächlich erst suchen, um die Radsätze auseinander zu halten. Allerdings sind die Bachmann Nachbau- Radsätze noch ganz neu. Die alten Roco Radsätze haben halt deutliche Laufspuren.

Ich hab die Radsätze kurz ausprobiert und habe festgestellt, das selbst die 25,4 mm Achsen noch recht kurz für die Drehgestelle sind. Aber es klappt dann doch. Ich denke, das selbst 26mm Achsen auch noch problemlos funktionieren. Auf jeden Fall laufen die Wagen nun perfekt. Sehr leichtgängig, leise und stabil. Selbst das Gewicht ist gefühlt in Ordnung. Die 4 Metall- Radsätze bei diesen kurzen Wagen bringen dann doch ordentlich Gewicht. Bevor ich lackiere, packe ich den Wagen aber noch mal auf die Waage. Wenn er mir dann doch zu leicht ist, klebe ich eben zwei Auswucht- Gewichte unten in den Rahmen. Lässt sich (außer von unten betrachtet natürlich) wohl unsichtbar machen. Dann sollten die Wagen aber schwer genug sein. Und der Schwerpunkt liegt extrem tief, was sicher kein Nachteil ist…

Vor dem Wochenende komme ich aber sicher nicht dazu, an den Wagen weiter zu basteln. Zur Zeit baue ich Küchenschränke auf Maß. Ich bekomme nächsten Monat eine komplett neue Küche. Will (und kann) man keine hohen fünfstelligen Beträge dafür ausgeben, muss man auf fertig konfektionierte Schränke zurückgreifen.  Dabei können aber Lücken entstehen. Und genau so eine Lücke versuche ich gerade zu schließen. Das Holz habe ich mir im Baumarkt zuschneiden lassen, der Rest ist Do It Yourself, incl. der Konstruktion. Und ich bin ganz sicher kein geborener Schreiner. Soviel steht fest…