[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [590] trunk/py/scripts/addons/ add_mesh_pipe_joint.py: * Version 0.10.4
Martin Buerbaum
martin.buerbaum at gmx.at
Fri Apr 16 09:35:56 CEST 2010
Revision: 590
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=590
Author: pontiac
Date: 2010-04-16 09:35:56 +0200 (Fri, 16 Apr 2010)
Log Message:
-----------
* Version 0.10.4
* Minor: Updated the function "createFaces" a bit. No functional changes.
Modified Paths:
--------------
trunk/py/scripts/addons/add_mesh_pipe_joint.py
Modified: trunk/py/scripts/addons/add_mesh_pipe_joint.py
===================================================================
--- trunk/py/scripts/addons/add_mesh_pipe_joint.py 2010-04-15 19:25:30 UTC (rev 589)
+++ trunk/py/scripts/addons/add_mesh_pipe_joint.py 2010-04-16 07:35:56 UTC (rev 590)
@@ -24,7 +24,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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)
More information about the Bf-extensions-cvs
mailing list