From BlenderWiki

Jump to: navigation, search
Pipe Joint
Add Pipe Joint Object
UI location Group: AddMesh
Usage Press ⇧ ShiftA to find a new Primitive 'Pipe Joint'
Version 2.0 Author(s) Martin Bürbaum "pontiac"
Blender 2.5 Rev:#26875 License GPL

Executable information
File name



  • This script is in Blender 2.5 Add-Ons menu.


Scripts Add Mesh Pipe Joints.jpg

Create Add Pipe Joint

  • This Script creates 5 different Pipe Joint Primitives.
  • Enable the script in the Add-Ons menu
  • Press the Shift/a.
  • Then Add mesh.
  • Below the Monkey.
  • There is the Pipe Joints Menu.
  • Mouse over to see the menu extend.
  • Press Pipe y-joint.
  • To create the New Mesh.
  • This primitive was added in Blender.
  • As A Script, not Hardcoded.
  • You can change the script Parameters in the Toolbar Menu
  • Currently you need to set script parameters before doing any transforms or using modifiers.
  • This script was Upgraded from Blender 2.49b > Blender 2.5 by pontiac.


Interface/Menu Overview

  • The interface for this script is found in the Tool Shelf > Object Tools
  • the menu consists of 5 Pipe Joint Types
  • Pipe elbow.
  • Pipe t-joint.
  • Pipe y-joint.
  • Pipe cross-joint.
  • Pipe n-joint.
  • Each object type has it's own set of parameters.

Known Issues

  • In Blender 2.5 the scripts currently show up in the toolbar.
  • Currently you need to set script parameters before doing any transforms or using modifiers.

Version Information

""" Pipe Joints This script lets the user create various types of pipe joints.

Usage: You have to activated the script in the "Add-Ons" tab (user preferences). The functionality can then be accessed via the "Add Mesh" -> "Pipe Joints" menu. Note: Currently only the "Elbow" type supports odd number of vertices.

Version history: v0.10.6 - Removed "recall properties" from all functions.

   Updated various code for new API.
   API: mathutils.RotationMatrix -> mathutils.Matrix.Rotation
   API: xxx.selected ->
   API: "invoke" function for each operator.
   Updated for new bl_info structure.
   New code for the "align_matrix".
   made script PEP8 compatible.

v0.10.5 - createFaces can now create fan/star like faces. v0.10.4 - Updated the function "createFaces" a bit. No functional changes. v0.10.3 - Updated store_recall_properties, apply_object_align

   and create_mesh_object.
   Changed how recall data is stored.
   Added 'description'.

v0.10.2 - API change Mathutils -> mathutils (r557)

   Fixed wiki url.

v0.10.1 - Use hidden "edit" property for "recall" operator. v0.10 - Store "recall" properties in the created objects.

   Align the geometry to the view if the user preference says so.

v0.9.10 - Use bl_info for Add-On information. v0.9.9 - Changed the script so it can be managed from the "Add-Ons" tab in

   the user preferences.
   Added dummy "PLUGIN" icon.

v0.9.8 - Fixed some new API stuff.

   Mainly we now have the register/unregister functions.
   Also the new() function for objects now accepts a mesh object.
   Corrected FSF address.
   Clean up of tooltips.

v0.9.7 - Use "unit" settings for angles as well.

   This also lets me use radiant for all internal values..

v0.9.6 - Use "unit" settings (i.e. none/metric/imperial). v0.9.5 - Use mesh.from_pydata() for geometry creation.

   So we can remove unpack_list and unpack_face_list again.

v0.9.4 - Creating of the pipe now works in mesh edit mode too.

   Thanks to ideasman42 (Campbell Barton) for his nice work
   on the torus script code :-).

v0.9.3 - Changed to a saner vertex/polygon creation process (previously

   my usage of mesh.faces.add could only do quads)
   For this I've copied the functions unpack_list and unpack_face_list
   Elbow joint actually supports 3 vertices per circle.
   Various comments.
   Script _should_ now be PEP8 compatible.

v0.9.2 - Converted from tabs to spaces (4 spaces per tab). v0.9.1 - Converted add_mesh and add_object to their new counterparts

   " and ""

v0.9 - Converted to 2.5. Made mostly pep8 compatible (exept for tabs and

   stuff the check-script didn't catch).

v0.8.5 - Fixed bug in Elbow joint. Same problem as in 0.8.1 v0.8.4 - Fixed bug in Y joint. Same problem as in 0.8.1 v0.8.3 - Fixed bug in N joint. Same problem as in 0.8.1 v0.8.2 - Fixed bug in X (cross) joint. Same problem as in 0.8.1 v0.8.1 - Fixed bug in T joint. Angles greater than 90 deg combined with a

   radius != 1 resulted in bad geometry (the radius was not taken into
   account when calculating the joint vertices).

v0.8 - Added N-Joint.

   Removed all uses of baseJointLocZ. It just clutters the code.

v0.7 - Added cross joint v0.6 - No visible changes. Lots of internal ones though

   (complete redesign of face creation process).
   As a bonus the code is a bit easier to read now.
   Added a nice&simple little "bridge" function
   (createFaces) for these changes.

v0.5.1 - Made it possible to create asymmetric Y joints.

   Renamed the 2 Wye Joints to something more fitting and unique.
   One is now the Tee joint, the second one remains the Wye joint.

v0.5 - Added real Y joint. v0.4.3 - Added check for odd vertex numbers. They are not (yet) supported. v0.4.2 - Added pipe length to the GUI. v0.4.1 - Removed the unfinished menu entries for now. v0.4 - Tried to clean up the face creation in addTeeJoint v0.3 - Code for wye (Y) shape (straight pipe with "branch" for now) v0.2 - Restructured to allow different types of pipe (joints). v0.1 - Initial revision.

More links:


Use a rotation matrix for rotating the circle vertices: rotation_matrix = mathutils.Matrix.Rotation(-math.pi/2, 4, 'x') mesh.transform(rotation_matrix) """

Additional Information

  • In the Wiki writer's opinion always have Python Installed on your computer when using scripts.