Модель настольной лампы

Описание проекта: Модель настольной лампы

Цель проекта

Создание 3D-модели настольной лампы с использованием языка программирования OpenSCAD. Проект направлен на изучение основ 3D-моделирования и применения геометрических примитивов для создания сложных объектов.

Компоненты модели

Модель лампы состоит из нескольких основных частей, каждая из которых реализована в виде отдельного модуля:

  1. Основание лампы (base):

    • Основание выполнено в виде двух цилиндров, один из которых вырезает другой. Внешний цилиндр имеет высоту 5 см и радиус 30 см, а внутренний — высоту 4 см и радиус 25 см. Это создает эффект утолщенного основания, обеспечивающего устойчивость лампы.
  2. Стойка (stand):

    • Стойка представляет собой цилиндр высотой 60 см и радиусом 5 см. Она соединяет основание с корпусом светильника, обеспечивая необходимую высоту и поддержку.
  3. Корпус светильника (lamp_body):

    • Корпус выполнен в виде двух цилиндров, где внешний цилиндр имеет высоту 20 см и радиус 20 см, а внутренний — радиус 18 см. Это создает полую структуру, в которую можно установить лампочку.
  4. Лампочка (bulb):

    • Лампочка представлена в виде сферы радиусом 15 см, что придает модели завершенный вид и делает ее более реалистичной.
  5. Полная модель лампы (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();
3D вид:
Скачать stl файл