3D print til modeljernbanen

Hvilken maskine valgte jeg og hvorfor?

Jeg forelskede mig i en Ultimaker 2, fordi den ikke skulle bruge en Windowsmaskine (jeg kan ikke lide Microsoft, min pc kører en Linux-version, der hedder Ubuntu). Ultimakeren havde endvidere en dyse på 0.4 mm og kunne gå ned til en lagtykkelse på 0.2 mm. (Forklaring herpå følger).

Jeg måtte i marts 2015 bløde den nette sum af 19.000 kr for maskinen hos 3D Printhuset.

Senere købte jeg et opgraderingssæt, så min printer nu er en Ultimaker 2+ med udskiftelig dyse (ned til 0.25 mm).

Inden den store investering skulle jeg finde ud af, hvordan jeg fik lavet tegninger i et tegneprogram. Jeg fik desuden gennem 3dhubs.com lavet et testprint hos en lokal ejer af en Ultimaker 2.

Hvilket tegneprogram valgte jeg og hvorfor?

På 3D Printhusets hjemmeside var der en liste over tegneprogrammer. Herpå fandt jeg programmet FreeCAD, der er et gratis program, der kan køre under Ubuntu.

På nettet fandt jeg et lille hæfte, der hed "FreeCAD [How-to]". Det viste sig at være en guldgrube for mig: Der var 3 sider om "Creating 3D solids with Python", hvor der var et simpelt, men vel beskrevet eksempel på, hvordan man kan lave et script (en programkode) til en tegning. Da jeg havde fundet og installeret FreeCAD på min PC var jeg i gang!

Jeg foretrak at lave mine modeller vha scripts, fordi jeg mener, at det er hurtigere, lettere og mere nøjagtigt at fremstille modeller på den måde. Det er desuden lettere at tage dele af een model og kopiere og tilpasse dem til en anden model. Endvidere kan jeg lave småprogrammer, der kan generere scripts helt eller delvis.

Jeg fandt ret hurtigt ud af, at dokumentationen af FreeCAD var uoverskuelig og mangelfuld - i hvert fald for en novice udi 3D modellering som mig. Så efterhånden som jeg fik fundet forskellige kommandoer og fik fundet ud af, hvordan de virkede, dokumenterede jeg dem i min egen manual. Så den indeholder, hvad jeg har brugt for at fremstille de modeller, som jeg vil vise dig nedenfor.

Hvis du har fået blod på tanden, er du velkommen til bruge mine erfaringer. Min manual kan downloades her: Onkel Henriks FreeCAD Manual

Hvordan virker en 3D printer?

Nedenfor er vist en skitse af arbejdsgangen. De enkelte kasser er nærmere forklaret nedenfor.

Ide Målskitser

Hvilken model ønsker jeg mig?

Hvilke komponenter skal modellen bestå af, og hvordan skal de vende for at kunne printes på fornuftig vis? (min manual indeholder nogle erfaringer hermed). Målene på modellen skal fastlægges.

Kodning

Den enkelte komponent til en model kan bestå af mange dele. De enkelte dele skal defineres nøjagtigt. Fx er en meget almindelig del en kasse. Her skal kassens længde, bredde og højde defineres. Og det skal defineres, hvor i rummet kassens ene hjørne skal befinde sig (såkaldte koordinater). Hvilke dele, modellen kan bygges op af, og hvordan disse defineres, er beskrevet nærmere i min manual.

Python kode

Jeg lægger alt det kodede i en tekst-fil.

Tegneprogram (FreeCAD)

Jeg kopierer Python koden fra tekst-filen over i FreeCAD's Python Console, som omsætter koden til en 3D tegning, der vises på skærmen. Denne tegning kan man vende og dreje på skærmen for at kontrollere, om den er som forventet. Det sparer mange timers forgæves print!

3D-model (.stl)

Fra FreeCAD har jeg eksporteret 3D modellen til en fil i .stl formatet.

Slicer (Cura)

Cura er et program, der hører til 3D printeren. Dette program skærer 3D modellen i tynde vandrette skiver.

Printbar model (.gcode)

Den skivede model har Cura lagt ud på et memory card, som jeg bærer fra pc'en over til 3D printeren.

3D Printer (Ultimaker 2+)

3D printeren lægger så flydende plastic ud - en skive ad gangen. De skiver, som Cura har skåret modellen op i. Og gennem en dyse, som er 0.4 eller 0.25 mm. Det kan tage sin tid, hvis det er en stor model, hvor man af hensyn til printkvaliteten har valgt at få modellen skåret i meget tynde skiver og også vil benytte den tyndeste dyse.

Færdig plastic-model

Og så - endeligt - efter nogle minutter - eller timer - kan man tage den færdige model ud af printeren.

Definition af objekt

I nogle tilfælde har jeg lavet småprogrammer, der kan fremstille Python koden helt eller delvist.

I skrivende stund har jeg generatorer til fremstilling af murstensflader. Her skal fx defineres koordinaterne på murstensfladens modstående hjørner.

Jeg har også en vindues-generator, hvor sprossernes bredde og tykkelse samt rudernes størrelse defineres. Dette beskriver jeg nærmere nedenfor.

De definitioner, der skal bruges til genereringen lægger jeg i en tekst-fil.

Generering

Generatorerne har jeg skrevet i sproget REXX. Ud fra de definitioner, der læses fra tekst-filen, kan programmet generere dele af koden (som fx en murstensflade) eller en fuld og færdig kode (som fx et vindue).

Kodning

Kodningen kan således være en blanding af genereret kode og selvskreven kode.

Hvad har jeg så lavet indtil videre?

Mange af de ting, jeg har lavet, har jeg endnu ikke haft tid til at efterbehandle og male. Disse ting er så vist direkte fra printeren.

Efterbehandling kan bestå i at fjerne spild af plastic, som printeren af og til laver. Maling vil også sløre nogle ujævnheder.

Endeligt skal man huske på, at billederne ofte er store forstørrelser.

Mursten
Sandtårn
Remise
Nykøbing Falster stationsbygning
Kloak (brønde og rør)
Fodboldbanens lægter
Olietankanlæg
Benzinpumpe
Havelåge med sol
Telefonskab
Vinduer efter mål