summaryrefslogtreecommitdiff
path: root/content/posts/2025-08-05-lets-code-3d/index.md
diff options
context:
space:
mode:
author2026-02-02 00:35:54 +0300
committer2026-02-02 00:35:54 +0300
commitbfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 (patch)
tree27fff9c802dcdd22960bb2e776e58278000d0364 /content/posts/2025-08-05-lets-code-3d/index.md
parentПоправил шаблон (diff)
downloadblog-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-->
-![Бокорез и родной колпачок](/posts/files/lets-code-3d_img/1.jpg) Бокорезы и
+![Бокорез и родной колпачок](/posts/2025-08-05-lets-code-3d/1.jpg) Бокорезы и
колпачок
## Проектирование
@@ -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
про всё у меня ушло где-то с полчаса. И у меня получилась первая версия
колпачка. Максимально простая и дубовая. Первая куцая версия:
-![Колпачок v1](/posts/files/lets-code-3d_img/2.jpg)
+![Колпачок v1](/posts/2025-08-05-lets-code-3d/2.jpg)
## Вторая версия
@@ -61,73 +61,73 @@ cube([25,35,55]); // Нарисовать куб размерами 25мм х 25
модель, чтобы было легко менять её размеры, а не хардкодить их. И вот получилась
вторая, и на текущий момент окончательная версия:
-![Колпачок v2 код](/posts/files/lets-code-3d_img/3.png)
+![Колпачок v2 код](/posts/2025-08-05-lets-code-3d/3.png)
И результат «в железе», то есть в пластике :)
-![Колпачок v2 результат](/posts/files/lets-code-3d_img/4.jpg)
+![Колпачок v2 результат](/posts/2025-08-05-lets-code-3d/4.jpg)
-А сам код, думаю, он достаточно понятен ([исходники](/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],