Модель настольной лампы
Описание проекта: Модель настольной лампы
Цель проекта
Создание 3D-модели настольной лампы с использованием языка программирования OpenSCAD. Проект направлен на изучение основ 3D-моделирования и применения геометрических примитивов для создания сложных объектов.
Компоненты модели
Модель лампы состоит из нескольких основных частей, каждая из которых реализована в виде отдельного модуля:
-
Основание лампы (base):
- Основание выполнено в виде двух цилиндров, один из которых вырезает другой. Внешний цилиндр имеет высоту 5 см и радиус 30 см, а внутренний — высоту 4 см и радиус 25 см. Это создает эффект утолщенного основания, обеспечивающего устойчивость лампы.
-
Стойка (stand):
- Стойка представляет собой цилиндр высотой 60 см и радиусом 5 см. Она соединяет основание с корпусом светильника, обеспечивая необходимую высоту и поддержку.
-
Корпус светильника (lamp_body):
- Корпус выполнен в виде двух цилиндров, где внешний цилиндр имеет высоту 20 см и радиус 20 см, а внутренний — радиус 18 см. Это создает полую структуру, в которую можно установить лампочку.
-
Лампочка (bulb):
- Лампочка представлена в виде сферы радиусом 15 см, что придает модели завершенный вид и делает ее более реалистичной.
-
Полная модель лампы (lamp):
- Этот модуль объединяет все предыдущие компоненты, располагая их в нужных позициях. Основание располагается на уровне 0, стойка поднимается на 5 см, корпус светильника — на 65 см, а лампочка — на 85 см.
Визуализация
Для визуализации модели используется команда lamp()
, которая вызывает все модули и отображает полную модель настольной лампы в 3D-пространстве.
Заключение
Данный проект демонстрирует основы 3D-моделирования с использованием OpenSCAD, а также позволяет понять, как комбинировать простые геометрические формы для создания более сложных объектов. Модель может быть использована как основа для дальнейших доработок, таких как добавление деталей, текстурирование или подготовка к 3D-печати.
// Основание лампы
module base() {
difference() {
cylinder(h=5, r=30);
cylinder(h=4, r=25);
}
}
// Стойка
module stand() {
cylinder(h=60, r=5);
}
// Корпус светильника
module lamp_body() {
difference() {
cylinder(h=20, r=20);
cylinder(h=20, r=18);
}
}
// Лампочка
module bulb() {
sphere(r=15);
}
// Полная модель лампы
module lamp() {
base();
translate([0, 0, 5]) stand();
translate([0, 0, 65]) lamp_body();
translate([0, 0, 85]) bulb();
}
// Визуализация модели
lamp();