Все фигуры на одной доске используя модули
Это второй способ, как в одном проекте можно собрать сразу несколько моделей из других проектов. На мой взгляд, он является более технически верным, т.к позволяет создавать целые библиотеки, которые можно собирать в одном файле, а потом добавлять по мере необходимости в любые другие работы. Для этого мы будем использовать представление о модулях. С точки зрения программистов - это самый правильный путь.
Что такое МОДУЛЬ?
Если по-простому, то модуль - это программа внутри программы.
Мы создаём мини-программу, которая имеет своё имя и выполняет несколько команд, которые мы в неё написали:
module имя_модуля( параметры ) { команды модуля }
Так в основной программе объявляется присутствие модуля. Про имя тут говорить нечего. Параметры - это слова и цифры, которые мы можем сообщить модулю и он сможет использовать их в своей работе. Но описать модуль - недостаточно. Чтобы он заработал - нужно еще вызвать/запустить этот модуль в нашей программе. Поэтому код должен выглядеть примерно так:
module имя_модуля( параметры ) { команды модуля } //создание модуля
имя_модуля( параметры ) //Запуск модуля в работу
Рассмотрим пример:
Попробуем передвинуть шахматную доску
translate([50,50,0])
include <Desc 1.scad>
и вот, что мы получим (рис.3).
Как видно сдвинулись не все элементы, а только шашечки, жёлтая рамка осталась неподвижной. Это связано с тем, что шашечки и поле - это два отдельных объекта в файле Desc 1.scad, созданных отдельными наборами команд, и команда translate() применяется только к первому попавшемуся объекту, то есть к шашечкам (клетчатому полю).
Исправить это довольно просто. Объединим весь код импортируемого файла в единый объект командой union():
translate([50,50,0])
union(){
include <Desc 1.scad>
}
Результат не заставит себя ждать (рис.4)
Итак, вернём доску на исходную позицию и добавим ещё один объект - пешку (рис.5).
Очевидно, что она требует некоторого перемещения. Сдвинем её на нужную позицию (рис.6), а потом размножим (рис.7).
Следом за пешкой добавим остальные фигуры, объединим все 16 фигур командой union(), а затем перекрасим их в нужный цвет.
Далее нам останется скопировать весь код ещё раз, перекрасить фигуры в другой цвет, развернуть на 180 градусов и сдвинуть их на противоположную сторону доски.