diff options
| author | 2026-02-02 00:35:54 +0300 | |
|---|---|---|
| committer | 2026-02-02 00:35:54 +0300 | |
| commit | bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 (patch) | |
| tree | 27fff9c802dcdd22960bb2e776e58278000d0364 /content/posts/2025-08-05-lets-code-3d/index.md | |
| parent | Поправил шаблон (diff) | |
| download | blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.gz blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.bz2 blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.tar.xz blog-bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9.zip | |
Большая чистка блога
Diffstat (limited to '')
| -rw-r--r-- | content/posts/2025-08-05-lets-code-3d/index.md (renamed from content/posts/2025-08-05-lets-code-3d.md) | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/content/posts/2025-08-05-lets-code-3d.md b/content/posts/2025-08-05-lets-code-3d/index.md index 3809861..700c666 100644 --- a/content/posts/2025-08-05-lets-code-3d.md +++ b/content/posts/2025-08-05-lets-code-3d/index.md @@ -1,9 +1,9 @@ --- -cover: /posts/files/lets-code-3d_img/4.jpg -date: '2025-08-05T20:00:00+03:00' +cover: /posts/2025-08-05-lets-code-3d/4.jpg +date: "2025-08-05T20:00:00+03:00" tags: -- 3D печать -- гиковское + - 3D печать + - гиковское title: Давай запрограммируем деталь? --- @@ -20,7 +20,7 @@ title: Давай запрограммируем деталь? <!--more--> - Бокорезы и + Бокорезы и колпачок ## Проектирование @@ -36,7 +36,7 @@ title: Давай запрограммируем деталь? пример: ```openscad -cube([25,35,55]); // Нарисовать куб размерами 25мм х 25мм х 55мм +cube([25,35,55]); / Нарисовать куб размерами 25мм х 25мм х 55мм ``` Просто? Очень! А учитывая что язык полноценный, с циклами и условиями @@ -50,7 +50,7 @@ cube([25,35,55]); // Нарисовать куб размерами 25мм х 25 про всё у меня ушло где-то с полчаса. И у меня получилась первая версия колпачка. Максимально простая и дубовая. Первая куцая версия: - + ## Вторая версия @@ -61,73 +61,73 @@ cube([25,35,55]); // Нарисовать куб размерами 25мм х 25 модель, чтобы было легко менять её размеры, а не хардкодить их. И вот получилась вторая, и на текущий момент окончательная версия: - + И результат «в железе», то есть в пластике :) - + -А сам код, думаю, он достаточно понятен ([исходники](/posts/files/source.scad) и -[STL модель](/posts/files/result.stl) я прикладываю к этому посту): +А сам код, думаю, он достаточно понятен ([исходники](/posts/2025-08-05-lets-code-3d/source.scad) и +[STL модель](/posts/2025-08-05-lets-code-3d/result.stl) я прикладываю к этому посту): ```openscad -// Толщина стенки +/ Толщина стенки wall = 2; -// Высота внешняя +/ Высота внешняя height = 12; -// Длина основной части (внутренняя) +/ Длина основной части (внутренняя) l1 = 15; -// Длина носика (внутренняя) +/ Длина носика (внутренняя) l2 = 20; -// Ширина у основания (внутренняя) +/ Ширина у основания (внутренняя) w = 15; -// Толщина метала бокорезов +/ Толщина метала бокорезов toolWidth = 2.1; -// Нижняя крышка +/ Нижняя крышка cover(0); -// Верхняя крышка +/ Верхняя крышка cover(height - wall); -// Корпус +/ Корпус difference() { linear_extrude(height) polygon( - [ // Полигон идёт против часовой стрелки + [ / Полигон идёт против часовой стрелки [0, 0], [wall, 0], [wall, l1], - [w / 2 + wall, l1 + l2], // Внутренний кончик носика + [w / 2 + wall, l1 + l2], / Внутренний кончик носика [w + wall, l1], [w + wall, 0], [w + wall * 2, 0], [w + wall * 2, l1], - [w / 2 + wall / 2 + wall, l1 + l2 + wall], // Внешний кончик носика + [w / 2 + wall / 2 + wall, l1 + l2 + wall], / Внешний кончик носика [w / 2 - wall / 2 + wall, l1 + l2 + wall], [0, l1], ] ); - // Вырезы - translate([w + wall, 0, height / 2 - toolWidth]) // Правый вырез чуть ниже середины + / Вырезы + translate([w + wall, 0, height / 2 - toolWidth]) / Правый вырез чуть ниже середины cube([wall, l1 / 2, toolWidth]); - translate([0, 0, height / 2]) // Левый вырез чуть выше середины + translate([0, 0, height / 2]) / Левый вырез чуть выше середины cube([wall, l1 / 2, toolWidth]); } -// Крышка +/ Крышка module cover(z) { translate([0, 0, z]) linear_extrude(wall) polygon( - [ // Полигон идёт против часовой стрелки + [ / Полигон идёт против часовой стрелки [0, 0], [w + wall * 2, 0], [w + wall * 2, l1], |
