[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