Lær OpenSCAD: Tilgængeligt 3D-design for blinde og seende makere
OpenSCAD er det mest tilgængelige 3D-designværktøj, jeg har fundet indtil videre som blind maker. I stedet for at klikke, trække og justere former visuelt bygger jeg modeller ved at skrive kode. Det betyder, at designet kan læses, redigeres, søges i og forstås med en skærmlæser.
Jeg er Edis, og OpenSCAD er blevet et af de vigtigste værktøjer bag mit 3D-printarbejde. Dette er ikke en komplet manual. Det er en praktisk introduktion til, hvorfor jeg bruger det, hvordan det virker, og hvorfor tekstbaseret CAD kan være nyttigt for blinde og seende makere.
Hvorfor jeg bruger OpenSCAD
Mange CAD-programmer er bygget op omkring et visuelt arbejdsområde. Det kan fungere godt, hvis du bruger en mus og kan se modellen tydeligt, men det skaber barrierer, når man er afhængig af en skærmlæser.
OpenSCAD virker anderledes. Jeg beskriver genstanden i tekst. En terning har mål. En cylinder har en radius og en højde. En del kan flyttes, roteres, kopieres eller trækkes fra ved hjælp af kommandoer. Det gør designprocessen mere præcis og mere tilgængelig for mig.
Hvad gør OpenSCAD anderledes
- Jeg kan skrive designs som almindelig tekst.
- Jeg kan bruge et tastatur og en skærmlæser i stedet for en mus.
- Jeg kan ændre mål ved at redigere variabler.
- Jeg kan holde designs under versionsstyring.
- Jeg kan genbruge moduler på tværs af forskellige projekter.
Bagsiden er, at OpenSCAD beder dig tænke logisk. Det opfører sig ikke som et skulptureringsværktøj. Jeg er nødt til at beskrive, hvad jeg vil have, på en struktureret måde. For den slags funktionelt og taktilt arbejde, jeg laver, er det en styrke.
Din første form
En simpel OpenSCAD-model kan være én linje:
cube([30, 30, 10]);
Den linje laver en rektangulær kasse, der er 30 mm bred, 30 mm dyb og 10 mm høj. OpenSCAD bruger millimeter som standard, hvilket gør det naturligt til 3D-print.
Grundformer, jeg bruger hele tiden
- cube([x, y, z]) laver en kasse med bredde, dybde og højde.
- sphere(r = 10) laver en kugle med en radius på 10 mm.
- cylinder(h = 10, r = 5) laver en cylinder, der er 10 mm høj med en radius på 5 mm.
De simple former kan blive meget mere nyttige, når jeg flytter, roterer, kombinerer og trækker dem fra hinanden.
Parametre gør designs lettere at ændre
Jeg undgår at begrave vigtige tal dybt i koden. Hvis en model skal ændres senere, vil jeg have hovedmålene tæt på toppen.
box_width = 60;
box_depth = 40;
box_height = 12;
cube([box_width, box_depth, box_height]);
Nu kan jeg ændre bredden, dybden eller højden ét sted. Det betyder noget for skræddersyet arbejde, fordi mange designs skal tilpasses en bestemt person, genstand eller printer.
At kombinere og trække former fra hinanden
OpenSCAD bliver kraftfuldt, når jeg bruger booleske operationer. Jeg kan lægge former sammen med union(), fjerne én form fra en anden med difference() eller kun beholde overlappet med intersection().
difference() {
cube([60, 40, 12]);
translate([20, 20, -1]) cylinder(h = 14, r = 5);
}
Det eksempel laver en blok og skærer et rundt hul gennem den. translate-kommandoen flytter cylinderen, før den trækkes fra. For eksempel flytter translate([20, 20, 0]) en genstand 20 mm på X-aksen og 20 mm på Y-aksen.
At gøre OpenSCAD lettere at arbejde med
Min OpenSCAD-arbejdsgang afhænger af klar struktur. Når en fil bliver rodet, bliver den sværere at forstå med en skærmlæser og sværere at rette senere.
- Jeg bruger tydelige variabelnavne.
- Jeg holder hovedmålene tæt på toppen af filen.
- Jeg deler gentaget geometri op i moduler.
- Jeg kommenterer koden, når grunden til et valg ikke er indlysende.
- Jeg tester små dele, før jeg samler dem til en hel model.
OpenSCAD-customizeren er stadig hovedsageligt et visuelt værktøj, så jeg er ikke afhængig af den med NVDA. Hvis en fil bruger customizer-variabler, redigerer jeg som regel de værdier direkte i SCAD-filen.
Et praktisk eksempel
Et telefoncover, en taktil markør eller et lille beslag kan alle starte på samme måde: mål genstanden, definér de vigtige mål, byg hovedformen, og skær så de rum væk, der skal være åbne.
Til præcise mål bruger jeg den kilde, der giver mening for projektet. Nogle gange måler jeg en rigtig genstand. Nogle gange slår jeg de officielle mål på en telefon eller del op. Nogle gange printer jeg et teststykke og justerer derfra.
Hvis du besøger mit STL-bibliotek, kan du finde OpenSCAD-baserede designs, der viser, hvordan den slags tænkning bliver til printbare genstande.
Hvorfor det betyder noget for tilgængelighed
OpenSCAD betyder noget for mig, fordi det giver blinde makere en seriøs vej ind i 3D-design. Det gør også designs lettere at dokumentere og tilpasse.
Et taktilt design har ofte brug for præcis afstand, hævede detaljer, tydelige etiketter og gentagelige mål. Tekstbaseret design hjælper mig med at styre de ting. Hvis en punktskriftetiket skal flyttes 2 mm, kan jeg ændre et tal. Hvis et håndtag skal være bredere, kan jeg ændre en parameter.
Fejl, jeg forsøger at undgå
- Jeg lader ikke en fil vokse uden struktur.
- Jeg hardcoder ikke hvert tal, hvis designet måske skal ændres senere.
- Jeg indlejrer ikke moduler så dybt, at jeg ikke kan følge logikken.
- Jeg stoler ikke på et design, før jeg har printet og testet de relevante dele.
- Jeg glemmer ikke at sikkerhedskopiere filer.
Afsluttende tanker
OpenSCAD kan se skræmmende ud i starten, fordi det er kode. Da jeg først forstod grundidéen, blev det et af de mest praktiske værktøjer, jeg havde. Jeg kan designe med tekst, revidere med præcision og bygge modeller, der giver mening gennem berøring.
Hvis du er blind eller svagtseende og vil prøve 3D-design, synes jeg, OpenSCAD er din tid værd. Hvis du er seende, er det stadig værd at lære, fordi det lærer dig disciplineret, målbart design.
Jeg ser ikke OpenSCAD som det eneste svar. Jeg ser det som en rigtig god indgang til tilgængelig 3D-modellering.
Kommentarer
Skriv en kommentar