Pipeline constructor is an asset for Blender 3.2+, implemented using the Geometry Nodes, that converts a regular mesh to a pipeline model, it is formed from predefined elements. Result of the algorithm is shown in figure below (right part), source mesh (left part).
This algorithm essentially creates instances of predefined models, their positions and transforms depend on the mesh structure of the original object. Source objects may be redefined via the interface on the Modifier Properties panel. You can also exclude some elements if they are not necessary. The standard set includes: a rectangular corner, a corner rotated by 135 degrees, a tee, a crosspiece, a pipe, a fastener element and a set of valves that are placed in one collection and it's linked through the Extra Objects parameter (herein referred to as extra objects).
Node elements are created in the vertexes position depending on specific conditions:
- "rectangular corner" - if two edges (edge) are adjacent to the vertex and the angle between them is 90 degrees;
- "corner rotated by 135 degrees" - if two edges are adjacent to the vertex and the angle between them is 135 degrees;
- "tee" - if three edges are adjacent to the vertex and the angle between them is 90 degrees and they are in the same plane;
- "crosspiece" - if there are four edges adjacent to the vertex and the angle between them is 90 degrees and they are in the same plane;
The space between the nodal elements is filled with a section of pipe. The figure below shows the results of the algorithm, with the above mesh configurations of the original model.
Any extra object can be placed at the vertex location, for example, a valve, a bracket or a specific fitting, it must be in the collection specified in the Extra Objects parameter. To do this, the value of Vertex Weight in the Vertex Group "extra" must be greater than zero. Tweak the group "element_index" to select specify object from collection. Attention: vertex group names are case sensitive.
For additional objects, also as for the tee and the crosspiece, it is necessary to set the correct rotation in space, for this you should set the corresponding values of weights in the groups (Vertex Groups) "rot_x", "rot_y", "rot_z" for rotation around the X, Y, Z axes, respectively. Values from 0 to 1 correspond to the rotation range from 0 to 360 degrees. The rotation step is set by the Rotation Step modifier parameter.
There is a function for creating fasteners, it works correctly with objects that have a round profile, if there is a need to create fasteners with objects of a different profile shape, then you can create fasteners on the models of elements. The following parameters are intended for control on the modifier panel:
- Bolt Count - sets the number of fasteners, the minimum value is 3;
- Bolt Radius - the radius of the circle on which the fasteners are placed;
- Create Bolts for Extra - create fasteners for additional objects, works only with straight objects like valves, which are in the package.
Requirements for custom models
Basic structural elements: elements of the angular connection of pipes with angles of 90 and 135 degrees (1 and 2), the "tee" connector (3), the "crosspiece" connector (4) and the pipe (5) are shown in figure below. These elements can be replaced by the user with any other ones in compliance with certain requirements. It is also possible to use elements for modeling not only pipelines, but also other objects with a similar structure, for example, roads, cable lines, building structures, etc.
The red "diamond" indicates the position of the Object Origin (the beginning of the local space of an object), this point is aligns with the position of the vertexes of the original mesh. The length L (the distance from the Object Origin to the edge of the flange) is used to calculate the scaling of the pipe element, for other nodal objects, the distances from the beginning of the local coordinate system to the flange must be the same and equal to L. The Tube Offset parameter allows to change the size of the L value to adjust the scaling of the pipe segment. The local space of objects should be as shown in the diagram in the upper right corner. The pipe model must be symmetrical along the Z axis.
Two the red diamonds indicate: 1 - the Object Origin of the corner, 2 - the Object Origin of the fastener element. When creating fasteners, the following points should be taken into account: its copies are placed on circles, the center of which is located in the position of the nodal element; the shape of the fastener must be adjusted to the size of the flange.
Two types of pipelines are included in the kit: steel pipes with flanged joining and polypropylene pipes with welded joining.
Pay attention! In the process of creating the final model, a copy of the pipe segment is scaled up or scaled down depending on the initial conditions, so when using texture coordinates, you should give preference to texture coordinates that are not sensitive to object scale.