CAD

openSCAD-handledning

openSCAD-handledning
Att göra en mekanisk del kräver en ritning. Det började med papper och de första CAD-programmen använde exakt samma stil. Det finns till och med standardrutor på ritningarna så att varje ritning identifieras. Allt detta är användbart när du börjar produktionen i stora företag. Men när du börjar skapa en ny mekanisk bit kanske du vill ha andra metoder.

3D CAD-metoder gör att du kan se hela stycket som det är. Du kan också vrida och vrida på den. I avancerad programvara kan du också simulera rörelse. I alla fall ritar du bitarna med ett grafiskt gränssnitt. Det här är bra för att göra lådor och cylindrar, men när du vill skapa mer komplexa former kan du behöva matematiska metoder.

Ange ett vanligt sätt att beskriva material med kommandon.

Vad gör openSCAD så speciellt?

I openSCAD ritar du ingenting med pekaren eller pennan. Du kodar hela stycket med kommandon och funktioner. Detta är besvärligt för mekaniska ingenjörer, men för programmerare har du en annan situation. Förutom personliga preferenser har du också fördelen med precision. När du utformar den med kod har du precisionen där i koden.

Den mest kraftfulla funktionen i openSCAD är binära operationer. Du kan använda binära operatörer för att sätta ihop bitar eller klippa ut material. Det är enkelt att göra en kub med ett hål i mitten genom att dra tillbaka cylindern från kuben. En del av dessa operationer finns i annan CAD-programvara, men det är naturligt att använda dem i openSCAD.

Vilka är dina projektbehov??

När du har lagt din design på en servett kanske du tror att du behöver se vad som händer när du försöker göra den till en fullständig design. Oroa dig inte; det finns ett förhandsgranskningsfönster som du kan titta på medan du kodar. När du förstår de grundläggande idéerna vet du om det passar bäst för ditt projekt.

Kort sagt, om du vill skapa små bitar som har komplexa former bör du prova openSCAD. För komplett utrustning och mekaniska system vill du använda mer avancerade grafiska applikationer. Med detta sagt är allt en fråga om smak. Du kan skapa komplicerade former med bara kod, skulle du överväga att koda en hel bil?

Installerar

OpenSCAD, tillgängligt i dina standardförvar för de flesta distributioner, kan också installeras med en snap och AppImage. Intressant är att du också har ett andra paket som innehåller skruvar, kugghjul och generiska former. Det senaste paketet finns i openscad-nightly snap.

sudo apt installera openscad
sudo snap installerar openscad-nattligt

Om du vill använda de medföljande skruvarna som kommer som ett separat paket, använd din distributions förvar.

sudo apt installerar openscad-mcad

Att använda de inkluderade delarna är en annan sak, täckt längre ner.

Flera standardformer

Principerna för skript-CAD är att du har några geometriska standardformer. Du använder dessa former och kombinerar dem till mer komplexa former. Standardformerna är cirkel, kvadrat och polygon för 2D. För 3D har du en sfär, kub, cylinder och polyeder. Genom att använda några av dessa för att bygga och andra för att klippa kan du skapa mycket komplexa former.

Det finns också en textfunktion som skapar en 2D-text. När du behöver skapa ritningar för vidare bearbetning kan du använda projiceringskommandot. Detta kommando skär en 3D-form längs ett plan så att du kan överföra den till en ritning. Du kan också lägga till former från andra program eller till och med bilder med hjälp av importkommandot. Detta fungerar också med 3D-former.

Dessutom kan du pressa ut former från befintliga objekt.

Transformationer

Som standard skapar du alla delar i mittpunkten i rutnätet i alla dimensioner. Detta gör att de alla överlappar varandra. När du väl har ett antal former vill du ha dem placerade på rätt plats och roteras. Dessa funktioner är enkla, translate sätter objektet på en annan plats. Rotera-kommandot roterar objektet eller underordnade objekt. Du har också spegelfunktionen, som skapar en kopia av objektet speglat runt den angivna axeln.

De andra transformationerna behöver exempel för att förklara. Kort sagt, skrovet skapar de yttre linjerna i många former. Försök med två cirklar och kombinera dem med skrovet (). Eller koden nedan.

översätt ([- 10,0,0])
skrov ()
cylinder (30, 5, 1);
kub (9);
sfär (12);

Minkowski-operationen används vanligtvis för att skapa kanter; Om du vill ha dem rundade, använd en sfär.

Boolesk verksamhet

Många bitar kan inte skapas med endast rutor, cylindrar och sfärer. Det första du kan göra är att kombinera och klippa många former i en enda form. Du använder booleska operatörer för att göra detta. De är union, skillnad och korsning.

union ()
kub ([35, 5, 2], center = true);
cylinder (h = 2, r = 5, center = true);

I koden ovan får du en enda bit som har en glödlampa i mitten. För att göra ett rör tar du skillnaden mellan en cylinder och en annan.

skillnad ()
cylinder (h = 15, r1 = 30, r2 = 30, center = true);
cylinder (h = 15, r1 = 25, r2 = 25, center = true);

När vi går vidare kommer du att använda dessa och mer. Här är ett korsningsexempel.

genomskärning()

rotera ([45,0.0])
cylinder (h = 40, r = 4, center = true);
översätt (5,5,5)
cylinder (h = 40, r = 6, center = true);

Korsningen lämnar bara de överlappande grejerna; Du kan skapa många former med den här metoden.

För loopar

Många av dina mönster kommer att ha samma bit många gånger, överväga en uteplats. De är vanligtvis gjorda av flera plankor med mellanrum mellan dem. I det här fallet gör du en planka och bara itererar över dem med en for-loop.

gap = 8;
plankbredd = (sängbredd / 4) - gap;
num_planks = 4;
för (plank_x_pos = [0: 1: num_planks - 1])

översätt ([plank_width * plank_x_pos + gap * plank_x_pos, 0,0])
kub ([plankbredd, 4 200]);

Utan for loop skulle du ha skrivit kuben och översatt uttalanden fyra gånger. Du skulle också ha varit tvungen att beräkna hur långt ut nästa planke skulle gå. Även med bara fyra delar ser den här lösningen mycket lättare ut. I exemplet kan du också se variabler som måste ställas in. Alla variabler ställs in vid kompileringstid, detta är viktigt eftersom du kan stöta på felsökningsproblem om du tänker på dem som värden i andra programmeringsspråk. Som du kommer att se senare kan du också göra hela uteplatsen till en modul.

Matematik

Ingår i openSCAD har du några matematiska funktioner tillgängliga. Funktioner som stöds är de flesta trigonometriska funktioner, avrundning på olika sätt och logaritmisk funktion. Du kan se ett exempel nedan.

för (i = [0:36])
översätt ([i * 10,0,0])
cylinder (r = 5, h = cos (i * 10) * 50 + 60);

Ovanstående funktion skapar en lång rak rad med cylindrar med olika höjd. Huvudfunktionerna är kopplade till trigonometri. Men med slumpmässiga avrundningsfunktioner och standardoperatörer kan du skapa stort sett allt. Det finns också stöd för vektorer, matriser och kvadratrot. Även med dessa funktioner kan du komma riktigt långt. De täcker dock inte allt du kan tänka dig; istället kan du skapa funktioner.

Moduler och funktioner

Du har många moduler inkluderade i openSCAD-installationen. Du kan dock också ladda ner andra bibliotek. I din distribution hittar du förmodligen MCAD, även kallad openscad-mcad. För att installera under Ubuntu.

$ sudo apt installerar openscad-mcad

Inne i detta paket hittar du både moduler och funktioner. Innan du startar något projekt, leta efter bibliotek och moduler. Det finns redan ett bibliotek med skruvar, och det är bara början. Saknar en del av din design? Skapa egna moduler; du använder dem för att skapa nya bitar. När du använder parametrar kan du skapa många versioner av dem. Det bästa sättet att skapa en modul är att göra designen som en separat fil, ta reda på vad som behöver vara dynamisk och lägg till 'modul' runt stycket.

För att använda en modul kallar du den med dess namn. Eftersom många moduler finns i separata filer måste du lägga till ett inkluderingsuttal högst upp i filen. Var uppmärksam på skillnaden mellan "inkludera" uttalande och "använd" uttalande. Om du vill att allt i en fil ska köras, "inkluderar" du det, om du bara vill att moduler och funktioner ska definieras, "använd" filen. För att säkerställa att du kan använda modulerna måste du placera dem i modellens aktuella katalog eller någon av sökvägarna.

Låt oss först titta på några du kan ladda ner och använda.

Skruvar

I paketet från det tidigare avsnittet kan du hitta många saker. En grupp är skruvar! Du kan prova dem genom att ladda dem i applikationen och ringa modulen. I MCAD-biblioteket kan du hitta många skruvar. Det finns många andra samlingar från andra källor. För att använda en skruv, skapa en fil som innehåller inkludera uttalande för den modul du behöver. Nu, var som helst du vill använda modulen, kan du använda namnet på modulen för att skapa din skruv.

omfatta ;
ball_groove (12, 40, 2);

Det här är en skruv som passar en boll. Du kan också hitta nuts_and_bolts_scad, som definierar metriska skruvar och bultar. Designarna använde en webbplats där du kan hitta bultar och skapade en metod som du kan använda. Ett annat exempel är ett hål för en bult.

omfatta
skillnad ()
kub ([12,16,20], center = true);
översätt ([0,0, -3])
boltHole (8, längd = 300);

Ovanstående kod skapar ett hål som är tillräckligt stort för M8-bulten, det här exemplet skapar en kub och skär ut två cylindrar i två storlekar. Det är inte särskilt komplicerat, men komplexiteten växer snabbt när du använder andra komponenter. Lägg till skruvarna i parametriska rutor så kan du se hur ett bibliotek hjälper.

Att göra en vagn

För att göra någon konstruktion av vilken komplexitet som helst måste du göra en bit i taget. Senare kombinerar du dem med varandra. Som vi har nämnt tidigare kan du använda moduler och funktioner. Det bästa sättet att komma igång är att bestämma var du behöver ställa in variabler. För en enkel vagn behöver du höjd, hjulbas och längd. Du måste ställa in värdena på ett ställe och använda dem för att få delarna att passa runt designen. Du kan behöva fler värden, men lägg inte alla när du börjar. När du startar ett nytt projekt kommer du inte att ha alla delar redo, så var beredd att ändra på saker.

hjulbas = 150;
kartlängd = hjulbas * 1.2;
vagnbredd = 50;
wheeldiameter = 25;
upphängningshöjd = (whillediameter / 2) + 5;
översätt ([hjulbas / 2, vagnbredd, 0])
rotera ([90,0,0])
cylinder (r = hjulradie, 10, center = true);
översätt ([hjulbas / 2, - (vagnbredd), 0])
rotera ([90,0,0])
cylinder (r = hjulradie, 10, center = true);

Koden visar koden för de två första hjulen. Om du tänker lite på det kan du förmodligen göra bakhjulen. För att lägga till flak, ytan där alla saker går, lägger du bara till en kub. Använd de variabler som du lägger i koden.

översätt ([0, 0, upphängningshöjd])
kub ([cartlength, cartwidth, 10], center = true);

Denna flak är dock i samma höjd som hjulen, så vi tog hand om det med fjädringshöjden. Det översatta uttalandet påverkar vad som är direkt efter det. Observera att det inte finns någon semikolon i slutet av en rad. När uttalandena inuti blir långa använder du lockiga hängslen runt det.

Nu måste du lägga till axlar och upphängning. Axlarna kan vara enkla cylindrar som går mellan hjulen. Du placerar dem på samma sätt som du gjorde hjulen med rotera och översätta. Det bästa är faktiskt att använda samma värden.

översätt ([hjulbas / 2,0,0])
rotera ([90,0,0])
cylinder (r = hjulradie * 0.25, h = (cartwidth * 2) + 15, center = true);

Koden här sätter framaxeln på plats. Bakaxeln, jag lämnar dig läsaren att räkna ut. Vi kan lösa upphängningen på många sätt. I det här fallet kommer vi att hålla det enkelt.

// Upphängning
översätt ([hjulbas / 2, 0, upphängningshöjd])
rotera ([90,0,0])

skillnad ()
cylinder (r = upphängningshöjd, 10, centrum = sann);
cylinder (r = upphängningshöjd - 5, 11, center = true);
kub ([102, upphängningshöjd / 6, 12], centrum = sann);

översätt ([upphängningshöjd, 0, 0])
cylinder (r = upphängningshöjd / 3, h = 12, centrum = sann);
översätt ([- upphängningshöjd, 0, 0])
cylinder (r = upphängningshöjd / 3, h = 12, centrum = sann);

Den här koden skapar en mycket rå suspension. den använder bara cylindrar, så det blir inte det bästa när du börjar använda den. Det illustrerar ett sätt att skapa mönster från primitiven; cylinder, kub, och ja, det är det för den här modellen. När du går framåt gör du varje bit till en modul och placerar dessa bitar.

Koden för vagnen finns på https: // github.com / matstage / Carriage! Ytterligare utveckling kan komma senare.

Bibliotek

I den tidigare delen använde du bara cirklar. Alla mönster som bara använder dessa primitiv kommer inte att vara bäst för alla applikationer. Du måste skapa snygga och effektiva mönster. Lösningen är matematik! För att lägga till detta bör du börja med att använda andras bibliotek.

Det finns ett stort antal bibliotek byggda av smarta människor i samhället. De människor som bygger är användare som löser sina problem och sedan nådigt delade det med alla andra. Tack till er alla! Ett bra exempel är dotSCAD; för upphängningsexemplet kan du hitta en Bézier-kurva.

Exporterar till annan programvara

När du väl har en anständig design kanske du vill använda den i en annan programvara. Du kan exportera till stl, dwg och en mängd andra format. Dina 3D-utskriftsentusiaster kan använda stl-filerna direkt i dina skivprogram.

Alternativ

Ett annat spännande alternativ är ImplicitCAD. Denna programvara är mycket under utveckling. Du måste köra kommandoraden och det krävs Haskell på ditt system. De flesta standardinstallationer har inte Haskell!

Slutsats

Vid första anblicken är det mycket svårt att använda openSCAD. Att komma förbi inlärningskurvan är lite av en kamp, ​​men det är värt det för många användare. Tack vare projekten för att bidra till projektet. Du har många funktioner tillgängliga i slutet av ett git-kommando. Att bara gå igenom grunderna för att skapa mekaniska mönster genom kod förändrar hur du tänker på former. Detta är fördelaktigt även om du fortsätter att använda peka och klicka för att göra dina andra projekt.

  • https: // www.openscad.org / dokumentation.html?version = 2019.05
  • http: // edutechwiki.unige.ch / sv / OpenScad_beginners_tutorial
  • https: // www.openscad.org / cheatsheet / index.html
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...
Bästa spelkonsolemulatorer för Linux
Den här artikeln listar populära spelkonsolemuleringsprogram som finns tillgängliga för Linux. Emulation är ett mjukvarukompatibilitetsskikt som emule...