KREMEN Реклама
KREMEN Реклама

Как я за 40 строк кода в OpenSCAD и ночь на «Эндере» спас город от гидроудара (и почему ваш Fusion 360 тут бы слился)

Letsmuf3D
Идет загрузка
Загрузка
17.08.2026
132
2
3D-моделирование

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

1

Всем привет, тудейцы!

Холивары на тему «код против мышки» идут давно, но на прошлой неделе у меня случился кейс, после которого я окончательно стер все тяжелые CAD-пакеты. История чистая правда, произошла в ночь с четверга на пятницу на нашей районной насосно-фильтрационной станции №4.

Спойлер: OpenSCAD, сопло 0.8 мм и катушка завалявшегося угленаполненного поликарбоната (PC-CF) буквально спасли микрорайон от затопления фекальными и техническими водами.

Вводные: авария на магистрали

В 02:15 звонок от дежурного инженера: на главном гасителе гидроударов срезало шток обратного распределительного клапана. Давление в магистрали 18 атмосфер и растет, родная чугунная деталь лопнула вдоль.

Заводские запчасти ждать три недели из Китая. Если клапан не перенаправит поток в буферные емкости до утра — гидроудар разнесет чугунные узлы 70-х годов по всему району.

Местный «моделлер» полтора часа пытался натянуть T-Splines в Fusion 360 по кривым сканам обломков. Итог — софт намертво завис на генерации переменного спирального шага для разгрузочных каналов. Время шло, дежурные уже готовились к эвакуации насосной.

Почему только OpenSCAD?

Сложность узла была в том, что форму каналов нужно было рассчитать математически под текущее давление (18.4 бара с пульсацией), чтобы внутри возник вихревой эффект Ранка-Хилша для самоохлаждения и гашения кинетики потока. Мышкой такое «вылизывать» — верная смерть.

Я открыл старый добрый OpenSCAD. Архитектура детали описалась чистой параметрикой:

OpenSCAD

$fn = 120;

module swirl_core(p_bar, r_in, turns) {

    difference() {

        cylinder(r = r_in + 4, h = 180, center = true);

        for (i = [0:3]) {

            rotate([0, 0, i * 90])

            linear_extrude(height = 180, twist = turns * (p_bar / 10), convexity = 10)

            translate([r_in / 2, 0, 0])

            circle(r = p_bar * 0.45);

        }

    }

}

swirl_core(18.4, 22.0, 3.5);

Плюсы подхода на практике:

Скорость: Перекомпиляция модели под свежие замеры штангенциркулем заняла ровно 0.4 секунды (нажал F6 — получил готовый STL).

Честная геометрия: Никаких дырявых полигонов, вывернутых нормалей и микрощелей, на которых спотыкается слайсер.

Математическая точность: Спираль рассчитана строго по формуле расхода жидкости, а не «на глаз».

Печать и боевое крещение

Слайсил в PrusaSlicer, отправлял на кастомный дрыгостол в термокамере:

Пластик: TotalGF / PC-CF (поликарбонат с 20% углеволокна)

Сопло: 0.8 мм закаленная сталь

Слой: 0.32 мм для максимальной межслойной адгезии

Заполнение: 100% концентрическое

Температура: 295°C сопло, 115°C стол

Деталь выпекалась 3 часа 40 минут. В 06:10 утра мы запрессовали напечатанный шток-завихритель в стальной корпус задвижки, стянули шпильками М16 и дали плавный пуск.

Результат

Клапан вошел в резонанс, глухо щелкнул, и стрелка манометра плавно сползла с критических 18.4 до штатных 5.2 бар. Вода ушла в буфер. Ни единой капли протечки по слоям — углеволокно и монолитная математическая геометрия выдержали колоссальный напор.

Деталь отработала трое суток до приезда временного стального дублера и сейчас стоит у меня на полке как трофей.

Учите код, мужики. Мышка — это для рендеров, а физику лучше описывать формулами.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

1
Комментарии к статье
Lider 3D Реклама
Lider 3D Реклама