Diesel Tankstelle

Aus dem kleinen Wassertank lässt sich auch noch mehr machen. Eine Idee ist eine kleine Diesel- Tankstelle, an der man sowohl kleine Dieselloks als auch LKW betanken kann.

Die 1:43 Figur gehört nicht dazu und dient nur zur Größen- Verdeutlichung.

Die Tankstelle besteht aus mehreren Teilen. Das ist zum einen gemacht, um sie besser drucken zu  können. Aber es erleichtert eindeutig auch das Bemalen.

Das wäre zum Einen der eigentliche Tank, der seine Ähnlichkeit zum kleinen Wassertank nicht leugnen kann.

Er hat aber keinen Auslass und einen anderen Träger, ist dafür aber größer.

Die Bodenplatte der Tankstelle mit Auslauf des Tanks sowie Aussparungen für Gully.

Das Mauer- Fundament, was gleichzeitig auch Teil der Öl- Auffangwanne ist.

Und das ist die Zapfsäule. Der Tankschlauch muss extra aus einem Stück Schlauch (z.B. Schrumpfschlauch oder Litzen- Isolierung oder so) hergestellt werden.

Die Einstiegsöffnung für den Abwasserschacht.

Und der hintere Gully.

Montiert soll das Ganze dann so aussehen:

Als nächstes muss ich mal einen Prototypen drucken, um zu sehen, ob die Teile auch tatsächlich so zusammen passen wie gedacht..

Inzwischen habe ich den ersten Prototypen gedruckt.

Und die Kleinteile für die Gullys noch mal in Groß.

Die Zapfpistole ist gut geworden. Sehr filigran, aber druckbar.

An sich passt alles, bis auf die Gullys. Die stehen zu weit über, so das ich noch einmal an die Bodenplatte ran muss…

 

Mal sehen ob ich dem Boden noch etwas Struktur gebe, sowas wie Dehnungsfugen im Beton. Andererseits dürfte so eine Betonplatte wohl in einem Stück gegossen werden müssen, damit das überlaufende Öl nicht so ohne weiteres in den Boden sickern kann…

Leider erkennt man bei schwarzem Harz genau so schlecht die Details wie bei Transparentem. Aber zum Einen habe ich das schwarze Harz zum Testen bekommen und andererseits muss ich als nächstes viele Puffer drucken, die sich natürlich in Schwarz am besten machen.

Kleiner Wassertank

Ein Kumpel bat mich, für ihn einen Wassertank als Aufsatz für ein Loren-Fahrwerk zu konstruieren und drucken.

Also habe ich die CAD angeschmissen und munter drauf los konstruiert.

Der Tank hat 20 mm Durchmesser und ist 32 mm lang. Das Lager ist 30 mm breit,  passend für 0e/0f Loren.

Davon passen gleich 15 Stück auf einmal in meinen Mono M5

Selbstverständlich kann man den Tank auch stationär auf einem Sockel aus Holz oder Stein verwenden.

Mangels Loren Fahrwerk habe ich den Tank- Prototyp einfach als Ladegut auf einen O Wagen gestellt.

Der filigrane Wasserhahn kommt im Druck prima raus. Und es scheint auch alles stabil genug zu sein.

Jetzt braucht es nur noch die passenden Loren Fahrwerke.

Die erste Charge ist gedruckt.

Und auch gehärtet. Nun können sie an ihren Bestimmungsort geliefert werden.

Die Tanks habe ich auch in H0 gemacht, weil ich von einigen Kollegen danach gefragt wurde.

Der Tank ist in H0 17 mm Lang und hat 11 mm Durchmesser. Der Auslass ist genau so dick wie in Spur 0, da man das sonst nicht mehr drucken kann. Je kleiner der Maßstab, desto dicker müssen freistehende Details halt werden.

Vorne liegen 2 Spur 0 Tanks zum Größenvergleich.

Und noch mal ein Bild, was mein Kumpel daraus gemacht hat.

Ich habe mir dann mal den Spaß gegönnt und den Tank auf das Lorenfahrwerk der Kipplore zu setzen, gleich in der CAD.

Inzwischen habe ich die komplette Lore auch mal gedruckt.

;Leider hatte ich keine passenden 9mm Räder mehr vorrätig. Die 10,5 mm Räder sind zu groß. Aber andere hatte ich nicht da.

Die Jung ist das, was einer Feldbahnlok in meinem Fuhrpark am nächsten kommt.

0e Prellbock

(Nicht nur) für mein Foto- Diorama benötige ich einen Prellbock, passend zum Peco 0e Gleis. Also schnell OpenSCAD angeworfen und nach ca. 10 Minuten kam das dabei raus:

Dazu wird noch eine Bohle aus einem Stück Zuckerwattestäbchen angeklebt. Ein wenig Farbe (Vallejo “Sea Grey” für den Bock und “Light Grey” für die Bohle) und ein auf Karton gedrucktes SH2 Schild, fertig ist der Prellbock.

Ich bin vor dem Aushärten des Durckteils mit einer Messing Drahtbürste über die Oberflächen gefahren, um sie ein wenig aufzurauen.  Leider hält sich der Effekt doch sehr in Grenzen.

Die “Füße” des Prellbocks passen genau zwischen die Peco Schwellen..

Die Pufferbohle sitzt so hoch, das die Kadee Kupplungen unten durch tauchen und somit bei einem Anprall nicht belastet werden.

Die STL Datei gibt es zum Download,, falls sie jemand gebrauchen kann.

Böschungsschneider

Hier geht es um ein kleines Werkzeug, das ich für meinen eigenen Bedarf entwickelt habe.

Mit diesem Tool kann man die Gleisbettungen im 45° Winkel parallel zum Gleis schneiden.

Es ist zum Gebrauch mit einem Skalpell von 8-10 mm Durchmesser gedacht. Man schiebt das Skalpell in das offene Rohr und schiebt das Werkzeug dann langsam übers Gleis. Dabei wird das Bettungsmaterial im 45° Winkel beschnitten. Hier im Beispiel handelt es sich um Trittschalldämmung aus dem Baumarkt. Kork u.Ä. sollte aber auch funktionieren. Die Schnitttiefe wird durch die Position des Skalpells im Rohr bestimmt.

Somit kann man sehr schnell, sehr leicht und sehr genau das Dämmmaterial zuschneiden.

Das OpenSCAD Skript ist natürlich mit Parametern ausgestattet, so das man das Werkzeug an unterschiedliche Spurweiten, Profilkopfdicken, Bettungsbreiten, usw. anpassen kann. Selbst eine Version für 3- Leiter Gleis ist möglich.

Dazu werden am Anfang des Skripts einige wenige Parameter eingestellt.

$spur = 16.5; //Spurweite

$kopfbreite = 2; //Profilkopf- Breite

$abstand = 17; //Abstand Profil - Böschungskante. Bei weniger als 12 können sich Skalpell und Profil in die Queere kommen. Besonders bei kleinen Spurweiten (N und Z) u.U. ein Problem.

$durchmesser = 8; //Durchmesser des Skalpells (sollte zwischen 8 und 10 liegen. Bei größeren oder kleineren Werten kann Nacharbeit notwendig werden)

$drei = 0; //Auf 1 setzen für 3- Leiter Gleis

Wie üblich gibt es die Dateien zum Download:

 

Geländer für 0e Wagen (und Loks)

Sozusagen als “Abfallprodukt” bei meinem vierachsigen Universal- Fahrgestell sind auch parametrierbare Geländer für 0e Wagen und Loks entstanden.

Man kann die Geländer in der Breite variieren, man kann wahlweise eine Bremskurbel mit erzeugen lassen und man kann den Durchgang auch geschlossen machen.

Die gedruckten Prototypen sind erstaunlich stabil und dennoch ziemlich filigran geworden. Hier mal drei verschiedene Typen.

Die beiden breiteren Varianten sind als Ersatz für die Bachmann 0n30 “Wildwest-” Personenwagen gedacht und die schmalere, geschlossene Varianten ist für meine GEC vorgesehen. Die ursprünglichen Geländer aus der Fräse sind weder schön noch stabil genug für meinen Geschmack.

Noch ein etwas näherer Blick auf das Geländer mit Bremskurbel. Noch filigraner kann ich das Ganze auf meinem Drucker nicht mehr herstellen. Aber auch so reicht mir das.

Die OpenSCAD Datei und die drei “fertigen” STL für die drei oben gezeigten Varianten gibt es hier zum Download:

Öltank für die 0-4-2 Porter

Im Zuge der Umrüstung meiner Loks auf RC Steuerung steht bald die Porter von Bachmann an.  Die Loks sind sehr klein und ziemlich voll gepackt. Da ist nicht wirklich Platz, um einen Decoder oder Empfänger zu verstecken. Von einem Puffer oder Akku ganz zu schweigen. Ich habe zwei Porter, eine 0-4-0 und eine 0-4-2. Die 0-4-0 bekommt einfach einen Tender, in dem die Technik unter gebracht wird. Eine 0-4-0 mit Schlepptender sieht man (vermutlich deswegen) ziemlich oft. Aber für die 0-4-2 ist das keine Option. Ein Tender hinter dieser Variante würde (im Original) keinen Sinn machen. Denn die offene Plattform oberhalb der Nachlaufachse ist ja extra für den Brennstoff- Vorrat vorgesehen. Außerdem sähe das sehr merkwürdig aus, wenn der Heizer keinen Zugang zum Tender hat…

Es gibt (gab) die Lok aber auch mit Ölfeuerung. Dann ist auf der Plattform ein Öltank aufgebaut. Genau dieser Öltank bietet die Chance, die notwendige Technik zu verstecken. Deswegen habe ich einen Tank konstruiert, in dem der Empfänger und der Akku Platz findet. Dieses Projekt habe ich vorgezogen, um den Rest Harz zu verbrauchen, der noch im Tank ist aber nicht mehr für ein “großes” Projekt reicht. Aufheben lohnt nicht mehr, dazu ist es zu wenig. Aber Entsorgen ist auch keine schöne Option. Also lieber was kleines zwischendurch drucken…

Das halbe Rohr dient “offiziell” dazu, das Öl zur Feuerbüchse zu leiten. Tatsächlich ist das aber ein Kabelkanal. Das Halb- Rohr wird getrennt gedruckt und kann/muss dann auf Maß zugeschnitten werden. Der Schlitz in der Wand soll eine Ölstand- Anzeige darstellen, ein Schauloch. Der Schlitz muss nach dem Lackieren mit etwas Klarsichtmaterial verschlossen und anschließend mit schwarzbraunem Papier oder ähnlichem abgedeckt werden.

Und eine Detailaufnahme:

Üppig ist der Platz so immer noch nicht wirklich. Aber man kann Akku und DelTang RC Empfänger rein quetschen:

Einen DCC Decoder bekommt man leicht unter gebracht.

Aber für einen, bei einer so kurzen zweiachsigen Lok eigentlich unverzichtbaren Puffer- Kondensator wird es extrem knapp.

Auf dem Foto ist ein Power1 von Lenz zu sehen. Der ist schon dicker als der ganze Öltank. Wenn überhaupt, muss man ganz flache Puffer- Bausteine verwenden.

Und hier der Download:

Universelles Freelance Drehgestell-Fahrwerk für 0e/0n30 aber auch 0m und 0f

Hier möchte ich euch erste Einblicke in die Konstruktion eines universellen 0 Schmalspur- Fahrwerks für Drehgestelle wie die hier zu findenden Diamond Drehgestelle geben. Wenn das Ganze mal fertig ist, wird es die Dateien natürlich auch wieder zum Download geben.

Das Fahrwerk orientiert sich ein wenig an den Bachmann 0n30 Wagen. Speziell der “Flat Car” also der Flachwagen und der “Excursion Car”, also der offene Personenwagen haben mir als Vorlage gedient.

Ich selbst lege keinen besonders großen Wert auf voll durchgestaltete Fahrzeug- Unterseiten. Davon sieht man doch im Alltag sowieso nichts. Die angedeuteten Längs- und Querträger dienen mehr zur Stabilisierung des Chassis als der Optik. Speziell im Bereich, in dem sich die Ballast- Aussparung befindet, wird das Chassis doch arg dünn.

Die Länge und Breite des Fahrwerks kann man in weiten Grenzen individuell einstellen. Die geringste Breite und Länge ist konstruktionsbedingt limitiert. Als schmalste Breite kann man ohne die Konstruktion zu zerstören  etwa 20mm auswählen, muss dann aber auf die Aussparung für das Ballast- Gewicht verzichten. Mit der Aussparung ist die Mindestbreite etwa 25mm. Selbst bei 25mm dürften die Drehgestelle tatsächlich breiter sein als das Fahrwerk. Von daher macht “schmaler” wirklich keinen Sinn. Durchschnittliche H0 Fahrzeuge sind gut 30mm Breit, nur um das richtig einordnen zu können.

Das sollte eigentlich für alles in (Schmal-) Spur 0 reichen.  Die minimale Länge wird durch die Drehgestelle begrenzt und liegt bei etwa 105mm. Geht man noch weiter runter mit der Länge, kollidieren die Drehgestelle miteinander.

Für noch kürzere Wagen macht eine Konstruktion mit Drehgestellen nicht mehr wirklich einen Sinn. Dafür gibt es ja zweiachsige Fahrgestelle. Ein solches werde ich vielleicht irgendwann auch mal konstruieren, mal sehen.

Die maximale Länge und Breite ist eigentlich nur durch den Bauraum des Druckers begrenzt. Bei meinem Drucker beträgt die maximale Länge gut 160mm , was ziemlich genau den Abmessungen der beiden oben erwähnten Bachmann Wagen entspricht.

Auf der Oberseite, die nicht gestaltet wird, da hier verschiedene Aufbauten aufgesetzt werden können, gibt es Aussparungen für M2 Muttern, mit denen man die Drehgestelle anschrauben kann. Man kann die Muttern einfach einlegen. Durch die Form der Vertiefung können die Muttern sich nicht mehr verdrehen. Wenn der Wagen endgültig fertig ist, sollte man die Schrauben mit ein wenig flüssiger Schraubensicherung (gibt es von Loctite, Liqui Moly und Anderen) einsetzen. Die Drehgestelle dürfen ja nicht wirklich fest angeschraubt werden, da sie sich sonst nicht mehr drehen können.  Mit Schraubensicherung  können sich die Schrauben nicht mehr von alleine lösen, ohne das man die deutlich dickeren und somit schlechter unter zu bringenden Stoppmuttern  verwenden muss. Bei Bedarf kann man die Schrauben aber trotzdem wieder lösen.

Außerdem kann man eine Aussparung für Ballast- Gewicht erzeugen lassen. Die Aussparung ist so konzipiert, das man handelsübliche Auswucht- Gewichte für Alufelgen verwenden kann… Aber man kann natürlich auch alles andere an Ballast, was dort rein passt, verwenden. Oder man lässt die Aussparung einfach weg.

Es besteht weiterhin die Möglichkeit an einer oder beiden Seiten Ausschnitte für Aufstiege vorzusehen.

Dadurch kann man das Fahrwerk für Güter- und Personenwagen verwenden, mit Bremserbühne oder mit nach innen versetzten Aufstiegen, ganz wie gewünscht.

Man kann die Gehäuse für die Kadee Kupplungen auch weglassen, wenn man sie nicht benötigt.

So kann man beliebige Kupplungen anbauen oder auch Drehgestelle mit angeflanschten Kupplungen verwenden. Vorgesehen ist auch eine Option für einen NEM Schacht. Das ist aber noch nicht im Skript implementiert.

So weit der aktuelle Stand. Zur Zeit bin ich dabei, die äußeren Längsträger zu detaillieren.  Es wird wahlweise auch Rungen- Halterungen geben, falls man einen Flachwagen bzw. einen offenen Güterwagen bauen will. Für Personenwagen oder geschlossene Güterwagen sind die Rungenhalterungen aber nicht sinnvoll. Deswegen muss das per Parameter konfigurierbar gemacht werden.

Danach kommen die Unterzüge dran. Die müssen nachgebildet werden, da man sie ja auch von der Seite her sehen kann. Hierzu muss ich tief in meinen arg angestaubten Mathematik- Kenntnissen herum wühlen, damit sich bei ändernder Fahrwerkslänge die Winkel der Unterzüge entsprechend anpassen.. Dazu benötigt man einiges an Geometrie- Rechnerei. Zum Glück lässt sich das  direkt in OpenSCAD umsetzen… Hab ich bisher aber noch nie gemacht. Mal sehen, wie gut das hin haut.

Inzwischen habe ich die Rungenhalter und die erste Variante von einem Unterzug konstruiert. Die Rungenhalter orientieren sich eher an alten US- Güterwagen, nicht so sehr am preußischen Standard.

Die erste Variante des Unterzugs ist mit Bandstahl ausgeführt. Daneben ist eine Version mit Stahldrähten und eine dritte mit T-Trägern vorgesehen. Wenn man mag, kann man den Unterzug aber auch komplett weglassen. Bisher ist nur die erste Variante implementiert. Die anderen Beiden folgen später. Auch der NEM Schacht ist erst später dran, da ich mit Kadee fahre und den NEM Schacht nicht für mich selbst brauche.

Bei längeren Fahrzeugen wie oben gibt es zwei Stützbalken für den Unterzug, bei Kürzeren wird automatisch nur ein Balken erzeugt, damit die Drehgestelle genug Platz haben.

Die Geometrie- Berechnungen waren dann doch nicht so kompliziert. Nachdem ich mir mein 50 Jahre lang verstaubtes Schulwissen wieder ins Bewusstsein geholt habe, ging das ganz leicht. Die Länge des schrägen Bandes wird nach Pythagoras berechnet, also a² + b² = c² oder hier besser c =  √(a² + b²). Der Winkel wird mit dem Arcus- Tangens berechnet. Alles kein Hexenwerk.

Es fehlen noch ein paar Kleinigkeiten wie die Aufstiege und weitere Details. Dann kann ich mal einen ersten Prototypen drucken…

Ich überlege, ob ich als erstes vielleicht einen Container- Tragwagen mache. Denn inzwischen habe ich einen 20 Fuss ISO- Container in 1:48 erzeugt, aber noch nicht gedruckt. Der 1:48 Container passt sogar flach in meinen neuen Drucker. Das verkürzt die Druckzeit enorm. Das Fahrgestell kann man ja genau passend (136x51mm incl. 5 mm Luft vorne und hinten) für so einen Container herstellen.  Dann hätte ich gleich einen vollständigen Wagen, nicht nur ein Fahrgestell…

Als nächstes habe ich die Einstiege für die Aussparungen konstruiert.

So habe ich dann einen ersten Prototypen mit 160 mm  Länge und 48 mm Breite  gedruckt. Danach musste ich noch die Kupplungshöhe nachjustieren und habe noch einige wenige Details am Unterzug ergänzt. Insgesamt sieht das Fahrwerk ziemlich filigran aus. Wenn man sich vor Augen führt, dass das Stahlband nur 0,6mm Dick ist, durchaus zu erwarten.  Aber auch die Dicke des Rahmens mit 5 mm sieht eher schlank aus. In der 3D Vorschau wirkt das alles dann doch viel dicker,.

Hier ein paar Fotos vom ersten Prototypen:

Von oben sieht man schön die Auswucht- Gewichte als Ballast (hier 35 Gramm) und die Sechsecke für die M2 Muttern.

Ich bin am überlegen, ob ich die Drehgestelle etwas weiter nach innen verlege. Das begrenzt die kürzest- mögliche Länge zwar noch mehr, gibt aber für die Drehgestelle etwas mehr Spielraum zum Auslenken. Bei den Bachmann Wagen wird das Auslenken der Drehgestelle ebenfalls durch die Kupplungskästen begrenzt. Sie sitzen aber weiter innen, womit ein etwas größeres Spiel vorhanden ist. Ich muss mal sehen, ob das Fahrwerk so schon problemlos durch den H0 Radius 1 (365 mm) läuft oder nicht.  Egal wie sch…ße das aussieht, möglich sein sollte es auf jeden Fall. Auch wenn als Mindestradius im nicht sichtbaren Bereich meiner Anlage der H0 Radius R2 (420mm) vorgesehen ist..

Ist schon irre. Das sieht tatsächlich nach einem Modellbahn- Fahrzeug aus. Und dabei ist alles meiner Fantasie entsprungen und komplett selbst konstruiert. Das fasziniert mich stetes aufs Neue.  Außer Radsätzen, Kupplungen Schrauben und dem Ballast, ist alles von Grund auf selbst konstruiert und auch selbst ausgedruckt…

Bei der C-50 gab es ja noch eine Grundlage in Form der auf Thingiverse verfügbaren STL Dateien. Aber das ist alles komplett selbst gemacht…

Zum Abschluss noch mal ein Foto zusammen mit dem Bachmann “Excursion Car”

Die Proportionen passen ganz gut zusammen, denke ich. Bei der Gesamtlänge kommt mein Mini- Fotostudio so langsam an seine Grenzen…

Für meinen Container- Tragwagen wollte ich aber eine “moderne” Anmutung und habe dafür den Unterzug mit T- Trägern konstruiert..

Außerdem habe ich, bei Wagen ohne Einstiege zwei Aufstiegshilfen angebracht.

In dieser Version drucke ich aktuell das Fahrwerk mit 136 x 51 mm. Ein ISO Container in 1:48 ist 126 x 51 mm Groß. So passt die Breite genau und in der Länge sind pro Seite 5 mm Spielraum…

Die eher modernen T-Träger Unterzüge kombiniert man vielleicht nicht unbedingt mit den eher altmodischen Rungenhalterungen. Aber möglich ist das auf jeden Fall. Nur ob das so gut aussieht, müsste man abwarten.

Später werde ich vermutlich auch mal Rungen dafür konstruieren…

Außerdem überlege ich, das Fahrwerk wahlweise auch zweiteilig druckbar zu machen. Damit  könnte man auch längere Fahrwerke bis etwa 300 mm Länge auf kleineren Druckern drucken..

Der zweite Prototyp mit dem T- Träger Unterzug ist so weit fertig.

Für den zweiten Prototypen habe ich gleich mal einen 1:48 Container mit dem erwähnten Skript gedruckt.

Die Seitenwände sind wirklich Ok, die Tür ist mir aber zu primitiv.  Außerdem habe ich ihn, um Material zu sparen unten komplett ohne Boden gedruckt. Dadurch ist er instabil geworden und hat sich verzogen. Im Skript kann man den Boden nur geschlossen oder gar nicht drucken. Beides ist nicht gut. Offen ist es zu “wabbelig” und Geschlossen kann das nicht verbrauchte Harz aus dem Inneren des Containers nicht raus. Zum einen würde der Container dadurch extrem teuer, weil man ca 1/2 Flasche Harz für nichts und wieder nichts benötigen würde und zum anderen ist unverbrauchtes Harz im Inneren von Modellen der programmierte Tod des entsprechenden Modells. Das flüssige Harz löst nämlich im Laufe der Zeit (wir sprechen von Jahren, nicht Monaten) das ausgehärtete Harz von innen her wieder auf. Irgendwann ist dann mal ein Loch im Modell und der flüssige Inhalt ergießt sich auf den Boden. Eine Riesen- Sauerei. Das habe ich leidvoll selbst erfahren müssen. Ganz zu Beginn meiner Resin- Druck- “Karriere” habe ich mal ein paar Holzkisten als Ladegut gedruckt. Die waren von innen hohl. Ich hatte sogar ein “Abflussloch” vorgesehen. Trotzdem waren sie innen noch mit reichlich flüssigen Harz gefüllt. Vor ein paar Wochen ist plötzlich eine dieser Kisten aufgeplatzt und das noch darin vorhandene flüssige Harz ausgelaufen. Die anderen Kisten habe ich gleich hinterher entsorgt…  Ich muss also an dem Skript noch einiges nachbessern. Trotzdem ist es so viel einfacher, als alles ganz von Vorne selbst zu konstruieren.

Obwohl die Maße stimmen sollten, erscheint mir der Container einfach zu hoch. Vermutlich werde ich die nächsten Container, die als Ladegut gedacht sind, einfach etwas niedriger drucken. Wohncontainer hingegen, von denen ich irgendwann auch mal welche haben will, sollten besser die richtige Höhe haben. Sonst stoßen sich Herr und Frau “Preiser” die Köpfe an.

Die GEC in 1:48 kennen vermutlich nicht viele Leute gut genug, um die Proportionen einschätzen zu können. Aber die 1:45 MT- Stainz kennt jeder. Die Stainz sieht eigentlich viel zu alt für einen ISO Container aus. Die ersten Container dieser Art wurden aber schon 1955 eingesetzt. Die heute noch gültige ISO Norm gibt es seit Anfang der 1960er Jahre. Container lassen sich also vorbildgetreu schon ab Epoche 3 einsetzen…

Ich habe dann tatsächlich die Drehgestelle um je 1 mm weiter nach innen verlegt. Da ich keine H0 R1 Gleise mehr da hatte, konnte ich nur auf R2 (415mm Radius) testen. Hier laufen die Prototypen problemlos. Allerdings ist nicht mehr viel Luft gewesen. Deswegen der zusätzliche Millimeter, der relativ viel Spielraum bringt.

Außerdem habe ich den Kupplungsschacht noch einmal leicht modifiziert. Der Deckel dafür lässt sich jetzt hoffentlich besser anschrauben als bei Prototyp 2.

Da ich noch einen kleinen Rest Harz im Tank habe, der nicht mehr für einen weiteren Prototypen reicht, aber zu schade zum entsorgen ist, habe ich die Rungen konstruiert. Natürlich auch mit Parametern, damit man je nach Anwendungszweck unterschiedlich lange Rungen drucken kann.

Die ersten Prototypen sehen zwar (wie meist) etwas arg filigran aus, passen aber fast exakt in die Halterungen des Bachmann “flat cars”, den ich ja als Vorlage für die Halterungen an “meinem” Wagen genutzt habe.

Lediglich der “Fuß” ist minimal zu groß, um durch die Aussparungen in der Ladefläche zu passen. Dein fehlenden 1/10 mm werde ich wegnehmen, obwohl das bei meinen eigenen Wagen wohl auch so funktionieren würde.

Und so wie es aussieht, sind sie auch stabil genug. Allerdings meine ich, das meine uralten H0 Güterwagen eher “fettere” Rungen hatten. Ich habe sie in vier verschiedenen Positionen im Bauraum angeordnet, zum Austesten, wie ich sie am besten drucken kann.

Tatsächlich sind alle 4 Rungen zumindest irgendwie “etwas geworden”. Am schlechtesten ist die liegende Runge raus gekommen. Auf dem Foto oben ist das die rechte “hintere” eingesteckte Runge. Das ergibt zwar die kürzeste Druckzeit, was aber nur eine Rolle spielt, wenn man sonst weiter nichts größeres auf dem Druckbett hat. Die “diagonale” Runge ist besser als die “Liegende” geworden, aber ebenfalls auf Grund der vielen Stützen doch etwas arg “rau”. Die beiden “Aufrechten” sind am besten geworden, und das fast gleich gut. Die Runge ohne Stütze ließ sich am einfachsten vom Druckbett abnehmen, hat aber, wie zu erwarten einen leichten “Elefantenfuß”. Somit ist eine minimale Nacharbeit mit einer Feile notwendig, da sie sonst nicht in den Rungenhalter passt. Den Elefantenfuß hat die Runge mit Stütze natürlich nicht. Sie sieht man auf dem Foto oben als linke, vordere eingesteckte Runge. Das Stützmaterial unten drunter stört die Oberflächengüte überhaupt nicht, dafür dauert der Druck so auch am längsten. Aber so wird auch am wenigsten Platz auf dem Druckbett verbraucht. Davon kann man quasi immer eine ganzen Schwung voll mit unter bringen, wenn man etwas anderes druckt…

Der nächste Fahrwerks- Prototyp, den ich drucken werde, bekommt dann auf jeden Fall Rungen- Halterungen, die ich bei den ersten beiden Prototypen (Personenwagen, Container- Tragwagen) nicht gebrauchen konnte.  Fertig bin ich noch lange nicht, aber es wird langsam was.

Inzwischen habe ich die Rungen modifiziert und einen Satz für den Bachmann- Flachwagen gedruckt. Alles noch mit den Harz- Resten.

Ich habe obendrein ein wenig am Container und am dazugehörenden Tragwagen gebastelt.

Der Container, obwohl definitiv mit maßstäblich korrekten Abmessungen erscheint mir einfach zu hoch. Selbst auf den 1:45 Magic Train Wagen wirkt der 1:48 Container zu hoch. Typischer Fall von maßstäblich muss nicht immer perfekt sein.

Auch im Vergleich zu einem 1:48 Container aus einem Ausschneidebogen passt das irgendwie rein optisch nicht. Wie gesagt, die Abmessungen meines gedruckten Containers stimmen mit den Norm- Maßen für einen 20 Fuß ISO- Container im Maßstab 1:48 exakt überein. Länge und Breite des 1:48 Papier- Containers sind exakt wie beim 3D Container. Nur eben die Höhe ist offensichtlich unterschiedlich.

Deswegen habe ich ihn einfach etwas niedriger gemacht. Außerdem waren die Türen ja nur sehr primitiv angedeutet.

Das habe ich ein wenig verbessert. Ist immer noch alles andere als Finescale, aber sieht doch erheblich besser aus als das Original. Daneben habe ich den Container unten verstärkt und mit Aussparungen für Haltezapfen versehen. Die Gegenstücke kann man auf Wunsch auf dem Fahrwerk erzeugen lassen.

So kann man den Container einfach auf den Wagen stecken und er rutscht nicht hin und her.

Aktuell druckt gerade ein so modifizierter Container. Über Nacht werde ich dann ein Tragwagen- Fahrwerk dafür drucken, um zu sehen, ob alles zusammenpasst und ob die Proportionen jetzt stimmiger aussehen.

Der neue Container hat jetzt dieselbe Höhe wie der Papier- Container:

Man sieht auch, das die Türen jetzt doch etwas besser aussehen, oder?

Allerdings wirkt der Container immer noch recht hoch:

Doch noch niedriger werde ich ihn nicht machen.

Dann muss eben das Lichtraumprofil entsprechend angepasst werden. Meine Bahn ist eine moderne, wenn auch überwiegend mit Museumsfahrzeugen betriebene, touristisch geprägte Bahn auf einer Tropeninsel. Auf einer Insel sind Container unverzichtbarer Bestandteil des Transportwesens im  Alltag. Also auch auf Terthana…

Und so kommt ein kompletter Rungenwagen (bis auf den Ladeflächenboden, dazu gleich mehr)  auf einmal in dem 3D Drucker:

Ein Fahrwerk, zwei Drehgestelle und die nötige Anzahl Rungen passt auf einmal aufs Druckbett. Das spart viel Zeit, denn der Druck des Fahrwerks alleine würde exakt genau so lange dauern wie der dieses Komplettpakets.

Um auch die Ladefläche passgenau herstellen zu können, habe ich das Skript um eine Option erweitert, eine zum Fahrwerk passende  SVG Datei zu erzeugen (hier Schwarz).

Denn man kann in OpenSCAD nicht nur 3D sondern auch 2D bauen.

Diese SVG Datei kann man dann entweder als Schnittvorlage verwenden oder sie für Lasercutter oder CNC- Fräse verwenden.

Dazu möchte ich mal etwas versuchen, was mir schon länger im Kopf herum geistert. Ich habe Kaffee- Rührstäbchen aus Holz mit einem Klebestift auf ein Blatt Papier (Altpapier in diesem Fall)  geklebt:

Das sieht doch recht passend für eine Ladefläche aus, oder?.

Ich habe dann einen  Katalog auf die Leisten gelegt und ihn mit 25 Kg Chinchilla- Sand beschwert. War das Schwerste, was ich gerade zur Hand hatte und sich transportieren und auf den Katalog stellen ließ. So lasse ich das Ganze jetzt erst mal liegen, bis der Kleber ausgehärtet ist.

Danach werde ich mit dem Laser und der im Skript erzeugten SVG mal einen Fahrzeugboden ausschneiden. Mal sehen, wie das dann fertig aussieht..

Kurzer Blick auf den aktuellen Stand…

Im Moment habe ich nicht so viel Zeit. Deswegen geht es nur langsam voran. Ich habe inzwischen 2 Containerwagen mit den dazugehörenden Containern gedruckt. Die sind gerade beim lackieren. Wenn sie fertig sind, gibt es Fotos.

Dann habe ich mich an die Konstruktion des Aufbaus für einen offenen Personenwagen gemacht.

Der Boden ist mit leicht unregelmäßigen Bretterfugen geschmückt. Diese werden per Zufallsgenerator um bis zu 1 mm in der Breite variierend eingefügt. Das sieht organischer als das “cleane” exakte Muster, das Computer sonst so machen. Auch die Breite und Tiefe der Fugen ist nicht exakt gleich. Ich hoffe, man sieht das später am gedruckten Wagen überhaupt irgendwie.

Die Geländer sind auch als Ersatz für die Bachmann “Wildwest” Wagen zu gebrauchen. Darauf habe ich gleich geachtet, denn bei zwei meiner Wagen sind die Geländer nicht mehr in Ordnung. Ich werde, sofern der Druck klappt, dann aber wohl alle Geländer tauschen, damit es einheitlich wird. Es wird wohl noch einen Bremshebel geben. Vielleicht (weiß ich aber noch nicht) gibt es auch noch ein hochgeklapptes Übergangsblech.

Mal sehen, vielleicht mache ich die Geländer auch mal passend zu Magic Train, denn die serienmäßigen MT- Geländer sind ja nicht so der Brüller.

Die Geländer werden, genau wie der eigentliche Aufbau einzeln gedruckt. Das erleichtert das Lackieren bzw. ermöglicht überhaupt erst die Montage des Wagens. Die Gesamt- Ansicht dient nur zur Darstellung, wie es zukünftig mal aussehen könnte.

Als Nächstes kommen die Bretterfugen an die Seitenwände, genau wie Verstärkungsprofile. Natürlich fehlen auch noch die Sitzgelegenheiten. Ich bin mir noch nicht ganz sicher, ob ich ein Dach vorsehen soll, oder nicht. Auf meiner Tropeninsel wäre das eher als Schutz vor der Sonne als vor Regen zu verstehen.

In der Zwischenzeit habe ich das Skript für die Geländer ausgelagert und fertig gestellt. Dazu gibt es jetzt einen eigenen Punkt.

Außerdem habe ich (mal wieder) ein für mich neues Harz probiert. Das Harz ist nahezu geruchlos, wird aber genau wie “normales” Harz mit Alkohol gewaschen. Man muss es länger belichten als normales Harz. Die “regulären” Schichten belichte ich mit 5 Sekunden statt 3 Sekunden wie sonst üblich.  Es wird nur ungefärbt geliefert. So wie es geliefert wird, ist es transparent wie Glas, nur mit einem leichten Gelbgrün- Stich. Man kann es, wenn man mag aber problemlos selbst einfärben. Da meine Teile sowieso lackiert werden, spare ich mir das Einfärben natürlich. Erstaunlich an dem Harz ist aber vor allem, das es recht günstig ist und das obwohl es nicht aus China kommt. Es wird in der EU, genauer in Österreich hergestellt. Allein das war für mich schon Grund genug, es mal auszuprobieren. Bezogen habe ich es über Amazon und der Hersteller nennt sich Basic-3D. 1 Kg Harz hat mich incl. Versand 28€ gekostet. Für ein Produkt “Made in EU” erstaunlich günstig, da es sogar unter dem Preisniveau der allermeisten “Made in China” Harze liegt.

Die ersten Eindrücke sind vielversprechend.  Es gibt fast keine “Irritationen” rund um das Stützmaterial, etwas, was beim ABS-Like Harz leider sehr ausgeprägt ist. Schon mal ein großer Pluspunkt. Außerdem verziehen sich die Drucke längst nicht so stark und machen auch allgemein einen mechanisch eher soliden Eindruck. Das entspricht auch der Quintessence der überwiegend sehr positiven Rezensionen auf Amazon. Ein weiterer Grund, warum ich das Basic 3D Harz mal probiert habe.

Hier ist ein nicht “begradigtes” 160mm Fahrwerk aus Elegoo ABS-Like Resin. Man sieht deutlich die Wölbung des Fahrwerks.  Diese Wölbung ist für das Harz bei diesem Modell durchaus üblich und im “normalen” Rahmen, also kein besonders krummes Exemplar. Das kann man ohne weiteres mit Wärme in Form bringen. Einfach beim Abkühlen entsprechend gegengebogen festhalten… . Dieses Fahrwerk ist aber noch eine Vorab- Version, weswegen ich mir diese Arbeit nicht machen werde. Die Treppen an den Aufstiegen sind mir zu klein geraten.

Und hier mal (fast) dasselbe Fahrwerk aus dem Basic-3D Harz. Die Wölbung ist zwar auch hier vorhanden, aber erheblich weniger ausgeprägt. Ich frage mich schon fast, ob sich die MDF Platte, auf der das Fahrwerk liegt, nicht genauso stark durchbiegt wie das Fahrwerk selbst…

Ein Nachteil ist, das man die Teile von der Druckgüte her auf Grund der fehlenden Farbe nur schwer beurteilen kann. Ich muss erst mal ein paar teile lackieren, damit ich das wirklich einschätzen kann.

Auf meinem sonst üblichen weißen Hintergrund konnte man die Teile auf den Fotos praktisch gar nicht erkennen. Auf Schwarz so wie hier geht es besser, aber immer noch nicht perfekt.

Wirklich schlecht sieht das Ganze jedenfalls nicht aus.

Universal- Loklaterne für Standard 3mm LED

Hallo.

Für meine C-50 benötige ich noch Laternen, die eher dem bei der RTR vorherrschenden amerikanisch aussehenden Standard entsprechen als die originalen LKW Lampen, die eigentlich an der C-50 montiert sind. Deswegen habe ich mir eben schnell welche in OpenSCAD konstruiert. Damit man diese Lampen universell einsetzen kann, habe ich sie mit Parametern konstruiert, um sie individuell an die Gegebenheiten anpassen und individualisieren zu können. Die schlichteste Form, quasi der Kern der Laterne sieht so aus:

Das Lampengehäuse wird einfach über die LED gestülpt. Dazu sollte man vorher die halbrunde Front der LED plan schleifen. So übernimmt die LED gleich auch die Funktion des Lampenglases.  Ein Tropfen Sekundenkleber sichert die Konstruktion.

Um die Laterne etwas dekorativer zu gestalten, kann man per Parameter einen Kamin hinzufügen:

Um es noch schöner zu machen, kann man einen Bügel aus 0,3 bis 0,5 mm Messingdraht biegen und über den Kamin an die Laterne bauen. Das mit zu drucken, funktioniert aber aus Stabilitätsgründen nicht. Hier kann man nur Metall verwenden.

Zur Befestigung der Laterne an der Lok hat man verschiedene Optionen. Man kann den Sockel mit einem Loch versehen, um die Laterne auf einen entsprechenden Draht zu kleben.

Man kann aber auch einen Dorn mit Drucken, der in eine entsprechende Bohrung an der Lok gesteckt werden kann. Dazu kürzt man ihn auf die benötigte Länge und klebt die Laterne dann an die Lok.

Um die Laterne vor  das Lok- Gehäuse platzieren zu können (wie man es meist bei US Dampfern sieht, und wie es auch bei meiner C-50 notwendig ist), kann man die Laterne auch mit einer Basis zur Montage versehen.

Auch hier gibt es die Option, einen Montage- Dorn mit zu drucken.

 

Hier ist das dazugehörende OpenSCAD Skript:

// Universal- Lampe LED 3 mm

// Variablendeklaration

$fn=100; //Glattheit der Radien

$pos=0; //legt die position des Sockels fest. 0 = Unten, 1 = rechts, 2 = Links

$kamin=0; //Bestimmt, ob die Lampe einen Kamin bekommen soll, 0 = nein, 1 = Kamin

$dorn=0; //Bestimmt, ob die Lampe einen Dorn bzw ein Loch zur Montage bekommen soll, 0 = nein, 1 = Dorn, 2 = Loch

$basis=0; //Bestimmt, ob die Lampe mit einer Basis erstellt wird, um sie vor das Gehäuse bauen zu können, 0 = nein, 1 = Ja. Kann nur mit $pos=0 zusammen verwendet werden.

$basisdorn=0; //Bestimmt, ob die Basis einen Dorn bzw ein Loch zur Montage bekommen soll, 0 = nein, 1 = Dorn, 2 = Loch Kann nur mit $pos=0 zusammen verwendet werden.

$t=0.0; //Toleranzwert, um den Durchmesser der Öffnung an den eigenen Drucker anzupassen. Kann positiv oder negativ sein.

// Konstruktion

// Lampenschirm
difference(){
union(){cylinder(h=4, d=4+$t);
translate([0,0,-1.5])cylinder(h=3.9, d=5+$t);
}

translate([0,0,-1.5])cylinder(h=9, d=3+$t);

translate([0,0,-1.55])cylinder(h=2.5, d=4+$t);

translate([-0.5,0,5.15])rotate([0,15,0])cube([6,6,3], true);
}

// lampensockel
if($pos==0){translate([2,-2,-0.57])difference(){cube([2,4,2]);
translate([0,3.2,-1])rotate([0,0,20])cube([3.5,2.5,4]);

translate([-0.75,-1.72,-1])rotate([0,0,-20])cube([3.6,2.5,4]);

//Loch im Lampensockel
if($dorn==2) translate([-1,2.0,1])rotate([0,90,0])cylinder(h=25.5, d=1);
}
}
if($pos==1){translate([2,2,-0.57])rotate([0,0,90])difference(){cube([2,4,2]);
translate([0,3.2,-1])rotate([0,0,20])cube([3.5,2.5,4]);

translate([-0.75,-1.72,-1])rotate([0,0,-20])cube([3.6,2.5,4]);

//Loch im Lampensockel
if($dorn==2) translate([-1,2.0,1])rotate([0,90,0])cylinder(h=25.5, d=1);

}
}
if($pos==2){translate([-2,-2,-0.57])rotate([0,0,-90])difference(){cube([2,4,2]);
translate([0,3.2,-1])rotate([0,0,20])cube([3.5,2.5,4]);

translate([-0.75,-1.72,-1])rotate([0,0,-20])cube([3.6,2.5,4]);

//Loch im Lampensockel
if($dorn==2) translate([-1,2.0,1])rotate([0,90,0])cylinder(h=25.5, d=1);

}
}
// Lampendorn
if($dorn==1) translate([3,0,0])rotate([0,90,0])cylinder(h=10, d=1);

// Kamin
if($kamin==1){translate([-3.5,0,0.53])rotate([0,90,0])cylinder(h=1.2,d=1.8,$fn=8);

translate([-4.4,0,0.5])rotate([0,90,0])cylinder(h=0.9,d1=0,d2=2.8);
}

//Lampenbasis

if($pos==0){if($basis==1){difference(){translate([4.3,0,-0.7])cube([1.0,4.4,5],true);

//Loch in der Basis
if($basisdorn==2) translate([4.31,0,-25.5])rotate([0,0,0])color("pink")cylinder(h=25.5, d=0.7);
}
if($basisdorn==1)translate([4.3,0,-10])cylinder(h=10, d=0.75);

}
}

}

Und hier noch mal als Zip zum Download

Viel Spaß beim Nachdrucken.

Anycubic Eco 3D Resin, Geruchsneutral und aus Sojabohnen hergestellt.

Ich habe, nachdem ich bisher stets das Wasser- Waschbare Harz von Elegoo genutzt habe, ein (zumindest für mich) ganz neues Resin von Anycubic entdeckt. Das Resin ist rein auf pflanzlicher Basis (aus Sojabohnenöl) ohne chemische Inhaltsstoffe hergestellt . Außerdem soll es ungiftig sein und nicht riechen. Das musste ich natürlich sofort ausprobieren und habe mir zum Testen eine 500g Flasche (in Grau) für 14,44€ bestellt. Gewaschen wird es entweder mit Alkohol oder in “Prilwasser”… (Fast) Ungiftig, nicht stinkend und mit Geschirrspülmittel gewaschen, das wäre ja endlich mal eine echte Weiterentwicklung…

Eigentlich wollte ich ja als nächstes das ABS- Like Resin probieren, aber das Bio- Resin interessiert mich dann doch mehr. Es ist (wie fast immer über Amazon) binnen einem Tag angekommen. Es ist tatsächlich nahezu geruchslos. Wenn man die Nase direkt in die Flasche hält, dann kann man etwas Geruch erahnen. Mehr ist da aber nicht. Das Zeug ist übrigens tatsächlich wie grau eingefärbtes Sojaöl, auch von der Konsistenz her. Meinen Salat würde ich damit natürlich trotzdem nicht anrichten. ich bin nämlich Olivenöl Fan…  😉

Mit reinem Wasser kann man es übrigens nicht waschen. Das schmiert nur, eben genau wie wenn man Öl oder Fett mit Wasser abwaschen will… Man benötigt wirklich Seifenwasser oder Alkohol dafür.

Als erstes habe ich mal die passende Belichtungszeit ermittelt. Dafür gibt es ja Test- Dateien im Internet. Als Ergebnis kam für meinen Drucker (Elegoo Mars 1. Generation) 7 Sekunden heraus, also 1 Sekunde mehr als für das herkömmliche Harz, das ich bisher immer verwendet habe.
Die Ausdrucke fühlen sich ungehärtet ziemlich Fettig an, was ja nicht wirklich verwundert. Gehärtet habe ich noch nichts. Aktuell drucke ich gerade das Gehäuse für das C 50 Projekt. Wird aber wohl nicht mehr rechtzeitig fertig um es noch heute zu fotografieren oder zu beurteilen. Morgen muss ich wieder zu diversen Ärzten. Da weiß ich nicht, ob ich es schaffe, Fotos zu machen und hier einzustellen. Von Donnerstag bis Sonntag bin ich gar nicht zu Hause, also könnte es etwas dauern, bis es die Ergebnisse zu sehen gibt…

Zur Zeit bin ich zufrieden. Der Geruch ist absolut nicht mehr störend, beim Drucken überhaupt nicht mehr wahrnehmbar. Man muss kein teures IPO zum Spülen verwenden . Und es wird kein Erdöl dafür ver(sch)wendet sondern ein nachwachsender Rohstoff, eben Sojabohnen, genutzt.

Zu den eigentlichen Druckergebnissen kann ich natürlich noch nichts sagen, da der erste “echte” Druck zur Zeit noch läuft… Sobald ich da was genaueres weiß, stelle ich das hier ein.

Leider hat der Druck nicht funktioniert. Das lag aber nicht am Harz, sondern daran, das ein winziges Loch in der FEP Folie ist. Wie das da rein kommt, weiß ich nicht. Auf jeden Fall ist deswegen etwas Harz unter den Tank gelaufen und hat natürlich das richtige Belichten verhindert. Dadurch ist das C50- Gehäuse nur teilweise gedruckt worden. Die Teile, die da sind, sehen ziemlich gut aus. Auch scheint die Stabilität eher besser als bei herkömmlichem Harz zu sein. Aber das kann ich so natürlich nicht wirklich beurteilen…

Zum Glück habe ich noch FEP Folien vorrätig. Nur ob ich es, bevor ich übers Wochenende weg fahre, noch schaffe, einen neuen Druck fertig zu bekommen, kann ich nicht versprechen…

Wie gesagt, dieses Problem kann man dem Harz keinesfalls anlasten. Das was ich unter diesen Umständen sehen konnte, ist aber vielversprechend. Bewahrheitet sich das so wie ich aktuell vermute, wird das Anycubic ECO Harz mein neuer Standard… Die Vorteile liegen klar auf der Hand. Keine Geruchsbelästigung, kein Erdöl sondern nachwachsende Rohstoffe (Sojabohnen) als Basis, sehr viel geringere Giftigkeit des flüssigen Resins bei (fast) Lebensmittel- Echtheit der ausgehärteten Objekte, Gute Druckergebnisse und keine Unmengen von IPO zu entsorgen… Das “Prilwasser” sammele ich in einem Eimer (abgedeckt, damit keine Tiere an das Wasser können) den ich nach draußen stelle und vom Tageslicht vollständig durchhärten lasse. Der Wasser- Rest kann dann in Ruhe verdunsten und es bleiben nur noch kleinste Partikel zum Entsorgen… IPO würde zwar deutlich schneller verdunsten als Wasser, aber solche Mengen IPO in die Luft zu blasen, ist dann auch nicht sooo nett wohingegen verdunstetes Wasser einfach nur Wasser ist…

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…