Skip to content
Snippets Groups Projects
Commit 4621f236 authored by Martin Buerbaum's avatar Martin Buerbaum
Browse files

* Version 0.10.4

* Minor: Updated the function "createFaces" a bit. No functional changes.
parent 3a1301c9
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,7 @@ from bpy.props import *
bl_addon_info = {
'name': 'Add Mesh: Pipe Joints',
'author': 'Buerbaum Martin (Pontiac)',
'version': '0.10.3',
'version': '0.10.4',
'blender': (2, 5, 3),
'location': 'View3D > Add > Mesh > Pipe Joint',
'description': 'Adds 5 pipe Joint types to the Add Mesh menu',
......@@ -48,6 +48,7 @@ The functionality can then be accessed via the
Note: Currently only the "Elbow" type supports odd number of vertices.
Version history:
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.
......@@ -245,16 +246,15 @@ def create_mesh_object(context, verts, edges, faces, name, edit):
return ob_new
def createFaces(vertIdx1, vertIdx2):
'''
A very simple "bridge" tool.
Connects two equally long vertex-loops with faces and
returns a list of the new faces.
Parameters
vertIdx1 ... List of vertex indices of the first loop.
vertIdx2 ... List of vertex indices of the second loop.
'''
# A very simple "bridge" tool.
# Connects two equally long vertex rows with faces.
# Returns a list of the new faces (list of lists)
#
# vertIdx1 ... First vertex list (list of vertex indices).
# vertIdx2 ... Second vertex list (list of vertex indices).
# closed ... Creates a loop (first & last are closed).
# flipped ... Invert the normal of the face(s).
def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False):
faces = []
if (len(vertIdx1) != len(vertIdx2)) or (len(vertIdx1) < 2):
......@@ -262,14 +262,23 @@ def createFaces(vertIdx1, vertIdx2):
total = len(vertIdx1)
# Bridge the start with the end.
faces.append([vertIdx2[0], vertIdx1[0],
vertIdx1[total - 1], vertIdx2[total - 1]])
if closed:
# Bridge the start with the end.
if flipped:
faces.append([vertIdx1[0], vertIdx2[0],
vertIdx2[total - 1], vertIdx1[total - 1]])
else:
faces.append([vertIdx2[0], vertIdx1[0],
vertIdx1[total - 1], vertIdx2[total - 1]])
# Bridge the rest of the faces.
for num in range(total - 1):
faces.append([vertIdx1[num], vertIdx2[num],
vertIdx2[num + 1], vertIdx1[num + 1]])
if flipped:
faces.append([vertIdx2[num], vertIdx1[num],
vertIdx1[num + 1], vertIdx2[num + 1]])
else:
faces.append([vertIdx1[num], vertIdx2[num],
vertIdx2[num + 1], vertIdx1[num + 1]])
return faces
......@@ -373,8 +382,8 @@ class AddElbowJoint(bpy.types.Operator):
verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ])
# Create faces
faces.extend(createFaces(loop1, loop2))
faces.extend(createFaces(loop2, loop3))
faces.extend(createFaces(loop1, loop2, closed=True))
faces.extend(createFaces(loop2, loop3, closed=True))
obj = create_mesh_object(context, verts, [], faces,
"Elbow Joint", edit)
......@@ -569,9 +578,9 @@ class AddTeeJoint(bpy.types.Operator):
verts.append([locX * radius, locY * radius, locZ])
# Create faces
faces.extend(createFaces(loopMainStart, loopJoint1))
faces.extend(createFaces(loopJoint2, loopArm))
faces.extend(createFaces(loopJoint3, loopMainEnd))
faces.extend(createFaces(loopMainStart, loopJoint1, closed=True))
faces.extend(createFaces(loopJoint2, loopArm, closed=True))
faces.extend(createFaces(loopJoint3, loopMainEnd, closed=True))
obj = create_mesh_object(context, verts, [], faces, "Tee Joint", edit)
......@@ -781,9 +790,9 @@ class AddWyeJoint(bpy.types.Operator):
verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ])
# Create faces
faces.extend(createFaces(loopMainStart, loopJoint1))
faces.extend(createFaces(loopJoint2, loopArm1))
faces.extend(createFaces(loopJoint3, loopArm2))
faces.extend(createFaces(loopMainStart, loopJoint1, closed=True))
faces.extend(createFaces(loopJoint2, loopArm1, closed=True))
faces.extend(createFaces(loopJoint3, loopArm2, closed=True))
obj = create_mesh_object(context, verts, [], faces, "Wye Joint", edit)
......@@ -1054,10 +1063,10 @@ class AddCrossJoint(bpy.types.Operator):
verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ])
# Create faces
faces.extend(createFaces(loopMainStart, loopJoint1))
faces.extend(createFaces(loopJoint2, loopArm1))
faces.extend(createFaces(loopJoint3, loopArm2))
faces.extend(createFaces(loopJoint4, loopArm3))
faces.extend(createFaces(loopMainStart, loopJoint1, closed=True))
faces.extend(createFaces(loopJoint2, loopArm1, closed=True))
faces.extend(createFaces(loopJoint3, loopArm2, closed=True))
faces.extend(createFaces(loopJoint4, loopArm3, closed=True))
obj = create_mesh_object(context, verts, [], faces,
"Cross Joint", edit)
......@@ -1236,7 +1245,7 @@ class AddNJoint(bpy.types.Operator):
for loopIdx in range(len(loopsEndCircles)):
faces.extend(
createFaces(loopsJoints[loopIdx],
loopsEndCircles[loopIdx]))
loopsEndCircles[loopIdx], closed=True))
obj = create_mesh_object(context, verts, [], faces, "N Joint", edit)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment