CSG, або конструктивна геометрія твердих тіл, пропонує елегантний і математично точний спосіб створення тривимірних об’єктів. Замість того щоб ліпити форму з тисяч вершин, користувач комбінує прості базові форми за допомогою чітких булевих операцій. Результат завжди залишається твердим тілом без дірок і самоперетинів, а історія створення зберігається у структурі, яку легко редагувати навіть через місяці.
Цей підхід однаково цінний для новачка, який уперше збирає деталь для 3D-друку, і для інженера, що проєктує складний механізм з допусками та функціональними вирізами. У 2026 році CSG не просто живе — він еволюціонує завдяки новим алгоритмам реконструкції з хмар точок та інтеграції в сучасні CAD- і гейм-інструменти.
Метод особливо сильний там, де важлива не тільки фінальна форма, а й намір дизайнера: як саме отвір з’явився, чому стінка має саме таку товщину, як швидко змінити параметри всієї серії деталей.
Історія виникнення та становлення методу
Ідея збирати складні тіла з простих зародилася наприкінці 1970-х у дослідницьких лабораторіях, що займалися автоматизацією виробництва. Інженери шукали спосіб описати деталь так, щоб комп’ютер міг не лише намалювати її, а й перевірити об’єм, масу, можливість виготовлення на верстаті. Ключові роботи з’явилися в Університеті Рочестера під керівництвом Герберта Велкера та Арістофана Реквічі. Саме тоді сформувалося поняття регулярних булевих операцій, яке зробило метод надійним на практиці.
У 1980-х CSG став основою перших комерційних систем твердотільного моделювання. Він ідеально пасував до фрезерування та токарної обробки: кожна операція різниці буквально відповідала руху інструменту. Згодом метод проник у геймдев — рівні Quake та ранніх Unreal будувалися з «брашів», що по суті були примітивами CSG. Сьогодні, коли більшість ігор перейшла на полігональні сітки, CSG все одно залишається в інструментах для швидкого прототипування рівнів та процедурної генерації.
Примітиви — фундамент будь-якої конструкції
Уся потужність методу тримається на обмеженому наборі базових форм. Класичні примітиви — це паралелепіпед, циліндр, сфера, конус і тор. Кожен із них описується кількома параметрами: координатами центру, радіусами, висотою, кутами повороту. Обмеженість набору — не недолік, а навпаки: саме вона гарантує, що будь-яка комбінація залишатиметься математично коректною.
Паралелепіпед найчастіше стає основою корпусів і кронштейнів. Циліндр — отвори, вали, труби. Сфера корисна для заокруглень і кульових з’єднань. Конус з’являється в лійках, насадках, перехідниках. Тор незамінний для кілець, ущільнень і складних каналів. Деякі сучасні системи додають призми, піраміди та навіть параметричні екструзії, але ядро залишається тим самим.
- Паралелепіпед — ідеальна заготовка для більшості механічних деталей завдяки прямим граням і простим розрахункам.
- Циліндр — основний інструмент для створення отворів, пазів і циліндричних елементів; дозволяє точно контролювати діаметр і глибину.
- Сфера — найкращий вибір для плавних заокруглень і кульових поверхонь без зайвих вершин.
- Тор — незамінний для кілець, ущільнювальних канавок і складних трубопроводів.
Кожен примітив можна масштабувати, переміщувати та обертати перед застосуванням операцій. Ці трансформації записуються в дерево разом із самими формами, тому модель залишається повністю параметричною.
Булеві операції: об’єднання, перетин і різниця
Три основні операції перетворюють прості форми на складні конструкції. Об’єднання (union) склеює два тіла в одне, зберігаючи зовнішній контур. Перетин (intersection) залишає лише спільну частину — зручно для створення складних перетинів труб або з’єднань. Різниця (difference) віднімає одне тіло від іншого — саме так з’являються отвори, пази, виїмки.
Важливий нюанс — регулярні булеві операції. Звичайні математичні операції над множинами іноді створюють «вироджені» результати: нульову товщину стінок, самоперетини чи висячі грані. Регуляризація автоматично забирає такі артефакти, гарантуючи, що результат завжди буде повноцінним твердим тілом. Саме тому CSG-моделі рідко «ламаються» при експорті на 3D-принтер або верстат з ЧПК.
На практиці інженери часто поєднують кілька операцій поспіль. Наприклад, щоб зробити корпус з внутрішньою порожниною та монтажними отворами, спочатку об’єднують основний об’єм з виступами, а потім кілька разів віднімають циліндри різного діаметра. Кожна така дія залишається в історії моделі — змінити діаметр отвору можна одним кліком навіть на глибокому рівні дерева.
Дерево CSG — як зберігається і обчислюється модель
Уся конструкція зберігається у бінарному дереві. Листя — це примітиви з їхніми параметрами та трансформаціями. Внутрішні вузли — булеві операції. Щоб дізнатися, чи точка належить кінцевому тілу, алгоритм проходить від кореня до листя, послідовно застосовуючи операції. Такий підхід називається класифікацією належності точки (point membership classification) і працює надзвичайно швидко навіть для складних моделей.
Для рендерингу або експорту дерево зазвичай перетворюють на сітку або граничне представлення (B-rep). Сучасні ядра роблять це ефективно, але глибоке дерево з десятками операцій все одно вимагає обчислювальних ресурсів. Тому досвідчені користувачі намагаються тримати структуру якомога компактнішою, об’єднуючи примітиви на ранніх етапах.
Переваги, які пояснюють популярність методу
CSG гарантує коректність моделі на кожному етапі. Якщо всі примітиви були валідними, результат теж буде валідним — без самоперетинів і дірок. Це критично важливо для інженерних розрахунків: об’єм, центр маси, момент інерції обчислюються безпосередньо з дерева без додаткової тріангуляції.
Параметричність — друга велика перевага. Змінивши радіус одного циліндра у глибині дерева, ви автоматично оновлюєте всі залежні елементи. Це ідеально для сімейств деталей, де потрібно випускати десятки варіантів з різними отворами чи товщинами стінок.
Метод чудово пасує до реального виробництва. Кожна операція різниці відповідає конкретній технологічній операції — свердлінню, фрезеруванню, токарній обробці. Програмне забезпечення для верстатів з ЧПК часто «розуміє» CSG-дерево безпосередньо і генерує оптимальні траєкторії інструменту.
| Метод моделювання | Принцип роботи | Найсильніші сторони | Коли обирати саме його |
|---|---|---|---|
| CSG | Комбінування примітивів булевими операціями | Гарантована валідність, параметричність, зв’язок з технологією виготовлення | Механічні деталі, корпуси, інструменти, вироби з чіткою історією редагування |
| B-rep (граничне представлення) | Опис поверхонь і їхніх з’єднань | Точність складних кривих поверхонь, підтримка більшості CAD-ядер | Складні промислові вироби, штампи, прес-форми |
| Полігональна сітка | Тисячі трикутників або чотирикутників | Гнучкість для органічних форм, швидкий рендеринг, підтримка в іграх | Персонажі, ландшафти, художні моделі, швидке прототипування |
Дані для порівняння узагальнені на основі сучасних практик CAD-систем станом на 2026 рік.
Обмеження, про які варто знати заздалегідь
CSG не універсальний інструмент. Він погано справляється з органічними, плавними формами — для них доведеться використовувати десятки примітивів, і дерево стане громіздким. Чим глибше дерево, тим повільніше обчислюються булеві операції та конвертація в сітку для рендерингу чи 3D-друку.
Ще одна реальна проблема — чисельна стійкість. Через похибки з плаваючою комою деякі реалізації іноді видають нульову товщину або топологічні помилки. Саме тому з’явилися нові алгоритми на кшталт FR-CSG, опублікованого у 2025 році в IEEE Transactions on Visualization and Computer Graphics. Вони розбивають модель на підкомпоненти, оптимізують дерево і гарантують відсутність вироджених поверхонь навіть при реконструкції зі сканів.
CSG у популярних програмах 2026 року
OpenSCAD залишається еталоном чистого CSG. Модель описується кодом, кожна операція — це рядок скрипту. Це ідеально для параметричних виробів, кастомайзерів та повторюваних елементів. Багато хто використовує його саме для 3D-друку, бо модель виходить завжди валідною.
FreeCAD пропонує два підходи. У робочому просторі Part можна працювати з примітивами та булевими операціями безпосередньо — це класичний CSG. Робочий простір PartDesign більше орієнтований на feature-based моделювання, але під капотом часто використовує ті самі принципи. Є також спеціальний модуль OpenSCAD для імпорту та експорту CSG-дерев.
Blender реалізує булеві операції через модифікатор Boolean. Він працює вже не з чистими примітивами, а з полігональними сітками, тому результат може містити артефакти. Для механічних деталей його вистачає, але для точних інженерних моделей краще експортувати з OpenSCAD або FreeCAD.
Професійні системи — SolidWorks, Fusion 360, Onshape — використовують гібридний підхід. Багато операцій (виріз, отвір, кишеня) по суті є різницею, а об’єднання тіл — об’єднанням. Історія моделі зберігає послідовність цих операцій, що робить редагування інтуїтивним навіть без явного CSG-дерева.
Практичні сценарії використання
Для початківця найпростіший шлях — Tinkercad або вбудовані інструменти в браузерних редакторах. Перетягуєте куб, віднімаєте циліндр — отримуєте деталь з отвором за 30 секунд. Потім додаєте ще кілька елементів і експортуєте STL для друку.
У OpenSCAD той самий процес виглядає як код:
difference() { cube([30,30,10]); translate([15,15,-1]) cylinder(h=12, r=5); }
Цей короткий скрипт створює пластину з центральним отвором. Змінивши числа, ви миттєво отримуєте нову версію. Додаючи модулі та змінні, можна будувати цілі бібліотеки параметричних деталей.
Просунуті користувачі поєднують CSG з іншими техніками. Наприклад, створюють базову форму в OpenSCAD, експортують у FreeCAD, додають складні криволінійні поверхні через loft або sweep, а потім повертають результат назад. Гібридні пайплайни сьогодні дають найкращий баланс точності та гнучкості.
Сучасні дослідження та напрямки розвитку
У 2025 році з’явилася робота FR-CSG, яка суттєво прискорила реконструкцію CSG-дерева зі сканованих моделей або хмар точок. Алгоритм розбиває об’єкт на підкомпоненти, оптимізує вибір примітивів і додає «забуті» елементи назад у дерево. Результат — компактне, редаговане дерево без нульових поверхонь. Такі технології вже тестують для автоматичної побудови BIM-моделей існуючих будівель за даними лазерного сканування.
Інший напрям — інтеграція з генеративним штучним інтелектом. Дослідники навчають моделі генерувати не просто сітку, а саме CSG-дерево. Це дозволяє отримувати не тільки красиву картинку, а й редаговану, технологічну модель, яку можна відразу відправити на верстат або до інженера на доопрацювання.
У геймдеві CSG повертається через процедурну генерацію рівнів та інтерактивні редактори. Деякі сучасні рушії (наприклад, Godot) мають нативну підтримку CSG-вузлів, що дає розробникам швидкий спосіб створювати складні колізійні геометрії без ручної тріангуляції.
Як обрати підхід саме під ваше завдання
Якщо ви проєктуєте механічні деталі, корпуси, кріплення або вироби для 3D-друку з чіткими функціональними елементами — обирайте CSG або feature-based CAD з булевими операціями. Зберігається історія, легко вносити зміни, модель залишається валідною.
Для органічних форм, персонажів, ландшафтів або художніх об’єктів краще починати зі сітки або субдивіжн-моделювання. CSG тут буде надто громіздким.
Найпотужніші результати дає гібрид: базову конструкцію збираєте CSG-методом, а складні криві поверхні додаєте через інші інструменти. Сучасні програми дозволяють поєднувати обидва світи без втрати якості.
CSG — це не просто ще один інструмент у вашому арсеналі. Це філософія моделювання, де кожна дія має сенс, а результат завжди можна зрозуміти, змінити та відтворити. У світі, де швидкість ітерацій визначає успіх проєкту, така передбачуваність і контроль стають справжньою конкурентною перевагою.