惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
IT之家
IT之家
Cyberwarzone
Cyberwarzone
T
Troy Hunt's Blog
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
T
Threat Research - Cisco Blogs
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes
The Hacker News
The Hacker News
Jina AI
Jina AI
T
Tor Project blog
V
Vulnerabilities – Threatpost
酷 壳 – CoolShell
酷 壳 – CoolShell
Spread Privacy
Spread Privacy
博客园_首页
C
Cybersecurity and Infrastructure Security Agency CISA
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Simon Willison's Weblog
Simon Willison's Weblog
Security Latest
Security Latest
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 司徒正美
V2EX - 技术
V2EX - 技术
I
Intezer
The Cloudflare Blog
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
Lohrmann on Cybersecurity
Scott Helme
Scott Helme
Google Online Security Blog
Google Online Security Blog
量子位
The Last Watchdog
The Last Watchdog
AI
AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Security Affairs
P
Palo Alto Networks Blog
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Attack and Defense Labs
Attack and Defense Labs

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Модификаторы в Blender: осваиваем Boolean
Андрей Ларин · 2026-05-23 · via Все публикации подряд на Хабре

Средний

10 мин

17K

Я хочу поделиться некоторым опытом 3D-моделирования, который кажется мне очень важным и полезным при разработке объектов под трёхмерную печать. Расскажу о нескольких приёмах автоматизации моделирования с использованием модификаторов и «многослойных» булевых операций с 3D-объектами. Статья пригодится новичкам.

Я достаточно давно в 3D-графике и начинал моделировать в далёком 2002 году. В те времена считали каждый полигон и жёстко оптимизировали меши, так как слабые компьютеры не тянули сложные сцены. Оптимизация считалась хорошим тоном и уважалась в среде трёхмерщиков.

Применение методов генерации моделей на основе неких составных элементов — тема очень благодатная и чем-то напоминает программирование, в котором общие компоненты выносятся в логические блоки, которые многократно переиспользуются. Этот подход очень прокачивает мозг и позволяет творить небывалые по сложности модели. (Если вам интересна тема, то в Blender сейчас завезли чудо-инструмент, который открывает портал в ад — отдельную вселенную параметрического моделирования, и называется он Geometry Nodes, но это тема отдельного разговора).

Плюсы модификаторов

  1. Недеструктивное редактирование. Всегда можно подкорректировать работу модификаторов.

  2. Автоматизация создания сложных мешей. Редактируем один сегмент — меняется вся большая модель.

Минусы модификаторов

  1. Добавляют дополнительную сложность для освоения и работы в сцене: некоторые модификаторы требуют согласования опорных точек объектов и их поворота, могут «разваливаться» при перемещении объектов.

  2. Требуют вычислительного времени, на высокополигональных сетках могут ощутимо тормозить интерфейс во время выполнения операций над данными. Каждое изменение положения объектов, участвующих в булевых операциях, будет приводить к пересчёту всего стека модификаторов, иногда это делает работу затруднительной.

Минусы Boolean

  1. Почти всегда плохая топология, непригодная для последующих модификаторов и особенно под «сабдив» (subdivision surface).

  2. Некоторое неудобство в необходимости организовывать дополнительные 3D-объекты в сцене. Например, если планируется перемещение и поворот составного объекта, все его части нужно привязать (Parent) к объекту-родителю. Часто для визуального порядка в сцене и правильного рендеринга нужно скрывать операнды. Например, я для этого завожу специальную «папку» (collection), которая скрыта из вьюпорта и из рендера.

Сочетание ручного моделирования и работы модификаторов упрощает работу и делает её частично параметризуемой и недеструктивной. Модификаторы и их последовательное применение можно рассматривать как этапы технологических операций на производстве в физическом мире, в настройки каждого из которых можно внести коррекцию.

Этот файл можно скачать и изучить. Ссылка в конце статьи.

Этот файл можно скачать и изучить. Ссылка в конце статьи.

Как и в программировании, нет единого правильного шаблона работы. Иногда проще всё держать в одном файле проекта и стараться максимально параметризировать модель, чтобы она собиралась из отдельных ресурсов. Но иногда легче создать несколько файлов, внутри которых будет производиться сборка составных объектов из элементов, а в файле с основным проектом будут использоваться «запечённые» меши или ссылки на объекты. Всё зависит от вашей задачи и необходимости создавать автоматизацию.

Локальная система координат

Чтобы иметь полный контроль и понимание, как работают модификаторы, нужно коснуться темы внутреннего устройства объектов в блендере.

  1. Каждый объект имеет имя и блок данных (Object Data).

  2. У обьектов типа Mesh имеется блок данных, содержащих вершины и их координаты, структуру связей вершин. Допускается сетка, состоящая из нуля вершин и облака несвязанных вершин.

  3. У объектов типа Mesh имеется блок данных, содержащий материалы.

  4. Блоки данных допускают многократное использование (Linked Data): один и тот же блок данных сетки может быть привязан к разным объектам. Если вы измените вершину в одном объекте, она изменится и во всех его связанных копиях.

  5. Обьекты могут содержать модификаторы (Modifiers). Это инструкции, которые изменяют сетку «на лету» (например, сглаживают или дублируют). Они висят на объекте, не меняя исходные координаты вершин в блоке данных, пока вы их не примените (при этом сетка необратимо «запекается» в результат действия стека модификаторов).

  6. У объекта есть локальная система координат с центром в его Origin, к ней может применяться поворот, масштабирование (иногда неравномерное по разным осям), изменение положения.

    Последний пункт особенно важен, так как некоторые модификаторы могут вести себя непредсказуемым образом, если у объекта есть собственный поворот или неравномерный масштаб. Лично у меня эти неучтённые параметры вызывали самые большие затруднения при работе с модификаторами.

    Если визуально сетка выглядит так, как вам нужно, строго рекомендую применить масштаб и поворот, при котором происходит пересчёт данных геометрии таким образом, что сетка остаётся визуально и габаритно той же, но её локальная система координат ориентируется вдоль глобальной по всем осям, а масштабные коэффициенты становятся равными единице. Если вы обучаетесь и не уверены в своих силах, рекомендую применять (Apply) масштаб и поворот, шорткат Ctrl+A.

    Чтобы понять, какие у объекта коэффициенты поворота и масштаба, их значения находятся в правой панели в 3D-окне, вызываемой клавишей N, иногда её называют N-панелью. Вкладка Item.

Origin

Origin (опорная точка) в Blender — это персональный центр системы координат объекта, относительно него происходит локальный поворот объекта. Выглядит как маленький кружочек, когда объект выделен.

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

  • Мы можем войти в режим редактирования сетки, выделить все вершины и сдвинуть их как нам требуется.

  • В режиме редактирования объектов в окне 3D-проекции на панели окна нажать кнопку Options и отметить галочкой Affect only Origins. Теперь можно будет перемещать центры координат объектов.

Оси характерного вида, которые указывают на режим перемещения опорной точки.

Оси характерного вида, которые указывают на режим перемещения опорной точки.

  • Мой любимый, самый универсальный. В режиме редактирования сетки выбираем то, к чему мы хотим привязать Origin. Например, я хочу, чтобы он был ровно по середине выделенного ребра куба. Выделяю его и вызываю меню Snap (по умолчанию вызывается сочетанием клавиш Shift + S). Выбираю Cursor to selected. Затем выхожу из режима редактирования сетки в объектный режим и вызываю меню управления Origin через глобальный поиск всех команд, который вызывается клавишей F3. В винтажных версиях блендера это меню вызывалось через Пробел и некоторые называли его пробел-меню. Указываем Origin to 3D cursor, и он становится в новое место.

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

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

После клика по Origin to 3D cursor он встанет точно в новое место.

После клика по Origin to 3D cursor он встанет точно в новое место.

Посмотреть, что получилось

Почему я рекомендую делать именно по третьему способу? Краткое наставление-совет: я долгое время игнорировал 3D-курсор и не понимал, для чего он нужен, но со временем всё чаще стал его использовать для точного позиционирования частей объекта и особенно для выравнивания групп вершин через однозначное и точное указание координат посредством 3D-курсора. Его нужно воспринимать как трёхмерный объект нулевого размера, имеющий атрибуты любого другого объекта: XYZ-координаты и поворот, который всегда находится под рукой и к которому удобно привязывать или измерять размер объекта в конкретной точке поверхности. Я использую удобное переключение точки трансформации с клавиатуры клавишами, расположенными рядом: , (Б) Median Point / Bounding Box Center и . (Ю) 3D Cursor. (Возможно, в современных версиях Blender настроено иначе).

«Запомните, а то забудете» Джейсон Стетэм

«Запомните, а то забудете» Джейсон Стетэм

Считаю, что мой уровень скорости и сложности моделирования вырос именно тогда, когда я привык манипулировать объектами, переключаясь между точками трансформации, и внедрил в повседневную практику работу с 3D-курсором. В один из дней после выработки привычки нарисовал мнемосхему, которая и вам пригодится.

Так, немного отклонился от темы повествования, вернёмся к важному.

Формула успешной булевой операции

Модификатор Boolean — вещь отнюдь не новая и появился на заре расцвета трёхмерного софта. И тогда же заслужил нехорошую славу среди трёхмерщиков из-за глючности, непредсказуемости и плохого результата работы. Я почти всю историю своей карьеры трёхмерщика эти операции с объектами игнорировал, но один проект заставил к ним вернуться.

Маска сделана в соавторстве с Георгием Колпаковым и под его художественным руководством.

Маска сделана в соавторстве с Георгием Колпаковым и под его художественным руководством.

У меня заказали трёхмерную модель персонажа в виде маски под 3D-печать. Она сочетала в себе органические формы, логотип и каналы для пропускания через пластик завязок. И при этом должна быть монолитной сеткой без разрывов и прочих топологических дефектов.

Экспериментируя, я пришёл к выводу, что в Blender модификатор булевых операций довели до хорошего качества, и если в него поступает геометрия, 100% подпадающая под критерии manifold, то результат будет отличным и пригодным для последующих булевых операций.

Маска собирается при помощи стека, содержащего восемь модификаторов Boolean, выполняющих операции сложения и вычитания. Причёска, рога, соединяются с лицом. Пазы под заколку и клыки вычитаются из обьёма. Логотип также вычитается из модели лица с внутренней поверхности.

Благодаря такому подходу мне удалось создать модульную модель, пригодную для быстрого внесения правок. Правда, есть один существенный минус: булевые операции требуют много памяти и ресурсов процессора и выполняются каждый раз, когда вы открываете файл и вносите правки в модели.

NB! Будет преступлением не сказать, что если вы решите делать нечто подобное, для быстрой работы отключайте все галочки у каждого ресурсоёмкого модификатора, когда собираетесь править сетки. Позже галочки вернёте, и всё пересоберётся как надо. Если у вас модели с небольшим количеством полигонов, то булевые модификаторы могут работать даже в realtime. При перемещении объектов сетка будет перестраиваться мгновенно.

Предполётный чеклист

Чтобы всё получилось чисто и булевые операции сработали как нужно, необходимо проверить сетки объектов.

Вывернутые нормали — довольно частая проблема, способная свести с ума, когда Boolean начинает глючить при идеальных с виду объектах. Это может произойти на этапах моделирования, связанных с ручным перемещением и экструзией вершин.

Для однозначного понимания положения нормалей можно воспользоваться полезными функциями. Кнопка панели Face Orientation активирует режим, в котором внутренняя сторона полигонов станет ярко-красной. В режиме редактирования сетки там же, на панели вьюпорта, есть кнопка Mesh Edit Mode. В панели, которую она активирует, нажимаем третью кнопку для отображения векторов нормалей, которые выходят всегда строго с видимой стороны полигонов.

Самопересечение — коварный дефект топологии, при котором полигоны (грани) модели проникают сквозь саму себя или занимают одно и то же физическое пространство, нарушая математическую целостность объекта. Петли самопересечения могут быть микроскопическими и находиться в неожиданных местах.

Non-Manifold — это топологический дефект 3D-сетки, описывающий геометрию, которая не может существовать в реальном физическом мире.

В идеальной («manifold») сетке у каждого ребра есть ровно две соседние грани, в сетке нет разрывов (открытых рёбер), внутренних граней находящихся в замкнутом обьёме сетки, Т-образных рёбер (из которых выходит более чем 2 полигона), свободной геометрии — одиночных вершин и рёбер, не связанных с сеткой.

Для проверки модели на топологические дефекты в режиме редактирования сетки (обязательно, работает только в режиме выделения вершин и рёбер, не граней!) вызовите глобальное меню (F3) и Select Non-Manifold. Выделятся проблемные части геометрии.

Практика

Давайте я покажу, как создаётся модель колонны из нескольких объектов с использованием модификаторов. Я использовал переработанную модель колонны, скачанную с сайта Sketchfab, имеющую свободную лицензию. Автор модели Tomáš Musílek.

Origin точно на месте пересечения будущих плоскостей отражения

Origin точно на месте пересечения будущих плоскостей отражения

Начнём с капители, эта часть находится наверху. Для моделирования осесимметричных объектов очень удобно применять модификатор Mirror (Отражение). Присмотритесь: завиток симметричен по двум плоскостям — право-лево и вперёд-назад.

Отражение по оси x.

Отражение по оси x.

Значит, нам достаточно смоделировать одну «четвертинку» и подготовить модель так, что при отражении по двум осям у нас получится готовая деталь.

Отражение по осям х и y.

Отражение по осям х и y.

Для этого нужно учесть несколько условий:

  1. Точка симметрии, относительно которой работает модификатор, — это Origin модели.

  2. Швы соединения частей должны идеально лежать по плоскости отражения.

  3. Non-manifold-геометрия только в виде открытых рёбер, которые станут швами соединения.

  4. Активировать галочку Merge — она указывает модификатору соединять вершины, чтобы не было щелей (разрывов топологии) в местах стыков.

Основание и капитель, состоящая из двух деталей, прикрепляются к стволу колонны последовательными булевыми операциями через модификаторы.

Слева части разнесены для наглядности. Файл тоже будет доступен для изучения.

Слева части разнесены для наглядности. Файл тоже будет доступен для изучения.

Если результат устраивает, можно сделать копию обёекта (главное его при этом не сместить) и превратить его в единый меш при помощи комбинации Alt+C (Convert to ...) и выбрать mesh.

Ротонда


Работая над колонной, захотелось сделать что-то поинтереснее и более комплексное, задействующее модификаторы. Давайте я кратко расскажу, как работал над моделью. Этот файл можно скачать по ссылке и самостоятельно разобраться и поэкспериментировать.

Совет: если вы создаёте объект, имеющий плоскость или ось симметрии, обязательно располагайте её так, чтобы она была в нулевой координате мира. Так вы значительно облегчите себе работу.

Я вставил модель готовой колонны из предыдущего файла и расположил её на некотором отдалении от центра. Все размеры в метрической системе и примерно соответствуют реальным, стиль архитектуры вольный, не ругайтесь :)

Используя 3D-курсор, стоящий в нуле глобальной системы координат, я создал связанную копию колонны, повёрнутую на 45 градусов, и повторил процедуру до заполнения окружности.

Затем смоделировал ступенчатое основание и кольцо над колоннами, используя примитив — окружность.

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

Удаляю всё лишнее и добавляю декоративный зубец, характерный для античной архитектуры.

Теперь воспользуемся мощным модификатором, который называется Array (Массив), и настроим смещение по объекту, галочка Object offset.

Для того, чтобы всё получилось как надо, нужно 3D-курсор установить в опорную точку объекта Shift+S (Snap), Cursor to selected. Затем добавить в это место объект-пустышку. Shift+A (Add) Empty, Arrows.

Укажите в модификаторе Array эту пустышку. Смотрите, как это работает. Копии объекта (количество которых в модификаторе указывается в поле Count) наследуют поворот, масштаб и смещение объекта-пустышки. Это сложно объяснить на словах, проще попробовать самому, как это работает. Если вы повернёте пустышку на некоторый угол относительно оси Z, то все копии нашего сегмента кольца унаследуют этот угол.

Такое получается если повернуть, сдвинуть и смасштабировать объект-пустышку относительно объекта, к которому применён Array.

Такое получается если повернуть, сдвинуть и смасштабировать объект-пустышку относительно объекта, к которому применён Array.

Манипулируя количеством копий объекта и углом поворота пустышки, добился замыкания кольца. Очень важно отметить галку Merge и дополнительную, которая сшивает первую и последнюю копию, чтобы сетка стала целостной и пригодной для булевых операций.

Используя сегмент кольца, очень просто получить сегмент купола. Важно: если вы используете в качестве опорной точки манипуляций положение 3D-курсора, который находится в геометрическом центре получающегося кольца, то при масштабировании части сегмента он расширяется (или сужается) всегда таким образом, при котором склеивание происходит бесшовно. Это непросто объяснить на словах, но вы точно поймёте, если сами попробуете в файле что-то добавить к куполу или кольцу.

Для закрепления материала и иллюстрации я решил вычесть из кольца окна, используя другой объект, который также получен при помощи дублирования цилиндра модификатором Array (но с другим углом поворота). Как видите, булевая операция, произведённая над одним составным объектом при помощи другого составного объекта, работает корректно.

Затем я добавил к одной из колонн конические детали для позиционирования, если вы захотите напечатать модель. При помощи этих же конусов я вырезал посадочные места в кольце над колоннами.

Послесловие

Если материал покажется полезным, я сделаю продолжение с парой интересных и полезных техник рассечения объектов под 3D-печать, которые уже были опробованы на практике. Файлы доступны по ссылке для скачивания и использования под лицензией CC0.

© 2026 ООО «МТ ФИНАНС»