[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [935] trunk/py/scripts/addons/ add_mesh_BoltFactory: Added counter sink head type

Aaron Keith aaroninusa at gmail.com
Sun Aug 22 12:25:52 CEST 2010


Revision: 935
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-extensions&revision=935
Author:   spudmn
Date:     2010-08-22 12:25:52 +0200 (Sun, 22 Aug 2010)

Log Message:
-----------
Added  counter sink head type

Modified Paths:
--------------
    trunk/py/scripts/addons/add_mesh_BoltFactory/Boltfactory.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/createMesh.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M10.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M12.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M3.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M4.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M5.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M6.py
    trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M8.py

Modified: trunk/py/scripts/addons/add_mesh_BoltFactory/Boltfactory.py
===================================================================
--- trunk/py/scripts/addons/add_mesh_BoltFactory/Boltfactory.py	2010-08-22 00:27:02 UTC (rev 934)
+++ trunk/py/scripts/addons/add_mesh_BoltFactory/Boltfactory.py	2010-08-22 10:25:52 UTC (rev 935)
@@ -59,11 +59,12 @@
             description='Choose the type off model you would like',
             items = Model_Type_List, default = 'bf_Model_Bolt')
 
-    #Head Types
+    #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_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',
@@ -123,6 +124,11 @@
             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,
@@ -210,12 +216,20 @@
         col.prop(props, 'bf_Model_Type')
         col.prop(props, 'bf_presets')
         col.separator()
-        #Shank
+
+        #Bit
         if props.bf_Model_Type == 'bf_Model_Bolt':
-            col.label(text='Shank')
-            col.prop(props, 'bf_Shank_Length')
-            col.prop(props, 'bf_Shank_Dia')
+            col.prop(props, 'bf_Bit_Type')
+            if props.bf_Bit_Type == 'bf_Bit_None':
+                DoNothing = 1;
+            elif props.bf_Bit_Type == 'bf_Bit_Allen':
+                 col.prop(props,'bf_Allen_Bit_Depth')
+                 col.prop(props,'bf_Allen_Bit_Flat_Distance')
+            elif props.bf_Bit_Type == 'bf_Bit_Philips':
+                col.prop(props,'bf_Phillips_Bit_Depth')
+                col.prop(props,'bf_Philips_Bit_Dia')
             col.separator()
+
         #Head
         if props.bf_Model_Type == 'bf_Model_Bolt':
             col.prop(props, 'bf_Head_Type')
@@ -229,19 +243,20 @@
                 col.prop(props,'bf_Dome_Head_Dia')
             elif props.bf_Head_Type == 'bf_Head_Pan':
                 col.prop(props,'bf_Pan_Head_Dia')
+            elif props.bf_Head_Type == 'bf_Head_CounterSink':
+                col.prop(props,'bf_CounterSink_Head_Dia')
             col.separator()
-        #Bit
+        #Shank
         if props.bf_Model_Type == 'bf_Model_Bolt':
-            col.prop(props, 'bf_Bit_Type')
-            if props.bf_Bit_Type == 'bf_Bit_None':
-                DoNothing = 1;
-            elif props.bf_Bit_Type == 'bf_Bit_Allen':
-                 col.prop(props,'bf_Allen_Bit_Depth')
-                 col.prop(props,'bf_Allen_Bit_Flat_Distance')
-            elif props.bf_Bit_Type == 'bf_Bit_Philips':
-                col.prop(props,'bf_Phillips_Bit_Depth')
-                col.prop(props,'bf_Philips_Bit_Dia')
+            col.label(text='Shank')
+            col.prop(props, 'bf_Shank_Length')
+            col.prop(props, 'bf_Shank_Dia')
             col.separator()
+        #Nut
+        if props.bf_Model_Type == 'bf_Model_Nut':
+            col.prop(props, 'bf_Nut_Type')
+            col.prop(props,'bf_Hex_Nut_Height')
+            col.prop(props,'bf_Hex_Nut_Flat_Distance')
         #Thread
         col.label(text='Thread')
         if props.bf_Model_Type == 'bf_Model_Bolt':
@@ -251,13 +266,9 @@
         col.prop(props,'bf_Pitch')
         col.prop(props,'bf_Crest_Percent')
         col.prop(props,'bf_Root_Percent')
-        #Nut
-        if props.bf_Model_Type == 'bf_Model_Nut':
-            col.prop(props, 'bf_Nut_Type')
-            col.prop(props,'bf_Hex_Nut_Height')
-            col.prop(props,'bf_Hex_Nut_Flat_Distance')
 
 
+
     ##### POLL #####
     @classmethod
     def poll(cls, context):
@@ -272,13 +283,14 @@
         if not self.last_preset or props.bf_presets != self.last_preset:
             #print('setting Preset', props.bf_presets)
             setProps(props, props.bf_presets, self.presetsPath)
+            props.bf_Phillips_Bit_Depth = float(Get_Phillips_Bit_Height(props.bf_Philips_Bit_Dia))
 
             self.last_preset = props.bf_presets
 
 
-        props.bf_Phillips_Bit_Depth = float(Get_Phillips_Bit_Height(props.bf_Philips_Bit_Dia))
-        props.bf_Philips_Bit_Dia = props.bf_Pan_Head_Dia*(1.82/5.6)
-        props.bf_Minor_Dia = props.bf_Major_Dia - (1.082532 * props.bf_Pitch)
+        #props.bf_Phillips_Bit_Depth = float(Get_Phillips_Bit_Height(props.bf_Philips_Bit_Dia))
+        #props.bf_Philips_Bit_Dia = props.bf_Pan_Head_Dia*(1.82/5.6)
+        #props.bf_Minor_Dia = props.bf_Major_Dia - (1.082532 * props.bf_Pitch)
         
         Create_New_Mesh(props, context, self.align_matrix)
 

Modified: trunk/py/scripts/addons/add_mesh_BoltFactory/createMesh.py
===================================================================
--- trunk/py/scripts/addons/add_mesh_BoltFactory/createMesh.py	2010-08-22 00:27:02 UTC (rev 934)
+++ trunk/py/scripts/addons/add_mesh_BoltFactory/createMesh.py	2010-08-22 10:25:52 UTC (rev 935)
@@ -16,6 +16,7 @@
 #
 # ##### END GPL LICENSE BLOCK #####
 
+
 import os  #remove this
 import bpy
 
@@ -576,7 +577,7 @@
     sVerts,sFaces = SpinDup(verts,faces,360,DIV,'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,1))
+    faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV))
 
     Global_Head_Height = HEIGHT ;
 
@@ -644,12 +645,60 @@
     sVerts,sFaces = SpinDup(verts,faces,360,DIV,'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,1))
+    faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV))
 
     return sVerts,faces,Dome_Height
 
 
 
+def Create_CounterSink_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1):
+    DIV = 36
+    
+    HOLE_RADIUS = HOLE_DIA * 0.5
+    HEAD_RADIUS = HEAD_DIA * 0.5
+    SHANK_RADIUS = SHANK_DIA * 0.5
+    
+    
+    verts = []
+    faces = []
+    Row = 0
+    BEVEL = HEIGHT * 0.01
+
+
+
+#    HEAD_RADIUS = (HEIGHT/tan(radians(60))) + SHANK_RADIUS
+    HEIGHT = tan(radians(60)) * (HEAD_RADIUS - SHANK_RADIUS)
+    #print (RAD1)
+    
+    FaceStart = len(verts)
+
+    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])
+        Row += 1
+    
+
+    verts.append([SHANK_RADIUS,0.0,0.0-HEIGHT])
+    Row += 1
+
+
+    sVerts,sFaces = SpinDup(verts,faces,360,DIV,'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,1))
+    
+    return sVerts,faces,HEIGHT
+
+
+
+
 def Create_Cap_Head(HOLE_DIA,HEAD_DIA,SHANK_DIA,HEIGHT,RAD1,RAD2):
     DIV = 36
     
@@ -696,12 +745,11 @@
     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,1))
+    faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV))
     
     return sVerts,faces,HEIGHT+RAD2
 
 
-
 def Create_Hex_Head(FLAT,HOLE_DIA,SHANK_DIA,HEIGHT):
     
     verts = []
@@ -1599,7 +1647,7 @@
     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))
-    
+
     return Move_Verts_Up_Z(sVerts,0),faces,Lowest_Z_Vert
 
 
@@ -1652,7 +1700,7 @@
     sVerts,sFaces = SpinDup(verts,faces,360,DIV,'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))
+    faces.extend(Build_Face_List_Quads(FaceStart,Row-1,DIV,1))
 
     return sVerts,faces,0 - Lowest_Z_Vert
 
@@ -1989,6 +2037,9 @@
     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)
 
+    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))
+#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))
@@ -2054,4 +2105,5 @@
 
     #print("Created_Object")
     return
-    
\ No newline at end of file
+    
+

Modified: trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M10.py
===================================================================
--- trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M10.py	2010-08-22 00:27:02 UTC (rev 934)
+++ trunk/py/scripts/addons/add_mesh_BoltFactory/presets/M10.py	2010-08-22 10:25:52 UTC (rev 935)
@@ -4,16 +4,17 @@
 props.bf_Crest_Percent = 10
 props.bf_Root_Percent = 10
 props.bf_Major_Dia = 10.0
-#props.bf_Minor_Dia = props.bf_Major_Dia - (1.082532 * props.bf_Pitch)
+props.bf_Minor_Dia = props.bf_Major_Dia - (1.082532 * props.bf_Pitch)
 props.bf_Hex_Head_Flat_Distance = 17.0
 props.bf_Hex_Head_Height = 6.4
 props.bf_Cap_Head_Dia = 16.0
 props.bf_Cap_Head_Height = 10.0
+props.bf_CounterSink_Head_Dia = 20.0
 props.bf_Allen_Bit_Flat_Distance = 8.0
 props.bf_Allen_Bit_Depth = 5.0
 props.bf_Pan_Head_Dia = 20.0
 props.bf_Dome_Head_Dia = 20.0
-#props.bf_Philips_Bit_Dia = props.bf_Pan_Head_Dia*(1.82/5.6)
+props.bf_Philips_Bit_Dia = props.bf_Pan_Head_Dia*(1.82/5.6)
 #props.bf_Phillips_Bit_Depth = Get_Phillips_Bit_Height(props.bf_Philips_Bit_Dia)
 props.bf_Hex_Nut_Height = 8.0

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list