3D-модель с узором и телом
Описание проекта
Проект представляет собой 3D-модель, созданную с использованием языка программирования OpenSCAD, который предназначен для параметрического моделирования. Основная цель проекта — создание визуально привлекательной и функциональной структуры, состоящей из двух основных компонентов: тела и узора.
Компоненты проекта
-
Модуль
pattern()
:- Этот модуль отвечает за генерацию узора, состоящего из кубов, расположенных в двумерной сетке.
- Внутри двух вложенных циклов
for
происходит итерация по координатамi
иj
, которые варьируются от 0 до 10. Это создает сетку размером 10x10 кубов. - Кубы имеют размер 10x10x5 и располагаются на плоскости с шагом 10 единиц по обеим осям.
- Кубы, расположенные на четных координатах (где сумма
i
иj
четная), отображаются в обычном положении, в то время как кубы на нечетных координатах поворачиваются на 45 градусов. Это создает интересный визуальный эффект, придающий модели динамичность и текстуру.
-
Модуль
body()
:- Этот модуль формирует основную структуру модели, представляющую собой прямоугольный параллелепипед.
- Сначала создается большой куб размером 120x120x60, который служит внешней оболочкой.
- Затем из этого куба вырезается меньший куб размером 100x100x60, смещенный вниз на 1 единицу по оси Z. Это создает эффект "пустоты" внутри, придавая модели глубину и легкость.
-
Трансляция и размещение:
- Модуль
body()
располагается на высоте 30 единиц по оси Z, что позволяет ему быть видимым и выделяться на фоне узора. - Модуль
pattern()
размещается сдвинутым на 80 единиц по оси X и -50 единиц по оси Y, что создает интересное сочетание между узором и основной структурой.
- Модуль
Заключение
Проект демонстрирует возможности параметрического моделирования с использованием OpenSCAD, позволяя создавать сложные геометрические формы и узоры. Полученная модель может быть использована в различных приложениях, таких как архитектурные визуализации, дизайн интерьеров или даже в качестве элемента для 3D-печати. Интересное сочетание кубов и их расположение создают уникальный визуальный эффект, который может привлечь внимание и вдохновить на дальнейшие эксперименты в области 3D-дизайна.
module pattern() {
for (i = [0 : 10]) {
for (j = [0 : 10]) {
translate([i * 10, j * 10, 0]) {
if ((i + j) % 2 == 0) {
cube([10, 10, 5], center = true);
} else {
rotate([0, 0, 45]) {
cube([10, 10, 5], center = true);
}
}
}
}
}
}
module body() {
difference() {
cube([120, 120, 60], center = true);
translate([0, 0, -1]) {
cube([100, 100, 60], center = true);
}
}
}
translate([0, 0, 30]) {
body();
}
translate([80, -50, 0]) {
pattern();
}