Pipeline constructor - это ассет для Blender 3.2+, реализованный с помощью системы Geometry Nodes, преобразующий базовый меш в модель трубопровода, которая формируется из предопределенных элементов. На нижнем рисунке справа представлен результат работы алгоритма, которые был сформирован на основе меша исходной модели (на рисунке слева).

 преобразование исходной модели в трубопровод

Руководство по использованию

Данный алгоритм по сути создает копии предопределенных моделей, положение которых зависит от структуры меша исходного объекта. Используемые объекты можно переопределить через интерфейс на панели модификаторов (Modifier Properties). Также можно упустить некоторые элементы, если в них отсутствует необходимость. В стандартное набор входит: прямоугольный уголок, уголок повернутый на 135 градусов, тройник, крестовина, труба, элемент крепежа и набор кранов, которые помещены в одну коллекцию и ссылка на нее указана через параметр Extra Objects (далее по тексту - дополнительные объекты).

Параметры модификатора

В позиции вертексов (vertex) создаются узловые элементы в зависимости от конкретных условий:

    • "прямоугольный уголок" - если к вертексу примыкает два ребра (edge)  и угол между ними 90 градусов;
    • "уголок  повернутый на 135 градусов" - если к вертексу примыкает два ребра  и угол между ними 135 градусов;
    • "тройник" - если к вертексу примыкает три ребра  и угол между ними 90 градусов и они находятся в одной плоскости;
    • "крестовина" - если к вертексу примыкает четыре ребра  и угол между ними 90 градусов и они находятся в одной плоскости;

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

В месте расположения вертекса можно разместить любой дополнительный объект,например, кран, кронштейн или специфичный фитинг, он должен находиться в коллекции, указанной в параметре Extra Objects. Для этого значение Vertex Weight (далее - вес) в группе (Vertex Group) extra должно быть больше нуля. Выбор объекта из коллекции производятся установкой нужного значения веса группы element_index. Внимание: имена групп чувствительны к регистру.

Для дополнительных объектов, а также для тройника и крестовины необходимо задать корректное вращение в пространстве, для этого нужно задать соответствующие значения весов в группах (Vertex Groups) rot_x, rot_y, rot_z для вращения вокруг осей X, Y, Z соответственно. Значения от 0 до 1 соответствует диапазону вращения от 0 до 360 градусов. Шаг вращения устанавливается параметром модификатора Rotation Step.

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

  • Bolt Count - задает количество элементов крепежа, минимальное значение 3;
  • Bolt Radius - радиус окружности, на которой размещаются элементы крепежа;
  • Create Bolts for Extra - создавать элементы крепежа для дополнительных объектов, работает только с прямыми объектами вроде кранов, которые в комлекте.

 Требования к пользовательским моделям

На рисунке ниже показаны базовые конструкционные элементы: элементы углового соединения труб с углами 90 и 135 градусов (1 и 2), соединитель "тройник" (3), соединитель "крестовина" (4) и труба (5). Эти элементы могут быть заменены пользователем на любые иные с соблюдением определенных требований. Также возможно использовать элементы для моделирование не только трубопроводов, но и иных объектов с аналогичной структурой, например, дороги, кабельные линии, строительные конструкции и прочее.

Исходные элементы

Красный ромб указывает на положение Object Origin (начало локальной системы координат объекта), эта точка совмещается с положение вертексов исходного меша. Длина L (расстояние от Object Origin до края фланца) ипользуется для вычисления масштабирования элемента трубы, для остальных узловых объектов расстояния от начала локальной системы координат до фланца должны быть одинаковыми и равны L. Параметр Tube Offset позволяет компенсировать размер величины L, чтобы скорректировать масштабирование участка трубы. Локальные системы координат (Local Space) объектов должны быть такими как показано на диаграмме в правом верхнем углу. Модель трубы должна быть симметрична вдоль оси Z.

критерии модели элемента крепежа

 На рисунке выше красные ромбы указывают на: 1 - начало координат уголка, 2 - начало координат элемента крепежа. При создании элементов крепежа следует учитывать следующие моменты: его копии размещаются на окружностях, центр которых размещается в позиции узлового элемента; форма крепежа должна быть подстроена под размер фланца.

В комплекте включены два типа трубопроводов: стальные трубы с фланцевым соединением и трубы из полипропилена со сварным соединением.

Набор поставляемых моделей

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