Конь станет нашей третьей шахматной фигурой, которую мы изготовим. Рас вы находитесь на этом уроке, то вероятно пешка и ладья уже созданы, а значит мы можем двигаться дальше!
Создание очередной шахматной фигуры потребует от нас и некоторых новых приёмов. В частности, уже беглого взгляда на эту фигуру достаточно, чтобы понять что её форма не является осесимметричной, а верхняя фигура головы и шеи коня выглядит довольно сложно. Для того, чтобы создать голову коня мы воспользуемся командой импорта векторной 2D фигуры, затем нам надо будет произвести линейное выдавливание этой фигуры, чтобы сделать её объёмной, ну и, наконец, развернуть и водрузить на постамент (основание фигуры). Начнёмс!
Рассмотрим профили ладьи (нашей прошлой фигуры) и коня (рис.2). Приглядевшись мы можем заметить некоторое сходство. Основания у обоих фигур одинаковы, а вот верхняя часть сильно отличаются.
Для того, чтобы изготовить голову коня нам потребуется двухмерная векторная заготовка головы. Сразу отметим, что создана она была в программе Inkscape (которая уже должна быть вам знакома) и имеет формат файла SVG.
Импортирование векторной картинки в наш проект осуществляется командой:
import("имя файла.svg"); //имя должно совпадать с реальным именем файла
Отметим некоторые особенности импорта, которые нужно соблюсти:
Ваш проект OpenSCAD над которым вы сейчас работаете уже должен быть сохранён на диске в известном вам месте.
Избегайте русских букв в названиях папок, куда сохраняете файл проекта. Только английские буквы!
SVG -файл нужно скопировать в ту же директорию, что и файл вашего проекта OpenSCAD.
Имя импортируемого файла в вашем проекте OpenSCAD должно быть указано верно.
В результате успешного импорта, фигура головы коня появится у вас в проекте. Не смотря на то, что фигура имеет толщину - её в действительности нет (она плоская). Видимость толщины делается OpenSCAD-ом, чтобы фигуру было лучше видно.
Чтобы придать плоской фигуре толщину, воспользуемся командой линейного выдавливания.
linear_extrude(height=8, center=true, scale=[1,1], slices=10, twist=0)
// height - высота вытягивания
// scale - изменение размеров верхней части относительно нижней
// slices - аналог параметра $fn для шара
// вращение при вытягивании
Команда выдавливания должна стоять перед той фигурой, которую мы хотим выдавить. В результате выдавливания импортированного SVG-файла получим объёмную фигуру как на рис. 4.
Глядя на рис.2 мы уже заметили, что основание у коня такое же точно как и у Ладьи. Это значит, что код основания (3 примитива) мы можем просто скопировать из предыдущей работы. Сделаем это и получим картинку как на рис. 5.
Дальнейшие действия уже понятны:
Повернуть голову коня в вертикальное положение.
Переместить её, чтобы получить картину как на рис.6.
Быть может, глядя на рис.6 вам может показаться, что голова коня получилось слишком громоздкой, по сравнению с размером основания. В таком случае вы можете слегка уменьшить размер головы при помощи команды масштабирования, расположив её перед командой импорта 2D-фигуры:
scale([0.8,0.8]) //на 20% уменьшит размеры по высоте и ширине
Финальный результат может выглядеть как на рис.7.