Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'add_mesh_BoltFactory')
-rw-r--r--add_mesh_BoltFactory/Boltfactory.py374
-rw-r--r--add_mesh_BoltFactory/__init__.py18
-rw-r--r--add_mesh_BoltFactory/createMesh.py2124
3 files changed, 1258 insertions, 1258 deletions
diff --git a/add_mesh_BoltFactory/Boltfactory.py b/add_mesh_BoltFactory/Boltfactory.py
index be0ba617..89af117c 100644
--- a/add_mesh_BoltFactory/Boltfactory.py
+++ b/add_mesh_BoltFactory/Boltfactory.py
@@ -18,199 +18,248 @@
import bpy
-import mathutils
-from bpy.props import *
-from add_mesh_BoltFactory.createMesh import *
-
-##------------------------------------------------------------
-# calculates the matrix for the new object
-# depending on user pref
+from mathutils import Matrix
+from bpy.props import (
+ BoolProperty,
+ EnumProperty,
+ FloatProperty,
+ IntProperty,
+ )
+from . import createMesh
+
+
+# ------------------------------------------------------------
+# calculates the matrix for the new object depending on user pref
def align_matrix(context):
- loc = mathutils.Matrix.Translation(context.scene.cursor_location)
+ loc = Matrix.Translation(context.scene.cursor_location)
obj_align = context.user_preferences.edit.object_align
- if (context.space_data.type == 'VIEW_3D'
- and obj_align == 'VIEW'):
+ if (context.space_data.type == 'VIEW_3D' and obj_align == 'VIEW'):
rot = context.space_data.region_3d.view_matrix.to_3x3().inverted().to_4x4()
else:
- rot = mathutils.Matrix()
+ rot = Matrix()
align_matrix = loc * rot
return align_matrix
-
class add_mesh_bolt(bpy.types.Operator):
- """"""
bl_idname = "mesh.bolt_add"
bl_label = "Add Bolt"
bl_options = {'REGISTER', 'UNDO', 'PRESET'}
- bl_description = "adds many types of Bolts"
+ bl_description = "Construct many types of Bolts"
- align_matrix = mathutils.Matrix()
+ align_matrix = Matrix()
MAX_INPUT_NUMBER = 50
- # edit - Whether to add or update.
- edit = BoolProperty(name="",
+ # edit - Whether to add or update
+ edit = BoolProperty(
+ name="",
description="",
default=False,
- options={'HIDDEN'})
-
-
- #Model Types
- Model_Type_List = [('bf_Model_Bolt','BOLT','Bolt Model'),
- ('bf_Model_Nut','NUT','Nut Model')]
- bf_Model_Type = EnumProperty( attr='bf_Model_Type',
+ options={'HIDDEN'}
+ )
+ # Model Types
+ Model_Type_List = [('bf_Model_Bolt', 'BOLT', 'Bolt Model'),
+ ('bf_Model_Nut', 'NUT', 'Nut Model')]
+ bf_Model_Type = EnumProperty(
+ attr='bf_Model_Type',
name='Model',
description='Choose the type off model you would like',
- items = Model_Type_List, default = 'bf_Model_Bolt')
-
- #Head Types
- Model_Type_List = [('bf_Head_Hex','HEX','Hex Head'),
- ('bf_Head_Cap','CAP','Cap Head'),
- ('bf_Head_Dome','DOME','Dome Head'),
- ('bf_Head_Pan','PAN','Pan Head'),
- ('bf_Head_CounterSink','COUNTER SINK','Counter Sink Head')]
- bf_Head_Type = EnumProperty( attr='bf_Head_Type',
+ items=Model_Type_List, default='bf_Model_Bolt'
+ )
+ # Head Types
+ Model_Type_List = [('bf_Head_Hex', 'HEX', 'Hex Head'),
+ ('bf_Head_Cap', 'CAP', 'Cap Head'),
+ ('bf_Head_Dome', 'DOME', 'Dome Head'),
+ ('bf_Head_Pan', 'PAN', 'Pan Head'),
+ ('bf_Head_CounterSink', 'COUNTER SINK', 'Counter Sink Head')]
+ bf_Head_Type = EnumProperty(
+ attr='bf_Head_Type',
name='Head',
description='Choose the type off Head you would like',
- items = Model_Type_List, default = 'bf_Head_Hex')
-
- #Bit Types
- Bit_Type_List = [('bf_Bit_None','NONE','No Bit Type'),
- ('bf_Bit_Allen','ALLEN','Allen Bit Type'),
- ('bf_Bit_Philips','PHILLIPS','Phillips Bit Type')]
- bf_Bit_Type = EnumProperty( attr='bf_Bit_Type',
+ items=Model_Type_List, default='bf_Head_Hex'
+ )
+ # Bit Types
+ Bit_Type_List = [('bf_Bit_None', 'NONE', 'No Bit Type'),
+ ('bf_Bit_Allen', 'ALLEN', 'Allen Bit Type'),
+ ('bf_Bit_Philips', 'PHILLIPS', 'Phillips Bit Type')]
+ bf_Bit_Type = EnumProperty(
+ attr='bf_Bit_Type',
name='Bit Type',
description='Choose the type of bit to you would like',
- items = Bit_Type_List, default = 'bf_Bit_None')
-
- #Nut Types
- Nut_Type_List = [('bf_Nut_Hex','HEX','Hex Nut'),
- ('bf_Nut_Lock','LOCK','Lock Nut')]
- bf_Nut_Type = EnumProperty( attr='bf_Nut_Type',
+ items=Bit_Type_List, default='bf_Bit_None'
+ )
+ # Nut Types
+ Nut_Type_List = [('bf_Nut_Hex', 'HEX', 'Hex Nut'),
+ ('bf_Nut_Lock', 'LOCK', 'Lock Nut')]
+ bf_Nut_Type = EnumProperty(
+ attr='bf_Nut_Type',
name='Nut Type',
description='Choose the type of nut you would like',
- items = Nut_Type_List, default = 'bf_Nut_Hex')
-
- #Shank Types
- bf_Shank_Length = FloatProperty(attr='bf_Shank_Length',
- name='Shank Length', default = 0,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Length of the unthreaded shank')
-
- bf_Shank_Dia = FloatProperty(attr='bf_Shank_Dia',
- name='Shank Dia', default = 3,
- min = 0, soft_min = 0,max = MAX_INPUT_NUMBER,
- description='Diameter of the shank')
-
- bf_Phillips_Bit_Depth = FloatProperty(attr='bf_Phillips_Bit_Depth',
- name='Bit Depth', default = 1.1431535482406616,
- min = 0, soft_min = 0,max = MAX_INPUT_NUMBER,
- description='Depth of the Phillips Bit')
-
- bf_Allen_Bit_Depth = FloatProperty(attr='bf_Allen_Bit_Depth',
- name='Bit Depth', default = 1.5,
- min = 0, soft_min = 0,max = MAX_INPUT_NUMBER,
- description='Depth of the Allen Bit')
-
- bf_Allen_Bit_Flat_Distance = FloatProperty( attr='bf_Allen_Bit_Flat_Distance',
- name='Flat Dist', default = 2.5,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Flat Distance of the Allen Bit')
-
- bf_Hex_Head_Height = FloatProperty( attr='bf_Hex_Head_Height',
- name='Head Height', default = 2,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Height of the Hex Head')
-
- bf_Hex_Head_Flat_Distance = FloatProperty( attr='bf_Hex_Head_Flat_Distance',
- name='Flat Dist', default = 5.5,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Flat Distance of the Hex Head')
-
- bf_CounterSink_Head_Dia = FloatProperty( attr='bf_CounterSink_Head_Dia',
- name='Head Dia', default = 5.5,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Diameter of the Counter Sink Head')
-
- bf_Cap_Head_Height = FloatProperty( attr='bf_Cap_Head_Height',
- name='Head Height', default = 5.5,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Height of the Cap Head')
-
- bf_Cap_Head_Dia = FloatProperty( attr='bf_Cap_Head_Dia',
- name='Head Dia', default = 3,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Diameter of the Cap Head')
-
- bf_Dome_Head_Dia = FloatProperty( attr='bf_Dome_Head_Dia',
- name='Dome Head Dia', default = 5.6,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Length of the unthreaded shank')
-
- bf_Pan_Head_Dia = FloatProperty( attr='bf_Pan_Head_Dia',
- name='Pan Head Dia', default = 5.6,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
+ items=Nut_Type_List, default='bf_Nut_Hex'
+ )
+ # Shank Types
+ bf_Shank_Length = FloatProperty(
+ attr='bf_Shank_Length',
+ name='Shank Length', default=0,
+ min=0, soft_min=0, max=MAX_INPUT_NUMBER,
+ description='Length of the unthreaded shank'
+ )
+ bf_Shank_Dia = FloatProperty(
+ attr='bf_Shank_Dia',
+ name='Shank Dia', default=3,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Diameter of the shank'
+ )
+ bf_Phillips_Bit_Depth = FloatProperty(
+ attr='bf_Phillips_Bit_Depth',
+ name='Bit Depth', default=1.1431535482406616,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Depth of the Phillips Bit'
+ )
+ bf_Allen_Bit_Depth = FloatProperty(
+ attr='bf_Allen_Bit_Depth',
+ name='Bit Depth', default=1.5,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Depth of the Allen Bit'
+ )
+ bf_Allen_Bit_Flat_Distance = FloatProperty(
+ attr='bf_Allen_Bit_Flat_Distance',
+ name='Flat Dist', default=2.5,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Flat Distance of the Allen Bit'
+ )
+ bf_Hex_Head_Height = FloatProperty(
+ attr='bf_Hex_Head_Height',
+ name='Head Height', default=2,
+ min=0, soft_min=0, max=MAX_INPUT_NUMBER,
+ description='Height of the Hex Head'
+ )
+ bf_Hex_Head_Flat_Distance = FloatProperty(
+ attr='bf_Hex_Head_Flat_Distance',
+ name='Flat Dist', default=5.5,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Flat Distance of the Hex Head'
+ )
+ bf_CounterSink_Head_Dia = FloatProperty(
+ attr='bf_CounterSink_Head_Dia',
+ name='Head Dia', default=5.5,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Diameter of the Counter Sink Head'
+ )
+ bf_Cap_Head_Height = FloatProperty(
+ attr='bf_Cap_Head_Height',
+ name='Head Height', default=5.5,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Height of the Cap Head'
+ )
+ bf_Cap_Head_Dia = FloatProperty(
+ attr='bf_Cap_Head_Dia',
+ name='Head Dia', default=3,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Diameter of the Cap Head'
+ )
+ bf_Dome_Head_Dia = FloatProperty(
+ attr='bf_Dome_Head_Dia',
+ name='Dome Head Dia', default=5.6,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Length of the unthreaded shank'
+ )
+ bf_Pan_Head_Dia = FloatProperty(
+ attr='bf_Pan_Head_Dia',
+ name='Pan Head Dia', default=5.6,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
description='Diameter of the Pan Head')
- bf_Philips_Bit_Dia = FloatProperty(attr='bf_Philips_Bit_Dia',
- name='Bit Dia', default = 1.8199999332427979,
- min = 0, soft_min = 0,max = MAX_INPUT_NUMBER,
+ bf_Philips_Bit_Dia = FloatProperty(
+ attr='bf_Philips_Bit_Dia',
+ name='Bit Dia', default=1.8199999332427979,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
description='Diameter of the Philips Bit')
- bf_Thread_Length = FloatProperty( attr='bf_Thread_Length',
- name='Thread Length', default = 6,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
+ bf_Thread_Length = FloatProperty(
+ attr='bf_Thread_Length',
+ name='Thread Length', default=6,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
description='Length of the Thread')
- bf_Major_Dia = FloatProperty( attr='bf_Major_Dia',
- name='Major Dia', default = 3,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
+ bf_Major_Dia = FloatProperty(
+ attr='bf_Major_Dia',
+ name='Major Dia', default=3,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
description='Outside diameter of the Thread')
- bf_Pitch = FloatProperty( attr='bf_Pitch',
- name='Pitch', default = 0.35,
- min = 0.1, soft_min = 0.1, max = 7.0,
- description='Pitch if the thread')
-
- bf_Minor_Dia = FloatProperty( attr='bf_Minor_Dia',
- name='Minor Dia', default = 2.6211137771606445,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Inside diameter of the Thread')
-
- bf_Crest_Percent = IntProperty( attr='bf_Crest_Percent',
- name='Crest Percent', default = 10,
- min = 1, soft_min = 1, max = 90,
- description='Percent of the pitch that makes up the Crest')
-
- bf_Root_Percent = IntProperty( attr='bf_Root_Percent',
- name='Root Percent', default = 10,
- min = 1, soft_min = 1, max = 90,
- description='Percent of the pitch that makes up the Root')
-
- bf_Div_Count = IntProperty( attr='bf_Div_Count',
- name='Div count', default = 36,
- min = 4, soft_min = 4, max = 4096,
- description='Div count determine circle resolution')
-
- bf_Hex_Nut_Height = FloatProperty( attr='bf_Hex_Nut_Height',
- name='Hex Nut Height', default = 2.4,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Height of the Hex Nut')
-
- bf_Hex_Nut_Flat_Distance = FloatProperty( attr='bf_Hex_Nut_Flat_Distance',
- name='Hex Nut Flat Dist', default = 5.5,
- min = 0, soft_min = 0, max = MAX_INPUT_NUMBER,
- description='Flat distance of the Hex Nut')
+ bf_Pitch = FloatProperty(
+ attr='bf_Pitch',
+ name='Pitch', default=0.35,
+ min=0.1, soft_min=0.1,
+ max=7.0,
+ description='Pitch if the thread'
+ )
+ bf_Minor_Dia = FloatProperty(
+ attr='bf_Minor_Dia',
+ name='Minor Dia', default=2.6211137771606445,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Inside diameter of the Thread'
+ )
+ bf_Crest_Percent = IntProperty(
+ attr='bf_Crest_Percent',
+ name='Crest Percent', default=10,
+ min=1, soft_min=1,
+ max=90,
+ description='Percent of the pitch that makes up the Crest'
+ )
+ bf_Root_Percent = IntProperty(
+ attr='bf_Root_Percent',
+ name='Root Percent', default=10,
+ min=1, soft_min=1,
+ max=90,
+ description='Percent of the pitch that makes up the Root'
+ )
+ bf_Div_Count = IntProperty(
+ attr='bf_Div_Count',
+ name='Div count', default=36,
+ min=4, soft_min=4,
+ max=4096,
+ description='Div count determine circle resolution'
+ )
+ bf_Hex_Nut_Height = FloatProperty(
+ attr='bf_Hex_Nut_Height',
+ name='Hex Nut Height', default=2.4,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Height of the Hex Nut'
+ )
+ bf_Hex_Nut_Flat_Distance = FloatProperty(
+ attr='bf_Hex_Nut_Flat_Distance',
+ name='Hex Nut Flat Dist', default=5.5,
+ min=0, soft_min=0,
+ max=MAX_INPUT_NUMBER,
+ description='Flat distance of the Hex Nut'
+ )
def draw(self, context):
layout = self.layout
col = layout.column()
- #ENUMS
+ # ENUMS
col.prop(self, 'bf_Model_Type')
col.separator()
- #Bit
+ # Bit
if self.bf_Model_Type == 'bf_Model_Bolt':
col.prop(self, 'bf_Bit_Type')
if self.bf_Bit_Type == 'bf_Bit_None':
@@ -222,8 +271,7 @@ class add_mesh_bolt(bpy.types.Operator):
col.prop(self, 'bf_Phillips_Bit_Depth')
col.prop(self, 'bf_Philips_Bit_Dia')
col.separator()
-
- #Head
+ # Head
if self.bf_Model_Type == 'bf_Model_Bolt':
col.prop(self, 'bf_Head_Type')
if self.bf_Head_Type == 'bf_Head_Hex':
@@ -239,18 +287,18 @@ class add_mesh_bolt(bpy.types.Operator):
elif self.bf_Head_Type == 'bf_Head_CounterSink':
col.prop(self, 'bf_CounterSink_Head_Dia')
col.separator()
- #Shank
+ # Shank
if self.bf_Model_Type == 'bf_Model_Bolt':
col.label(text='Shank')
col.prop(self, 'bf_Shank_Length')
col.prop(self, 'bf_Shank_Dia')
col.separator()
- #Nut
+ # Nut
if self.bf_Model_Type == 'bf_Model_Nut':
col.prop(self, 'bf_Nut_Type')
col.prop(self, 'bf_Hex_Nut_Height')
col.prop(self, 'bf_Hex_Nut_Flat_Distance')
- #Thread
+ # Thread
col.label(text='Thread')
if self.bf_Model_Type == 'bf_Model_Bolt':
col.prop(self, 'bf_Thread_Length')
@@ -261,23 +309,17 @@ class add_mesh_bolt(bpy.types.Operator):
col.prop(self, 'bf_Root_Percent')
col.prop(self, 'bf_Div_Count')
-
-
- ##### POLL #####
@classmethod
def poll(cls, context):
return context.scene is not None
- ##### EXECUTE #####
def execute(self, context):
-
- #print('EXECUTING...')
- Create_New_Mesh(self, context, self.align_matrix)
+ # print('EXECUTING...')
+ createMesh.Create_New_Mesh(self, context, self.align_matrix)
return {'FINISHED'}
- ##### INVOKE #####
def invoke(self, context, event):
- #print('\n___________START_____________')
+ # print('\n___________START_____________')
# store creation_matrix
self.align_matrix = align_matrix(context)
self.execute(context)
diff --git a/add_mesh_BoltFactory/__init__.py b/add_mesh_BoltFactory/__init__.py
index 16dd9a9c..8c94ec35 100644
--- a/add_mesh_BoltFactory/__init__.py
+++ b/add_mesh_BoltFactory/__init__.py
@@ -19,11 +19,11 @@
bl_info = {
"name": "BoltFactory",
"author": "Aaron Keith",
- "version": (0, 3, 1),
+ "version": (0, 3, 2),
"blender": (2, 78, 0),
"location": "View3D > Add > Mesh",
"description": "Add a bolt or nut",
- "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
+ "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/"
"Scripts/Add_Mesh/BoltFactory",
"category": "Add Mesh",
}
@@ -32,13 +32,15 @@ bl_info = {
if "bpy" in locals():
import importlib
importlib.reload(Boltfactory)
+ importlib.reload(createMesh)
else:
- from add_mesh_BoltFactory import Boltfactory
+ from . import Boltfactory
+ from . import createMesh
import bpy
-################################################################################
-##### REGISTER #####
+
+# ### REGISTER ###
def add_mesh_bolt_button(self, context):
self.layout.operator(Boltfactory.add_mesh_bolt.bl_idname, text="Bolt", icon="MOD_SCREW")
@@ -48,13 +50,15 @@ def register():
bpy.utils.register_module(__name__)
bpy.types.INFO_MT_mesh_add.append(add_mesh_bolt_button)
- #bpy.types.VIEW3D_PT_tools_objectmode.prepend(add_mesh_bolt_button) #just for testing
+ # bpy.types.VIEW3D_PT_tools_objectmode.prepend(add_mesh_bolt_button) # just for testing
+
def unregister():
bpy.utils.unregister_module(__name__)
bpy.types.INFO_MT_mesh_add.remove(add_mesh_bolt_button)
- #bpy.types.VIEW3D_PT_tools_objectmode.remove(add_mesh_bolt_button) #just for testing
+ # bpy.types.VIEW3D_PT_tools_objectmode.remove(add_mesh_bolt_button) # just for testing
+
if __name__ == "__main__":
register()
diff --git a/add_mesh_BoltFactory/createMesh.py b/add_mesh_BoltFactory/createMesh.py
index 58470c01..fcdefdc1 100644
--- a/add_mesh_BoltFactory/createMesh.py
+++ b/add_mesh_BoltFactory/createMesh.py
@@ -17,19 +17,23 @@
# ##### END GPL LICENSE BLOCK #####
import bpy
-import mathutils
-
-from math import *
-from itertools import *
+from mathutils import (
+ Matrix,
+ Vector,
+ )
+from math import (
+ sin,
+ cos,
+ tan,
+ radians,
+ )
NARROW_UI = 180
MAX_INPUT_NUMBER = 50
-#Global_Scale = 0.001 #1 blender unit = X mm
-GLOBAL_SCALE = 0.1 #1 blender unit = X mm
-#Global_Scale = 1.0 #1 blender unit = X mm
-
-
+# Global_Scale = 0.001 # 1 blender unit = X mm
+GLOBAL_SCALE = 0.1 # 1 blender unit = X mm
+# Global_Scale = 1.0 # 1 blender unit = X mm
# next two utility functions are stolen from import_obj.py
@@ -40,6 +44,7 @@ def unpack_list(list_of_tuples):
l.extend(t)
return l
+
def unpack_face_list(list_of_tuples):
l = []
for t in list_of_tuples:
@@ -59,6 +64,7 @@ def unpack_face_list(list_of_tuples):
return l
+
"""
Remove Doubles takes a list on Verts and a list of Faces and
removes the doubles, much like Blender does in edit mode.
@@ -70,7 +76,7 @@ disadvantage of not being able to interactively change the properties.
"""
-def RemoveDoubles(verts,faces,Decimal_Places = 4):
+def RemoveDoubles(verts, faces, Decimal_Places=4):
new_verts = []
new_faces = []
@@ -78,7 +84,9 @@ def RemoveDoubles(verts,faces,Decimal_Places = 4):
Rounded_Verts = []
for v in verts:
- Rounded_Verts.append([round(v[0],Decimal_Places),round(v[1],Decimal_Places),round(v[2],Decimal_Places)])
+ Rounded_Verts.append([round(v[0], Decimal_Places),
+ round(v[1], Decimal_Places),
+ round(v[2], Decimal_Places)])
for face in faces:
new_face = []
@@ -94,24 +102,19 @@ def RemoveDoubles(verts,faces,Decimal_Places = 4):
if len(new_face) == 3 or len(new_face) == 4:
new_faces.append(new_face)
- return new_verts,new_faces
-
+ return new_verts, new_faces
-
-def Scale_Mesh_Verts(verts,scale_factor):
+def Scale_Mesh_Verts(verts, scale_factor):
Ret_verts = []
for v in verts:
- Ret_verts.append([v[0]*scale_factor,v[1]*scale_factor,v[2]*scale_factor])
+ Ret_verts.append([v[0] * scale_factor, v[1] * scale_factor, v[2] * scale_factor])
return Ret_verts
-
-
-
-#Create a matrix representing a rotation.
+# Create a matrix representing a rotation.
#
-#Parameters:
+# Parameters:
#
# * angle (float) - The angle of rotation desired.
# * matSize (int) - The size of the rotation matrix to construct. Can be 2d, 3d, or 4d.
@@ -122,49 +125,46 @@ def Scale_Mesh_Verts(verts,scale_factor):
# o "r - arbitrary rotation around vector"
# * axis (Vector object. (optional)) - The arbitrary axis of rotation used with "R"
#
-#Returns: Matrix object.
+# Returns: Matrix object.
# A new rotation matrix.
+
def Simple_RotationMatrix(angle, matSize, axisFlag):
- if matSize != 4 :
- print ("Simple_RotationMatrix can only do 4x4")
+ if matSize != 4:
+ print("Simple_RotationMatrix can only do 4x4")
- q = radians(angle) #make the rotation go clockwise
+ q = radians(angle) # make the rotation go clockwise
if axisFlag == 'x':
- matrix = mathutils.Matrix.Rotation(q, 4, 'X')
- elif axisFlag == 'y':
- matrix = mathutils.Matrix.Rotation(q, 4, 'Y')
+ matrix = Matrix.Rotation(q, 4, 'X')
+ elif axisFlag == 'y':
+ matrix = Matrix.Rotation(q, 4, 'Y')
elif axisFlag == 'z':
- matrix = mathutils.Matrix.Rotation(q, 4, 'Z')
+ matrix = Matrix.Rotation(q, 4, 'Z')
else:
- print ("Simple_RotationMatrix can only do x y z axis")
+ print("Simple_RotationMatrix can only do x y z axis")
return matrix
-##########################################################################################
-##########################################################################################
-## Converter Functions For Bolt Factory
-##########################################################################################
-##########################################################################################
-
+# ####################################################################
+# Converter Functions For Bolt Factory
+# ####################################################################
def Flat_To_Radius(FLAT):
- h = (float(FLAT)/2)/cos(radians(30))
+ h = (float(FLAT) / 2) / cos(radians(30))
return h
+
def Get_Phillips_Bit_Height(Bit_Dia):
- Flat_Width_half = (Bit_Dia*(0.5/1.82))/2.0
+ Flat_Width_half = (Bit_Dia * (0.5 / 1.82)) / 2.0
Bit_Rad = Bit_Dia / 2.0
x = Bit_Rad - Flat_Width_half
- y = tan(radians(60))*x
+ y = tan(radians(60)) * x
return float(y)
-##########################################################################################
-##########################################################################################
-## Miscellaneous Utilities
-##########################################################################################
-##########################################################################################
+# ####################################################################
+# Miscellaneous Utilities
+# ####################################################################
# Returns a list of verts rotated by the given matrix. Used by SpinDup
def Rot_Mesh(verts, matrix):
@@ -173,271 +173,258 @@ def Rot_Mesh(verts, matrix):
# Returns a list of faces that has there index incremented by offset
-def Copy_Faces(faces,offset):
+def Copy_Faces(faces, offset):
return [[(i + offset) for i in f] for f in faces]
-# Much like Blenders built in SpinDup.
-def SpinDup(VERTS,FACES,DEGREE,DIVISIONS,AXIS):
- verts=[]
- faces=[]
+# Much like Blenders built in SpinDup
+def SpinDup(VERTS, FACES, DEGREE, DIVISIONS, AXIS):
+ verts = []
+ faces = []
if DIVISIONS == 0:
DIVISIONS = 1
- step = DEGREE/DIVISIONS # set step so pieces * step = degrees in arc
+ step = DEGREE / DIVISIONS # set step so pieces * step = degrees in arc
for i in range(int(DIVISIONS)):
- rotmat = Simple_RotationMatrix(step*i, 4, AXIS) # 4x4 rotation matrix, 30d about the x axis.
- Rot = Rot_Mesh(VERTS,rotmat)
- faces.extend(Copy_Faces(FACES,len(verts)))
+ rotmat = Simple_RotationMatrix(step * i, 4, AXIS) # 4x4 rotation matrix, 30d about the x axis.
+ Rot = Rot_Mesh(VERTS, rotmat)
+ faces.extend(Copy_Faces(FACES, len(verts)))
verts.extend(Rot)
- return verts,faces
-
+ return verts, faces
# Returns a list of verts that have been moved up the z axis by DISTANCE
-def Move_Verts_Up_Z(VERTS,DISTANCE):
+def Move_Verts_Up_Z(VERTS, DISTANCE):
ret = []
for v in VERTS:
- ret.append([v[0],v[1],v[2]+DISTANCE])
+ ret.append([v[0], v[1], v[2] + DISTANCE])
return ret
# Returns a list of verts and faces that has been mirrored in the AXIS
-def Mirror_Verts_Faces(VERTS,FACES,AXIS,FLIP_POINT =0):
+def Mirror_Verts_Faces(VERTS, FACES, AXIS, FLIP_POINT=0):
ret_vert = []
ret_face = []
offset = len(VERTS)
if AXIS == 'y':
for v in VERTS:
Delta = v[0] - FLIP_POINT
- ret_vert.append([FLIP_POINT-Delta,v[1],v[2]])
+ ret_vert.append([FLIP_POINT - Delta, v[1], v[2]])
if AXIS == 'x':
for v in VERTS:
Delta = v[1] - FLIP_POINT
- ret_vert.append([v[0],FLIP_POINT-Delta,v[2]])
+ ret_vert.append([v[0], FLIP_POINT - Delta, v[2]])
if AXIS == 'z':
for v in VERTS:
Delta = v[2] - FLIP_POINT
- ret_vert.append([v[0],v[1],FLIP_POINT-Delta])
+ ret_vert.append([v[0], v[1], FLIP_POINT - Delta])
for f in FACES:
fsub = []
for i in range(len(f)):
- fsub.append(f[i]+ offset)
- fsub.reverse() # flip the order to make norm point out
+ fsub.append(f[i] + offset)
+ fsub.reverse() # flip the order to make norm point out
ret_face.append(fsub)
- return ret_vert,ret_face
-
+ return ret_vert, ret_face
# Returns a list of faces that
# make up an array of 4 point polygon.
-def Build_Face_List_Quads(OFFSET,COLUM,ROW,FLIP = 0):
- Ret =[]
- RowStart = 0;
+def Build_Face_List_Quads(OFFSET, COLUM, ROW, FLIP=0):
+ Ret = []
+ RowStart = 0
for j in range(ROW):
for i in range(COLUM):
- Res1 = RowStart + i;
- Res2 = RowStart + i + (COLUM +1)
- Res3 = RowStart + i + (COLUM +1) +1
- Res4 = RowStart+i+1
+ Res1 = RowStart + i
+ Res2 = RowStart + i + (COLUM + 1)
+ Res3 = RowStart + i + (COLUM + 1) + 1
+ Res4 = RowStart + i + 1
if FLIP:
- Ret.append([OFFSET+Res1,OFFSET+Res2,OFFSET+Res3,OFFSET+Res4])
+ Ret.append([OFFSET + Res1, OFFSET + Res2, OFFSET + Res3, OFFSET + Res4])
else:
- Ret.append([OFFSET+Res4,OFFSET+Res3,OFFSET+Res2,OFFSET+Res1])
- RowStart += COLUM+1
+ Ret.append([OFFSET + Res4, OFFSET + Res3, OFFSET + Res2, OFFSET + Res1])
+ RowStart += COLUM + 1
return Ret
# Returns a list of faces that makes up a fill pattern for a
# circle
-def Fill_Ring_Face(OFFSET,NUM,FACE_DOWN = 0):
- Ret =[]
- Face = [1,2,0]
- TempFace = [0,0,0]
+def Fill_Ring_Face(OFFSET, NUM, FACE_DOWN=0):
+ Ret = []
+ Face = [1, 2, 0]
+ TempFace = [0, 0, 0]
# A = 0 # UNUSED
B = 1
C = 2
if NUM < 3:
return None
- for i in range(NUM-2):
- if (i%2):
- TempFace[0] = Face[C];
- TempFace[1] = Face[C] + 1;
- TempFace[2] = Face[B];
+ for i in range(NUM - 2):
+ if (i % 2):
+ TempFace[0] = Face[C]
+ TempFace[1] = Face[C] + 1
+ TempFace[2] = Face[B]
if FACE_DOWN:
- Ret.append([OFFSET+Face[2],OFFSET+Face[1],OFFSET+Face[0]])
+ Ret.append([OFFSET + Face[2], OFFSET + Face[1], OFFSET + Face[0]])
else:
- Ret.append([OFFSET+Face[0],OFFSET+Face[1],OFFSET+Face[2]])
+ Ret.append([OFFSET + Face[0], OFFSET + Face[1], OFFSET + Face[2]])
else:
- TempFace[0] =Face[C];
+ TempFace[0] = Face[C]
if Face[C] == 0:
- TempFace[1] = NUM-1;
+ TempFace[1] = NUM - 1
else:
- TempFace[1] = Face[C] - 1;
- TempFace[2] = Face[B];
+ TempFace[1] = Face[C] - 1
+ TempFace[2] = Face[B]
if FACE_DOWN:
- Ret.append([OFFSET+Face[0],OFFSET+Face[1],OFFSET+Face[2]])
+ Ret.append([OFFSET + Face[0], OFFSET + Face[1], OFFSET + Face[2]])
else:
- Ret.append([OFFSET+Face[2],OFFSET+Face[1],OFFSET+Face[0]])
+ Ret.append([OFFSET + Face[2], OFFSET + Face[1], OFFSET + Face[0]])
Face[0] = TempFace[0]
Face[1] = TempFace[1]
Face[2] = TempFace[2]
return Ret
-######################################################################################
-##########################################################################################
-##########################################################################################
-## Create Allen Bit
-##########################################################################################
-##########################################################################################
+# ####################################################################
+# Create Allen Bit
+# ####################################################################
-def Allen_Fill(OFFSET,FLIP= 0):
+def Allen_Fill(OFFSET, FLIP=0):
faces = []
- Lookup = [[19,1,0],
- [19,2,1],
- [19,3,2],
- [19,20,3],
- [20,4,3],
- [20,5,4],
- [20,6,5],
- [20,7,6],
- [20,8,7],
- [20,9,8],
-
- [20,21,9],
-
- [21,10,9],
- [21,11,10],
- [21,12,11],
- [21,13,12],
- [21,14,13],
- [21,15,14],
-
- [21,22,15],
- [22,16,15],
- [22,17,16],
- [22,18,17]
+ Lookup = [[19, 1, 0],
+ [19, 2, 1],
+ [19, 3, 2],
+ [19, 20, 3],
+ [20, 4, 3],
+ [20, 5, 4],
+ [20, 6, 5],
+ [20, 7, 6],
+ [20, 8, 7],
+ [20, 9, 8],
+
+ [20, 21, 9],
+
+ [21, 10, 9],
+ [21, 11, 10],
+ [21, 12, 11],
+ [21, 13, 12],
+ [21, 14, 13],
+ [21, 15, 14],
+
+ [21, 22, 15],
+ [22, 16, 15],
+ [22, 17, 16],
+ [22, 18, 17]
]
for i in Lookup:
if FLIP:
- faces.append([OFFSET+i[2],OFFSET+i[1],OFFSET+i[0]])
+ faces.append([OFFSET + i[2], OFFSET + i[1], OFFSET + i[0]])
else:
- faces.append([OFFSET+i[0],OFFSET+i[1],OFFSET+i[2]])
+ faces.append([OFFSET + i[0], OFFSET + i[1], OFFSET + i[2]])
return faces
+
def Allen_Bit_Dia(FLAT_DISTANCE):
- Flat_Radius = (float(FLAT_DISTANCE)/2.0)/cos(radians(30))
+ Flat_Radius = (float(FLAT_DISTANCE) / 2.0) / cos(radians(30))
return (Flat_Radius * 1.05) * 2.0
-def Allen_Bit_Dia_To_Flat(DIA):
- Flat_Radius = (DIA/2.0)/1.05
- return (Flat_Radius * cos (radians(30)))* 2.0
+def Allen_Bit_Dia_To_Flat(DIA):
+ Flat_Radius = (DIA / 2.0) / 1.05
+ return (Flat_Radius * cos(radians(30))) * 2.0
-def Create_Allen_Bit(FLAT_DISTANCE,HEIGHT):
+def Create_Allen_Bit(FLAT_DISTANCE, HEIGHT):
verts = []
faces = []
DIV_COUNT = 36
- Flat_Radius = (float(FLAT_DISTANCE)/2.0)/cos(radians(30))
+ Flat_Radius = (float(FLAT_DISTANCE) / 2.0) / cos(radians(30))
OUTTER_RADIUS = Flat_Radius * 1.05
- Outter_Radius_Height = Flat_Radius * (0.1/5.77)
+ Outter_Radius_Height = Flat_Radius * (0.1 / 5.77)
FaceStart_Outside = len(verts)
- Deg_Step = 360.0 /float(DIV_COUNT)
+ Deg_Step = 360.0 / float(DIV_COUNT)
- for i in range(int(DIV_COUNT/2)+1): # only do half and mirror later
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,0])
+ for i in range(int(DIV_COUNT / 2) + 1): # only do half and mirror later
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, 0])
FaceStart_Inside = len(verts)
- Deg_Step = 360.0 /float(6)
- for i in range(int(6/2)+1):
- x = sin(radians(i*Deg_Step))* Flat_Radius
- y = cos(radians(i*Deg_Step))* Flat_Radius
- verts.append([x,y,0-Outter_Radius_Height])
-
- faces.extend(Allen_Fill(FaceStart_Outside,0))
+ Deg_Step = 360.0 / float(6)
+ for i in range(int(6 / 2) + 1):
+ x = sin(radians(i * Deg_Step)) * Flat_Radius
+ y = cos(radians(i * Deg_Step)) * Flat_Radius
+ verts.append([x, y, 0 - Outter_Radius_Height])
+ faces.extend(Allen_Fill(FaceStart_Outside, 0))
FaceStart_Bottom = len(verts)
- Deg_Step = 360.0 /float(6)
- for i in range(int(6/2)+1):
- x = sin(radians(i*Deg_Step))* Flat_Radius
- y = cos(radians(i*Deg_Step))* Flat_Radius
- verts.append([x,y,0-HEIGHT])
+ Deg_Step = 360.0 / float(6)
+ for i in range(int(6 / 2) + 1):
+ x = sin(radians(i * Deg_Step)) * Flat_Radius
+ y = cos(radians(i * Deg_Step)) * Flat_Radius
+ verts.append([x, y, 0 - HEIGHT])
- faces.extend(Build_Face_List_Quads(FaceStart_Inside,3,1,True))
- faces.extend(Fill_Ring_Face(FaceStart_Bottom,4))
+ faces.extend(Build_Face_List_Quads(FaceStart_Inside, 3, 1, True))
+ faces.extend(Fill_Ring_Face(FaceStart_Bottom, 4))
-
- M_Verts,M_Faces = Mirror_Verts_Faces(verts,faces,'y')
+ M_Verts, M_Faces = Mirror_Verts_Faces(verts, faces, 'y')
verts.extend(M_Verts)
faces.extend(M_Faces)
- return verts,faces,OUTTER_RADIUS * 2.0
-
+ return verts, faces, OUTTER_RADIUS * 2.0
-##########################################################################################
-##########################################################################################
-## Create Phillips Bit
-##########################################################################################
-##########################################################################################
+# ####################################################################
+# Create Phillips Bit
+# ####################################################################
-def Phillips_Fill(OFFSET,FLIP= 0):
+def Phillips_Fill(OFFSET, FLIP=0):
faces = []
- Lookup = [[0,1,10],
- [1,11,10],
- [1,2,11],
- [2,12,11],
-
- [2,3,12],
- [3,4,12],
- [4,5,12],
- [5,6,12],
- [6,7,12],
-
- [7,13,12],
- [7,8,13],
- [8,14,13],
- [8,9,14],
-
-
- [10,11,16,15],
- [11,12,16],
- [12,13,16],
- [13,14,17,16],
- [15,16,17,18]
-
-
+ Lookup = [[0, 1, 10],
+ [1, 11, 10],
+ [1, 2, 11],
+ [2, 12, 11],
+
+ [2, 3, 12],
+ [3, 4, 12],
+ [4, 5, 12],
+ [5, 6, 12],
+ [6, 7, 12],
+
+ [7, 13, 12],
+ [7, 8, 13],
+ [8, 14, 13],
+ [8, 9, 14],
+
+ [10, 11, 16, 15],
+ [11, 12, 16],
+ [12, 13, 16],
+ [13, 14, 17, 16],
+ [15, 16, 17, 18]
]
for i in Lookup:
if FLIP:
if len(i) == 3:
- faces.append([OFFSET+i[2],OFFSET+i[1],OFFSET+i[0]])
+ faces.append([OFFSET + i[2], OFFSET + i[1], OFFSET + i[0]])
else:
- faces.append([OFFSET+i[3],OFFSET+i[2],OFFSET+i[1],OFFSET+i[0]])
+ faces.append([OFFSET + i[3], OFFSET + i[2], OFFSET + i[1], OFFSET + i[0]])
else:
if len(i) == 3:
- faces.append([OFFSET+i[0],OFFSET+i[1],OFFSET+i[2]])
+ faces.append([OFFSET + i[0], OFFSET + i[1], OFFSET + i[2]])
else:
- faces.append([OFFSET+i[0],OFFSET+i[1],OFFSET+i[2],OFFSET+i[3]])
+ faces.append([OFFSET + i[0], OFFSET + i[1], OFFSET + i[2], OFFSET + i[3]])
return faces
-
-def Create_Phillips_Bit(FLAT_DIA,FLAT_WIDTH,HEIGHT):
+def Create_Phillips_Bit(FLAT_DIA, FLAT_WIDTH, HEIGHT):
verts = []
faces = []
@@ -445,50 +432,46 @@ def Create_Phillips_Bit(FLAT_DIA,FLAT_WIDTH,HEIGHT):
FLAT_RADIUS = FLAT_DIA * 0.5
OUTTER_RADIUS = FLAT_RADIUS * 1.05
- Flat_Half = float(FLAT_WIDTH)/2.0
+ Flat_Half = float(FLAT_WIDTH) / 2.0
FaceStart_Outside = len(verts)
- Deg_Step = 360.0 /float(DIV_COUNT)
- for i in range(int(DIV_COUNT/4)+1): # only do half and mirror later
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,0])
-
-
- # FaceStart_Inside = len(verts) # UNUSED
- verts.append([0,FLAT_RADIUS,0]) #10
- verts.append([Flat_Half,FLAT_RADIUS,0]) #11
- verts.append([Flat_Half,Flat_Half,0]) #12
- verts.append([FLAT_RADIUS,Flat_Half,0]) #13
- verts.append([FLAT_RADIUS,0,0]) #14
+ Deg_Step = 360.0 / float(DIV_COUNT)
+ for i in range(int(DIV_COUNT / 4) + 1): # only do half and mirror later
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, 0])
+ # FaceStart_Inside = len(verts) # UNUSED
+ verts.append([0, FLAT_RADIUS, 0]) # 10
+ verts.append([Flat_Half, FLAT_RADIUS, 0]) # 11
+ verts.append([Flat_Half, Flat_Half, 0]) # 12
+ verts.append([FLAT_RADIUS, Flat_Half, 0]) # 13
+ verts.append([FLAT_RADIUS, 0, 0]) # 14
- verts.append([0,Flat_Half,0-HEIGHT]) #15
- verts.append([Flat_Half,Flat_Half,0-HEIGHT]) #16
- verts.append([Flat_Half,0,0-HEIGHT]) #17
+ verts.append([0, Flat_Half, 0 - HEIGHT]) # 15
+ verts.append([Flat_Half, Flat_Half, 0 - HEIGHT]) # 16
+ verts.append([Flat_Half, 0, 0 - HEIGHT]) # 17
- verts.append([0,0,0-HEIGHT]) #18
+ verts.append([0, 0, 0 - HEIGHT]) # 18
- faces.extend(Phillips_Fill(FaceStart_Outside,True))
+ faces.extend(Phillips_Fill(FaceStart_Outside, True))
- Spin_Verts,Spin_Face = SpinDup(verts,faces,360,4,'z')
+ Spin_Verts, Spin_Face = SpinDup(verts, faces, 360, 4, 'z')
- return Spin_Verts,Spin_Face,OUTTER_RADIUS * 2
+ return Spin_Verts, Spin_Face, OUTTER_RADIUS * 2
-##########################################################################################
-##########################################################################################
-## Create Head Types
-##########################################################################################
-##########################################################################################
+# ####################################################################
+# Create Head Types
+# ####################################################################
def Max_Pan_Bit_Dia(HEAD_DIA):
HEAD_RADIUS = HEAD_DIA * 0.5
XRad = HEAD_RADIUS * 1.976
- return (sin(radians(10))*XRad) * 2.0
+ return (sin(radians(10)) * XRad) * 2.0
-def Create_Pan_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2,FACE_OFFSET,DIV_COUNT):
+def Create_Pan_Head(HOLE_DIA, HEAD_DIA, SHANK_DIA, HEIGHT, RAD1, RAD2, FACE_OFFSET, DIV_COUNT):
HOLE_RADIUS = HOLE_DIA * 0.5
HEAD_RADIUS = HEAD_DIA * 0.5
@@ -504,61 +487,58 @@ def Create_Pan_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2,FACE_OFFSET,DIV
EndZOffset = HEAD_RADIUS * 0.432
HEIGHT = HEAD_RADIUS * 0.59
-# Dome_Rad = 5.6
-# RAD_Offset = 4.9
-# OtherRad = 0.8
-# OtherRad_X_Offset = 4.2
-# OtherRad_Z_Offset = 2.52
-# XRad = 9.88
-# ZRad = 8.84
-# EndRad = 1.42
-# EndZOffset = 2.16
-# HEIGHT = 2.95
-
+ """
+ Dome_Rad = 5.6
+ RAD_Offset = 4.9
+ OtherRad = 0.8
+ OtherRad_X_Offset = 4.2
+ OtherRad_Z_Offset = 2.52
+ XRad = 9.88
+ ZRad = 8.84
+ EndRad = 1.42
+ EndZOffset = 2.16
+ HEIGHT = 2.95
+ """
FaceStart = FACE_OFFSET
- z = cos(radians(10))*ZRad
- verts.append([HOLE_RADIUS,0.0,(0.0-ZRad)+z])
- Start_Height = 0 - ((0.0-ZRad)+z)
+ z = cos(radians(10)) * ZRad
+ verts.append([HOLE_RADIUS, 0.0, (0.0 - ZRad) + z])
+ Start_Height = 0 - ((0.0 - ZRad) + z)
Row += 1
- #for i in range(0,30,10): was 0 to 30 more work needed to make this look good.
- for i in range(10,30,10):
- x = sin(radians(i))*XRad
- z = cos(radians(i))*ZRad
- verts.append([x,0.0,(0.0-ZRad)+z])
+ # for i in range(0,30,10): was 0 to 30 more work needed to make this look good.
+ for i in range(10, 30, 10):
+ x = sin(radians(i)) * XRad
+ z = cos(radians(i)) * ZRad
+ verts.append([x, 0.0, (0.0 - ZRad) + z])
Row += 1
- for i in range(20,140,10):
- x = sin(radians(i))*EndRad
- z = cos(radians(i))*EndRad
- if ((0.0 - EndZOffset)+z) < (0.0-HEIGHT):
- verts.append([(HEAD_RADIUS -EndRad)+x,0.0,0.0 - HEIGHT])
+ for i in range(20, 140, 10):
+ x = sin(radians(i)) * EndRad
+ z = cos(radians(i)) * EndRad
+ if ((0.0 - EndZOffset) + z) < (0.0 - HEIGHT):
+ verts.append([(HEAD_RADIUS - EndRad) + x, 0.0, 0.0 - HEIGHT])
else:
- verts.append([(HEAD_RADIUS -EndRad)+x,0.0,(0.0 - EndZOffset)+z])
+ verts.append([(HEAD_RADIUS - EndRad) + x, 0.0, (0.0 - EndZOffset) + z])
Row += 1
-
- verts.append([SHANK_RADIUS,0.0,(0.0-HEIGHT)])
+ verts.append([SHANK_RADIUS, 0.0, (0.0 - HEIGHT)])
Row += 1
- verts.append([SHANK_RADIUS,0.0,(0.0-HEIGHT)-Start_Height])
+ verts.append([SHANK_RADIUS, 0.0, (0.0 - HEIGHT) - Start_Height])
Row += 1
+ sVerts, sFaces = SpinDup(verts, faces, 360, DIV_COUNT, 'z')
+ sVerts.extend(verts) # add the start verts to the Spin verts to complete the loop
- sVerts,sFaces = SpinDup(verts,faces,360,DIV_COUNT,'z')
- sVerts.extend(verts) #add the start verts to the Spin verts to complete the loop
-
- faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV_COUNT))
+ faces.extend(Build_Face_List_Quads(FaceStart, Row - 1, DIV_COUNT))
# Global_Head_Height = HEIGHT # UNUSED
-
- return Move_Verts_Up_Z(sVerts,Start_Height),faces,HEIGHT
-
+ return Move_Verts_Up_Z(sVerts, Start_Height), faces, HEIGHT
-def Create_Dome_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2,FACE_OFFSET,DIV_COUNT):
+def Create_Dome_Head(HOLE_DIA, HEAD_DIA, SHANK_DIA, HEIGHT, RAD1, RAD2, FACE_OFFSET, DIV_COUNT):
HOLE_RADIUS = HOLE_DIA * 0.5
HEAD_RADIUS = HEAD_DIA * 0.5
SHANK_RADIUS = SHANK_DIA * 0.5
@@ -567,106 +547,95 @@ def Create_Dome_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2,FACE_OFFSET,DI
faces = []
Row = 0
# BEVEL = HEIGHT * 0.01 # UNUSED
- #Dome_Rad = HEAD_RADIUS * (1.0/1.75)
+ # Dome_Rad = HEAD_RADIUS * (1.0/1.75)
- Dome_Rad = HEAD_RADIUS * 1.12
- #Head_Height = HEAD_RADIUS * 0.78
+ Dome_Rad = HEAD_RADIUS * 1.12
+ # Head_Height = HEAD_RADIUS * 0.78
RAD_Offset = HEAD_RADIUS * 0.98
Dome_Height = HEAD_RADIUS * 0.64
OtherRad = HEAD_RADIUS * 0.16
OtherRad_X_Offset = HEAD_RADIUS * 0.84
OtherRad_Z_Offset = HEAD_RADIUS * 0.504
-
-# Dome_Rad = 5.6
-# RAD_Offset = 4.9
-# Dome_Height = 3.2
-# OtherRad = 0.8
-# OtherRad_X_Offset = 4.2
-# OtherRad_Z_Offset = 2.52
-#
+ """
+ Dome_Rad = 5.6
+ RAD_Offset = 4.9
+ Dome_Height = 3.2
+ OtherRad = 0.8
+ OtherRad_X_Offset = 4.2
+ OtherRad_Z_Offset = 2.52
+ """
FaceStart = FACE_OFFSET
- verts.append([HOLE_RADIUS,0.0,0.0])
+ verts.append([HOLE_RADIUS, 0.0, 0.0])
Row += 1
-
- for i in range(0,60,10):
- x = sin(radians(i))*Dome_Rad
- z = cos(radians(i))*Dome_Rad
- if ((0.0-RAD_Offset)+z) <= 0:
- verts.append([x,0.0,(0.0-RAD_Offset)+z])
+ for i in range(0, 60, 10):
+ x = sin(radians(i)) * Dome_Rad
+ z = cos(radians(i)) * Dome_Rad
+ if ((0.0 - RAD_Offset) + z) <= 0:
+ verts.append([x, 0.0, (0.0 - RAD_Offset) + z])
Row += 1
-
- for i in range(60,160,10):
- x = sin(radians(i))*OtherRad
- z = cos(radians(i))*OtherRad
- z = (0.0-OtherRad_Z_Offset)+z
- if z < (0.0-Dome_Height):
- z = (0.0-Dome_Height)
- verts.append([OtherRad_X_Offset+x,0.0,z])
+ for i in range(60, 160, 10):
+ x = sin(radians(i)) * OtherRad
+ z = cos(radians(i)) * OtherRad
+ z = (0.0 - OtherRad_Z_Offset) + z
+ if z < (0.0 - Dome_Height):
+ z = (0.0 - Dome_Height)
+ verts.append([OtherRad_X_Offset + x, 0.0, z])
Row += 1
- verts.append([SHANK_RADIUS,0.0,(0.0-Dome_Height)])
+ verts.append([SHANK_RADIUS, 0.0, (0.0 - Dome_Height)])
Row += 1
+ sVerts, sFaces = SpinDup(verts, faces, 360, DIV_COUNT, 'z')
+ sVerts.extend(verts) # add the start verts to the Spin verts to complete the loop
- sVerts,sFaces = SpinDup(verts,faces,360,DIV_COUNT,'z')
- sVerts.extend(verts) #add the start verts to the Spin verts to complete the loop
-
- faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV_COUNT))
+ faces.extend(Build_Face_List_Quads(FaceStart, Row - 1, DIV_COUNT))
- return sVerts,faces,Dome_Height
+ return sVerts, faces, Dome_Height
-
-def Create_CounterSink_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,DIV_COUNT):
+def Create_CounterSink_Head(HOLE_DIA, HEAD_DIA, SHANK_DIA, HEIGHT, RAD1, DIV_COUNT):
HOLE_RADIUS = HOLE_DIA * 0.5
HEAD_RADIUS = HEAD_DIA * 0.5
SHANK_RADIUS = SHANK_DIA * 0.5
-
verts = []
faces = []
Row = 0
-# HEAD_RADIUS = (HEIGHT/tan(radians(60))) + SHANK_RADIUS
+ # HEAD_RADIUS = (HEIGHT/tan(radians(60))) + SHANK_RADIUS
HEIGHT = tan(radians(60)) * (HEAD_RADIUS - SHANK_RADIUS)
- #print (RAD1)
+ # print(RAD1)
FaceStart = len(verts)
- verts.append([HOLE_RADIUS,0.0,0.0])
+ verts.append([HOLE_RADIUS, 0.0, 0.0])
Row += 1
- #rad
-
- for i in range(0,100,10):
- x = sin(radians(i))*RAD1
- z = cos(radians(i))*RAD1
- verts.append([(HEAD_RADIUS-RAD1)+x,0.0,(0.0-RAD1)+z])
+ # rad
+ for i in range(0, 100, 10):
+ x = sin(radians(i)) * RAD1
+ z = cos(radians(i)) * RAD1
+ verts.append([(HEAD_RADIUS - RAD1) + x, 0.0, (0.0 - RAD1) + z])
Row += 1
-
- verts.append([SHANK_RADIUS,0.0,0.0-HEIGHT])
+ verts.append([SHANK_RADIUS, 0.0, 0.0 - HEIGHT])
Row += 1
+ sVerts, sFaces = SpinDup(verts, faces, 360, DIV_COUNT, 'z')
+ sVerts.extend(verts) # add the start verts to the Spin verts to complete the loop
- sVerts,sFaces = SpinDup(verts,faces,360,DIV_COUNT,'z')
- sVerts.extend(verts) #add the start verts to the Spin verts to complete the loop
-
-
- faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV_COUNT,1))
+ faces.extend(Build_Face_List_Quads(FaceStart, Row - 1, DIV_COUNT, 1))
- return sVerts,faces,HEIGHT
+ return sVerts, faces, HEIGHT
-
-
-def Create_Cap_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2,DIV_COUNT):
+def Create_Cap_Head(HOLE_DIA, HEAD_DIA, SHANK_DIA, HEIGHT, RAD1, RAD2, DIV_COUNT):
HOLE_RADIUS = HOLE_DIA * 0.5
HEAD_RADIUS = HEAD_DIA * 0.5
@@ -677,613 +646,580 @@ def Create_Cap_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2,DIV_COUNT):
Row = 0
BEVEL = HEIGHT * 0.01
-
FaceStart = len(verts)
- verts.append([HOLE_RADIUS,0.0,0.0])
+ verts.append([HOLE_RADIUS, 0.0, 0.0])
Row += 1
- #rad
-
- for i in range(0,100,10):
- x = sin(radians(i))*RAD1
- z = cos(radians(i))*RAD1
- verts.append([(HEAD_RADIUS-RAD1)+x,0.0,(0.0-RAD1)+z])
+ # rad
+ for i in range(0, 100, 10):
+ x = sin(radians(i)) * RAD1
+ z = cos(radians(i)) * RAD1
+ verts.append([(HEAD_RADIUS - RAD1) + x, 0.0, (0.0 - RAD1) + z])
Row += 1
-
- verts.append([HEAD_RADIUS,0.0,0.0-HEIGHT+BEVEL])
+ verts.append([HEAD_RADIUS, 0.0, 0.0 - HEIGHT + BEVEL])
Row += 1
- verts.append([HEAD_RADIUS-BEVEL,0.0,0.0-HEIGHT])
+ verts.append([HEAD_RADIUS - BEVEL, 0.0, 0.0 - HEIGHT])
Row += 1
- #rad2
-
- for i in range(0,100,10):
- x = sin(radians(i))*RAD2
- z = cos(radians(i))*RAD2
- verts.append([(SHANK_RADIUS+RAD2)-x,0.0,(0.0-HEIGHT-RAD2)+z])
+ # rad2
+ for i in range(0, 100, 10):
+ x = sin(radians(i)) * RAD2
+ z = cos(radians(i)) * RAD2
+ verts.append([(SHANK_RADIUS + RAD2) - x, 0.0, (0.0 - HEIGHT - RAD2) + z])
Row += 1
+ sVerts, sFaces = SpinDup(verts, faces, 360, DIV_COUNT, 'z')
+ sVerts.extend(verts) # add the start verts to the Spin verts to complete the loop
- sVerts,sFaces = SpinDup(verts,faces,360,DIV_COUNT,'z')
- sVerts.extend(verts) #add the start verts to the Spin verts to complete the loop
-
-
- faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV_COUNT))
+ faces.extend(Build_Face_List_Quads(FaceStart, Row - 1, DIV_COUNT))
- return sVerts,faces,HEIGHT+RAD2
+ return sVerts, faces, HEIGHT + RAD2
-def Create_Hex_Head(FLAT,HOLE_DIA,SHANK_DIA,HEIGHT):
+def Create_Hex_Head(FLAT, HOLE_DIA, SHANK_DIA, HEIGHT):
verts = []
faces = []
HOLE_RADIUS = HOLE_DIA * 0.5
- Half_Flat = FLAT/2
- TopBevelRadius = Half_Flat - (Half_Flat* (0.05/8))
- Undercut_Height = (Half_Flat* (0.05/8))
- Shank_Bevel = (Half_Flat* (0.05/8))
+ Half_Flat = FLAT / 2
+ TopBevelRadius = Half_Flat - (Half_Flat * (0.05 / 8))
+ Undercut_Height = (Half_Flat * (0.05 / 8))
+ Shank_Bevel = (Half_Flat * (0.05 / 8))
Flat_Height = HEIGHT - Undercut_Height - Shank_Bevel
- #Undercut_Height = 5
- SHANK_RADIUS = SHANK_DIA/2
- Row = 0;
-
- verts.append([0.0,0.0,0.0])
+ # Undercut_Height = 5
+ SHANK_RADIUS = SHANK_DIA / 2
+ Row = 0
+ verts.append([0.0, 0.0, 0.0])
FaceStart = len(verts)
- #inner hole
- x = sin(radians(0))*HOLE_RADIUS
- y = cos(radians(0))*HOLE_RADIUS
- verts.append([x,y,0.0])
+ # inner hole
+ x = sin(radians(0)) * HOLE_RADIUS
+ y = cos(radians(0)) * HOLE_RADIUS
+ verts.append([x, y, 0.0])
+ x = sin(radians(60 / 6)) * HOLE_RADIUS
+ y = cos(radians(60 / 6)) * HOLE_RADIUS
+ verts.append([x, y, 0.0])
- x = sin(radians(60/6))*HOLE_RADIUS
- y = cos(radians(60/6))*HOLE_RADIUS
- verts.append([x,y,0.0])
+ x = sin(radians(60 / 3)) * HOLE_RADIUS
+ y = cos(radians(60 / 3)) * HOLE_RADIUS
+ verts.append([x, y, 0.0])
-
- x = sin(radians(60/3))*HOLE_RADIUS
- y = cos(radians(60/3))*HOLE_RADIUS
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/2))*HOLE_RADIUS
- y = cos(radians(60/2))*HOLE_RADIUS
- verts.append([x,y,0.0])
+ x = sin(radians(60 / 2)) * HOLE_RADIUS
+ y = cos(radians(60 / 2)) * HOLE_RADIUS
+ verts.append([x, y, 0.0])
Row += 1
- #bevel
-
- x = sin(radians(0))*TopBevelRadius
- y = cos(radians(0))*TopBevelRadius
- vec1 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/6))*TopBevelRadius
- y = cos(radians(60/6))*TopBevelRadius
- vec2 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/3))*TopBevelRadius
- y = cos(radians(60/3))*TopBevelRadius
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/2))*TopBevelRadius
- y = cos(radians(60/2))*TopBevelRadius
- vec4 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
+ # bevel
+ x = sin(radians(0)) * TopBevelRadius
+ y = cos(radians(0)) * TopBevelRadius
+ vec1 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
+
+ x = sin(radians(60 / 6)) * TopBevelRadius
+ y = cos(radians(60 / 6)) * TopBevelRadius
+ vec2 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
+
+ x = sin(radians(60 / 3)) * TopBevelRadius
+ y = cos(radians(60 / 3)) * TopBevelRadius
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
+
+ x = sin(radians(60 / 2)) * TopBevelRadius
+ y = cos(radians(60 / 2)) * TopBevelRadius
+ vec4 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
Row += 1
- #Flats
-
- x = tan(radians(0))*Half_Flat
- dvec = vec1 - mathutils.Vector([x,Half_Flat,0.0])
- verts.append([x,Half_Flat,-dvec.length])
+ # Flats
+ x = tan(radians(0)) * Half_Flat
+ dvec = vec1 - Vector([x, Half_Flat, 0.0])
+ verts.append([x, Half_Flat, -dvec.length])
+ x = tan(radians(60 / 6)) * Half_Flat
+ dvec = vec2 - Vector([x, Half_Flat, 0.0])
+ verts.append([x, Half_Flat, -dvec.length])
- x = tan(radians(60/6))*Half_Flat
- dvec = vec2 - mathutils.Vector([x,Half_Flat,0.0])
- verts.append([x,Half_Flat,-dvec.length])
-
-
- x = tan(radians(60/3))*Half_Flat
- dvec = vec3 - mathutils.Vector([x,Half_Flat,0.0])
+ x = tan(radians(60 / 3)) * Half_Flat
+ dvec = vec3 - Vector([x, Half_Flat, 0.0])
Lowest_Point = -dvec.length
- verts.append([x,Half_Flat,-dvec.length])
-
+ verts.append([x, Half_Flat, -dvec.length])
- x = tan(radians(60/2))*Half_Flat
- dvec = vec4 - mathutils.Vector([x,Half_Flat,0.0])
+ x = tan(radians(60 / 2)) * Half_Flat
+ dvec = vec4 - Vector([x, Half_Flat, 0.0])
Lowest_Point = -dvec.length
- verts.append([x,Half_Flat,-dvec.length])
+ verts.append([x, Half_Flat, -dvec.length])
Row += 1
- #down Bits Tri
- x = tan(radians(0))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
+ # down Bits Tri
+ x = tan(radians(0)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
- x = tan(radians(60/6))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
+ x = tan(radians(60 / 6)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
- x = tan(radians(60/3))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
+ x = tan(radians(60 / 3)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
- x = tan(radians(60/2))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
+ x = tan(radians(60 / 2)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
Row += 1
- #down Bits
+ # down Bits
- x = tan(radians(0))*Half_Flat
- verts.append([x,Half_Flat,-Flat_Height])
+ x = tan(radians(0)) * Half_Flat
+ verts.append([x, Half_Flat, -Flat_Height])
- x = tan(radians(60/6))*Half_Flat
- verts.append([x,Half_Flat,-Flat_Height])
+ x = tan(radians(60 / 6)) * Half_Flat
+ verts.append([x, Half_Flat, -Flat_Height])
- x = tan(radians(60/3))*Half_Flat
- verts.append([x,Half_Flat,-Flat_Height])
+ x = tan(radians(60 / 3)) * Half_Flat
+ verts.append([x, Half_Flat, -Flat_Height])
- x = tan(radians(60/2))*Half_Flat
- verts.append([x,Half_Flat,-Flat_Height])
+ x = tan(radians(60 / 2)) * Half_Flat
+ verts.append([x, Half_Flat, -Flat_Height])
Row += 1
-
- #under cut
-
- x = sin(radians(0))*Half_Flat
- y = cos(radians(0))*Half_Flat
- vec1 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height])
-
- x = sin(radians(60/6))*Half_Flat
- y = cos(radians(60/6))*Half_Flat
- vec2 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height])
-
- x = sin(radians(60/3))*Half_Flat
- y = cos(radians(60/3))*Half_Flat
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height])
-
- x = sin(radians(60/2))*Half_Flat
- y = cos(radians(60/2))*Half_Flat
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height])
+ # Under cut
+ x = sin(radians(0)) * Half_Flat
+ y = cos(radians(0)) * Half_Flat
+ vec1 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height])
+
+ x = sin(radians(60 / 6)) * Half_Flat
+ y = cos(radians(60 / 6)) * Half_Flat
+ vec2 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height])
+
+ x = sin(radians(60 / 3)) * Half_Flat
+ y = cos(radians(60 / 3)) * Half_Flat
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height])
+
+ x = sin(radians(60 / 2)) * Half_Flat
+ y = cos(radians(60 / 2)) * Half_Flat
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height])
Row += 1
- #under cut down bit
- x = sin(radians(0))*Half_Flat
- y = cos(radians(0))*Half_Flat
- vec1 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
-
- x = sin(radians(60/6))*Half_Flat
- y = cos(radians(60/6))*Half_Flat
- vec2 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
-
- x = sin(radians(60/3))*Half_Flat
- y = cos(radians(60/3))*Half_Flat
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
-
- x = sin(radians(60/2))*Half_Flat
- y = cos(radians(60/2))*Half_Flat
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
+ # Under cut down bit
+ x = sin(radians(0)) * Half_Flat
+ y = cos(radians(0)) * Half_Flat
+ vec1 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
+
+ x = sin(radians(60 / 6)) * Half_Flat
+ y = cos(radians(60 / 6)) * Half_Flat
+ vec2 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
+
+ x = sin(radians(60 / 3)) * Half_Flat
+ y = cos(radians(60 / 3)) * Half_Flat
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
+
+ x = sin(radians(60 / 2)) * Half_Flat
+ y = cos(radians(60 / 2)) * Half_Flat
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
Row += 1
- #under cut to Shank BEVEAL
- x = sin(radians(0))*(SHANK_RADIUS+Shank_Bevel)
- y = cos(radians(0))*(SHANK_RADIUS+Shank_Bevel)
- vec1 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
-
- x = sin(radians(60/6))*(SHANK_RADIUS+Shank_Bevel)
- y = cos(radians(60/6))*(SHANK_RADIUS+Shank_Bevel)
- vec2 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
-
- x = sin(radians(60/3))*(SHANK_RADIUS+Shank_Bevel)
- y = cos(radians(60/3))*(SHANK_RADIUS+Shank_Bevel)
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
-
- x = sin(radians(60/2))*(SHANK_RADIUS+Shank_Bevel)
- y = cos(radians(60/2))*(SHANK_RADIUS+Shank_Bevel)
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height])
+ # Under cut to Shank BEVEL
+ x = sin(radians(0)) * (SHANK_RADIUS + Shank_Bevel)
+ y = cos(radians(0)) * (SHANK_RADIUS + Shank_Bevel)
+ vec1 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
+
+ x = sin(radians(60 / 6)) * (SHANK_RADIUS + Shank_Bevel)
+ y = cos(radians(60 / 6)) * (SHANK_RADIUS + Shank_Bevel)
+ vec2 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
+
+ x = sin(radians(60 / 3)) * (SHANK_RADIUS + Shank_Bevel)
+ y = cos(radians(60 / 3)) * (SHANK_RADIUS + Shank_Bevel)
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
+
+ x = sin(radians(60 / 2)) * (SHANK_RADIUS + Shank_Bevel)
+ y = cos(radians(60 / 2)) * (SHANK_RADIUS + Shank_Bevel)
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height])
Row += 1
- #under cut to Shank BEVEAL
- x = sin(radians(0))*SHANK_RADIUS
- y = cos(radians(0))*SHANK_RADIUS
- vec1 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height-Shank_Bevel])
-
- x = sin(radians(60/6))*SHANK_RADIUS
- y = cos(radians(60/6))*SHANK_RADIUS
- vec2 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height-Shank_Bevel])
-
- x = sin(radians(60/3))*SHANK_RADIUS
- y = cos(radians(60/3))*SHANK_RADIUS
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height-Shank_Bevel])
-
- x = sin(radians(60/2))*SHANK_RADIUS
- y = cos(radians(60/2))*SHANK_RADIUS
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,-Flat_Height-Undercut_Height-Shank_Bevel])
+ # Under cut to Shank BEVEL
+ x = sin(radians(0)) * SHANK_RADIUS
+ y = cos(radians(0)) * SHANK_RADIUS
+ vec1 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height - Shank_Bevel])
+
+ x = sin(radians(60 / 6)) * SHANK_RADIUS
+ y = cos(radians(60 / 6)) * SHANK_RADIUS
+ vec2 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height - Shank_Bevel])
+
+ x = sin(radians(60 / 3)) * SHANK_RADIUS
+ y = cos(radians(60 / 3)) * SHANK_RADIUS
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height - Shank_Bevel])
+
+ x = sin(radians(60 / 2)) * SHANK_RADIUS
+ y = cos(radians(60 / 2)) * SHANK_RADIUS
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, -Flat_Height - Undercut_Height - Shank_Bevel])
Row += 1
+ # Global_Head_Height = 0 - (-HEIGHT-0.1)
+ faces.extend(Build_Face_List_Quads(FaceStart, 3, Row - 1))
- #Global_Head_Height = 0 - (-HEIGHT-0.1)
- faces.extend(Build_Face_List_Quads(FaceStart,3,Row - 1))
-
-
- Mirror_Verts,Mirror_Faces = Mirror_Verts_Faces(verts,faces,'y')
+ Mirror_Verts, Mirror_Faces = Mirror_Verts_Faces(verts, faces, 'y')
verts.extend(Mirror_Verts)
faces.extend(Mirror_Faces)
- Spin_Verts,Spin_Faces = SpinDup(verts,faces,360,6,'z')
+ Spin_Verts, Spin_Faces = SpinDup(verts, faces, 360, 6, 'z')
+ return Spin_Verts, Spin_Faces, 0 - (-HEIGHT)
- return Spin_Verts,Spin_Faces,0 - (-HEIGHT)
+# ####################################################################
+# Create External Thread
+# ####################################################################
-##########################################################################################
-##########################################################################################
-## Create External Thread
-##########################################################################################
-##########################################################################################
+def Thread_Start3(verts, INNER_RADIUS, OUTTER_RADIUS, PITCH, DIV_COUNT,
+ CREST_PERCENT, ROOT_PERCENT, Height_Offset):
-
-def Thread_Start3(verts,INNER_RADIUS,OUTTER_RADIUS,PITCH,DIV_COUNT,CREST_PERCENT,ROOT_PERCENT,Height_Offset):
-
-
- Ret_Row = 0;
+ Ret_Row = 0
# Half_Pitch = float(PITCH)/2 # UNUSED
Height_Start = Height_Offset - PITCH
- Height_Step = float(PITCH)/float(DIV_COUNT)
- Deg_Step = 360.0 /float(DIV_COUNT)
+ Height_Step = float(PITCH) / float(DIV_COUNT)
+ Deg_Step = 360.0 / float(DIV_COUNT)
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
-#theard start
-
- Rank = float(OUTTER_RADIUS - INNER_RADIUS)/float(DIV_COUNT)
+ # thread start
+ Rank = float(OUTTER_RADIUS - INNER_RADIUS) / float(DIV_COUNT)
for j in range(4):
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z])
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
Height_Offset -= Crest_Height
Ret_Row += 1
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
Height_Offset -= Crest_to_Root_Height
Ret_Row += 1
-
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == 0:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ verts.append([x, y, z])
Height_Offset -= Root_Height
Ret_Row += 1
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == 0:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ verts.append([x, y, z])
Height_Offset -= Root_to_Crest_Height
Ret_Row += 1
- return Ret_Row,Height_Offset
+ return Ret_Row, Height_Offset
-def Create_Shank_Verts(START_DIA,OUTTER_DIA,LENGTH,Z_LOCATION,DIV_COUNT):
+def Create_Shank_Verts(START_DIA, OUTTER_DIA, LENGTH, Z_LOCATION, DIV_COUNT):
verts = []
- START_RADIUS = START_DIA/2
- OUTTER_RADIUS = OUTTER_DIA/2
+ START_RADIUS = START_DIA / 2
+ OUTTER_RADIUS = OUTTER_DIA / 2
Opp = abs(START_RADIUS - OUTTER_RADIUS)
- Taper_Lentgh = Opp/tan(radians(31));
+ Taper_Lentgh = Opp / tan(radians(31))
if Taper_Lentgh > LENGTH:
Taper_Lentgh = 0
Stright_Length = LENGTH - Taper_Lentgh
- Deg_Step = 360.0 /float(DIV_COUNT)
+ Deg_Step = 360.0 / float(DIV_COUNT)
Row = 0
- Lowest_Z_Vert = 0;
+ Lowest_Z_Vert = 0
Height_Offset = Z_LOCATION
-
- #ring
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*START_RADIUS
- y = cos(radians(i*Deg_Step))*START_RADIUS
- z = Height_Offset - 0
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ # Ring
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * START_RADIUS
+ y = cos(radians(i * Deg_Step)) * START_RADIUS
+ z = Height_Offset - 0
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Stright_Length
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*START_RADIUS
- y = cos(radians(i*Deg_Step))*START_RADIUS
- z = Height_Offset - 0
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * START_RADIUS
+ y = cos(radians(i * Deg_Step)) * START_RADIUS
+ z = Height_Offset - 0
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Taper_Lentgh
Row += 1
-
- return verts,Row,Height_Offset
+ return verts, Row, Height_Offset
-def Create_Thread_Start_Verts(INNER_DIA,OUTTER_DIA,PITCH,CREST_PERCENT,ROOT_PERCENT,Z_LOCATION,DIV_COUNT):
+def Create_Thread_Start_Verts(INNER_DIA, OUTTER_DIA, PITCH, CREST_PERCENT,
+ ROOT_PERCENT, Z_LOCATION, DIV_COUNT):
verts = []
- INNER_RADIUS = INNER_DIA/2
- OUTTER_RADIUS = OUTTER_DIA/2
+ INNER_RADIUS = INNER_DIA / 2
+ OUTTER_RADIUS = OUTTER_DIA / 2
# Half_Pitch = float(PITCH)/2 # UNUSED
- Deg_Step = 360.0 /float(DIV_COUNT)
- Height_Step = float(PITCH)/float(DIV_COUNT)
+ Deg_Step = 360.0 / float(DIV_COUNT)
+ Height_Step = float(PITCH) / float(DIV_COUNT)
Row = 0
- Lowest_Z_Vert = 0;
+ Lowest_Z_Vert = 0
Height_Offset = Z_LOCATION
Height_Start = Height_Offset
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
- Rank = float(OUTTER_RADIUS - INNER_RADIUS)/float(DIV_COUNT)
+ Rank = float(OUTTER_RADIUS - INNER_RADIUS) / float(DIV_COUNT)
Height_Offset = Z_LOCATION + PITCH
Cut_off = Z_LOCATION
-
for j in range(1):
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- z = Height_Offset - (Height_Step*i)
- if z > Cut_off : z = Cut_off
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ if z > Cut_off:
+ z = Cut_off
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- z = Height_Offset - (Height_Step*i)
- if z > Cut_off : z = Cut_off
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ if z > Cut_off:
+ z = Cut_off
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_to_Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- z = Height_Offset - (Height_Step*i)
- if z > Cut_off : z = Cut_off
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ if z > Cut_off:
+ z = Cut_off
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- z = Height_Offset - (Height_Step*i)
- if z > Cut_off : z = Cut_off
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ if z > Cut_off:
+ z = Cut_off
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_to_Crest_Height
Row += 1
-
for j in range(2):
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_Height
Row += 1
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z ])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_to_Root_Height
Row += 1
-
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == 0:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- verts.append([x,y,z ])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == 0:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- verts.append([x,y,z ])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_to_Crest_Height
Row += 1
-
- return verts,Row,Height_Offset
+ return verts, Row, Height_Offset
+def Create_Thread_Verts(INNER_DIA, OUTTER_DIA, PITCH, HEIGHT,
+ CREST_PERCENT, ROOT_PERCENT, Z_LOCATION, DIV_COUNT):
-def Create_Thread_Verts(INNER_DIA,OUTTER_DIA,PITCH,HEIGHT,CREST_PERCENT,ROOT_PERCENT,Z_LOCATION,DIV_COUNT):
verts = []
-
- INNER_RADIUS = INNER_DIA/2
- OUTTER_RADIUS = OUTTER_DIA/2
+ INNER_RADIUS = INNER_DIA / 2
+ OUTTER_RADIUS = OUTTER_DIA / 2
# Half_Pitch = float(PITCH)/2 # UNUSED
- Deg_Step = 360.0 /float(DIV_COUNT)
- Height_Step = float(PITCH)/float(DIV_COUNT)
+ Deg_Step = 360.0 / float(DIV_COUNT)
+ Height_Step = float(PITCH) / float(DIV_COUNT)
NUM_OF_START_THREADS = 4.0
NUM_OF_END_THREADS = 3.0
- Num = int((HEIGHT- ((NUM_OF_START_THREADS*PITCH) + (NUM_OF_END_THREADS*PITCH) ))/PITCH)
+ Num = int((HEIGHT - ((NUM_OF_START_THREADS * PITCH) + (NUM_OF_END_THREADS * PITCH))) / PITCH)
Row = 0
-
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
-
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
Height_Offset = Z_LOCATION
- Lowest_Z_Vert = 0;
+ Lowest_Z_Vert = 0
for j in range(Num):
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- z = Height_Offset - (Height_Step*i)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- z = Height_Offset - (Height_Step*i)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_to_Root_Height
Row += 1
-
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
- z = Height_Offset - (Height_Step*i)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
- z = Height_Offset - (Height_Step*i)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
+ z = Height_Offset - (Height_Step * i)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_to_Crest_Height
Row += 1
- return verts,Row,Height_Offset
-
+ return verts, Row, Height_Offset
-def Create_Thread_End_Verts(INNER_DIA,OUTTER_DIA,PITCH,CREST_PERCENT,ROOT_PERCENT,Z_LOCATION,DIV_COUNT):
+def Create_Thread_End_Verts(INNER_DIA, OUTTER_DIA, PITCH, CREST_PERCENT,
+ ROOT_PERCENT, Z_LOCATION, DIV_COUNT):
verts = []
-
- INNER_RADIUS = INNER_DIA/2
- OUTTER_RADIUS = OUTTER_DIA/2
+ INNER_RADIUS = INNER_DIA / 2
+ OUTTER_RADIUS = OUTTER_DIA / 2
# Half_Pitch = float(PITCH)/2 # UNUSED
- Deg_Step = 360.0 /float(DIV_COUNT)
- Height_Step = float(PITCH)/float(DIV_COUNT)
+ Deg_Step = 360.0 / float(DIV_COUNT)
+ Height_Step = float(PITCH) / float(DIV_COUNT)
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
# Col = 0 # UNUSED
Row = 0
@@ -1294,74 +1230,72 @@ def Create_Thread_End_Verts(INNER_DIA,OUTTER_DIA,PITCH,CREST_PERCENT,ROOT_PERCEN
Max_Height = Tapper_Height_Start - PITCH
- Lowest_Z_Vert = 0;
+ Lowest_Z_Vert = 0
# FaceStart = len(verts) # UNUSED
for j in range(4):
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
- z = max(z,Max_Height)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
+ z = max(z, Max_Height)
Tapper_Radius = OUTTER_RADIUS
if z < Tapper_Height_Start:
Tapper_Radius = OUTTER_RADIUS - (Tapper_Height_Start - z)
- x = sin(radians(i*Deg_Step))*(Tapper_Radius)
- y = cos(radians(i*Deg_Step))*(Tapper_Radius)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * (Tapper_Radius)
+ y = cos(radians(i * Deg_Step)) * (Tapper_Radius)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_Height
Row += 1
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
- z = max(z,Max_Height)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
+ z = max(z, Max_Height)
Tapper_Radius = OUTTER_RADIUS
if z < Tapper_Height_Start:
Tapper_Radius = OUTTER_RADIUS - (Tapper_Height_Start - z)
- x = sin(radians(i*Deg_Step))*(Tapper_Radius)
- y = cos(radians(i*Deg_Step))*(Tapper_Radius)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * (Tapper_Radius)
+ y = cos(radians(i * Deg_Step)) * (Tapper_Radius)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Crest_to_Root_Height
Row += 1
-
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
- z = max(z,Max_Height)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
+ z = max(z, Max_Height)
Tapper_Radius = OUTTER_RADIUS - (Tapper_Height_Start - z)
if Tapper_Radius > INNER_RADIUS:
Tapper_Radius = INNER_RADIUS
- x = sin(radians(i*Deg_Step))*(Tapper_Radius)
- y = cos(radians(i*Deg_Step))*(Tapper_Radius)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * (Tapper_Radius)
+ y = cos(radians(i * Deg_Step)) * (Tapper_Radius)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- z = Height_Offset - (Height_Step*i)
- z = max(z,Max_Height)
+ for i in range(DIV_COUNT + 1):
+ z = Height_Offset - (Height_Step * i)
+ z = max(z, Max_Height)
Tapper_Radius = OUTTER_RADIUS - (Tapper_Height_Start - z)
if Tapper_Radius > INNER_RADIUS:
Tapper_Radius = INNER_RADIUS
- x = sin(radians(i*Deg_Step))*(Tapper_Radius)
- y = cos(radians(i*Deg_Step))*(Tapper_Radius)
- verts.append([x,y,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ x = sin(radians(i * Deg_Step)) * (Tapper_Radius)
+ y = cos(radians(i * Deg_Step)) * (Tapper_Radius)
+ verts.append([x, y, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Height_Offset -= Root_to_Crest_Height
Row += 1
- return verts,Row,Height_Offset,Lowest_Z_Vert
-
-
+ return verts, Row, Height_Offset, Lowest_Z_Vert
-def Create_External_Thread(SHANK_DIA,SHANK_LENGTH,INNER_DIA,OUTTER_DIA,PITCH,LENGTH,CREST_PERCENT,ROOT_PERCENT,DIV_COUNT):
+def Create_External_Thread(SHANK_DIA, SHANK_LENGTH, INNER_DIA, OUTTER_DIA,
+ PITCH, LENGTH, CREST_PERCENT, ROOT_PERCENT, DIV_COUNT):
verts = []
faces = []
@@ -1370,202 +1304,193 @@ def Create_External_Thread(SHANK_DIA,SHANK_LENGTH,INNER_DIA,OUTTER_DIA,PITCH,LEN
# Thread_Len = 0 # UNUSED
Face_Start = len(verts)
- Offset = 0.0;
+ Offset = 0.0
-
- Shank_Verts,Shank_Row,Offset = Create_Shank_Verts(SHANK_DIA,OUTTER_DIA,SHANK_LENGTH,Offset,DIV_COUNT)
+ Shank_Verts, Shank_Row, Offset = Create_Shank_Verts(
+ SHANK_DIA, OUTTER_DIA, SHANK_LENGTH,
+ Offset, DIV_COUNT
+ )
Total_Row += Shank_Row
- Thread_Start_Verts,Thread_Start_Row,Offset = Create_Thread_Start_Verts(INNER_DIA,OUTTER_DIA,PITCH,CREST_PERCENT,ROOT_PERCENT,Offset,DIV_COUNT)
+ Thread_Start_Verts, Thread_Start_Row, Offset = Create_Thread_Start_Verts(
+ INNER_DIA, OUTTER_DIA, PITCH, CREST_PERCENT,
+ ROOT_PERCENT, Offset, DIV_COUNT
+ )
Total_Row += Thread_Start_Row
-
- Thread_Verts,Thread_Row,Offset = Create_Thread_Verts(INNER_DIA,OUTTER_DIA,PITCH,LENGTH,CREST_PERCENT,ROOT_PERCENT,Offset,DIV_COUNT)
+ Thread_Verts, Thread_Row, Offset = Create_Thread_Verts(
+ INNER_DIA, OUTTER_DIA, PITCH, LENGTH,
+ CREST_PERCENT, ROOT_PERCENT, Offset, DIV_COUNT
+ )
Total_Row += Thread_Row
-
- Thread_End_Verts,Thread_End_Row,Offset,Lowest_Z_Vert = Create_Thread_End_Verts(INNER_DIA,OUTTER_DIA,PITCH,CREST_PERCENT,ROOT_PERCENT,Offset,DIV_COUNT )
+ Thread_End_Verts, Thread_End_Row, Offset, Lowest_Z_Vert = Create_Thread_End_Verts(
+ INNER_DIA, OUTTER_DIA, PITCH, CREST_PERCENT,
+ ROOT_PERCENT, Offset, DIV_COUNT
+ )
Total_Row += Thread_End_Row
-
verts.extend(Shank_Verts)
verts.extend(Thread_Start_Verts)
verts.extend(Thread_Verts)
verts.extend(Thread_End_Verts)
- faces.extend(Build_Face_List_Quads(Face_Start,DIV_COUNT,Total_Row -1,0))
- faces.extend(Fill_Ring_Face(len(verts)-DIV_COUNT,DIV_COUNT,1))
+ faces.extend(Build_Face_List_Quads(Face_Start, DIV_COUNT, Total_Row - 1, 0))
+ faces.extend(Fill_Ring_Face(len(verts) - DIV_COUNT, DIV_COUNT, 1))
- return verts,faces,0.0 - Lowest_Z_Vert
+ return verts, faces, 0.0 - Lowest_Z_Vert
-##########################################################################################
-##########################################################################################
-## Create Nut
-##########################################################################################
-##########################################################################################
+# ####################################################################
+# Create Nut
+# ####################################################################
-def add_Hex_Nut(FLAT,HOLE_DIA,HEIGHT):
+def add_Hex_Nut(FLAT, HOLE_DIA, HEIGHT):
global Global_Head_Height
global Global_NutRad
verts = []
faces = []
HOLE_RADIUS = HOLE_DIA * 0.5
- Half_Flat = FLAT/2
- Half_Height = HEIGHT/2
+ Half_Flat = FLAT / 2
+ Half_Height = HEIGHT / 2
TopBevelRadius = Half_Flat - 0.05
- Global_NutRad = TopBevelRadius
-
- Row = 0;
- Lowest_Z_Vert = 0.0;
+ Global_NutRad = TopBevelRadius
- verts.append([0.0,0.0,0.0])
+ Row = 0
+ Lowest_Z_Vert = 0.0
+ verts.append([0.0, 0.0, 0.0])
FaceStart = len(verts)
- #inner hole
-
- x = sin(radians(0))*HOLE_RADIUS
- y = cos(radians(0))*HOLE_RADIUS
- #print ("rad 0 x;", x, "y:" ,y )
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/6))*HOLE_RADIUS
- y = cos(radians(60/6))*HOLE_RADIUS
- #print ("rad 60/6x;", x, "y:" ,y )
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/3))*HOLE_RADIUS
- y = cos(radians(60/3))*HOLE_RADIUS
- #print ("rad 60/3x;", x, "y:" ,y )
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/2))*HOLE_RADIUS
- y = cos(radians(60/2))*HOLE_RADIUS
- #print ("rad 60/2x;", x, "y:" ,y )
- verts.append([x,y,0.0])
+ # inner hole
+
+ x = sin(radians(0)) * HOLE_RADIUS
+ y = cos(radians(0)) * HOLE_RADIUS
+ # print ("rad 0 x;", x, "y:" ,y )
+ verts.append([x, y, 0.0])
+
+ x = sin(radians(60 / 6)) * HOLE_RADIUS
+ y = cos(radians(60 / 6)) * HOLE_RADIUS
+ # print ("rad 60/6x;", x, "y:" ,y )
+ verts.append([x, y, 0.0])
+
+ x = sin(radians(60 / 3)) * HOLE_RADIUS
+ y = cos(radians(60 / 3)) * HOLE_RADIUS
+ # print ("rad 60/3x;", x, "y:" ,y )
+ verts.append([x, y, 0.0])
+
+ x = sin(radians(60 / 2)) * HOLE_RADIUS
+ y = cos(radians(60 / 2)) * HOLE_RADIUS
+ # print ("rad 60/2x;", x, "y:" ,y )
+ verts.append([x, y, 0.0])
Row += 1
+ # Bevel
- #bevel
+ x = sin(radians(0)) * TopBevelRadius
+ y = cos(radians(0)) * TopBevelRadius
+ vec1 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
- x = sin(radians(0))*TopBevelRadius
- y = cos(radians(0))*TopBevelRadius
- vec1 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
+ x = sin(radians(60 / 6)) * TopBevelRadius
+ y = cos(radians(60 / 6)) * TopBevelRadius
+ vec2 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
+ x = sin(radians(60 / 3)) * TopBevelRadius
+ y = cos(radians(60 / 3)) * TopBevelRadius
+ vec3 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
- x = sin(radians(60/6))*TopBevelRadius
- y = cos(radians(60/6))*TopBevelRadius
- vec2 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/3))*TopBevelRadius
- y = cos(radians(60/3))*TopBevelRadius
- vec3 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
-
-
- x = sin(radians(60/2))*TopBevelRadius
- y = cos(radians(60/2))*TopBevelRadius
- vec4 = mathutils.Vector([x,y,0.0])
- verts.append([x,y,0.0])
+ x = sin(radians(60 / 2)) * TopBevelRadius
+ y = cos(radians(60 / 2)) * TopBevelRadius
+ vec4 = Vector([x, y, 0.0])
+ verts.append([x, y, 0.0])
Row += 1
- #Flats
-
- x = tan(radians(0))*Half_Flat
- dvec = vec1 - mathutils.Vector([x,Half_Flat,0.0])
- verts.append([x,Half_Flat,-dvec.length])
- Lowest_Z_Vert = min(Lowest_Z_Vert,-dvec.length)
+ # Flats
+ x = tan(radians(0)) * Half_Flat
+ dvec = vec1 - Vector([x, Half_Flat, 0.0])
+ verts.append([x, Half_Flat, -dvec.length])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, -dvec.length)
+ x = tan(radians(60 / 6)) * Half_Flat
+ dvec = vec2 - Vector([x, Half_Flat, 0.0])
+ verts.append([x, Half_Flat, -dvec.length])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, -dvec.length)
- x = tan(radians(60/6))*Half_Flat
- dvec = vec2 - mathutils.Vector([x,Half_Flat,0.0])
- verts.append([x,Half_Flat,-dvec.length])
- Lowest_Z_Vert = min(Lowest_Z_Vert,-dvec.length)
-
-
- x = tan(radians(60/3))*Half_Flat
- dvec = vec3 - mathutils.Vector([x,Half_Flat,0.0])
+ x = tan(radians(60 / 3)) * Half_Flat
+ dvec = vec3 - Vector([x, Half_Flat, 0.0])
Lowest_Point = -dvec.length
- verts.append([x,Half_Flat,-dvec.length])
- Lowest_Z_Vert = min(Lowest_Z_Vert,-dvec.length)
+ verts.append([x, Half_Flat, -dvec.length])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, -dvec.length)
- x = tan(radians(60/2))*Half_Flat
- dvec = vec4 - mathutils.Vector([x,Half_Flat,0.0])
+ x = tan(radians(60 / 2)) * Half_Flat
+ dvec = vec4 - Vector([x, Half_Flat, 0.0])
Lowest_Point = -dvec.length
- verts.append([x,Half_Flat,-dvec.length])
- Lowest_Z_Vert = min(Lowest_Z_Vert,-dvec.length)
+ verts.append([x, Half_Flat, -dvec.length])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, -dvec.length)
Row += 1
- #down Bits Tri
- x = tan(radians(0))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
-
+ # down Bits Tri
+ x = tan(radians(0)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
- x = tan(radians(60/6))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
- x = tan(radians(60/3))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
+ x = tan(radians(60 / 6)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
+ x = tan(radians(60 / 3)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
- x = tan(radians(60/2))*Half_Flat
- verts.append([x,Half_Flat,Lowest_Point])
- Lowest_Z_Vert = min(Lowest_Z_Vert,Lowest_Point)
+ x = tan(radians(60 / 2)) * Half_Flat
+ verts.append([x, Half_Flat, Lowest_Point])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, Lowest_Point)
Row += 1
- #down Bits
+ # down Bits
- x = tan(radians(0))*Half_Flat
- verts.append([x,Half_Flat,-Half_Height])
+ x = tan(radians(0)) * Half_Flat
+ verts.append([x, Half_Flat, -Half_Height])
- x = tan(radians(60/6))*Half_Flat
- verts.append([x,Half_Flat,-Half_Height])
+ x = tan(radians(60 / 6)) * Half_Flat
+ verts.append([x, Half_Flat, -Half_Height])
- x = tan(radians(60/3))*Half_Flat
- verts.append([x,Half_Flat,-Half_Height])
+ x = tan(radians(60 / 3)) * Half_Flat
+ verts.append([x, Half_Flat, -Half_Height])
- x = tan(radians(60/2))*Half_Flat
- verts.append([x,Half_Flat,-Half_Height])
- Lowest_Z_Vert = min(Lowest_Z_Vert,-Half_Height)
+ x = tan(radians(60 / 2)) * Half_Flat
+ verts.append([x, Half_Flat, -Half_Height])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, -Half_Height)
Row += 1
- faces.extend(Build_Face_List_Quads(FaceStart,3,Row - 1))
+ faces.extend(Build_Face_List_Quads(FaceStart, 3, Row - 1))
Global_Head_Height = HEIGHT
- Tvert,tface = Mirror_Verts_Faces(verts,faces,'z',Lowest_Z_Vert)
+ Tvert, tface = Mirror_Verts_Faces(verts, faces, 'z', Lowest_Z_Vert)
verts.extend(Tvert)
faces.extend(tface)
-
- Tvert,tface = Mirror_Verts_Faces(verts,faces,'y')
+ Tvert, tface = Mirror_Verts_Faces(verts, faces, 'y')
verts.extend(Tvert)
faces.extend(tface)
- S_verts,S_faces = SpinDup(verts,faces,360,6,'z')
-
- #return verts,faces,TopBevelRadius
- return S_verts,S_faces,TopBevelRadius
+ S_verts, S_faces = SpinDup(verts, faces, 360, 6, 'z')
+ # return verts, faces, TopBevelRadius
+ return S_verts, S_faces, TopBevelRadius
-def add_Nylon_Head(OUTSIDE_RADIUS,Z_LOCATION,DIV_COUNT):
+def add_Nylon_Head(OUTSIDE_RADIUS, Z_LOCATION, DIV_COUNT):
verts = []
faces = []
Row = 0
- INNER_HOLE = OUTSIDE_RADIUS - (OUTSIDE_RADIUS * (1.25/4.75))
- EDGE_THICKNESS = (OUTSIDE_RADIUS * (0.4/4.75))
- RAD1 = (OUTSIDE_RADIUS * (0.5/4.75))
- OVER_ALL_HEIGTH = (OUTSIDE_RADIUS * (2.0/4.75))
-
+ INNER_HOLE = OUTSIDE_RADIUS - (OUTSIDE_RADIUS * (1.25 / 4.75))
+ EDGE_THICKNESS = (OUTSIDE_RADIUS * (0.4 / 4.75))
+ RAD1 = (OUTSIDE_RADIUS * (0.5 / 4.75))
+ OVER_ALL_HEIGTH = (OUTSIDE_RADIUS * (2.0 / 4.75))
FaceStart = len(verts)
@@ -1575,51 +1500,48 @@ def add_Nylon_Head(OUTSIDE_RADIUS,Z_LOCATION,DIV_COUNT):
x = INNER_HOLE
z = (Height_Offset - OVER_ALL_HEIGTH) + EDGE_THICKNESS
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
x = INNER_HOLE
z = (Height_Offset - OVER_ALL_HEIGTH)
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
-
- for i in range(180,80,-10):
- x = sin(radians(i))*RAD1
- z = cos(radians(i))*RAD1
- verts.append([(OUTSIDE_RADIUS-RAD1)+x,0.0,((Height_Offset - OVER_ALL_HEIGTH)+RAD1)+z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ for i in range(180, 80, -10):
+ x = sin(radians(i)) * RAD1
+ z = cos(radians(i)) * RAD1
+ verts.append([(OUTSIDE_RADIUS - RAD1) + x, 0.0, ((Height_Offset - OVER_ALL_HEIGTH) + RAD1) + z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
-
x = OUTSIDE_RADIUS - 0
z = Height_Offset
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
- sVerts,sFaces = SpinDup(verts,faces,360,DIV_COUNT,'z')
- sVerts.extend(verts) #add the start verts to the Spin verts to complete the loop
+ sVerts, sFaces = SpinDup(verts, faces, 360, DIV_COUNT, 'z')
+ sVerts.extend(verts) # add the start verts to the Spin verts to complete the loop
- faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV_COUNT))
+ faces.extend(Build_Face_List_Quads(FaceStart, Row - 1, DIV_COUNT))
- return Move_Verts_Up_Z(sVerts,0),faces,Lowest_Z_Vert
+ return Move_Verts_Up_Z(sVerts, 0), faces, Lowest_Z_Vert
-
-def add_Nylon_Part(OUTSIDE_RADIUS,Z_LOCATION,DIV_COUNT):
+def add_Nylon_Part(OUTSIDE_RADIUS, Z_LOCATION, DIV_COUNT):
verts = []
faces = []
Row = 0
- INNER_HOLE = OUTSIDE_RADIUS - (OUTSIDE_RADIUS * (1.5/4.75))
- EDGE_THICKNESS = (OUTSIDE_RADIUS * (0.4/4.75))
+ INNER_HOLE = OUTSIDE_RADIUS - (OUTSIDE_RADIUS * (1.5 / 4.75))
+ EDGE_THICKNESS = (OUTSIDE_RADIUS * (0.4 / 4.75))
# RAD1 = (OUTSIDE_RADIUS * (0.5/4.75)) # UNUSED
- OVER_ALL_HEIGTH = (OUTSIDE_RADIUS * (2.0/4.75))
+ OVER_ALL_HEIGTH = (OUTSIDE_RADIUS * (2.0 / 4.75))
PART_THICKNESS = OVER_ALL_HEIGTH - EDGE_THICKNESS
- PART_INNER_HOLE = (OUTSIDE_RADIUS * (2.5/4.75))
+ PART_INNER_HOLE = (OUTSIDE_RADIUS * (2.5 / 4.75))
FaceStart = len(verts)
@@ -1627,275 +1549,269 @@ def add_Nylon_Part(OUTSIDE_RADIUS,Z_LOCATION,DIV_COUNT):
Height_Offset = Z_LOCATION
Lowest_Z_Vert = 0
-
x = INNER_HOLE + EDGE_THICKNESS
z = Height_Offset
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
x = PART_INNER_HOLE
z = Height_Offset
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
x = PART_INNER_HOLE
z = Height_Offset - PART_THICKNESS
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
x = INNER_HOLE + EDGE_THICKNESS
z = Height_Offset - PART_THICKNESS
- verts.append([x,0.0,z])
- Lowest_Z_Vert = min(Lowest_Z_Vert,z)
+ verts.append([x, 0.0, z])
+ Lowest_Z_Vert = min(Lowest_Z_Vert, z)
Row += 1
+ sVerts, sFaces = SpinDup(verts, faces, 360, DIV_COUNT, 'z')
+ sVerts.extend(verts) # add the start verts to the Spin verts to complete the loop
- sVerts,sFaces = SpinDup(verts,faces,360,DIV_COUNT,'z')
- sVerts.extend(verts) #add the start verts to the Spin verts to complete the loop
-
- faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV_COUNT,1))
+ faces.extend(Build_Face_List_Quads(FaceStart, Row - 1, DIV_COUNT, 1))
- return sVerts,faces,0 - Lowest_Z_Vert
+ return sVerts, faces, 0 - Lowest_Z_Vert
-##########################################################################################
-##########################################################################################
-## Create Internal Thread
-##########################################################################################
-##########################################################################################
+# ####################################################################
+# Create Internal Thread
+# ####################################################################
+def Create_Internal_Thread_Start_Verts(verts, INNER_RADIUS, OUTTER_RADIUS, PITCH, DIV,
+ CREST_PERCENT, ROOT_PERCENT, Height_Offset):
-def Create_Internal_Thread_Start_Verts(verts,INNER_RADIUS,OUTTER_RADIUS,PITCH,DIV,CREST_PERCENT,ROOT_PERCENT,Height_Offset):
-
-
- Ret_Row = 0;
-
- Height_Offset = Height_Offset + PITCH #Move the offset up so that the verts start at
- #at the correct place (Height_Start)
+ Ret_Row = 0
+ # Move the offset up so that the verts start at
+ # at the correct place (Height_Start)
+ Height_Offset = Height_Offset + PITCH
# Half_Pitch = float(PITCH)/2 # UNUSED
Height_Start = Height_Offset - PITCH
- Height_Step = float(PITCH)/float(DIV)
- Deg_Step = 360.0 /float(DIV)
+ Height_Step = float(PITCH) / float(DIV)
+ Deg_Step = 360.0 / float(DIV)
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
+ Rank = float(OUTTER_RADIUS - INNER_RADIUS) / float(DIV)
+ for j in range(1): # FIXME - for j in range(1) what?!
- Rank = float(OUTTER_RADIUS - INNER_RADIUS)/float(DIV)
- for j in range(1): #FIXME - for j in range(1) what?!
-
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z])
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
Height_Offset -= Crest_Height
Ret_Row += 1
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
Height_Offset -= Crest_to_Root_Height
Ret_Row += 1
-
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == 0:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ verts.append([x, y, z])
Height_Offset -= Root_Height
Ret_Row += 1
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z > Height_Start:
z = Height_Start
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == 0:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS - (i*Rank))
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS - (i * Rank))
+ verts.append([x, y, z])
Height_Offset -= Root_to_Crest_Height
Ret_Row += 1
- return Ret_Row,Height_Offset
+ return Ret_Row, Height_Offset
-def Create_Internal_Thread_End_Verts(verts,INNER_RADIUS,OUTTER_RADIUS,PITCH,DIV,CREST_PERCENT,ROOT_PERCENT,Height_Offset):
+def Create_Internal_Thread_End_Verts(verts, INNER_RADIUS, OUTTER_RADIUS, PITCH,
+ DIV, CREST_PERCENT, ROOT_PERCENT, Height_Offset):
-
- Ret_Row = 0;
+ Ret_Row = 0
# Half_Pitch = float(PITCH)/2 # UNUSED
- #Height_End = Height_Offset - PITCH - PITCH - PITCH- PITCH - PITCH- PITCH
+ # Height_End = Height_Offset - PITCH - PITCH - PITCH- PITCH - PITCH- PITCH
Height_End = Height_Offset - PITCH
- #Height_End = -2.1
- Height_Step = float(PITCH)/float(DIV)
- Deg_Step = 360.0 /float(DIV)
-
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
+ # Height_End = -2.1
+ Height_Step = float(PITCH) / float(DIV)
+ Deg_Step = 360.0 / float(DIV)
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
- Rank = float(OUTTER_RADIUS - INNER_RADIUS)/float(DIV)
+ Rank = float(OUTTER_RADIUS - INNER_RADIUS) / float(DIV)
Num = 0
for j in range(2):
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z < Height_End:
z = Height_End
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z])
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
Height_Offset -= Crest_Height
Ret_Row += 1
-
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z < Height_End:
z = Height_End
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,z ])
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, z])
Height_Offset -= Crest_to_Root_Height
Ret_Row += 1
-
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z < Height_End:
z = Height_End
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == Num:
- x = sin(radians(i*Deg_Step))*(INNER_RADIUS + (i*Rank))
- y = cos(radians(i*Deg_Step))*(INNER_RADIUS + (i*Rank))
+ x = sin(radians(i * Deg_Step)) * (INNER_RADIUS + (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (INNER_RADIUS + (i * Rank))
if j > Num:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS)
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS )
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS)
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS)
- verts.append([x,y,z ])
+ verts.append([x, y, z])
Height_Offset -= Root_Height
Ret_Row += 1
-
- for i in range(DIV+1):
- z = Height_Offset - (Height_Step*i)
+ for i in range(DIV + 1):
+ z = Height_Offset - (Height_Step * i)
if z < Height_End:
z = Height_End
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
if j == Num:
- x = sin(radians(i*Deg_Step))*(INNER_RADIUS + (i*Rank))
- y = cos(radians(i*Deg_Step))*(INNER_RADIUS + (i*Rank))
+ x = sin(radians(i * Deg_Step)) * (INNER_RADIUS + (i * Rank))
+ y = cos(radians(i * Deg_Step)) * (INNER_RADIUS + (i * Rank))
if j > Num:
- x = sin(radians(i*Deg_Step))*(OUTTER_RADIUS )
- y = cos(radians(i*Deg_Step))*(OUTTER_RADIUS )
+ x = sin(radians(i * Deg_Step)) * (OUTTER_RADIUS)
+ y = cos(radians(i * Deg_Step)) * (OUTTER_RADIUS)
- verts.append([x,y,z ])
+ verts.append([x, y, z])
Height_Offset -= Root_to_Crest_Height
Ret_Row += 1
+ return Ret_Row, Height_End # send back Height End as this is the lowest point
- return Ret_Row,Height_End # send back Height End as this is the lowest point
-
-def Create_Internal_Thread(INNER_DIA,OUTTER_DIA,PITCH,HEIGHT,CREST_PERCENT,ROOT_PERCENT,INTERNAL,DIV_COUNT):
+def Create_Internal_Thread(INNER_DIA, OUTTER_DIA, PITCH, HEIGHT,
+ CREST_PERCENT, ROOT_PERCENT, INTERNAL, DIV_COUNT):
verts = []
faces = []
+ INNER_RADIUS = INNER_DIA / 2
+ OUTTER_RADIUS = OUTTER_DIA / 2
- INNER_RADIUS = INNER_DIA/2
- OUTTER_RADIUS = OUTTER_DIA/2
-
- # Half_Pitch = float(PITCH)/2 # UNUSED
- Deg_Step = 360.0 /float(DIV_COUNT)
- Height_Step = float(PITCH)/float(DIV_COUNT)
+ # Half_Pitch = float(PITCH) / 2 # UNUSED
+ Deg_Step = 360.0 / float(DIV_COUNT)
+ Height_Step = float(PITCH) / float(DIV_COUNT)
- Num = int(round((HEIGHT- PITCH)/PITCH)) # less one pitch for the start and end that is 1/2 pitch high
+ Num = int(round((HEIGHT - PITCH) / PITCH)) # less one pitch for the start and end that is 1/2 pitch high
# Col = 0 # UNUSED
Row = 0
-
- Crest_Height = float(PITCH) * float(CREST_PERCENT)/float(100)
- Root_Height = float(PITCH) * float(ROOT_PERCENT)/float(100)
- Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height))/2.0
+ Crest_Height = float(PITCH) * float(CREST_PERCENT) / float(100)
+ Root_Height = float(PITCH) * float(ROOT_PERCENT) / float(100)
+ Root_to_Crest_Height = Crest_to_Root_Height = (float(PITCH) - (Crest_Height + Root_Height)) / 2.0
Height_Offset = 0
FaceStart = len(verts)
- Row_Inc,Height_Offset = Create_Internal_Thread_Start_Verts(verts,INNER_RADIUS,OUTTER_RADIUS,PITCH,DIV_COUNT,CREST_PERCENT,ROOT_PERCENT,Height_Offset)
+ Row_Inc, Height_Offset = Create_Internal_Thread_Start_Verts(
+ verts, INNER_RADIUS, OUTTER_RADIUS, PITCH,
+ DIV_COUNT, CREST_PERCENT, ROOT_PERCENT,
+ Height_Offset
+ )
Row += Row_Inc
for j in range(Num):
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,Height_Offset - (Height_Step*i) ])
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, Height_Offset - (Height_Step * i)])
Height_Offset -= Crest_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*OUTTER_RADIUS
- y = cos(radians(i*Deg_Step))*OUTTER_RADIUS
- verts.append([x,y,Height_Offset - (Height_Step*i) ])
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * OUTTER_RADIUS
+ y = cos(radians(i * Deg_Step)) * OUTTER_RADIUS
+ verts.append([x, y, Height_Offset - (Height_Step * i)])
Height_Offset -= Crest_to_Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
- verts.append([x,y,Height_Offset - (Height_Step*i) ])
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
+ verts.append([x, y, Height_Offset - (Height_Step * i)])
Height_Offset -= Root_Height
Row += 1
- for i in range(DIV_COUNT+1):
- x = sin(radians(i*Deg_Step))*INNER_RADIUS
- y = cos(radians(i*Deg_Step))*INNER_RADIUS
- verts.append([x,y,Height_Offset - (Height_Step*i) ])
+ for i in range(DIV_COUNT + 1):
+ x = sin(radians(i * Deg_Step)) * INNER_RADIUS
+ y = cos(radians(i * Deg_Step)) * INNER_RADIUS
+ verts.append([x, y, Height_Offset - (Height_Step * i)])
Height_Offset -= Root_to_Crest_Height
Row += 1
-
- Row_Inc,Height_Offset = Create_Internal_Thread_End_Verts(verts,INNER_RADIUS,OUTTER_RADIUS,PITCH,DIV_COUNT,CREST_PERCENT,ROOT_PERCENT,Height_Offset)
+ Row_Inc, Height_Offset = Create_Internal_Thread_End_Verts(
+ verts, INNER_RADIUS, OUTTER_RADIUS,
+ PITCH, DIV_COUNT, CREST_PERCENT,
+ ROOT_PERCENT, Height_Offset
+ )
Row += Row_Inc
- faces.extend(Build_Face_List_Quads(FaceStart,DIV_COUNT,Row -1,INTERNAL))
+ faces.extend(Build_Face_List_Quads(FaceStart, DIV_COUNT, Row - 1, INTERNAL))
- return verts,faces,0 - Height_Offset
+ return verts, faces, 0 - Height_Offset
def Nut_Mesh(props, context):
@@ -1903,122 +1819,164 @@ def Nut_Mesh(props, context):
verts = []
faces = []
Head_Verts = []
- Head_Faces= []
- #sc = context.scene
+ Head_Faces = []
+ # sc = context.scene
New_Nut_Height = 5
Face_Start = len(verts)
- Thread_Verts,Thread_Faces,New_Nut_Height = Create_Internal_Thread(props.bf_Minor_Dia,props.bf_Major_Dia,props.bf_Pitch,props.bf_Hex_Nut_Height,props.bf_Crest_Percent,props.bf_Root_Percent,1,props.bf_Div_Count)
+ Thread_Verts, Thread_Faces, New_Nut_Height = Create_Internal_Thread(
+ props.bf_Minor_Dia, props.bf_Major_Dia,
+ props.bf_Pitch, props.bf_Hex_Nut_Height,
+ props.bf_Crest_Percent, props.bf_Root_Percent,
+ 1, props.bf_Div_Count
+ )
verts.extend(Thread_Verts)
- faces.extend(Copy_Faces(Thread_Faces,Face_Start))
+ faces.extend(Copy_Faces(Thread_Faces, Face_Start))
Face_Start = len(verts)
- Head_Verts,Head_Faces,Lock_Nut_Rad = add_Hex_Nut(props.bf_Hex_Nut_Flat_Distance,props.bf_Major_Dia,New_Nut_Height)
+ Head_Verts, Head_Faces, Lock_Nut_Rad = add_Hex_Nut(
+ props.bf_Hex_Nut_Flat_Distance,
+ props.bf_Major_Dia, New_Nut_Height
+ )
verts.extend((Head_Verts))
- faces.extend(Copy_Faces(Head_Faces,Face_Start))
+ faces.extend(Copy_Faces(Head_Faces, Face_Start))
LowZ = 0 - New_Nut_Height
if props.bf_Nut_Type == 'bf_Nut_Lock':
Face_Start = len(verts)
- Nylon_Head_Verts,Nylon_Head_faces,LowZ = add_Nylon_Head(Lock_Nut_Rad,0-New_Nut_Height,props.bf_Div_Count)
+ Nylon_Head_Verts, Nylon_Head_faces, LowZ = add_Nylon_Head(
+ Lock_Nut_Rad, 0 - New_Nut_Height,
+ props.bf_Div_Count
+ )
verts.extend((Nylon_Head_Verts))
- faces.extend(Copy_Faces(Nylon_Head_faces,Face_Start))
+ faces.extend(Copy_Faces(Nylon_Head_faces, Face_Start))
Face_Start = len(verts)
- Nylon_Verts,Nylon_faces,Temp_LowZ = add_Nylon_Part(Lock_Nut_Rad,0-New_Nut_Height,props.bf_Div_Count)
+ Nylon_Verts, Nylon_faces, Temp_LowZ = add_Nylon_Part(
+ Lock_Nut_Rad, 0 - New_Nut_Height,
+ props.bf_Div_Count
+ )
verts.extend((Nylon_Verts))
- faces.extend(Copy_Faces(Nylon_faces,Face_Start))
+ faces.extend(Copy_Faces(Nylon_faces, Face_Start))
-
- return Move_Verts_Up_Z(verts,0 - LowZ),faces
-
-
-
-##########################################################################################
-##########################################################################################
-##########################################################################################
-## Create Bolt
-##########################################################################################
-##########################################################################################
+ return Move_Verts_Up_Z(verts, 0 - LowZ), faces
+# ####################################################################
+# Create Bolt
+# ####################################################################
def Bolt_Mesh(props, context):
-
verts = []
faces = []
Bit_Verts = []
Bit_Faces = []
Bit_Dia = 0.001
Head_Verts = []
- Head_Faces= []
+ Head_Faces = []
Head_Height = 0.0
- #sc = context.scene
+ # sc = context.scene
- ReSized_Allen_Bit_Flat_Distance = props.bf_Allen_Bit_Flat_Distance # set default
-
-
- Head_Height = props.bf_Hex_Head_Height # will be changed by the Head Functions
+ ReSized_Allen_Bit_Flat_Distance = props.bf_Allen_Bit_Flat_Distance # set default
+ Head_Height = props.bf_Hex_Head_Height # will be changed by the Head Functions
if props.bf_Bit_Type == 'bf_Bit_Allen' and props.bf_Head_Type == 'bf_Head_Pan':
- #need to size Allen bit if it is too big.
- if Allen_Bit_Dia(props.bf_Allen_Bit_Flat_Distance) > Max_Pan_Bit_Dia(props.bf_Pan_Head_Dia):
- ReSized_Allen_Bit_Flat_Distance = Allen_Bit_Dia_To_Flat(Max_Pan_Bit_Dia(props.bf_Pan_Head_Dia)) * 1.05
- #print ("Resized Allen Bit Flat Distance to ",ReSized_Allen_Bit_Flat_Distance)
-
- #bit Mesh
+ # need to size Allen bit if it is too big.
+ if Allen_Bit_Dia(props.bf_Allen_Bit_Flat_Distance) > Max_Pan_Bit_Dia(props.bf_Pan_Head_Dia):
+ ReSized_Allen_Bit_Flat_Distance = Allen_Bit_Dia_To_Flat(
+ Max_Pan_Bit_Dia(props.bf_Pan_Head_Dia)
+ ) * 1.05
+ # print ("Resized Allen Bit Flat Distance to ",ReSized_Allen_Bit_Flat_Distance)
+
+ # Bit Mesh
if props.bf_Bit_Type == 'bf_Bit_Allen':
- Bit_Verts,Bit_Faces,Bit_Dia = Create_Allen_Bit(ReSized_Allen_Bit_Flat_Distance,props.bf_Allen_Bit_Depth)
+ Bit_Verts, Bit_Faces, Bit_Dia = Create_Allen_Bit(
+ ReSized_Allen_Bit_Flat_Distance,
+ props.bf_Allen_Bit_Depth
+ )
if props.bf_Bit_Type == 'bf_Bit_Philips':
- Bit_Verts,Bit_Faces,Bit_Dia = Create_Phillips_Bit(props.bf_Philips_Bit_Dia,props.bf_Philips_Bit_Dia*(0.5/1.82),props.bf_Phillips_Bit_Depth)
-
-
- #Head Mesh
-
- if props.bf_Head_Type =='bf_Head_Hex':
- Head_Verts,Head_Faces,Head_Height = Create_Hex_Head(props.bf_Hex_Head_Flat_Distance,Bit_Dia,props.bf_Shank_Dia,props.bf_Hex_Head_Height)
-
+ Bit_Verts, Bit_Faces, Bit_Dia = Create_Phillips_Bit(
+ props.bf_Philips_Bit_Dia,
+ props.bf_Philips_Bit_Dia * (0.5 / 1.82),
+ props.bf_Phillips_Bit_Depth
+ )
+ # Head Mesh
+ if props.bf_Head_Type == 'bf_Head_Hex':
+ Head_Verts, Head_Faces, Head_Height = Create_Hex_Head(
+ props.bf_Hex_Head_Flat_Distance, Bit_Dia,
+ props.bf_Shank_Dia, props.bf_Hex_Head_Height
+ )
elif props.bf_Head_Type == 'bf_Head_Cap':
- Head_Verts,Head_Faces,Head_Height = Create_Cap_Head(Bit_Dia,props.bf_Cap_Head_Dia,props.bf_Shank_Dia,props.bf_Cap_Head_Height,props.bf_Cap_Head_Dia*(1.0/19.0),props.bf_Cap_Head_Dia*(1.0/19.0),props.DIV_COUNT)
-
- elif props.bf_Head_Type =='bf_Head_Dome':
- Head_Verts,Head_Faces,Head_Height = Create_Dome_Head(Bit_Dia,props.bf_Dome_Head_Dia,props.bf_Shank_Dia,props.bf_Hex_Head_Height,1,1,0,props.bf_Div_Count)
+ Head_Verts, Head_Faces, Head_Height = Create_Cap_Head(
+ Bit_Dia, props.bf_Cap_Head_Dia,
+ props.bf_Shank_Dia, props.bf_Cap_Head_Height,
+ props.bf_Cap_Head_Dia * (1.0 / 19.0),
+ props.bf_Cap_Head_Dia * (1.0 / 19.0),
+ props.bf_Div_Count
+ )
+ elif props.bf_Head_Type == 'bf_Head_Dome':
+ Head_Verts, Head_Faces, Head_Height = Create_Dome_Head(
+ Bit_Dia, props.bf_Dome_Head_Dia,
+ props.bf_Shank_Dia, props.bf_Hex_Head_Height,
+ 1, 1, 0, props.bf_Div_Count
+ )
elif props.bf_Head_Type == 'bf_Head_Pan':
- Head_Verts,Head_Faces,Head_Height = Create_Pan_Head(Bit_Dia,props.bf_Pan_Head_Dia,props.bf_Shank_Dia,props.bf_Hex_Head_Height,1,1,0,props.bf_Div_Count)
-
+ Head_Verts, Head_Faces, Head_Height = Create_Pan_Head(
+ Bit_Dia, props.bf_Pan_Head_Dia,
+ props.bf_Shank_Dia,
+ props.bf_Hex_Head_Height, 1, 1, 0,
+ props.bf_Div_Count
+ )
elif props.bf_Head_Type == 'bf_Head_CounterSink':
- Head_Verts,Head_Faces,Head_Height = Create_CounterSink_Head(Bit_Dia,props.bf_CounterSink_Head_Dia,props.bf_Shank_Dia,props.bf_CounterSink_Head_Dia,props.bf_CounterSink_Head_Dia*(0.09/6.31),props.bf_Div_Count)
-#Head_Verts,Head_Faces,Head_Height = Create_CounterSink_Head(Bit_Dia,props.bf_CounterSink_Head_Dia,props.bf_Shank_Dia,props.bf_CounterSink_Head_Dia,props.bf_CounterSink_Head_Dia*(1.0/19.0))
-
+ Head_Verts, Head_Faces, Head_Height = Create_CounterSink_Head(
+ Bit_Dia, props.bf_CounterSink_Head_Dia,
+ props.bf_Shank_Dia, props.bf_CounterSink_Head_Dia,
+ props.bf_CounterSink_Head_Dia * (0.09 / 6.31),
+ props.bf_Div_Count
+ )
+ """
+ Head_Verts, Head_Faces, Head_Height = Create_CounterSink_Head(
+ Bit_Dia, props.bf_CounterSink_Head_Dia,
+ props.bf_Shank_Dia,
+ props.bf_CounterSink_Head_Dia,
+ props.bf_CounterSink_Head_Dia * (1.0 / 19.0)
+ )
+ """
Face_Start = len(verts)
- verts.extend(Move_Verts_Up_Z(Bit_Verts,Head_Height))
- faces.extend(Copy_Faces(Bit_Faces,Face_Start))
+ verts.extend(Move_Verts_Up_Z(Bit_Verts, Head_Height))
+ faces.extend(Copy_Faces(Bit_Faces, Face_Start))
Face_Start = len(verts)
- verts.extend(Move_Verts_Up_Z(Head_Verts,Head_Height))
- faces.extend(Copy_Faces(Head_Faces,Face_Start))
+ verts.extend(Move_Verts_Up_Z(Head_Verts, Head_Height))
+ faces.extend(Copy_Faces(Head_Faces, Face_Start))
Face_Start = len(verts)
- Thread_Verts,Thread_Faces,Thread_Height = Create_External_Thread(props.bf_Shank_Dia,props.bf_Shank_Length,props.bf_Minor_Dia,props.bf_Major_Dia,props.bf_Pitch,props.bf_Thread_Length,props.bf_Crest_Percent,props.bf_Root_Percent,props.bf_Div_Count)
+ Thread_Verts, Thread_Faces, Thread_Height = Create_External_Thread(
+ props.bf_Shank_Dia, props.bf_Shank_Length,
+ props.bf_Minor_Dia, props.bf_Major_Dia,
+ props.bf_Pitch, props.bf_Thread_Length,
+ props.bf_Crest_Percent,
+ props.bf_Root_Percent, props.bf_Div_Count
+ )
- verts.extend(Move_Verts_Up_Z(Thread_Verts,00))
- faces.extend(Copy_Faces(Thread_Faces,Face_Start))
+ verts.extend(Move_Verts_Up_Z(Thread_Verts, 00))
+ faces.extend(Copy_Faces(Thread_Faces, Face_Start))
+
+ return Move_Verts_Up_Z(verts, Thread_Height), faces
- return Move_Verts_Up_Z(verts,Thread_Height),faces
# calculates the matrix for the new object
# depending on user pref
def align_matrix(context):
loc = Matrix.Translation(context.scene.cursor_location)
obj_align = context.user_preferences.edit.object_align
- if (context.space_data.type == 'VIEW_3D'
- and obj_align == 'VIEW'):
+ if (context.space_data.type == 'VIEW_3D' and obj_align == 'VIEW'):
rot = context.space_data.region_3d.view_matrix.to_3x3().inverted().to_4x4()
else:
rot = Matrix()
@@ -2076,7 +2034,6 @@ def create_mesh_object(context, verts, edges, faces, name, edit, align_matrix):
# Assign new mesh datablock.
ob_new.data = mesh
-
else:
# Create new object
ob_new = bpy.data.objects.new(name, mesh)
@@ -2121,28 +2078,25 @@ def Create_New_Mesh(props, context, align_matrix):
verts = []
faces = []
# sMeshName ='' # UNUSED
- sObjName =''
+ sObjName = ''
if props.bf_Model_Type == 'bf_Model_Bolt':
- #print('Create Bolt')
+ # print('Create Bolt')
verts, faces = Bolt_Mesh(props, context)
# sMeshName = 'Bolt' # UNUSED
sObjName = 'Bolt'
if props.bf_Model_Type == 'bf_Model_Nut':
- #print('Create Nut')
+ # print('Create Nut')
verts, faces = Nut_Mesh(props, context)
# sMeshName = 'Nut' # UNUSED
sObjName = 'Nut'
-
verts, faces = RemoveDoubles(verts, faces)
- verts = Scale_Mesh_Verts(verts,GLOBAL_SCALE)
+ verts = Scale_Mesh_Verts(verts, GLOBAL_SCALE)
- obj = create_mesh_object(context, verts, [], faces,sObjName,
- props.edit, align_matrix)
+ obj = create_mesh_object(context, verts, [], faces, sObjName,
+ props.edit, align_matrix)
return obj
-
-