CAD

Підручник з openSCAD

Підручник з openSCAD
Для виготовлення механічної деталі потрібен креслення. Почалося з паперу, і перші програми САПР використовували точно такий же стиль. На кресленнях є навіть стандартні квадрати, щоб кожен креслення був ідентифікований. Все це корисно, коли ви починаєте виробництво у великих корпораціях. Однак, коли ви починаєте виготовляти нову механічну деталь, вам можуть знадобитися інші методи.

3D-методи САПР дозволяють побачити весь фрагмент таким, яким він є. Ви також можете скрутити і повернути його. У вдосконаленому програмному забезпеченні ви також можете імітувати рух. У всіх випадках ви малюєте фрагменти за допомогою графічного інтерфейсу. Це чудово підходить для виготовлення коробок та циліндрів, але коли ви хочете зробити більш складні фігури, вам можуть знадобитися математичні методи.

Введіть стандартний спосіб опису будь-якого матеріалу за допомогою команд.

Що робить openSCAD таким особливим?

У openSCAD ви нічого не малюєте вказівником або пером. Ви кодуєте весь фрагмент командами та функціями. Для інженерів-механіків це незручно, але для програмістів у вас інша ситуація. Окрім особистих переваг, ви також маєте перевагу в точності. Коли ви розробляєте його за допомогою коду, у вас є точність у коді.

Найпотужніша особливість openSCAD - це двійкові операції. Ви можете використовувати двійкові оператори для складання шматочків або вирізання матеріалу. Зробити куб з отвором у центрі легко, втягнувши циліндр з куба. Деякі з цих операцій доступні в іншому програмному забезпеченні САПР, але природно використовувати їх у openSCAD.

Які потреби вашого проекту?

Після того, як ви покладете свій дизайн на серветку, ви можете подумати, що вам потрібно побачити, що відбувається, коли ви намагаєтесь зробити його повноцінним дизайном. Не хвилюйся; є вікно попереднього перегляду, на яке ви можете подивитися під час кодування. Як тільки ви зрозумієте основні ідеї, ви дізнаєтесь, чи найкраще це підходить для вашого проекту.

Коротше кажучи, якщо ви хочете створити невеликі шматочки, що мають складні форми, спробуйте openSCAD. Для повного обладнання та механічних систем ви хочете використовувати більш досконалі графічні програми. Сказавши це, все - справа смаку. Ви можете робити складні фігури лише за допомогою коду, чи не вважали б ви кодуванням цілого автомобіля?

Встановлення

OpenSCAD, доступний у ваших стандартних сховищах для більшості дистрибутивів, також можна встановити за допомогою оснастки та AppImage. Цікаво, що у вас також є другий пакет, який включає гвинти, шестерні та загальні форми. Найновіший пакет - у щоденному оснащенні openscad.

sudo apt встановити openscad
sudo snap install openscad-nightly

Якщо ви хочете використовувати гвинти, що входять до комплекту постачання, як окремий пакет, використовуйте сховища вашого дистрибутива.

sudo apt встановити openscad-mcad

Інша справа, що розглядається далі, - використання частин, що входять до комплекту.

Кілька стандартних форм

Принципи створення сценаріїв САПР полягають у тому, що у вас є кілька стандартних геометричних фігур. Ви використовуєте ці фігури та поєднуєте їх у більш складні фігури. Стандартні фігури - це коло, квадрат та багатокутник для 2D. Для 3D у вас є куля, куб, циліндр і багатогранник. Використовуючи деякі з них для побудови, а інші для вирізання, ви можете створити дуже складні фігури.

Існує також текстова функція, яка створює 2D-текст. Коли вам потрібно створити креслення для подальшої обробки, ви можете використовувати команду проекції. Ця команда вирізає 3D-фігуру вздовж площини, щоб ви могли перенести її на креслення. Ви також можете додавати фігури з інших програм або навіть зображень, використовуючи команду імпорту. Це також працює з 3D-фігурами.

Крім того, ви можете видавлювати фігури з існуючих об’єктів.

Трансформації

За замовчуванням ви створюєте всі частини в центральній точці сітки у всіх вимірах. Це змушує їх перекриватися. Коли у вас є кілька фігур, ви хочете, щоб вони були розміщені в потрібному місці та повернуті. Ці функції є простими, трансляція ставить об'єкт в інше місце. Команда повернути обертає об'єкт або дочірні об'єкти. У вас також є функція дзеркала, яка створює копію об'єкта, віддзеркаленого навколо даної осі.

Інші перетворення потребують прикладів для пояснення. Словом, корпус створює зовнішні лінії безлічі фігур. Спробуйте створити два кола і поєднати їх з корпусом (). Або код нижче.

перекласти ([- 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;
планка_ширина = (ширина_полотна / 4) - зазор;
число_планок = 4;
для (plank_x_pos = [0: 1: число_планок - 1])

перекласти ([ширина дошки * plank_x_pos + зазор * plank_x_pos, 0,0])
куб ([ширина дошки, 4200]);

Без циклу 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

Усередині цього пакету ви знайдете як модулі, так і функції. Перш ніж розпочати будь-який проект, подивіться навколо бібліотек та модулів. Уже існує бібліотека гвинтів, і це лише початок. Відсутня частина вашого дизайну? Створіть власні модулі; ви використовуєте їх для створення нових деталей. Використовуючи параметри, ви можете зробити з них багато версій. Найкращий спосіб створити модуль - це зробити дизайн як окремий файл, зрозуміти, що має бути динамічним, і додати `` модуль '' навколо фрагмента.

Щоб використовувати модуль, ви називаєте його за назвою. Оскільки багато модулів поставляються в окремих файлах, ви повинні розмістити оператор include у верхній частині файлу. Зверніть увагу на різницю між твердженням „включити” та твердженням „використання”. Якщо ви хочете, щоб все у файлі виконувалося, ви “включаєте” його, якщо ви хочете, щоб були визначені лише модулі та функції, “використовуйте” файл. Щоб переконатися, що ви можете використовувати модулі, ви повинні помістити їх у поточний каталог вашої моделі або в один із шляхів пошуку.

По-перше, давайте розглянемо кілька, які ви можете завантажити та використовувати.

Гвинти

У пакеті з попереднього розділу ви можете знайти багато речей. Одну групу складають гвинти! Ви можете спробувати їх, завантаживши в додаток і викликавши модуль. У бібліотеці MCAD ви можете знайти багато гвинтів. Є багато інших колекцій з інших джерел. Щоб скористатися гвинтом, створіть файл, який містить інструкцію include для потрібного вам модуля. Тепер, де б ви не хотіли використовувати модуль, ви можете використовувати ім’я модуля для створення вашого гвинта.

включати ;
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, центр = true);

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

// Підвіска
перекласти ([колісна база / 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 / Carriage! Подальший розвиток подій може відбутися пізніше.

Бібліотеки

У попередній частині ви використовували лише кола. Будь-які конструкції, що використовують лише ці примітиви, не будуть найкращими для всіх застосувань. Вам потрібно створити гарний та ефективний дизайн. Рішення - математика! Щоб додати це, спершу скористайтеся бібліотеками інших людей.

У громаді існує велика кількість бібліотек, побудованих розумними людьми. Люди, які будують, - це користувачі, які вирішують свої проблеми, а потім люб’язно діляться цим з усіма іншими. Дякую всім вам! Хороший приклад - dotSCAD; для прикладу підвіски ви можете знайти криву Безьє.

Експорт до іншого програмного забезпечення

Отримавши гідний дизайн, ви можете використовувати його в іншому програмному забезпеченні. Ви можете експортувати в stl, dwg та безліч інших форматів. Ваші любителі 3D-друку можуть використовувати stl-файли безпосередньо у ваших програмах для нарізки.

Альтернативи

Ще одна захоплююча альтернатива - ImplicitCAD. Це програмне забезпечення дуже активно розробляється. Вам потрібно запустити його командний рядок, і для цього потрібен Haskell у вашій системі. У більшості стандартних установок немає Haskell!

Висновок

На перший погляд, використовувати openSCAD дуже важко. Поминути криву навчання - це складна проблема, але для багатьох користувачів це варто того. Завдяки проектам внести свій внесок у проект. У вас є багато функцій, доступних в кінці команди git. Просто проникнення в основи створення механічних конструкцій за допомогою коду змінює вашу думку про фігури. Це вигідно, навіть якщо ви продовжуватимете використовувати точки та клацання, щоб створювати інші проекти.

  • https: // www.openscad.організація / документація.html?версія = 2019.05
  • http: // edutechwiki.об'єднання.ch / en / OpenScad_beginners_tutorial
  • https: // www.openscad.org / cheatsheet / index.html
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...