III. Перемещение и трансформация отдельно взятого объекта




Тетрадка-памятка

Для занятий и самостоятельной работы

Между приездами

Мобильного технопарка «Кванториум»

 

Выдана ученику(це) _____ класса

____________________________________________________

 

Преподаватель: Пунгин Илья Вячеславович

 

Для нашего с вами общения между приездами мобильного технопарка действует группа ВКонтакте: https://vk.com/promdiz_pazhga

В ней будут размещены дополнительные материалы и задания для самостоятельной работы

 

 


 

I. Оформление кода, комментарии и всё такое прочее

 

Размеры в программе задаются в миллиметрах (допустимы дробные значения и даже формулы в самих командах построения фигур). Код записывается в редакторе строчными английскими буквами (использование прописных букв будет воспринято программой как ошибка). Каждая команда, отвечающая за построение геометрической фигуры, должна заканчиваться точкой с запятой «;». Комментарии могут оформляться двумя способами:

// это коментарий, занимающий одну строчку

/* это

комментарий,

который может занимать

несколько строк */

 

Подсказка: используйте комментарии также для «выключения» части кода, который вам в данный момент не нужен. Первый вариант такого применения комментария: отладив код какого-то объекта и приступая к созданию следующего объекта, имеет смысл «выключить» первый объект, закомментировав его. Второй вариант: иногда приходится использовать команду со множеством параметров, действие части из которых вам не до конца известно. Помещая какой-либо параметр команды в комментарий, мы «выключаем» его, оставляя остальной текст действующим.

Ну и не забывайте использовать комментарии по их прямому назначению – для комментирования блоков кода, чтобы вы сами спустя некоторое время могли вспомнить, что вот этот код делает основу детали, а вот этот отвечает за все вырезы из неё:

Итак, вы набрали команду, и… ничего не произошло! Почему так? OpenSCAD – это программа, которой нужна явная команда для перестроения модели. Итак, набрали нужные команды – и жмём кнопку F5, программа пересчитает модель и отобразит её на экране. Когда всё готово, нажимаем F6 – и, после некоторого ожидания (даже простые модели порой просчитываются по 10-25 минут!), мы опять видим на экране нашу модель. Казалось бы, ничего не произошло, но нет: если мы будем только обновлять модель кнопкой F5, то мы не сможем вывести её на печать (F7, сохранить в stl).

 

 

II. Объёмные тела и их построение

«Кубик»

Самым простым в построении телом является так называемый «кубоид» (по-русски, параллелепипед), который мы привыкли называть «кубик». Он имеет три размера (длина, ширина, высота). Построить кубик можно двумя способами:

 

cube(10);

 

эта команда выводит кубик размером 10*10*10 миллиметров (единственное число, это – длина каждой стороны равностороннего кубика)

 

cube([10,25,50]);

а вот эта команда уже выведет кубик размером 10*25*50 миллиметров (поскольку размера три, они представляют собой массив чисел и заключаются в квадратные скобки; круглые скобки говорят программе, где искать параметры кубика).

 

cube([10,30,50], center=true);

 

эта команда выводит кубик, размещая его центр (точку пересечения диагоналей) в начало координат, без указания center=true кубик будет построен в первом квадранте, один из его углов будет находиться в точке [0,0,0], а три ребра будут лежать на осях X,Y,Z.

 

Сфера

 

sphere(10,$fn=20);

 

эта команда выводит сферу радиусом 10 мм. Параметр $fn означает «разрешение», то есть число сегментов – прямых линий, с помощью которых будет представлена окружность. Поэкспериментируйте с $fn, подставляя по очереди такие значения: 3, 4, 5, 6, 50, 100, 1000, 10000. Что меняется? Почему нельзя ставить чрезмерно большие значения $fn?

 

Цилиндр, призма, пирамида

 

cylinder(h=40, r1=20, r2=15, $fn=50);

 

это – пример построения цилиндра. Названия переменных можно не указывать, тогда получится cylinder(40, 20, 15, $fn=50). h – высота цилиндра (призмы, пирамиды) r1 – нижний радиус, r2 – верхний радиус.

Призма – это цилиндр с малым числом граней (например, при значениях $fn 3, 4, 5, 6 и т.д.) и одинаковыми верхним и нижним радиусами.

Пирамида – это призма с «собранными» кверху гранями (r2=0).

 

 

III. Перемещение и трансформация отдельно взятого объекта

 

Переместить объект:

 

translate([0,10,50]){cube([10,25,50]);}

 

эта команда переносит («транслирует») куб по оси X – на 0 мм, по оси Y – на 10, по оси Z – на 50 мм.

Удобно записывать такие команды в «объёмном» виде:

 

translate([0,10,50])

{

cube([10,25,50]);

}

 

Для программы этот код ничем не отличается от предыдущего, но мы видим блок кода, который команда «транслирует», а в самом блоке может быть множество команд.

Повернуть объект:

rotate([x,y,z]) команда;

 

обратите внимание на моменты:

1) x,y,x – это углы поворота вокруг соответствующей оси в градусах.

2) углы поворота нужно указывать по каждой оси, даже если это нулевое значение, а все вместе они обрамляются квадратными скобкамию

3) команда не обрамляется в скобочки, поэтому для поворота сложного объекта используйте union (об этой команде рассказано дальше); частая проблема – между rotate и командой поставили «;», соответственно поворот выполнен, но повернули не объект, который хотели, а «пустой» объект (всё, что шло до «;», то есть ничего).

 

Изменить размер объекта (масштабировать):

 

scale([x,y,z]) команда;

 

Замечания – те же, что и для команды rotate.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: