CAD

openSCAD урок

openSCAD урок
Изработването на механична част изисква чертеж. Започна с хартия и първите CAD програми използваха абсолютно същия стил. На чертежите има дори стандартни квадрати, така че всеки чертеж да бъде идентифициран. Всичко това е полезно, когато започнете да започвате производство в големи корпорации. Въпреки това, когато започнете да правите нова механична част, може да искате други методи.

3D CAD методите ви позволяват да видите цялото парче такова, каквото е. Можете също да го завъртите и завъртите. В усъвършенствания софтуер можете също да симулирате движение. Във всички случаи рисувате парчетата с помощта на графичен интерфейс. Това е чудесно за направата на кутии и цилиндри, но когато искате да направите по-сложни фигури, може да ви трябват математически методи.

Въведете стандартен начин за описание на всеки материал с команди.

Какво прави openSCAD толкова специален?

В openSCAD не рисувате нищо с показалеца или писалката. Кодирате цялото парче с команди и функции. Това е неудобно за машинните инженери, но за програмистите имате друга ситуация. Освен личните предпочитания, вие имате и предимството на прецизността. Когато го проектирате с код, имате прецизността там в кода.

Най-мощната функция на openSCAD е двоичните операции. Можете да използвате двоични оператори, за да сглобите парчета или да изрежете материал. Лесно е да направите куб с отвор в центъра, като приберете цилиндъра от куба. Някои от тези операции са налични в друг CAD софтуер, но естествено е да ги използвате в openSCAD.

Какви са нуждите на вашия проект?

След като сте сложили своя дизайн върху салфетка, може да си помислите, че трябва да видите какво се случва, когато се опитате да го направите пълен дизайн. Не се притеснявайте; има прозорец за предварителен преглед, който можете да разгледате, докато кодирате. След като разберете основните идеи, ще разберете дали това е най-подходящото за вашия проект.

Накратко, ако искате да създадете малки парчета, които имат сложни форми, трябва да опитате openSCAD. За пълно оборудване и механични системи искате да използвате по-усъвършенствани графични приложения. Като каза това, всичко е въпрос на вкус. Можете да правите сложни форми само с код, бихте ли помислили да кодирате цяла кола?

Инсталиране

OpenSCAD, наличен във вашите стандартни хранилища за повечето дистрибуции, може също да бъде инсталиран с помощта на snap и AppImage. Интересното е, че имате и втори пакет, който включва винтове, зъбни колела и общи форми. Най-новият пакет е в опцията openscad-nightly.

sudo apt install openscad
sudo snap install openscad-nightly

Ако искате да използвате включените винтове, които се предлагат като отделен пакет, използвайте хранилищата на вашата дистрибуция.

sudo apt install openscad-mcad

Използването на включените части е друг въпрос, разгледан по-надолу.

Няколко стандартни форми

Принципите на скрипт CAD е, че имате няколко стандартни геометрични фигури. Използвате тези форми и ги комбинирате в по-сложни форми. Стандартните форми са кръг, квадрат и многоъгълник за 2D. За 3D имате сфера, куб, цилиндър и многоъгълник. Използвайки някои от тях за изграждане, а други за изрязване, можете да създадете много сложни фигури.

Има и текстова функция, която създава 2D текст. Когато трябва да създадете чертежи за по-нататъшна обработка, можете да използвате командата за проекция. Тази команда изрязва 3D фигура по равнина, за да можете да я прехвърлите в чертеж. Можете също да добавяте фигури от други програми или дори изображения, като използвате командата за импортиране. Това работи и с 3D-фигури.

Освен това можете да екструдирате фигури от съществуващи обекти.

Трансформации

По подразбиране създавате всички парчета в централната точка на мрежата във всички измерения. Това ги кара да се припокриват. След като имате няколко фигури, искате да ги поставите на правилното място и да ги завъртите. Тези функции са най-простите, translate поставя обекта на друго място. Командата за завъртане завърта обекта или дъщерните обекти. Разполагате и с функцията огледало, която създава копие на обекта, огледален около дадената ос.

Останалите трансформации се нуждаят от примери за обяснение. Накратко, корпусът създава външните линии на много форми. Опитайте с два кръга и ги комбинирайте с корпуса (). Или кода по-долу.

превод ([- 10,0,0])
корпус ()
цилиндър (30, 5, 1);
куб (9);
сфера (12);

Операцията на Минковски обикновено се използва за създаване на ръбове; ако искате да са заоблени, използвайте сфера.

Булеви операции

Много парчета не могат да бъдат създадени само с квадратчета, цилиндри и сфери. Първото нещо, което можете да направите, е да комбинирате и изрежете много фигури в една форма. За целта използвате булеви оператори. Те са съюз, разлика и пресичане.

union ()
куб ([35, 5, 2], център = вярно);
цилиндър (h = 2, r = 5, център = вярно);

В горния код получавате едно парче, което има крушка в центъра. За да направите тръба, вземате разликата между един и друг цилиндър.

разлика ()
цилиндър (h = 15, r1 = 30, r2 = 30, център = вярно);
цилиндър (h = 15, r1 = 25, r2 = 25, център = вярно);

Докато продължаваме напред, вие ще използвате тези и други. Ето пример за пресичане.

кръстовище ()

завъртане ([45,0.0])
цилиндър (h = 40, r = 4, център = вярно);
превод (5,5,5)
цилиндър (h = 40, r = 6, център = вярно);

Пресичането оставя само припокриващите се неща; можете да създадете много фигури, използвайки този метод.

За цикли

Много от вашите дизайни ще имат едно и също парче много пъти, помислете за вътрешен двор. Те обикновено са направени от няколко дъски с пролуки между тях. В този случай правите една дъска и просто итерация по тях с for цикъл.

празнина = 8;
plank_width = (bed_width / 4) - празнина;
брой_планове = 4;
за (plank_x_pos = [0: 1: брой_планове - 1])

превод ([plank_width * plank_x_pos + gap * plank_x_pos, 0,0])
куб ([широчина на дъската, 4 200]);

Без цикъла for щеше да напишете куба и да преведете изрази четири пъти. Също така би трябвало да изчислите докъде ще стигне следващата дъска. Дори само с четири парчета, това решение изглежда много по-лесно. В примера можете да видите и променливи, които трябва да бъдат зададени. Всички променливи са настроени по време на компилация, това е важно, тъй като може да срещнете проблеми с отстраняването на грешки, ако мислите за тях като стойности в други езици за програмиране. Както ще видите по-късно, можете също да направите целия вътрешен двор модул.

Математика

Включен в openSCAD, имате на разположение няколко математически функции. Поддържаните функции са повечето тригонометрични функции, закръгляване по различни начини и логаритмична функция. Можете да видите пример по-долу.

за (i = [0:36])
превод ([i * 10,0,0])
цилиндър (r = 5, h = cos (i * 10) * 50 + 60);

Горната функция създава дълъг прав ред цилиндри с различна височина. Основните функции са свързани с тригонометрията. С произволни функции за закръгляване и стандартните оператори обаче можете да създадете почти всичко. Има и поддръжка за вектори, матрици и квадратен корен. Дори с тези функции можете да стигнете наистина далеч. Те обаче не покриват всичко, което можете да си представите; вместо това можете да създавате функции.

Модули и функции

Имате много модули, включени в инсталацията на openSCAD. Можете обаче да изтеглите и други библиотеки. Във вашата дистрибуция вероятно ще намерите MCAD, наричан още openscad-mcad. За да инсталирате под Ubuntu.

$ sudo apt install openscad-mcad

Вътре в този пакет ще намерите както модули, така и функции. Преди да започнете какъвто и да е проект, огледайте се за библиотеки и модули. Вече има библиотека с винтове и това е само началото. Липсва част от вашия дизайн? Направете свои собствени модули; използвате ги, за да правите нови парчета. Когато използвате параметри, можете да направите много версии от тях. Най-добрият начин да създадете модул е ​​да направите дизайна като отделен файл, да разберете какво трябва да бъде динамично и да добавите „модул“ около парчето.

За да използвате модул, вие го наричате с името му. Тъй като много модули се предлагат в отделни файлове, трябва да поставите инструкция за включване в горната част на вашия файл. Обърнете внимание на разликата между изявлението „включва“ и изявлението „използване“. Ако искате всичко в даден файл да се изпълни, вие го „включвате“, ако искате да бъдат дефинирани само модули и функции, „използвайте“ файла. За да сте сигурни, че можете да използвате модулите, трябва да ги поставите в текущата директория на вашия модел или в един от пътищата за търсене.

Първо, нека разгледаме няколко, които можете да изтеглите и използвате.

Винтове

В пакета от по-ранния раздел можете да намерите много неща. Едната група са винтове! Можете да ги изпробвате, като ги заредите в приложението и извикате модула. В библиотеката MCAD можете да намерите много винтове. Има много други колекции от други източници. За да използвате винт, създайте файл, който съдържа инструкцията за включване за модула, от който се нуждаете. Сега, където и да искате да използвате модула, можете да използвате името на модула, за да създадете своя винт.

включва ;
ball_groove (12, 40, 2);

Това е винт, който може да побере топка. Можете също да намерите nut_and_bolts_scad, който определя метрични винтове и болтове. Дизайнерите използваха уебсайт, където можете да намерите болтове и създадоха метод, който да използвате. Друг пример е отвор за болт.

включва
разлика ()
куб ([12,16,20], център = вярно);
превод ([0,0, -3])
boltHole (8, дължина = 300);

Горният код създава дупка, достатъчно голяма за болта M8, този пример създава куб и изрязва два цилиндъра с два размера. Това не е много сложно, но сложността бързо нараства, когато използвате други компоненти. Добавете винтовете към параметричните кутии и ще видите как библиотеката помага.

Изработване на количка

За да направите каквато и да е конструкция с всякаква сложност, ще трябва да правите по едно парче. По-късно ги комбинирате помежду си. Както споменахме по-рано, можете да използвате модули и функции. Най-добрият начин да започнете е да решите къде трябва да зададете променливи. За обикновена количка се нуждаете от височина, междуосие и дължина. Трябва да зададете стойностите на едно място и да ги използвате, за да нагласите частите около дизайна. Може да се нуждаете от повече стойности, но не поставяйте всички, когато започнете. Когато стартирате нов проект, няма да имате готови всички части, така че бъдете готови да промените нещата наоколо.

междуосие = 150;
дължина на колелото = междуосие * 1.2;
широчина на каруцата = 50;
колелен диаметър = 25;
височина на окачването = (диаметър на колелото / 2) + 5;
превод ([междуосие / 2, широчина на каруцата, 0])
завъртане ([90,0,0])
цилиндър (r = радиус на колелото, 10, център = вярно);
превод ([междуосие / 2, - (широчина на каруцата), 0])
завъртане ([90,0,0])
цилиндър (r = радиус на колелото, 10, център = вярно);

Кодът показва кода за първите две колела. Ако се замислите малко, вероятно ще можете да направите задните колела. За да добавите люспи, повърхността, където отиват всички неща, просто добавете куб. Използвайте променливите, които сте поставили в кода.

превод ([0, 0, височина на окачване])
куб ([дължина на каруцата, широчина на каруцата, 10], център = вярно);

Този люк е на същата височина като колелата, така че ние се погрижихме за това със стойността на височината на окачването. Преведеното изявление засяга това, което е непосредствено след него. Имайте предвид, че в края на ред няма точка с двоеточие. Когато изявленията вътре станат дълги, вие използвате фигурни скоби около него.

Сега трябва да добавите оси и окачване. Осите могат да бъдат прости цилиндри, които преминават между колелата. Поставяте ги по същия начин, по който правите колелата, като използвате завъртане и превеждане. Всъщност най-добре е да се използват същите стойности.

превод ([междуосие / 2,0,0])
завъртане ([90,0,0])
цилиндър (r = радиус на колелото * 0.25, h = (широчина на каруцата * 2) + 15, център = вярно);

Кодът тук поставя предния мост на място. Задната ос, оставям ви четеца да разберете. Можем да разрешим спирането по много начини. В този случай ще го улесним.

// Окачване
превод ([междуосие / 2, 0, височина на окачване])
завъртане ([90,0,0])

разлика ()
цилиндър (r = височина на окачването, 10, център = вярно);
цилиндър (r = височина на окачването - 5, 11, център = вярно);
куб ([102, височина на окачване / 6, 12], център = вярно);

превод ([височина на окачване, 0, 0])
цилиндър (r = височина на окачването / 3, h = 12, център = вярно);
превод ([- височина на окачване, 0, 0])
цилиндър (r = височина на окачването / 3, h = 12, център = вярно);

Този код създава много грубо спиране; той използва само цилиндри, така че няма да е най-доброто, когато започнете да го използвате. Това илюстрира един начин за създаване на дизайни от примитивите; цилиндър, куб и добре, това е всичко за този модел. Докато напредвате, ще направите всяко парче модул и ще поставите тези парчета.

Кодът за количката е достъпен на https: // github.com / matstage / Карета! По-нататъшното развитие може да дойде по-късно.

Библиотеки

В по-ранната част сте използвали само кръгове. Всички дизайни, използващи само тези примитиви, няма да са най-добрите за всички приложения. Трябва да създадете добре изглеждащи и ефективни дизайни. Решението е математиката! За да добавите това, трябва да започнете с използване на библиотеки на други хора.

В общността има голям брой библиотеки, изградени от интелигентни хора. Хората, които изграждат, са потребители, които решават проблемите си и след това любезно го споделят с всички останали. Благодаря на всички вас! Добър пример е dotSCAD; за примера за окачване можете да намерите крива на Безие.

Експортиране към друг софтуер

След като имате приличен дизайн, може да искате да го използвате в друг софтуер. Можете да експортирате в stl, dwg и множество други формати. Вашите ентусиасти за 3D печат могат да използват stl файловете директно във вашите програми за нарязване.

Алтернативи

Друга вълнуваща алтернатива е ImplicitCAD. Този софтуер е много в процес на разработка. Трябва да стартирате командния ред и той изисква Haskell във вашата система. Повечето стандартни инсталации нямат Haskell!

Заключение

На пръв поглед използването на openSCAD е много трудно. Преминаването на кривата на обучение е малко трудно, но си струва за много потребители. Благодарение на проектите да допринесете за проекта. Имате много функции, налични в края на git команда. Самото преминаване през основите на създаването на механични дизайни чрез код променя начина, по който мислите за формите. Това е от полза, дори ако продължите да използвате точка и щракнете, за да направите вашите други проекти.

  • https: // www.openscad.организация / документация.html?версия = 2019.05
  • http: // edutechwiki.унидж.ch / bg / OpenScad_beginners_tutorial
  • https: // www.openscad.org / cheatsheet / index.html
Как да промените курсора на мишката и размера на курсора, цвета и схемата в Windows 10
Показалецът на мишката и курсорът в Windows 10 са много важни аспекти на операционната система. Това може да се каже и за други операционни системи, т...
Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...