3D Model of a Table

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

Цель проекта

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

Исходные данные

Для создания модели стола были определены следующие параметры:

  • Длина стола: 120 см
  • Ширина стола: 60 см
  • Высота стола: 75 см
  • Толщина ножек: 5 см
  • Высота ножек: 70 см (высота стола минус 5 см)

Структура проекта

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

  1. Основная поверхность стола (table_top):

    • Создаётся прямоугольная поверхность с заданными длиной и шириной, расположенная на высоте ножек.
  2. Ножка стола (table_leg):

    • Модуль, создающий куб, представляющий ножку стола с заданной толщиной и высотой.
  3. Расположение ножек (table_legs):

    • Модуль, который размещает четыре ножки стола в углах основной поверхности. Ножки располагаются с учетом их толщины, чтобы они не выходили за пределы стола.
  4. Сборка стола (table):

    • Основной модуль, который объединяет все компоненты стола: поверхность и ножки.

Реализация

Код написан на языке OpenSCAD и включает в себя вызов основного модуля table, который генерирует полную модель стола. Модель может быть визуализирована и экспортирована для дальнейшего использования, например, для 3D-печати или в качестве основы для более сложных проектов.

Заключение

Данный проект является отличным примером применения программирования для создания 3D-объектов. Он позволяет не только изучить основы OpenSCAD, но и развить навыки работы с геометрическими формами и их трансформациями. Модель стола может быть использована как основа для дальнейших экспериментов с дизайном мебели и 3D-моделированием.

// Параметры стола
table_length = 120; // Длина стола
table_width = 60;   // Ширина стола
table_height = 75;  // Высота стола
leg_thickness = 5;  // Толщина ножек
leg_height = table_height - 5; // Высота ножек

// Основная поверхность стола
module table_top() {
    translate([0, 0, leg_height]) {
        cube([table_length, table_width, 5]);
    }
}

// Ножка стола
module table_leg() {
    cube([leg_thickness, leg_thickness, leg_height]);
}

// Расположение ножек
module table_legs() {
    translate([0, 0, 0]) table_leg();
    translate([table_length - leg_thickness, 0, 0]) table_leg();
    translate([0, table_width - leg_thickness, 0]) table_leg();
    translate([table_length - leg_thickness, table_width - leg_thickness, 0]) table_leg();
}

// Сборка стола
module table() {
    table_top();
    table_legs();
}

// Вызов модуля стола
table();
3D вид:
Скачать stl файл