Begynnerveiledning for OpenSCAD Programmering 3D-trykte modeller
Har du alltid ønsket å designe dine egne 3D-modeller? Hva med 3D-utskrift en del du har designet? Det finnes mange 3D modelleringsprogrammer rundt, men det kan være vanskelig å bruke hvis du ikke er kunstnerisk (som meg). OpenSCAD gir deg mulighet til å designe modeller spesielt for 3D-utskrift, uten å bruke noe annet enn kode. Ikke bekymre deg hvis du ikke vet hvordan du skal kode heller, i dag skal jeg veilede deg gjennom det grunnleggende.
Hva er OpenSCAD?
OpenSCAD er en gratis Solid Computer Aided Design modeller. Den er tilgjengelig for Windows, Mac og Linux. Det som gjør det annerledes enn mange andre programmer, er at du designer deler ved hjelp av kode i stedet for en mus. Dette gjør det veldig enkelt å lage matematiske beregninger, lagre dimensjoner i variabler, endre størrelse på deler og mer.
Det er noen faktorer du trenger å redegjøre for når 3D-utskriftsmodeller, men mange av disse gjelder for 3D-utskrift-CAD-modeller generelt, ikke bare OpenSCAD-design. Hvis du vil vite mer om 3D-utskrift, må du sjekke vår Ultimate Beginner's guide. Ultimate Beginner's Guide til 3D Printing Ultimate Beginner's Guide til 3D Printing 3D-utskrift skulle være den nye "Industrial Revolution". Det har ikke tatt over verden ennå, men jeg er her for å snakke deg gjennom alt du trenger å vite for å komme i gang. Les mer . Hvis du leter etter en mer interaktiv modell, les ut veiledning for å lage objekter i Sketchup Design og bygg 3D virtuelle bygninger og objekter Med Google SketchUp Design og bygge 3D virtuelle bygninger og objekter med Google SketchUp Google SketchUp er ryggradsmodellprogrammet for Google BuildingMaker, som tillater grafiske designere å sende inn byggedesign til Google for å bli lagt til den offisielle Google Earth-bilder. Les mer .
Komme i gang
Først, gå videre til nedlastingssiden og finn en versjon av OpenSCAD som passer for operativsystemet. Jeg bruker Mac OS, men disse OpenSCAD-prinsippene gjelder for alle systemer.
Når installert, gå videre og åpne den. Du vil bli presentert med denne oppstartsmenyen:
Dette viser deg filene du åpnet sist, og gir deg muligheten til å laste inn noen få eksempler. Ta gjerne en titt på noen av eksemplene, men jeg fant disse gjort ting mer forvirrende når de først begynte. For denne opplæringen, opprett en ny fil ved å klikke på ny knapp.
Når du er åpen, vil du bli presentert med dette blanke utsnittet:
Dette er delt inn i tre hovedområder. Til venstre er din redaktør og menyen. Dette er hvor du vil skrive din kode.Denne vil ikke ha noen kode inn enda, siden du lager en ny fil. Øverst er det noen menyknapper for å utføre grunnleggende oppgaver, for eksempel last, lagre, angre osv.
Nederst til høyre er det konsoll. Dette vil vise deg noen feil i å bygge modellen.
Den siste delen er hovedgrensesnitt øverst til høyre. Her kan du samhandle med modellen din, men du vil ikke kunne redigere den her (du vil skrive kode for å gjøre dette).
Det er flere knapper på bunnen av dette hovedgrensesnittet. Disse lar deg i hovedsak se utformingen din på forskjellige måter.
Gå videre og lagre en ny fil ved å trykke på lagre knapp i redigeringsmeny eller ved å gå til Fil > Lagre.
Det grunnleggende
Slik fungerer OpenSCAD mesteparten av tiden, gjennom tillegg og subtraksjon av enkle former. Du kan bygge svært komplekse modeller på denne måten, så la oss hoppe rett inn i.
Her er den første formen, en enkel boks:
Og her er koden for å produsere det:
kube (); // lage en kube
For å få koden din til å utføre og bygge modellen, må du forhåndsvise den. OpenSCAD vil gjøre dette som standard hver gang du lagrer, eller du kan trykke F5 å tvinge en oppdatering. Forsøk å flytte rundt i 3D-rom ved å holde nede venstre eller høyre museknapp.
Nå produserer dette en fin kube, men det er ikke veldig nyttig uten noen dimensjoner. OpenSCAD virker ikke i et bestemt målesystem, men i stedet er enheter i forhold til hverandre. Du kan opprette en boks 20 x 10, og det er opp til et hvilket som helst annet program (for eksempel 3D-utklippssnitteren) for å tolke disse, være det metriske eller keiserlige. Det gir faktisk stor fleksibilitet.
La oss legge til noen dimensjoner i kuben din. Du gjør dette passerer i parametere til cube metode:
terning (størrelse = [10, 20, 30]); // rektangel
Verdiene 10, 20, og 30 representerer størrelsen på kuben i X, Y, og Z akser. Legg merke til hvordan dette har produsert et mye større rektangel:
Som standard trekker OpenSCAD komponenter fra nederst til venstre. Du kan justere dette ved å sette inn senter parameter til ekte. Her er koden for å gjøre det til rektangelet:
terning (størrelse = [10, 20, 30], senter = sant); // rektangel sentrert
Og her ser det ut som:
Senteringsobjekter fungerer bra for enkle former, men det gjør ting komplisert for ikke-symmetriske gjenstander. Du må bestemme hvilken metode som passer best for deg.
Flytter seg til en mer komplisert form, her er en sylinder:
Her er koden for å lage den:
sylinder (d = 10, h = 10, senter = sant); // sylinder
I motsetning til kuber, sylindere trekkes automatisk i midten av X- og Y-aksen. De d parameter står for diameter (du kan passere i radius i stedet hvis du foretrekker). De h parameteren er høyden. Noe er galt her skjønt. Denne sylinderen ser ganske ut “klumpete”. Du må øke antall ansikter trukket på omkretsen. Dette er enkelt å gjøre - legg til følgende parameter i sylinderkoden.
$ fn = 100
Så blir sylinderdefinisjonen:
sylinder (d = 10, h = 10, senter = sant, $ fn = 100);
Her ser det ut som:
Dette øker antall ansikter som trengs for å lage sirkler - 100 er et godt utgangspunkt. Husk at dette vil øke ytelsen ganger, spesielt på komplekse modeller, så det er vanligvis best å forlate dette til du er ferdig med å designe.
Det er enkelt å bruke transformasjoner på former. Du må ringe spesielle metoder før du lager dine figurer. Slik roterer du sylinderen ved hjelp av rotere metode:
roter (a = [0, 90, 0]) sylinder (d = 10, h = 10, senter = sant); // rotert sylinder
Verdiene overført til en Parameter representerer rotasjonsvinkelen for X-, Y- og Z-aksen. Her er resultatet:
En annen veldig nyttig funksjon er oversette. Dette lar deg flytte objekter rundt i 3D-plass. Igjen må du passere mengden bevegelse for hver akse. Her er resultatet:
Her er koden:
oversette (v = [0, 25, 0]) sylinder (d = 10, h = 10, senter = sant); // oversatt sylinder
Forstå oversette Metoden er en av de viktigste tingene du kan gjøre. Det kreves for å designe mest komplekse design.
Endelig er en annen nyttig form a sfære:
Her er koden:
sfære (d = 100);
På samme måte som sylinderen, kan du glatte ut dette ved hjelp av $ fn kode ovenfor.
Avansert koding
Nå som du vet det grunnleggende, la oss se på noen mer avanserte ferdigheter. Når du designer en del, hjelper det å tenke på hvordan det kan bestå av mindre former og objekter. Du trenger ikke å gjøre dette, og du kan “gjøre ting opp” som du går, men det hjelper til å ha en grov plan - selv om det bare er i hodet ditt.
La oss lage en avansert form: en terning med en uthulet sfære interiør. Lage en cube og a sfære med senter satt til ekte. Trekk fra den ene til den andre ved hjelp av forskjell metode:
forskjell () // subtraksjon kube (størrelse = [50, 50, 50], senter = sant); // ytre kubesfære (d = 65, senter = sant); // indre sfære
Her er resultatet:
Eksperiment med diameteren (d parameter) av sfæren og se hva som skjer.
I OpenSCAD er det vanligvis mange måter å utføre den samme oppgaven. Hvis du vil ha et spor i en terning, kan du trekke en annen kube fra den, eller legge til to flere over den. Det er vanligvis ikke noe som skjer ting, men avhengig av kompleksiteten til delen, kan det være lettere å gjøre visse manipulasjoner først.
Slik lager du en kanal i en terning. I stedet for å bruke en annen terning, vil en sylinder skape en avrundet kanal. Legg merke til hvordan forskjell Metoden brukes igjen, og hvordan oversette og rotere metoder brukes til å manipulere figurene. Bruker rotere Metoden gjør ofte transformasjoner vanskelig, så lek med parametrene til du oppnår ønsket resultat. Her er koden:
forskjell () // subtraksjonskube (størrelse = [50, 150, 50]); // ytre kubetranslate (v = [25, 150, 50]) rotere (a = [90, 0, 0]) sylinder (d = 40, h = 150); // sylinder kanal
Her ser det ut som:
Du lurer kanskje på hva alle de grønne greiene er. Dette er her fordi 3D-modellen bare er en forhåndsvisning akkurat nå. For å fikse dette, trykk F6 å fullføre modellen. Dette kan ta litt tid, avhengig av kompleksiteten. Forhåndsvisningen (F5) er vanligvis god nok mens du arbeider. Her er det som den endelige gjengivelsen ser ut som (med $ fn satt til 100):
Her er et annet avansert eksempel. Si at du ville ha en montering med en bolt. Å lage et hull er enkelt nok å bruke sylinder, men hva om du ville ha bolthodet flush montert for forsenket bolter? Du kan bare lage en stor sylinder for bolthodet å sitte i, men det ville ikke se veldig fint ut. Løsningen er en avfasning, som du kan lage med sylinder metode. Trikset her er å spesifisere to diametre - d1 og d2. Lag disse forskjellige størrelsene, og OpenSCAD vil gjøre resten.
Som jeg er britisk, bruker jeg metriske dimensjoner her, for en M5 forsenket bolt. Du kan enkelt justere dette for å passe til hvilke fester du vil bruke. Her er koden:
$ fn = 100; // boltinnstillinger m5_clearance_diameter = 5.5; m5_head_clearance_diameter = 11; m5_head_depth = 5; forskjell () // subtrahere terning (20, 20, 20); bolthull (10, 10, 20); bolt_bevel (10, 10, 15); modul bolt_hull (x, y, høyde) / * M5 hull på 90 grader. * / oversette (v = [x, y, 0]) sylinder (d = m5_clearance_diameter, h = høyde); modulen bolt_kommando (x, y, z) // M5 bevel translate (v = [x, y, z]) sylinder (d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth);
Legg merke til hvordan boltens dimensjoner lagres i variabler? Dette gjør koding og vedlikehold mye enklere. En metode du kanskje ikke har kommet over ennå er modul. Dette lar deg definere en blokk med kode som skal utføres når du vil. I virkeligheten er dette en funksjon. Du bør bruke moduler og variabler for enhver kompleks form, da de gjør ting enklere å lese, og raskere å gjøre endringer. Her ser det ut som om det ser ut som:
La oss se på et siste eksempel. Si at du ønsket å produsere en serie hull rundt en sirkel. Du kan manuelt måle, oversette og rotere alle disse, men selv med moduler ville dette være kjedelig. Her er sluttresultatet, 10 sylindere fordelt selv rundt en sirkel:
Her er koden:
$ fn = 100; number_of_holes = 10; for (i = [1: 360 / number_of_holes: 360]) // number_of_holes definerer antall ganger denne koden kjører make_cylinder (i); modulen make_cylinder (i) // gjør sylinder og til og med distribuere roter ([0, 0, i]) translate ([10, 0, 0]) sylinder (h = 2, r = 2);
Denne koden er enklere enn du forventer. EN til sløyfe brukes til å ringe make_cylinder modul ti ganger. Da det er 360 grader i en sirkel, og 360/10 = 36, må hver sylinder roteres i trinn på 36 grader. Hver iterasjon av denne sløyfen vil øke Jeg variabel med 36. Denne sløyfen kaller make_cylinder modul, som bare trekker en sylinder og posisjonerer den i henhold til grader passert til den av løkken. Du kan tegne mer eller mindre sylindere ved å endre number_of_holes variabel - selv om du kanskje vil justere avstanden hvis du gjør det. Her er hva 100 sylindere ser ut, de overlapper litt:
eksportere
Nå som du vet hvordan du skal kode i OpenScad, er det et siste skritt som kreves før du kan skrive ut modellene dine i 3D. Du må eksportere designet fra OpenSCAD til standarden STL format som brukes av de fleste 3D-skrivere. heldigvis er det en eksport til STL-knappen: Redigeringsmeny > Øverst til høyre:
Det er det for i dag. Du bør nå ha en utmerket kunnskap om OpenSCAD - alle komplekse ting bygger på disse grunnene, og mange komplekse former er virkelig mange enkle former kombinert.
For en utfordring, hvorfor ikke se på noen av våre 3D-utskriftsprosjekter, og prøv å gjenskape delene i OpenSCAD:
- 3D Printables for Tabletop Fantasy RPGs De beste 3D Printables for Tabletop Fantasy RPGs De beste 3D Printables for Tabletop Fantasy RPGs Hvis du foretrekker en fordybende opplevelse for rollespill, er det en ny måte å gjøre det på: bruk 3D-utskrift for å lage fysiske terrengstykker og miniatyrer. Les mer
- Egendefinerte snarveisknapper Lag din egen egendefinerte snarveisknapp med en Arduino Lag din egen egendefinerte snarveisknapp med en Arduino Den ydmyke Arduino kan gjøre mange ting, men visste du at det kan etterligne et USB-tastatur? Du kan kombinere lange tastatursnarveier i en enkelt tilpasset snarvei, med denne enkle kretsen. Les mer
- Elektronisk D20 Rull i stil med denne DIY Electronic D20 Die Roll i stil med denne DIY Electronic D20 Die Vil du ha noe unikt på ditt neste spillmøte? Sjekk ut denne DIY elektronisk D20, med tilpasset grafikk for kritiske treff og savner. Les mer
- Spill du kan 3D-utskrift 6 Kule spill Du kan 3D-utskrift hjemme 6 Kule spill Du kan 3D-utskrift hjemme Alle vet om 3D-skrivere, men det du kanskje ikke vet er hvor morsomt 3D-utskrift er, og hvor mye moro det kan skape for hele familien din. Vi snakker 3D-trykte bordspill. Les mer
Lærte du noen nye triks i dag? Hva er din favoritt OpenSCAD-funksjon? Vil du bytte fra et annet CAD-verktøy snart? Gi oss beskjed i kommentarene nedenfor!
Utforsk mer om: 3D-modellering, 3D-utskrift.