Модель пушки Петра I

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

Введение

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

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

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

  1. Ствол пушки

    • Основная труба пушки представлена цилиндром высотой 100 мм и радиусом 10 мм.
    • Для создания ствола пушки выполнен вырез в верхней части трубы, который представляет собой цилиндр высотой 20 мм и радиусом 5 мм. Этот элемент имитирует внутреннюю часть ствола.
    • Дульный срез пушки выполнен с помощью цилиндра высотой 5 мм и радиусом 12 мм, который также вырезан из основной трубы.
  2. Колеса

    • Пушка оснащена четырьмя колесами, которые расположены по углам основания. Каждое колесо состоит из двух цилиндров: внешнего (радиус 15 мм, высота 5 мм) и внутреннего (радиус 10 мм, высота 7 мм), что создает эффект обода колеса.

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

  • Язык программирования: OpenSCAD
  • Основные функции:
    • cylinder(): создание цилиндрических объектов.
    • difference(): операция вычитания, позволяющая создавать сложные формы.
    • translate(): перемещение объектов в пространстве.

Заключение

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

// Пушка Петра I

module cannon() {
    difference() {
        // Основная труба
        cylinder(h=100, r=10, center=false);

        // Вырез для ствола
        translate([0, 0, 90])
            cylinder(h=20, r=5, center=false);

        // Вырез для дульного среза
        translate([0, 0, 100])
            cylinder(h=5, r=12, center=false);
    }

    // Колеса
    translate([-15, -15, 0])
        wheel();
    translate([-15, 15, 0])
        wheel();
    translate([15, -15, 0])
        wheel();
    translate([15, 15, 0])
        wheel();
}

// Модуль колеса
module wheel() {
    difference() {
        cylinder(h=5, r=15, center=false);
        translate([0, 0, -1])
            cylinder(h=7, r=10, center=false);
    }
}

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