3D LEGO Figure Model

Описание проекта: Модель LEGO-фигуры

Цель проекта

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

Описание модели

Модель представляет собой стилизованную LEGO-фигуру, состоящую из нескольких основных частей: тела, головы, рук и ног. Каждая часть модели создается с использованием различных геометрических примитивов, таких как кубы, цилиндры и сферы.

Структура модели

  1. Тело:

    • Основная часть фигуры выполнена в виде куба размером 8x8x20 единиц, который расположен в центре координат.
    • Для создания эффекта соединения с ногами, из куба вырезается цилиндр радиусом 4 и высотой 21, который расположен ниже тела.
  2. Голова:

    • Голова фигуры представлена в виде сферы радиусом 5, расположенной на высоте 14 единиц над телом.
  3. Руки:

    • Руки выполнены в виде цилиндров радиусом 2 и высотой 10, которые расположены по обе стороны от тела на уровне 8 единиц. Цилиндры повёрнуты на 90 градусов для создания эффекта рук.
  4. Ноги:

    • Ноги представлены двумя кубами размером 4x8x10, расположенными по обе стороны от центра тела. Это создает устойчивую базу для фигуры.

Технические детали

  • Модель создается с использованием функции difference(), которая позволяет вырезать одну геометрическую фигуру из другой.
  • Все элементы модели расположены относительно центра координат, что упрощает дальнейшую модификацию и масштабирование.
  • Использование функций translate() и rotate() позволяет точно позиционировать и ориентировать части фигуры.

Заключение

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

module lego_figure() {
    // Body
    difference() {
        cube([8, 8, 20], center = true);
        translate([0, 0, -1])
            cylinder(r = 4, h = 21, center = true);
    }

    // Head
    translate([0, 0, 14])
        sphere(r = 5);

    // Arms
    translate([-8, 0, 8])
        rotate([0, 90, 0])
            cylinder(r = 2, h = 10, center = true);
    translate([8, 0, 8])
        rotate([0, 90, 0])
            cylinder(r = 2, h = 10, center = true);

    // Legs
    translate([-4, 0, 0])
        cube([4, 8, 10], center = true);
    translate([4, 0, 0])
        cube([4, 8, 10], center = true);
}

lego_figure();
3D вид:
Скачать stl файл