;;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;; Developer Notes ;;;; ;;;; How these functions work goes as follows ;;;; 1. Alot of the sizes, lengths, and dimensions are broken out of their dialogs so that the dialogs are easier to ;;;; manipulate, and honestly it makes it look nicer :D ;;;; ;;;; 2. As it is, the selection of the face and center point is optional. When not selected, it will create the ;;;; fastener at the world origin ;;;; 2a. When bolts are created the head will be above the origin/workplane with the bolt shaft going downward ;;;; 2b. When nuts and washers are created, they will be above the world origin/workplane ;;;; 2c. When set screws are creaded, they will be below the origin/workplane ;;;; ;;;; 3. the sd-machine-fasteners-listings.lsp (if loaded) can be filled out with partnumbers you or your company use ;;;; ;;;; 4. For the threaded functions to work, you must also load the sd-machine-threads.lsp file so that the fasteners can ;;;; generated with the threads. ;;;; ;;;; 5. The bulk of these dimensions are found in the Machinist's Handbook v26. If not found in the hand book, a web address ;;;; has been provided next to the feature inside their module. ;;;; ;;;; Version 2.4 ;;;; Date March 30, 2017 ;;;; Developer - Chris Palmer ;;;; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (in-package :custom) (use-package :oli) ;;;; =================================================================================================================== ;;;; This switch is to check if the fastener needs to be created or not ;;;; =================================================================================================================== (defvar *sd-generate-fastener* 0) (defvar *FastenerName* nil) (defvar *Current_Part_Obj* nil) (defvar *Current_WorkPlane* nil) (defvar *New_Fastener_Obj* nil) ;;Used in the moving process (defvar *3D_Origin_U* nil) (defvar *3D_Origin_W* nil) (defvar *3D_Origin_V* nil) (defvar *NewOrigin_U* nil) (defvar *NewOrigin_V* nil) (defvar *NewOrigin_W* nil) ;;Other variables (defvar *Use_Company_PDM* nil) ;<- For if you use code to load models by thier part number (defvar *UseStaticPNList* nil) ;<- For if you are retrieving numbers from the sd-machine-fasteners-listing.lsp matrix ;;;; =================================================================================================================== (defun generate-fastener-name (class subclass size length) ;;;; =================================================================================================================== ;;Seperate the classes (setf FastClass (cond ((= class 1)(cond;;Bolts_Ferry ((= subclass 1) "Bolt_Ferry_P") ((= subclass 2) "Bolt_Ferry_F") )) ((= class 2)(cond;;Bolts_Hex ((= subclass 1) "Bolt_Collar_P") ((= subclass 2) "Bolt_Collar_F") ((= subclass 3) "Bolt_Hex_Bolt_P") ((= subclass 4) "Bolt_Hex_Bolt_F") ((= subclass 5) "Bolt_Heavy_Hex_Bolt_P") ((= subclass 6) "Bolt_Heavy_Hex_Bolt_F") ((= subclass 7) "Bolt_Heavy_Hex_Structural_P") ((= subclass 8) "Bolt_Heavy_Hex_Structural_F") ((= subclass 9) "Bolt_Square_Bolt_P") ((= subclass 10) "Bolt_Square_Bolt_F") )) ((= class 3)(cond;;Bolts_Socket ((= subclass 1) "Bolt_Socket_Hd-P") ((= subclass 2) "Bolt_Socket_Hd-F") ((= subclass 3) "Bolt_Button_Hd") ((= subclass 4) "Bolt_Flat_Hd") ((= subclass 5) "Bolt_Low_Hd") ((= subclass 6) "Bolt_Shoulder") )) ((= class 4)(cond;;Washers ((= subclass 1) "Washer_Plain_A_Nar") ((= subclass 2) "Washer_Plain_A_Reg") ((= subclass 3) "Washer_Plain_A_Wid") ((= subclass 4) "Washer_Plain_B_Nar") ((= subclass 5) "Washer_Plain_B_Reg") ((= subclass 6) "Washer_Plain_B_Wid") ((= subclass 7) "Washer_High_Collar") ((= subclass 8) "Washer_Spg_Lck_Reg") ((= subclass 9) "Washer_Spg_Lck_Hvy") ((= subclass 10) "Washer_Spg_Lck_E-D") ((= subclass 11) "Washer_Int_Tth_Lck") ((= subclass 12) "Washer_Int_Tth_Lck_Hvy") ((= subclass 13) "Washer_Ext_Tth_Lck") ((= subclass 14) "Washer_Int_Ext_Th_Lck_A") ((= subclass 15) "Washer_Int_Ext_Th_Lck_B") )) ((= class 5)(cond;;Hex_Nuts ((= subclass 1) "Nut_Hex") ((= subclass 2) "Nut_Hex_WF") ((= subclass 3) "Nut_Hex_Flat") ((= subclass 4) "Nut_Heavy_Hex") ((= subclass 5) "Nut_Heavy_Hex_WF") ((= subclass 6) "Nut_Heavy_Hex_Flat") ((= subclass 7) "Nut_Hex_Jamb") ((= subclass 8) "Nut_Hex_Jamb_WF") ((= subclass 9) "Nut_Hex_Flat_Jamb") ((= subclass 10) "Nut_Heavy_Hex_Jamb") ((= subclass 11) "Nut_Heavy_Hex_Jamb_WF") ((= subclass 12) "Nut_Heavy_Hex_Flat_Jamb") ((= subclass 13) "Nut_Hex_Slotted") ((= subclass 14) "Nut_Hex_Slotted_WF") ((= subclass 15) "Nut_Heavy_Hex_Slotted") ((= subclass 16) "Nut_Heavy_Hex_Slotted_WF") ((= subclass 17) "Nut_Thick_Hex_Slotted") ((= subclass 18) "Nut_Thick_Hex_Slotted_WF") ((= subclass 19) "Nut_Square") ((= subclass 20) "Nut_Heavy_Square") )) ((= class 6)(cond;;Set_Screws ((= subclass 1) "SS_Cone_Pnt") ((= subclass 2) "SS_Cup_Pnt") ((= subclass 3) "SS_Dog_Pnt") ((= subclass 4) "SS_Hlf_Dog_Pnt") ((= subclass 5) "SS_Flat_Pnt") ((= subclass 6) "SS_Oval_Pnt") )) ((= class 7)(cond;;Pins ((= subclass 1) "Pin_Std_Harden") ((= subclass 2) "Pin_Std_Harden_OS") ((= subclass 3) "Pin_Std_Ground_Dowel") ((= subclass 4) "Pin_Std_UnGround_Dowel") ((= subclass 5) "Pin_Std_Taper_Commercial") ((= subclass 6) "Pin_Std_Taper_Precision") ((= subclass 7) "Pin_Clevis") ((= subclass 8) "Pin_Slotted_Sprg") ((= subclass 9) "Pin_Coil_Sprg_Lt") ((= subclass 10) "Pin_Coil_Sprg_Std") ((= subclass 11) "Pin_Coil_Sprg_Hvy") )) );;FastClass FastSize0 (sd-read-from-string (sd-write-to-string size 6)) FastSize1 (cond ;;Check for pin sizing ((= Class 7)(cond ((or(= subclass 5)(= subclass 6))(cond ((= size 0.0625)"No_7_0") ((= size 0.0780)"No_6_0") ((= size 0.0940)"No_5_0") ((= size 0.1090)"No_4_0") ((= size 0.1250)"No_3_0") ((= size 0.1410)"No_2_0") ((= size 0.1560)"No_0") ((= size 0.1720)"No_1") ((= size 0.1930)"No_2") ((= size 0.2190)"No_3") ((= size 0.2500)"No_4") ((= size 0.2890)"No_5") ((= size 0.3410)"No_6") ((= size 0.4090)"No_7") ((= size 0.4920)"No_8") ((= size 0.5910)"No_9") ((= size 0.7060)"No_10") ((= size 0.8600)"No_11") ((= size 1.0320)"No_12") ((= size 1.2410)"No_13") ((= size 1.5210)"No_14") (t (sd-write-to-string size 4) ) )) (t (sd-write-to-string size 4) ) )) ;;These are washer sizes ((= size 0.112001) "No_4-A") ((= size 0.112002) "No_4-B") ((= size 0.112003) "No_4-C") ((= size 0.138001) "No_6-A") ((= size 0.138002) "No_6-B") ((= size 0.138003) "No_6-C") ((= size 0.164001) "No_8-A") ((= size 0.164002) "No_8-B") ((= size 0.164003) "No_8-C") ((= size 0.190001) "No_10-A")((= size 0.190002) "No_10-B")((= size 0.190003) "No_10-C")((= size 0.190004) "No_10-D") ((= size 0.216001) "No_12-A")((= size 0.216002) "No_12-B")((= size 0.216003) "No_12-C")((= size 0.216004) "No_12-D") ((= size 0.250001) "1/4-A") ((= size 0.250002) "1/4-B") ((= size 0.250003) "1/4-C") ((= size 0.250004) "1/4-D") ((= size 0.312501) "5/16-A") ((= size 0.312502) "5/16-B") ((= size 0.312503) "5/16-C") ((= size 0.312504) "5/16-D") ((= size 0.375001) "3/8-A") ((= size 0.375002) "3/8-B") ((= size 0.375003) "3/8-C") ((= size 0.375004) "3/8-D") ((= size 0.437501) "7/16-A") ((= size 0.437502) "7/16-B") ((= size 0.437503) "7/16-C") ((= size 0.437504) "7/16-D") ((= size 0.500001) "1/2-A") ((= size 0.500002) "1/2-B") ((= size 0.500003) "1/2-C") ((= size 0.500004) "1/2-D") ((= size 0.562501) "9/16-A") ((= size 0.562502) "9/16-B") ((= size 0.562503) "9/16-C") ((= size 0.562504) "9/16-D") ((= size 0.625001) "5/8-A") ((= size 0.625002) "5/8-B") ((= size 0.625003) "5/8-C") ((= size 0.625004) "5/8-D") ;;Now for sizes smaller than 1/8in ((= size 0.0600) "No_0") ((= size 0.0730) "No_1") ((= size 0.0860) "No_2") ((= size 0.0990) "No_3") ((= size 0.1120) "No_4") ((= size 0.1251) "No_5") ((= size 0.1380) "No_6") ((= size 0.1640) "No_8") ((= size 0.1900) "No_10") ((= size 0.2160) "No_12") (t (sd-write-to-string size 4) ) );cond;t-cond FastLength (cond ((equal length nil)"") (t (sd-write-to-string length 4) ) );cond PartName0 (cond ((equal length nil)(format nil "~A_~A" FastClass FastSize1)) (t (format nil "~A_~A_X_~A" FastClass FastSize1 FastLength) ) );cond );setf (setq *FastenerName* PartName0) (print (format nil "~% Here is the Generic Part Name - ~% >> Type = ~A~% >> Size = ~A~% >> Length = ~A~% >> Name = ~A" FastClass FastSize1 FastLength PartName0)) );defun ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;; Define the fastener creation functions; break them out from the modules %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (defvar *FastThdRad* nil) (defvar *FastThdFace* nil) ;;;; =================================================================================================================== (defun sd_create_fastener_bolt_ferry (Name Type Size Length) ;;;; =================================================================================================================== ;;Logit (print ">> Creating the Ferry Bolt") ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4 ) ;;Seperate the different bolt types followed by dimension values (cond ((= Size 0.2500) (setf E (* mm 0.2435) C (*(/(+ 0.3750 0.3650)2)mm) F (*(/(+ 0.2520 0.2440)2)mm) G (* mm 0.2780) H (* mm 0.260) J (* mm 0.150) K (* mm 0.0580) M (*(/(+ 0.014 0.009)2)mm) LB (* mm 0.087) LT (* mm 1.000) LG (*(- Length 1.000)mm) )); 0.2500 ((= Size 0.3125) (setf E (* mm 0.3053) C (*(/(+ 0.4690 0.4570)2)mm) F (*(/(+ 0.3150 0.3060)2)mm) G (* mm 0.3480) H (* mm 0.312) J (* mm 0.180) K (* mm 0.0740) M (*(/(+ 0.017 0.012)2)mm) LB (* mm 0.087) LT (* mm 1.125) LG (*(- Length 1.125)mm) )); 0.3125 ((= Size 0.3750) (setf E (* mm 0.3678) C (*(/(+ 0.5620 0.5500)2)mm) F (*(/(+ 0.3770 0.3680)2)mm) G (* mm 0.4200) H (* mm 0.375) J (* mm 0.210) K (* mm 0.0950) M (*(/(+ 0.020 0.015)2)mm) LB (* mm 0.087) LT (* mm 1.250) LG (*(- Length 1.250)mm) )); 0.3750 ((= Size 0.4375) (setf E (* mm 0.4294) C (*(/(+ 0.6560 0.6420)2)mm) F (*(/(+ 0.4380 0.4290)2)mm) G (* mm 0.4890) H (* mm 0.438) J (* mm 0.260) K (* mm 0.1090) M (*(/(+ 0.023 0.018)2)mm) LB (* mm 0.087) LT (* mm 1.375) LG (*(- Length 1.375)mm) )); 0.4375 ((= Size 0.5000) (setf E (* mm 0.4919) C (*(/(+ 0.7500 0.7350)2)mm) F (*(/(+ 0.5020 0.4930)2)mm) G (* mm 0.5620) H (* mm 0.500) J (* mm 0.290) K (* mm 0.1290) M (*(/(+ 0.026 0.020)2)mm) LB (* mm 0.087) LT (* mm 1.500) LG (*(- Length 1.500)mm) )); 0.5000 ((= Size 0.5625) (setf E (* mm 0.5538) C (*(/(+ 0.8440 0.8280)2)mm) F (*(/(+ 0.4640 0.5550)2)mm) G (* mm 0.6330) H (* mm 0.583) J (* mm 0.330) K (* mm 0.1450) M (*(/(+ 0.029 0.022)2)mm) LB (* mm 0.157) LT (* mm 1.625) LG (*(- Length 1.625)mm) )); 0.5625 ((= Size 0.6250) (setf E (* mm 0.6163) C (*(/(+ 0.9380 0.9210)2)mm) F (*(/(+ 0.6270 0.6180)2)mm) G (* mm 0.7050) H (* mm 0.625) J (* mm 0.360) K (* mm 0.1660) M (*(/(+ 0.032 0.024)2)mm) LB (* mm 0.157) LT (* mm 1.725) LG (*(- Length 1.725)mm) )); 0.6250 ((= Size 0.7500) (setf E (* mm 0.7406) C (*(/(+ 1.1250 1.1070)2)mm) F (*(/(+ 0.7520 0.7430)2)mm) G (* mm 0.8470) H (* mm 0.750) J (* mm 0.440) K (* mm 0.2000) M (*(/(+ 0.039 0.030)2)mm) LB (* mm 0.157) LT (* mm 2.000) LG (*(- Length 2.000)mm) )); 0.7500 ((= Size 0.8750) (setf E (* mm 0.8647) C (*(/(+ 1.3120 1.2930)2)mm) F (*(/(+ 0.8770 0.8660)2)mm) G (* mm 0.9870) H (* mm 0.875) J (* mm 0.510) K (* mm 0.2340) M (*(/(+ 0.044 0.034)2)mm) LB (* mm 0.227) LT (* mm 2.250) LG (*(- Length 2.250)mm) )); 0.8750 ((= Size 1.0000) (setf E (* mm 0.9886) C (*(/(+ 1.5000 1.4790)2)mm) F (*(/(+ 1.0030 0.9910)2)mm) G (* mm 1.1300) H (* mm 1.000) J (* mm 0.600) K (* mm 0.2680) M (*(/(+ 0.050 0.040)2)mm) LB (* mm 0.332) LT (* mm 2.500) LG (*(- Length 2.250)mm) )); 1.0000 ((= Size 1.1250) (setf E (* mm 1.1086) C (*(/(+ 1.6880 1.6650)2)mm) F (*(/(+ 1.1280 1.1150)2)mm) G (* mm 1.2710) H (* mm 1.125) J (* mm 0.660) K (* mm 0.3100) M (*(/(+ 0.055 0.045)2)mm) LB (* mm 0.332) LT (* mm 2.750) LG (*(- Length 2.750)mm) )); 1.1250 ((= Size 1.2500) (setf E (* mm 1.2336) C (*(/(+ 1.8750 1.8520)2)mm) F (*(/(+ 1.2530 1.2400)2)mm) G (* mm 1.4140) H (* mm 1.250) J (* mm 0.730) K (* mm 0.3500) M (*(/(+ 0.060 0.050)2)mm) LB (* mm 0.332) LT (* mm 3.000) LG (*(- Length 3.000)mm) )); 1.2500 ((= Size 1.3750) (setf E (* mm 1.3568) C (*(/(+ 2.0620 2.0380)2)mm) F (*(/(+ 1.2530 1.3780)2)mm) G (* mm 1.4140) H (* mm 1.375) J (* mm 0.730) K (* mm 0.3500) M (*(/(+ 0.065 0.055)2)mm) LB (* mm 0.332) LT (* mm 3.250) LG (*(- Length 3.250)mm) )); 1.3750 ((= Size 1.5000) (setf E (* mm 1.4818) C (*(/(+ 2.2500 2.2240)2)mm) F (*(/(+ 1.5030 1.4890)2)mm) G (* mm 1.6970) H (* mm 1.500) J (* mm 0.870) K (* mm 0.4330) M (*(/(+ 0.070 0.060)2)mm) LB (* mm 0.332) LT (* mm 3.500) LG (*(- Length 3.500)mm) )); 1.5000 ((= Size 1.7500) (setf E (* mm 1.7277) C (*(/(+ 2.6246 2.5968)2)mm) F (*(/(+ 1.7530 1.7384)2)mm) G (* mm 1.9812) H (* mm 1.750) J (* mm 1.004) K (* mm 0.5154) M (*(/(+ 0.080 0.070)2)mm) LB (* mm 0.332) LT (* mm 4.000) LG (*(- Length 4.000)mm) )); 1.7500 ((= Size 2.0000) (setf E (* mm 1.9746) C (*(/(+ 2.9994 2.9694)2)mm) F (*(/(+ 2.0030 1.9876)2)mm) G (* mm 2.2650) H (* mm 2.000) J (* mm 1.140) K (* mm 0.5978) M (*(/(+ 0.090 0.080)2)mm) LB (* mm 0.332) LT (* mm 4.500) LG (*(- Length 4.500)mm) )); 2.0000 );cond ;;Adjust the incraments (setf C0 (* C 0.5) G0 (* G 0.5) F0 (* F 0.5) E0 (* E 0.5) NLT (* LT -1) NLG (* LG -1) NLB (* LB -1) );setf ;;Setup the global variable for later (setq *FastThdRad* (cond ((= Type 1) (- E0 0.00001)) ((= Type 2) E0 ) ) ) (print(format nil " >> This will be the thread radius -> ~Ain | ~Amm" (sd-num-to-string (/ *FastThdRad* 25.4) 6) (sd-num-to-string *FastThdRad* 6) )) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds(create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create Origin Crosshairs from Construction lines (sd-call-cmds(uic_c_line_cross_cp 0,0)) ;;Default Workplanes geometry to real geoemetry (sd-call-cmds(geometry_mode :real)) ;;Create the profile (print " >> Creating the bolt profile") ;;Create the head first, as this will always be the same (print " >> Creating the head geometry") (sd-call-cmds(polygon (gpnt2d 0.0 0.0) (gpnt2d 0.0 H) (gpnt2d F0 H) (gpnt2d G0 (- H (* (- G0 F0) 0.57735))) (gpnt2d G0 (- H J)) (gpnt2d C0 K) (gpnt2d C0 0.00000) (gpnt2d E0 0.00000) ;Point -R ));sd-call-cmds ;;Create the bolt shaft (print " >> Creating the bolt shaft") (cond ((= Type 1) ;Partial Thread (sd-call-cmds(polygon ;;Body Transition (gpnt2d E0 0.00000) ;Point -R ;;Body Profile 0.25 = 6.35 (gpnt2d E0 NLG ) (gpnt2d (- E0 0.00001) NLG ) ;;Thread profile (gpnt2d (- E0 0.00001) (+ NLT NLG) ) ;;Bottom Face (gpnt2d 0.00000 (* -25.4 Length) ) (gpnt2d 0.00000 0.00000 ) ));sd-call-cmds );=1 ((= Type 2) ;Full-Length Thread (sd-call-cmds(polygon ;;Body Transition (gpnt2d E0 0.0000) ;Point -R ;;Body Profile (gpnt2d E0 (* -25.4 Length) ) ;;Bottom Face (gpnt2d 0.00000 (* -25.4 Length) ) (gpnt2d 0.00000 0.00000 ) ));sd-call-cmds );=2 );cond (sd-call-cmds(fillet :create :fillet_radius (gpnt2d E0 0.00000) M)) (sd-call-cmds(turn :part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :rotation_angle (sd-deg-to-rad 360) :axis :z :keep_wp :no :keep_profile :no ));sd-call-cmds ;;Cut out the 12 points (print " >> Creating the Bolt Cap") ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds (sd-call-cmds(position_wp (sd-inq-curr-wp) :par_wp :ref_wp (sd-inq-curr-wp) :offset (- H J) ));sd-call-cmds (sd-call-cmds(polygon (gpnt2d (* G0 0.0000000000000000) (* G0 1.0000000000000000)) (gpnt2d (* F0 0.25881904510252085) (* F0 0.96592582628906820)) (gpnt2d (* G0 0.5000000000000000) (* G0 0.8660254037844385)) (gpnt2d (* F0 0.70710678118654757) (* F0 0.70710678118654735)) (gpnt2d (* G0 0.8660254037844385) (* G0 0.5000000000000000)) (gpnt2d (* F0 0.96592582628906831) (* F0 0.25881904510252074)) (gpnt2d (* G0 1.0000000000000000) (* G0 0.0000000000000000)) (gpnt2d (* F0 0.96592582628906831) (* F0 -0.25881904510252074)) (gpnt2d (* G0 0.8660254037844385) (* G0 -0.5000000000000000)) (gpnt2d (* F0 0.70710678118654757) (* F0 -0.70710678118654735)) (gpnt2d (* G0 0.5000000000000000) (* G0 -0.8660254037844385)) (gpnt2d (* F0 0.25881904510252085) (* F0 -0.96592582628906820)) (gpnt2d (* G0 0.0000000000000000) (* G0 -1.0000000000000000)) (gpnt2d (* F0 -0.25881904510252085) (* F0 -0.96592582628906820)) (gpnt2d (* G0 -0.5000000000000000) (* G0 -0.8660254037844385)) (gpnt2d (* F0 -0.70710678118654757) (* F0 -0.70710678118654735)) (gpnt2d (* G0 -0.8660254037844385) (* G0 -0.5000000000000000)) (gpnt2d (* F0 -0.96592582628906831) (* F0 -0.25881904510252074)) (gpnt2d (* G0 -1.0000000000000000) (* G0 0.0000000000000000)) (gpnt2d (* F0 -0.96592582628906831) (* F0 0.25881904510252074)) (gpnt2d (* G0 -0.8660254037844385) (* G0 0.5000000000000000)) (gpnt2d (* F0 -0.70710678118654757) (* F0 0.70710678118654735)) (gpnt2d (* G0 -0.5000000000000000) (* G0 0.8660254037844385)) (gpnt2d (* F0 -0.25881904510252085) (* F0 0.96592582628906820)) :close ));sd-call-cmds (sd-call-cmds(circle :cen_rad 0,0 C));sd-call-cmds (setf PartThk H) ;;Extrude the profile (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :remove_material ));sd-call-cmds );defun ;;;; =================================================================================================================== (defun sd_create_fastener_bolt_hex (Name Type Size Length WasherFace) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;Seperate the different hex bolt Types followed by dimension values (cond ;((or(= Type 1)(= Type 2)) (cond ;Collar ; ((= Size 1.0000)(setf BodyRadE (*(/ 0.000 2)mm) HlfAFltmm (*(/(+ 0.000 0.000)2)mm) HeadHghtHmm (*(/(+ 0.000 0.000)2)mm) ThdLenmm (* -0.000 mm) Radmm (*(/(+ 0.00 0.00)2)mm) Hex 1 WF 0 Profile 1 ) );1 ;));cond-Hex Bolt ((or(= Type 3)(= Type 4)) (cond ;Hex Bolt ((= Size 0.2500)(setf BodyRadE (*(/ 0.260 2)mm) HlfAFltmm (*(/(+ 0.438 0.425)2)mm) HeadHghtHmm (*(/(+ 0.188 0.150)2)mm) ThdLenmm (* -0.750 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );1/4 ((= Size 0.3125)(setf BodyRadE (*(/ 0.324 2)mm) HlfAFltmm (*(/(+ 0.500 0.484)2)mm) HeadHghtHmm (*(/(+ 0.235 0.195)2)mm) ThdLenmm (* -0.875 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );5/16 ((= Size 0.3750)(setf BodyRadE (*(/ 0.388 2)mm) HlfAFltmm (*(/(+ 0.562 0.544)2)mm) HeadHghtHmm (*(/(+ 0.268 0.226)2)mm) ThdLenmm (* -1.000 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );3/8 ((= Size 0.4375)(setf BodyRadE (*(/ 0.452 2)mm) HlfAFltmm (*(/(+ 0.625 0.603)2)mm) HeadHghtHmm (*(/(+ 0.316 0.272)2)mm) ThdLenmm (* -1.125 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );7/16 ((= Size 0.5000)(setf BodyRadE (*(/ 0.515 2)mm) HlfAFltmm (*(/(+ 0.750 0.725)2)mm) HeadHghtHmm (*(/(+ 0.364 0.302)2)mm) ThdLenmm (* -1.250 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );1/2 ((= Size 0.6250)(setf BodyRadE (*(/ 0.642 2)mm) HlfAFltmm (*(/(+ 0.938 0.906)2)mm) HeadHghtHmm (*(/(+ 0.444 0.378)2)mm) ThdLenmm (* -1.500 mm) Radmm (*(/(+ 0.06 0.02)2)mm) Hex 1 WF 0 ) );5/8 ((= Size 0.7500)(setf BodyRadE (*(/ 0.768 2)mm) HlfAFltmm (*(/(+ 1.125 1.088)2)mm) HeadHghtHmm (*(/(+ 0.524 0.455)2)mm) ThdLenmm (* -1.750 mm) Radmm (*(/(+ 0.06 0.02)2)mm) Hex 1 WF 0 ) );3/4 ((= Size 0.8750)(setf BodyRadE (*(/ 0.895 2)mm) HlfAFltmm (*(/(+ 1.312 1.269)2)mm) HeadHghtHmm (*(/(+ 0.604 0.531)2)mm) ThdLenmm (* -2.000 mm) Radmm (*(/(+ 0.06 0.02)2)mm) Hex 1 WF 0 ) );7/8 ((= Size 1.0000)(setf BodyRadE (*(/ 1.022 2)mm) HlfAFltmm (*(/(+ 1.500 1.450)2)mm) HeadHghtHmm (*(/(+ 0.700 0.591)2)mm) ThdLenmm (* -2.250 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 ((= Size 1.1250)(setf BodyRadE (*(/ 1.149 2)mm) HlfAFltmm (*(/(+ 1.688 1.631)2)mm) HeadHghtHmm (*(/(+ 0.780 0.658)2)mm) ThdLenmm (* -2.500 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 1/8 ((= Size 1.2500)(setf BodyRadE (*(/ 1.277 2)mm) HlfAFltmm (*(/(+ 1.875 1.812)2)mm) HeadHghtHmm (*(/(+ 0.876 0.749)2)mm) ThdLenmm (* -2.750 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 1/4 ((= Size 1.3750)(setf BodyRadE (*(/ 1.404 2)mm) HlfAFltmm (*(/(+ 2.062 1.994)2)mm) HeadHghtHmm (*(/(+ 0.940 0.810)2)mm) ThdLenmm (* -3.000 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 3/8 ((= Size 1.5000)(setf BodyRadE (*(/ 1.531 2)mm) HlfAFltmm (*(/(+ 2.250 2.175)2)mm) HeadHghtHmm (*(/(+ 1.036 0.902)2)mm) ThdLenmm (* -3.250 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 1/2 ((= Size 1.6250)(setf BodyRadE (*(/ 1.658 2)mm) HlfAFltmm (*(/(+ 2.438 2.356)2)mm) HeadHghtHmm (*(/(+ 1.116 0.978)2)mm) ThdLenmm (* -3.250 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 3/4 ((= Size 1.7500)(setf BodyRadE (*(/ 1.785 2)mm) HlfAFltmm (*(/(+ 2.625 2.538)2)mm) HeadHghtHmm (*(/(+ 1.196 1.054)2)mm) ThdLenmm (* -3.750 mm) Radmm (*(/(+ 0.12 0.04)2)mm) Hex 1 WF 0 ) );1 3/4 ((= Size 1.8750)(setf BodyRadE (*(/ 1.912 2)mm) HlfAFltmm (*(/(+ 2.812 2.719)2)mm) HeadHghtHmm (*(/(+ 1.276 1.130)2)mm) ThdLenmm (* -4.000 mm) Radmm (*(/(+ 0.12 0.04)2)mm) Hex 1 WF 0 ) );1 7/8 ((= Size 2.0000)(setf BodyRadE (*(/ 2.039 2)mm) HlfAFltmm (*(/(+ 3.000 2.900)2)mm) HeadHghtHmm (*(/(+ 1.388 1.175)2)mm) ThdLenmm (* -4.250 mm) Radmm (*(/(+ 0.12 0.04)2)mm) Hex 1 WF 0 ) );2 ((= Size 2.2500)(setf BodyRadE (*(/ 2.305 2)mm) HlfAFltmm (*(/(+ 3.375 3.262)2)mm) HeadHghtHmm (*(/(+ 1.548 1.327)2)mm) ThdLenmm (* -4.750 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );2 1/4 ((= Size 2.5000)(setf BodyRadE (*(/ 2.559 2)mm) HlfAFltmm (*(/(+ 3.750 3.625)2)mm) HeadHghtHmm (*(/(+ 1.708 1.479)2)mm) ThdLenmm (* -5.250 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );2 1/2 ((= Size 2.7500)(setf BodyRadE (*(/ 2.827 2)mm) HlfAFltmm (*(/(+ 4.125 3.988)2)mm) HeadHghtHmm (*(/(+ 1.869 1.632)2)mm) ThdLenmm (* -5.750 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );2 3/4 ((= Size 3.0000)(setf BodyRadE (*(/ 3.081 2)mm) HlfAFltmm (*(/(+ 4.500 4.350)2)mm) HeadHghtHmm (*(/(+ 2.060 1.815)2)mm) ThdLenmm (* -6.250 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );3 ((= Size 3.2500)(setf BodyRadE (*(/ 3.335 2)mm) HlfAFltmm (*(/(+ 4.875 4.712)2)mm) HeadHghtHmm (*(/(+ 2.251 1.936)2)mm) ThdLenmm (* -6.750 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );3 1/4 ((= Size 3.5000)(setf BodyRadE (*(/ 3.589 2)mm) HlfAFltmm (*(/(+ 5.250 5.075)2)mm) HeadHghtHmm (*(/(+ 2.380 2.057)2)mm) ThdLenmm (* -7.250 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );3 1/2 ((= Size 3.7500)(setf BodyRadE (*(/ 3.858 2)mm) HlfAFltmm (*(/(+ 5.625 5.437)2)mm) HeadHghtHmm (*(/(+ 2.572 2.241)2)mm) ThdLenmm (* -7.750 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );3 3/4 ((= Size 4.0000)(setf BodyRadE (*(/ 4.111 2)mm) HlfAFltmm (*(/(+ 6.000 5.800)2)mm) HeadHghtHmm (*(/(+ 2.764 2.424)2)mm) ThdLenmm (* -8.250 mm) Radmm (*(/(+ 0.19 0.06)2)mm) Hex 1 WF 0 ) );4") ));cond-Hex Bolt ((or(= Type 5)(= Type 6)) (cond ;Heavy Hex Bolt ((= Size 0.3750)(setf BodyRadE (*(/ 0.388 2)mm) HlfAFltmm (*(/(+ 0.688 0.669)2)mm) HeadHghtHmm (*(/(+ 0.268 0.226)2)mm) ThdLenmm (* -1.000 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );3/8 ((= Size 0.5000)(setf BodyRadE (*(/ 0.515 2)mm) HlfAFltmm (*(/(+ 0.875 0.850)2)mm) HeadHghtHmm (*(/(+ 0.364 0.302)2)mm) ThdLenmm (* -1.250 mm) Radmm (*(/(+ 0.03 0.01)2)mm) Hex 1 WF 0 ) );1/2 ((= Size 0.6250)(setf BodyRadE (*(/ 0.642 2)mm) HlfAFltmm (*(/(+ 1.062 1.031)2)mm) HeadHghtHmm (*(/(+ 0.444 0.378)2)mm) ThdLenmm (* -1.500 mm) Radmm (*(/(+ 0.06 0.02)2)mm) Hex 1 WF 0 ) );5/8 ((= Size 0.7500)(setf BodyRadE (*(/ 0.768 2)mm) HlfAFltmm (*(/(+ 1.250 1.212)2)mm) HeadHghtHmm (*(/(+ 0.524 0.455)2)mm) ThdLenmm (* -1.750 mm) Radmm (*(/(+ 0.06 0.02)2)mm) Hex 1 WF 0 ) );3/4 ((= Size 0.8750)(setf BodyRadE (*(/ 0.895 2)mm) HlfAFltmm (*(/(+ 1.438 1.394)2)mm) HeadHghtHmm (*(/(+ 0.604 0.531)2)mm) ThdLenmm (* -2.000 mm) Radmm (*(/(+ 0.06 0.02)2)mm) Hex 1 WF 0 ) );7/8 ((= Size 1.0000)(setf BodyRadE (*(/ 1.022 2)mm) HlfAFltmm (*(/(+ 1.625 1.575)2)mm) HeadHghtHmm (*(/(+ 0.700 0.591)2)mm) ThdLenmm (* -2.250 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 ((= Size 1.1250)(setf BodyRadE (*(/ 1.149 2)mm) HlfAFltmm (*(/(+ 1.812 1.756)2)mm) HeadHghtHmm (*(/(+ 0.780 0.658)2)mm) ThdLenmm (* -2.500 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 1/8 ((= Size 1.2500)(setf BodyRadE (*(/ 1.277 2)mm) HlfAFltmm (*(/(+ 2.000 1.938)2)mm) HeadHghtHmm (*(/(+ 0.876 0.749)2)mm) ThdLenmm (* -2.750 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 1/4 ((= Size 1.3750)(setf BodyRadE (*(/ 1.404 2)mm) HlfAFltmm (*(/(+ 2.188 2.119)2)mm) HeadHghtHmm (*(/(+ 0.940 0.810)2)mm) ThdLenmm (* -3.000 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 3/8 ((= Size 1.5000)(setf BodyRadE (*(/ 1.531 2)mm) HlfAFltmm (*(/(+ 2.375 2.300)2)mm) HeadHghtHmm (*(/(+ 1.036 0.902)2)mm) ThdLenmm (* -3.250 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 1/2 ((= Size 1.6250)(setf BodyRadE (*(/ 1.658 2)mm) HlfAFltmm (*(/(+ 2.562 2.481)2)mm) HeadHghtHmm (*(/(+ 1.116 0.978)2)mm) ThdLenmm (* -3.500 mm) Radmm (*(/(+ 0.09 0.03)2)mm) Hex 1 WF 0 ) );1 5/8 ((= Size 1.7500)(setf BodyRadE (*(/ 1.785 2)mm) HlfAFltmm (*(/(+ 2.750 2.662)2)mm) HeadHghtHmm (*(/(+ 1.196 1.054)2)mm) ThdLenmm (* -3.750 mm) Radmm (*(/(+ 0.12 0.04)2)mm) Hex 1 WF 0 ) );1 3/4 ((= Size 1.8750)(setf BodyRadE (*(/ 1.785 2)mm) HlfAFltmm (*(/(+ 2.750 2.662)2)mm) HeadHghtHmm (*(/(+ 1.196 1.054)2)mm) ThdLenmm (* -4.000 mm) Radmm (*(/(+ 0.12 0.04)2)mm) Hex 1 WF 0 ) );1 7/8 ((= Size 2.0000)(setf BodyRadE (*(/ 2.039 2)mm) HlfAFltmm (*(/(+ 3.125 3.025)2)mm) HeadHghtHmm (*(/(+ 1.388 1.175)2)mm) ThdLenmm (* -5.000 mm) Radmm (*(/(+ 0.12 0.04)2)mm) Hex 1 WF 0 ) );2 ((= Size 2.2500)(setf BodyRadE (*(/ 2.305 2)mm) HlfAFltmm (*(/(+ 3.500 3.388)2)mm) HeadHghtHmm (*(/(+ 1.548 1.327)2)mm) ThdLenmm (* -5.500 mm) Radmm (*(/(+ 0.15 0.06)2)mm) Hex 1 WF 0 ) );2 1/4 ((= Size 2.5000)(setf BodyRadE (*(/ 2.559 2)mm) HlfAFltmm (*(/(+ 3.875 3.750)2)mm) HeadHghtHmm (*(/(+ 1.708 1.479)2)mm) ThdLenmm (* -6.000 mm) Radmm (*(/(+ 0.15 0.06)2)mm) Hex 1 WF 0 ) );2 1/2 ((= Size 2.7500)(setf BodyRadE (*(/ 2.827 2)mm) HlfAFltmm (*(/(+ 4.250 4.112)2)mm) HeadHghtHmm (*(/(+ 1.869 1.632)2)mm) ThdLenmm (* -6.500 mm) Radmm (*(/(+ 0.15 0.06)2)mm) Hex 1 WF 0 ) );2 3/4 ((= Size 3.0000)(setf BodyRadE (*(/ 3.081 2)mm) HlfAFltmm (*(/(+ 4.625 4.475)2)mm) HeadHghtHmm (*(/(+ 2.060 1.815)2)mm) ThdLenmm (* -7.000 mm) Radmm (*(/(+ 0.18 0.08)2)mm) Hex 1 WF 0 ) );3 ((= Size 3.5000)(setf BodyRadE (*(/ 3.500 2)mm) HlfAFltmm (*(/(+ 5.375 5.200)2)mm) HeadHghtHmm (*(/(+ 2.256 2.120)2)mm) ThdLenmm (* -7.500 mm) Radmm (*(/(+ 0.18 0.08)2)mm) Hex 1 WF 0 ) );3 1/2 ((= Size 3.7500)(setf BodyRadE (*(/ 3.750 2)mm) HlfAFltmm (*(/(+ 5.750 5.562)2)mm) HeadHghtHmm (*(/(+ 2.447 2.303)2)mm) ThdLenmm (* -8.000 mm) Radmm (*(/(+ 0.18 0.08)2)mm) Hex 1 WF 0 ) );3 3/4 ((= Size 4.0000)(setf BodyRadE (*(/ 4.000 2)mm) HlfAFltmm (*(/(+ 6.125 5.925)2)mm) HeadHghtHmm (*(/(+ 2.576 2.424)2)mm) ThdLenmm (* -8.500 mm) Radmm (*(/(+ 0.21 0.10)2)mm) Hex 1 WF 0 ) );4 ((= Size 4.2500)(setf BodyRadE (*(/ 4.250 2)mm) HlfAFltmm (*(/(+ 6.500 6.288)2)mm) HeadHghtHmm (*(/(+ 2.768 2.608)2)mm) ThdLenmm (* -9.000 mm) Radmm (*(/(+ 0.21 0.10)2)mm) Hex 1 WF 0 ) );4 1/4 ((= Size 4.5000)(setf BodyRadE (*(/ 4.500 2)mm) HlfAFltmm (*(/(+ 6.875 6.650)2)mm) HeadHghtHmm (*(/(+ 2.896 2.728)2)mm) ThdLenmm (* -9.500 mm) Radmm (*(/(+ 0.21 0.10)2)mm) Hex 1 WF 0 ) );4 1/2 ((= Size 4.7500)(setf BodyRadE (*(/ 4.750 2)mm) HlfAFltmm (*(/(+ 7.250 7.012)2)mm) HeadHghtHmm (*(/(+ 3.088 2.912)2)mm) ThdLenmm (* -10.000 mm) Radmm (*(/(+ 0.21 0.10)2)mm) Hex 1 WF 0 ) );4 3/4 ((= Size 5.0000)(setf BodyRadE (*(/ 5.000 2)mm) HlfAFltmm (*(/(+ 7.625 7.375)2)mm) HeadHghtHmm (*(/(+ 3.217 3.033)2)mm) ThdLenmm (* -10.500 mm) Radmm (*(/(+ 0.24 0.12)2)mm) Hex 1 WF 0 ) );5 ((= Size 5.2500)(setf BodyRadE (*(/ 5.250 2)mm) HlfAFltmm (*(/(+ 8.000 7.738)2)mm) HeadHghtHmm (*(/(+ 3.408 3.216)2)mm) ThdLenmm (* -11.000 mm) Radmm (*(/(+ 0.24 0.12)2)mm) Hex 1 WF 0 ) );5 1/4 ((= Size 5.5000)(setf BodyRadE (*(/ 5.500 2)mm) HlfAFltmm (*(/(+ 8.375 8.100)2)mm) HeadHghtHmm (*(/(+ 3.538 3.338)2)mm) ThdLenmm (* -11.500 mm) Radmm (*(/(+ 0.24 0.12)2)mm) Hex 1 WF 0 ) );5 1/2 ((= Size 5.7500)(setf BodyRadE (*(/ 5.750 2)mm) HlfAFltmm (*(/(+ 8.750 8.462)2)mm) HeadHghtHmm (*(/(+ 3.729 3.521)2)mm) ThdLenmm (* -12.000 mm) Radmm (*(/(+ 0.24 0.12)2)mm) Hex 1 WF 0 ) );5 3/4 ((= Size 6.0000)(setf BodyRadE (*(/ 6.000 2)mm) HlfAFltmm (*(/(+ 9.125 8.825)2)mm) HeadHghtHmm (*(/(+ 3.858 3.642)2)mm) ThdLenmm (* -12.500 mm) Radmm (*(/(+ 0.27 0.14)2)mm) Hex 1 WF 0 ) );6 ));cond-Heavy Hex Bolt P ((or(= Type 7)(= Type 8)) (cond ;Heavy Hex Structural ((= Size 0.3750)(setf BodyRadE (*(/(/(+ 0.375 0.3600)2)2)mm) HlfAFltmm (*(/(+ 0.688 0.669)2)mm) HeadHghtHmm (*(/(+ 0.243 0.226)2)mm) ThdLenmm (* -1.00 mm) Radmm (*(/(+ 0.031 0.009)2)mm) TranThdY (* 0.014 mm) Hex 1 WF 1 ) );3/8 ((= Size 0.5000)(setf BodyRadE (*(/(/(+ 0.500 0.4820)2)2)mm) HlfAFltmm (*(/(+ 0.875 0.850)2)mm) HeadHghtHmm (*(/(+ 0.323 0.302)2)mm) ThdLenmm (* -1.25 mm) Radmm (*(/(+ 0.031 0.009)2)mm) TranThdY (* 0.016 mm) Hex 1 WF 1 ) );1/2 ((= Size 0.6250)(setf BodyRadE (*(/(/(+ 0.625 0.6050)2)2)mm) HlfAFltmm (*(/(+ 1.062 1.031)2)mm) HeadHghtHmm (*(/(+ 0.403 0.378)2)mm) ThdLenmm (* -1.50 mm) Radmm (*(/(+ 0.062 0.021)2)mm) TranThdY (* 0.019 mm) Hex 1 WF 1 ) );5/8 ((= Size 0.7500)(setf BodyRadE (*(/(/(+ 0.750 0.7290)2)2)mm) HlfAFltmm (*(/(+ 1.250 1.212)2)mm) HeadHghtHmm (*(/(+ 0.483 0.455)2)mm) ThdLenmm (* -1.75 mm) Radmm (*(/(+ 0.062 0.021)2)mm) TranThdY (* 0.022 mm) Hex 1 WF 1 ) );3/4 ((= Size 0.8750)(setf BodyRadE (*(/(/(+ 0.875 0.8520)2)2)mm) HlfAFltmm (*(/(+ 1.438 1.394)2)mm) HeadHghtHmm (*(/(+ 0.563 0.531)2)mm) ThdLenmm (* -2.00 mm) Radmm (*(/(+ 0.062 0.031)2)mm) TranThdY (* 0.025 mm) Hex 1 WF 1 ) );7/8 ((= Size 1.0000)(setf BodyRadE (*(/(/(+ 1.000 0.9760)2)2)mm) HlfAFltmm (*(/(+ 1.625 1.575)2)mm) HeadHghtHmm (*(/(+ 0.627 0.591)2)mm) ThdLenmm (* -2.25 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.028 mm) Hex 1 WF 1 ) );1 ((= Size 1.1250)(setf BodyRadE (*(/(/(+ 1.125 1.0980)2)2)mm) HlfAFltmm (*(/(+ 1.812 1.756)2)mm) HeadHghtHmm (*(/(+ 0.718 0.658)2)mm) ThdLenmm (* -2.50 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.032 mm) Hex 1 WF 1 ) );1 1/8 ((= Size 1.2500)(setf BodyRadE (*(/(/(+ 1.250 1.2230)2)2)mm) HlfAFltmm (*(/(+ 2.000 1.938)2)mm) HeadHghtHmm (*(/(+ 0.813 0.749)2)mm) ThdLenmm (* -2.75 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.035 mm) Hex 1 WF 1 ) );1 1/4 ((= Size 1.3750)(setf BodyRadE (*(/(/(+ 1.375 1.3450)2)2)mm) HlfAFltmm (*(/(+ 2.188 2.119)2)mm) HeadHghtHmm (*(/(+ 0.878 0.810)2)mm) ThdLenmm (* -3.00 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.038 mm) Hex 1 WF 1 ) );1 3/8 ((= Size 1.5000)(setf BodyRadE (*(/(/(+ 1.500 1.4700)2)2)mm) HlfAFltmm (*(/(+ 2.375 2.300)2)mm) HeadHghtHmm (*(/(+ 0.974 0.902)2)mm) ThdLenmm (* -3.25 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.041 mm) Hex 1 WF 1 ) );1 1/2 ((= Size 1.6250)(setf BodyRadE (*(/(/(+ 1.625 1.5910)2)2)mm) HlfAFltmm (*(/(+ 2.562 2.481)2)mm) HeadHghtHmm (*(/(+ 1.038 0.962)2)mm) ThdLenmm (* -3.50 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.044 mm) Hex 1 WF 1 ) );1 5/8 ((= Size 1.7500)(setf BodyRadE (*(/(/(+ 1.750 1.7160)2)2)mm) HlfAFltmm (*(/(+ 2.750 2.662)2)mm) HeadHghtHmm (*(/(+ 1.134 1.054)2)mm) ThdLenmm (* -3.75 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.048 mm) Hex 1 WF 1 ) );1 3/4 ((= Size 1.8750)(setf BodyRadE (*(/(/(+ 1.875 1.8390)2)2)mm) HlfAFltmm (*(/(+ 2.938 2.844)2)mm) HeadHghtHmm (*(/(+ 1.198 1.114)2)mm) ThdLenmm (* -4.00 mm) Radmm (*(/(+ 0.093 0.062)2)mm) TranThdY (* 0.052 mm) Hex 1 WF 1 ) );1 7/8 ((= Size 2.0000)(setf BodyRadE (*(/(/(+ 2.000 1.9640)2)2)mm) HlfAFltmm (*(/(+ 3.125 3.025)2)mm) HeadHghtHmm (*(/(+ 1.263 1.175)2)mm) ThdLenmm (* -4.25 mm) Radmm (*(/(+ 0.124 0.093)2)mm) TranThdY (* 0.055 mm) Hex 1 WF 1 ) );2 ((= Size 2.2500)(setf BodyRadE (*(/(/(+ 2.250 2.2140)2)2)mm) HlfAFltmm (*(/(+ 3.500 3.388)2)mm) HeadHghtHmm (*(/(+ 1.423 1.327)2)mm) ThdLenmm (* -5.00 mm) Radmm (*(/(+ 0.124 0.093)2)mm) TranThdY (* 0.061 mm) Hex 1 WF 1 ) );2 1/4 ((= Size 2.5000)(setf BodyRadE (*(/(/(+ 2.500 2.4610)2)2)mm) HlfAFltmm (*(/(+ 3.875 3.750)2)mm) HeadHghtHmm (*(/(+ 1.583 1.479)2)mm) ThdLenmm (* -5.50 mm) Radmm (*(/(+ 0.124 0.093)2)mm) TranThdY (* 0.068 mm) Hex 1 WF 1 ) );2 1/2 ((= Size 2.7500)(setf BodyRadE (*(/(/(+ 2.750 2.7110)2)2)mm) HlfAFltmm (*(/(+ 4.250 4.112)2)mm) HeadHghtHmm (*(/(+ 1.744 1.632)2)mm) ThdLenmm (* -6.00 mm) Radmm (*(/(+ 0.124 0.093)2)mm) TranThdY (* 0.074 mm) Hex 1 WF 1 ) );2 3/4 ((= Size 3.0000)(setf BodyRadE (*(/(/(+ 3.000 2.9610)2)2)mm) HlfAFltmm (*(/(+ 4.625 4.475)2)mm) HeadHghtHmm (*(/(+ 1.935 1.815)2)mm) ThdLenmm (* -6.50 mm) Radmm (*(/(+ 0.155 0.124)2)mm) TranThdY (* 0.081 mm) Hex 1 WF 1 ) );3 ((= Size 3.5000)(setf BodyRadE (*(/(/(+ 3.500 3.4610)2)2)mm) HlfAFltmm (*(/(+ 5.375 5.200)2)mm) HeadHghtHmm (*(/(+ 2.256 2.120)2)mm) ThdLenmm (* -7.50 mm) Radmm (*(/(+ 0.155 0.124)2)mm) TranThdY (* 0.098 mm) Hex 1 WF 1 ) );3 1/2 ((= Size 3.7500)(setf BodyRadE (*(/(/(+ 3.750 3.7109)2)2)mm) HlfAFltmm (*(/(+ 5.750 5.562)2)mm) HeadHghtHmm (*(/(+ 2.447 2.303)2)mm) ThdLenmm (* -8.00 mm) Radmm (*(/(+ 0.155 0.124)2)mm) TranThdY (* 0.105 mm) Hex 1 WF 1 ) );3 3/4 ((= Size 4.0000)(setf BodyRadE (*(/(/(+ 4.000 3.9609)2)2)mm) HlfAFltmm (*(/(+ 6.125 5.925)2)mm) HeadHghtHmm (*(/(+ 2.576 2.424)2)mm) ThdLenmm (* -8.50 mm) Radmm (*(/(+ 0.186 0.155)2)mm) TranThdY (* 0.112 mm) Hex 1 WF 1 ) );4 ((= Size 4.2500)(setf BodyRadE (*(/(/(+ 4.250 4.2228)2)2)mm) HlfAFltmm (*(/(+ 6.500 6.288)2)mm) HeadHghtHmm (*(/(+ 2.768 2.608)2)mm) ThdLenmm (* -9.00 mm) Radmm (*(/(+ 0.186 0.155)2)mm) TranThdY (* 0.119 mm) Hex 1 WF 1 ) );4 1/4 ((= Size 4.5000)(setf BodyRadE (*(/(/(+ 4.500 4.4727)2)2)mm) HlfAFltmm (*(/(+ 6.875 6.650)2)mm) HeadHghtHmm (*(/(+ 2.896 2.728)2)mm) ThdLenmm (* -9.50 mm) Radmm (*(/(+ 0.186 0.155)2)mm) TranThdY (* 0.126 mm) Hex 1 WF 1 ) );4 1/2 ((= Size 4.7500)(setf BodyRadE (*(/(/(+ 4.750 4.7227)2)2)mm) HlfAFltmm (*(/(+ 7.250 7.012)2)mm) HeadHghtHmm (*(/(+ 3.088 2.912)2)mm) ThdLenmm (* -10.00 mm) Radmm (*(/(+ 0.186 0.155)2)mm) TranThdY (* 0.133 mm) Hex 1 WF 1 ) );4 3/4 ((= Size 5.0000)(setf BodyRadE (*(/(/(+ 5.000 4.9726)2)2)mm) HlfAFltmm (*(/(+ 7.625 7.375)2)mm) HeadHghtHmm (*(/(+ 3.217 3.033)2)mm) ThdLenmm (* -10.50 mm) Radmm (*(/(+ 0.217 0.186)2)mm) TranThdY (* 0.140 mm) Hex 1 WF 1 ) );5 ((= Size 5.2500)(setf BodyRadE (*(/(/(+ 5.250 5.2226)2)2)mm) HlfAFltmm (*(/(+ 8.000 7.738)2)mm) HeadHghtHmm (*(/(+ 3.408 3.216)2)mm) ThdLenmm (* -11.00 mm) Radmm (*(/(+ 0.217 0.186)2)mm) TranThdY (* 0.147 mm) Hex 1 WF 1 ) );5 1/4 ((= Size 5.5000)(setf BodyRadE (*(/(/(+ 5.500 5.4726)2)2)mm) HlfAFltmm (*(/(+ 8.375 8.100)2)mm) HeadHghtHmm (*(/(+ 3.538 3.338)2)mm) ThdLenmm (* -11.50 mm) Radmm (*(/(+ 0.217 0.186)2)mm) TranThdY (* 0.154 mm) Hex 1 WF 1 ) );5 1/2 ((= Size 5.7500)(setf BodyRadE (*(/(/(+ 5.750 5.7225)2)2)mm) HlfAFltmm (*(/(+ 8.750 8.462)2)mm) HeadHghtHmm (*(/(+ 3.729 3.521)2)mm) ThdLenmm (* -12.00 mm) Radmm (*(/(+ 0.217 0.186)2)mm) TranThdY (* 0.161 mm) Hex 1 WF 1 ) );5 3/4 ((= Size 6.0000)(setf BodyRadE (*(/(/(+ 6.000 5.9725)2)2)mm) HlfAFltmm (*(/(+ 9.125 8.825)2)mm) HeadHghtHmm (*(/(+ 3.858 3.642)2)mm) ThdLenmm (* -12.50 mm) Radmm (*(/(+ 0.248 0.217)2)mm) TranThdY (* 0.168 mm) Hex 1 WF 1 ) );6 ));cond-Heavy Hex Structural ((or(= Type 9)(= Type 10)) (cond ;Square_Bolt ((= Size 0.2500)(setf BodyRadE (*(/ 0.260 2)mm) HlfAFltmm (*(/(+ 0.375 0.362)2)mm) HeadHghtHmm (*(/(+ 0.188 0.156)2)mm) ThdLenmm (* -0.750 mm) Radmm (*(/(+ 0.015 0.004)2)mm) WF 0 Hex 0 ) ) ;1/4 ((= Size 0.3125)(setf BodyRadE (*(/ 0.324 2)mm) HlfAFltmm (*(/(+ 0.500 0.484)2)mm) HeadHghtHmm (*(/(+ 0.220 0.186)2)mm) ThdLenmm (* -0.875 mm) Radmm (*(/(+ 0.015 0.004)2)mm) WF 0 Hex 0 ) ) ;5/16 ((= Size 0.3750)(setf BodyRadE (*(/ 0.388 2)mm) HlfAFltmm (*(/(+ 0.562 0.544)2)mm) HeadHghtHmm (*(/(+ 0.268 0.232)2)mm) ThdLenmm (* -1.000 mm) Radmm (*(/(+ 0.015 0.004)2)mm) WF 0 Hex 0 ) ) ;3/8 ((= Size 0.4375)(setf BodyRadE (*(/ 0.452 2)mm) HlfAFltmm (*(/(+ 0.625 0.603)2)mm) HeadHghtHmm (*(/(+ 0.316 0.278)2)mm) ThdLenmm (* -1.125 mm) Radmm (*(/(+ 0.015 0.004)2)mm) WF 0 Hex 0 ) ) ;7/16 ((= Size 0.5000)(setf BodyRadE (*(/ 0.515 2)mm) HlfAFltmm (*(/(+ 0.750 0.725)2)mm) HeadHghtHmm (*(/(+ 0.348 0.308)2)mm) ThdLenmm (* -1.250 mm) Radmm (*(/(+ 0.031 0.009)2)mm) WF 0 Hex 0 ) ) ;1/2 ((= Size 0.6250)(setf BodyRadE (*(/ 0.642 2)mm) HlfAFltmm (*(/(+ 0.938 0.906)2)mm) HeadHghtHmm (*(/(+ 0.444 0.400)2)mm) ThdLenmm (* -1.500 mm) Radmm (*(/(+ 0.062 0.021)2)mm) WF 0 Hex 0 ) ) ;5/8 ((= Size 0.7500)(setf BodyRadE (*(/ 0.768 2)mm) HlfAFltmm (*(/(+ 1.125 1.088)2)mm) HeadHghtHmm (*(/(+ 0.524 0.476)2)mm) ThdLenmm (* -1.750 mm) Radmm (*(/(+ 0.062 0.021)2)mm) WF 0 Hex 0 ) ) ;3/4 ((= Size 0.8750)(setf BodyRadE (*(/ 0.895 2)mm) HlfAFltmm (*(/(+ 1.312 1.269)2)mm) HeadHghtHmm (*(/(+ 0.620 0.568)2)mm) ThdLenmm (* -2.000 mm) Radmm (*(/(+ 0.062 0.031)2)mm) WF 0 Hex 0 ) ) ;7/8 ((= Size 1.0000)(setf BodyRadE (*(/ 1.022 2)mm) HlfAFltmm (*(/(+ 1.500 1.450)2)mm) HeadHghtHmm (*(/(+ 0.684 0.628)2)mm) ThdLenmm (* -2.250 mm) Radmm (*(/(+ 0.093 0.062)2)mm) WF 0 Hex 0 ) ) ;1 ((= Size 1.1250)(setf BodyRadE (*(/ 1.149 2)mm) HlfAFltmm (*(/(+ 1.688 1.631)2)mm) HeadHghtHmm (*(/(+ 0.780 0.720)2)mm) ThdLenmm (* -2.500 mm) Radmm (*(/(+ 0.093 0.062)2)mm) WF 0 Hex 0 ) ) ;1 1/8 ((= Size 1.2500)(setf BodyRadE (*(/ 1.277 2)mm) HlfAFltmm (*(/(+ 1.875 1.812)2)mm) HeadHghtHmm (*(/(+ 0.876 0.812)2)mm) ThdLenmm (* -2.750 mm) Radmm (*(/(+ 0.093 0.062)2)mm) WF 0 Hex 0 ) ) ;1 1/4 ((= Size 1.3750)(setf BodyRadE (*(/ 1.404 2)mm) HlfAFltmm (*(/(+ 2.602 1.994)2)mm) HeadHghtHmm (*(/(+ 0.940 0.872)2)mm) ThdLenmm (* -3.000 mm) Radmm (*(/(+ 0.093 0.062)2)mm) WF 0 Hex 0 ) ) ;1 3/8 ((= Size 1.5000)(setf BodyRadE (*(/ 1.531 2)mm) HlfAFltmm (*(/(+ 2.250 2.175)2)mm) HeadHghtHmm (*(/(+ 1.036 0.964)2)mm) ThdLenmm (* -3.250 mm) Radmm (*(/(+ 0.093 0.062)2)mm) WF 0 Hex 0 ) ) ;1 1/2 ));cond-Square_Bolt (t (sd-display-alert "Not configured :( ")) );cond-types ;;To condense it, check to see what's going to be full or partial thread (cond ((or(= Type 3)(= Type 5)(= Type 7)(= Type 9)) (setf Profile 1)) ((or(= Type 4)(= Type 6)(= Type 8)(= Type 10)) (setf Profile 2)) );cond ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" )) ;;Default Workplanes geometry to real geoemetry (sd-call-cmds(geometry_mode :real)) ;;Determine Hex or Square head (setf PartThk HeadHghtHmm );setf (cond ((= Hex 1)(progn ;;Hex Head Geometry ;;Draw the geometry (sd-call-cmds(polygon (gpnt2d (* HlfAFltmm -0.5773502691896255) 0.000000 ) (gpnt2d (* HlfAFltmm -0.2886751345948129) (* HlfAFltmm 0.5) ) (gpnt2d (* HlfAFltmm 0.2886751345948129) (* HlfAFltmm 0.5) ) (gpnt2d (* HlfAFltmm 0.5773502691896255) 0.000000 ) (gpnt2d (* HlfAFltmm 0.2886751345948129) (* HlfAFltmm -0.5) ) (gpnt2d (* HlfAFltmm -0.2886751345948129) (* HlfAFltmm -0.5) ) :close ));sd-call-cmd ;;Pull the profile (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds(create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create 30 degree wedge for tapering the edges (sd-call-cmds(polygon (gpnt2d (* HlfAFltmm 0.5) HeadHghtHmm) ;Point A (gpnt2d HlfAFltmm HeadHghtHmm) ;Point B (gpnt2d HlfAFltmm (- HeadHghtHmm (* HlfAFltmm 0.2886751346))) ;Point C :close));sd-call ;;Round off the Bolt Head! (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ;;Check if hex head has a washer face (cond ((equal WasherFace t) (progn (print "We need a Washer Face!") ;;Create 30 degree wedge for tapering the edges (sd-call-cmds(polygon (gpnt2d (* HlfAFltmm 0.5) 0.00000) ;Point A (gpnt2d (* HlfAFltmm 1.0) 0.00000) ;Point A (gpnt2d (* HlfAFltmm 1.0) (* mm 0.016)) ;Point A (gpnt2d (* HlfAFltmm 0.5) (* mm 0.016)) ;Point A :close)) ;;Round off the nut (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));prong );cond ));;=1 ((= Hex 0)(progn ;;Square Head Geometry ;;Draw the geometry (sd-call-cmds(polygon (gpnt2d (* HlfAFltmm 0.5) (* HlfAFltmm 0.5)) ;Point A (gpnt2d (* HlfAFltmm -0.5) (* HlfAFltmm 0.5)) ;Point B (gpnt2d (* HlfAFltmm -0.5) (* HlfAFltmm -0.5)) ;Point C (gpnt2d (* HlfAFltmm 0.5) (* HlfAFltmm -0.5)) ;Point D :close ));sd-call-cmd ;;Extrude it (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds(create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create 30 degree wedge for tapering the edges (sd-call-cmds(polygon (gpnt2d (* HlfAFltmm 0.5) HeadHghtHmm) ;Point A (gpnt2d HlfAFltmm HeadHghtHmm) ;Point B (gpnt2d HlfAFltmm (- HeadHghtHmm (* HlfAFltmm 0.2886751346))) ;Point C :close));sd-call-cmds ;;Round off the Bolt Head! (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));;=0 );cond ;;Determine the thread length (cond ((= Profile 1) (progn ;;Partial Thread ;;Create some variables (setf Chamfer0 (* BodyRadE (/ 1 64)) FastLgthmm (*(* Length mm)-1) FastLgthmmpos (* Length mm) );setf ;;Determine the thread : length ratio (cond ((< FastLgthmmpos 152.4)(cond ((> FastLgthmm ThdLenmm)(setf ThreadLength (* FastLgthmm (/ 2 3)) )) (t (setf ThreadLength ThdLenmm )) )) ((> FastLgthmmpos 152.4)(cond ((> FastLgthmm ThdLenmm)(setf ThreadLength (* ThdLenmm (/ 2 3)) )) ((= FastLgthmm ThdLenmm)(setf ThreadLength ThdLenmm )) ((< FastLgthmm ThdLenmm)(setf ThreadLength (+ ThdLenmm (* mm -0.25)) )) )) );cond ;;Generate the Hex Profile (sd-call-cmds(polygon (gpnt2d (+ BodyRadE Radmm) 0.0000000000000) ;Point A (gpnt2d 0.0000000000000 0.0000000000000) ;Point B (gpnt2d 0.0000000000000 FastLgthmm) ;Point C (gpnt2d (- BodyRadE Chamfer0) FastLgthmm) ;Point D (gpnt2d (- BodyRadE Chamfer0) (- FastLgthmm ThreadLength) ) ;Point E (gpnt2d BodyRadE (- FastLgthmm ThreadLength) ) ;Point F (gpnt2d BodyRadE (* Radmm -1) ) ;Point G ));sd-call-cmds (sd-call-cmds(arc :center (gpnt2d (+ BodyRadE Radmm) (* Radmm -1)) (gpnt2d (+ BodyRadE Radmm) 0.00000) ;Point A (gpnt2d BodyRadE (* Radmm -1)) ;Point G ));sd-call-cmds ;;turn the profile (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=1 ((= Profile 2) (progn ;;Full Thread ;;Create some variables (setf Chamfer0 (* BodyRadE (/ 1 64)) FastLgthmm (*(* Length mm)-1) FastLgthmmpos (* Length mm) );setf ;;Generate the Hex Profile (sd-call-cmds(polygon (gpnt2d (+ BodyRadE Radmm) 0.0000000000000) ;Point A (gpnt2d 0.0000000000000 0.0000000000000) ;Point B (gpnt2d 0.0000000000000 FastLgthmm) ;Point C (gpnt2d BodyRadE FastLgthmm) ;Point D (gpnt2d BodyRadE (* Radmm -1) ) ;Point G ));sd-call-cmds (sd-call-cmds(arc :center (gpnt2d (+ BodyRadE Radmm) (* Radmm -1)) (gpnt2d (+ BodyRadE Radmm) 0.00000) ;Point A (gpnt2d BodyRadE (* Radmm -1)) ;Point G ));sd-call-cmds ;;turn the profile (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=2 );cond ;;Setup the global variable for later (setq *FastThdRad* (cond ((= Profile 1)(- BodyRadE Chamfer0)) ((= Profile 2) BodyRadE ) ) ) (print(format nil ">>> We are looking for a radius of ~Ain | ~Amm <<<" (sd-num-to-string (/ *FastThdRad* 25.4) 6) (sd-num-to-string *FastThdRad* 6) )) );defun ;;;; =================================================================================================================== (defun sd_create_fastener_bolt_shoulder (Name Size Length) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;Create dimension variables based on size (cond ((= Size 0.2500) (setf RadD (*(/(+ 0.2480 0.2460)4)mm) RadA (*(/(+ 0.375 0.357)4)mm) HghtH(*(/(+ 0.188 0.177)2)mm) Smm (* 0.157 mm) D1mm (*(/ 0.1900 2 )mm) Emm (* 0.375 mm) Gmm (*(/(+ 0.142 0.133)4)mm) Imm (* 0.083 mm) Kmm (*(/ 0.227 2)mm) Fmm (* 0.093 mm) Nmm (*(/(+ 0.023 0.017)2)mm) Mnn (* 0.014 mm) Jmm (* 0.125 mm) SktHd 5 ThdPrfl 5));1/4 ((= Size 0.3125) (setf RadD (*(/(+ 0.3105 0.3085)4)mm) RadA (*(/(+ 0.438 0.419)4)mm) HghtH(*(/(+ 0.219 0.209)2)mm) Smm (* 0.183 mm) D1mm (*(/ 0.2500 2 )mm) Emm (* 0.438 mm) Gmm (*(/(+ 0.193 0.182)4)mm) Imm (* 0.100 mm) Kmm (*(/ 0.289 2)mm) Fmm (* 0.093 mm) Nmm (*(/(+ 0.028 0.022)2)mm) Mnn (* 0.017 mm) Jmm (* 0.156 mm) SktHd 5 ThdPrfl 5));5/16 ((= Size 0.3750) (setf RadD (*(/(+ 0.3730 0.3710)4)mm) RadA (*(/(+ 0.562 0.543)4)mm) HghtH(*(/(+ 0.250 0.240)2)mm) Smm (* 0.209 mm) D1mm (*(/ 0.3125 2 )mm) Emm (* 0.500 mm) Gmm (*(/(+ 0.249 0.237)4)mm) Imm (* 0.111 mm) Kmm (*(/ 0.352 2)mm) Fmm (* 0.093 mm) Nmm (*(/(+ 0.031 0.025)2)mm) Mnn (* 0.020 mm) Jmm (* 0.188 mm) SktHd 5 ThdPrfl 5));3/8 ((= Size 0.5000) (setf RadD (*(/(+ 0.4980 0.4960)4)mm) RadA (*(/(+ 0.750 0.729)4)mm) HghtH(*(/(+ 0.312 0.302)2)mm) Smm (* 0.262 mm) D1mm (*(/ 0.3750 2 )mm) Emm (* 0.625 mm) Gmm (*(/(+ 0.304 0.291)4)mm) Imm (* 0.125 mm) Kmm (*(/ 0.477 2)mm) Fmm (* 0.093 mm) Nmm (*(/(+ 0.035 0.029)2)mm) Mnn (* 0.026 mm) Jmm (* 0.250 mm) SktHd 5 ThdPrfl 5));1/2 ((= Size 0.6250) (setf RadD (*(/(+ 0.6230 0.6210)4)mm) RadA (*(/(+ 0.875 0.853)4)mm) HghtH(*(/(+ 0.375 0.365)2)mm) Smm (* 0.315 mm) D1mm (*(/ 0.5000 2 )mm) Emm (* 0.750 mm) Gmm (*(/(+ 0.414 0.397)4)mm) Imm (* 0.154 mm) Kmm (*(/ 0.602 2)mm) Fmm (* 0.093 mm) Nmm (*(/(+ 0.042 0.036)2)mm) Mnn (* 0.032 mm) Jmm (* 0.313 mm) SktHd 5 ThdPrfl 5));5/8 ((= Size 0.7500) (setf RadD (*(/(+ 0.7480 0.7460)4)mm) RadA (*(/(+ 1.000 0.977)4)mm) HghtH(*(/(+ 0.500 0.490)2)mm) Smm (* 0.421 mm) D1mm (*(/ 0.6250 2 )mm) Emm (* 0.875 mm) Gmm (*(/(+ 0.521 0.502)4)mm) Imm (* 0.182 mm) Kmm (*(/ 0.727 2)mm) Fmm (* 0.093 mm) Nmm (*(/(+ 0.051 0.045)2)mm) Mnn (* 0.039 mm) Jmm (* 0.375 mm) SktHd 5 ThdPrfl 5));3/4 ((= Size 1.0000) (setf RadD (*(/(+ 0.9980 0.9960)4)mm) RadA (*(/(+ 1.312 1.287)4)mm) HghtH(*(/(+ 0.625 0.610)2)mm) Smm (* 0.527 mm) D1mm (*(/ 0.7500 2 )mm) Emm (* 1.000 mm) Gmm (*(/(+ 0.638 0.616)4)mm) Imm (* 0.200 mm) Kmm (*(/ 0.977 2)mm) Fmm (* 0.125 mm) Nmm (*(/(+ 0.055 0.049)2)mm) Mnn (* 0.050 mm) Jmm (* 0.500 mm) SktHd 5 ThdPrfl 5));1 ((= Size 1.2500) (setf RadD (*(/(+ 1.2480 1.2460)4)mm) RadA (*(/(+ 1.750 1.723)4)mm) HghtH(*(/(+ 0.750 0.735)2)mm) Smm (* 0.633 mm) D1mm (*(/ 0.8750 2 )mm) Emm (* 1.125 mm) Gmm (*(/(+ 0.750 0.726)4)mm) Imm (* 0.222 mm) Kmm (*(/ 1.227 2)mm) Fmm (* 0.125 mm) Nmm (*(/(+ 0.062 0.056)2)mm) Mnn (* 0.060 mm) Jmm (* 0.625 mm) SktHd 5 ThdPrfl 5));1-1/4 ((= Size 1.5000) (setf RadD (*(/(+ 1.4980 1.4960)4)mm) RadA (*(/(+ 2.125 2.095)4)mm) HghtH(*(/(+ 1.000 0.980)2)mm) Smm (* 0.842 mm) D1mm (*(/ 1.1250 2 )mm) Emm (* 1.500 mm) Gmm (*(/(+ 0.964 0.934)4)mm) Imm (* 0.286 mm) Kmm (*(/ 1.478 2)mm) Fmm (* 0.125 mm) Nmm (*(/(+ 0.072 0.066)2)mm) Mnn (* 0.070 mm) Jmm (* 0.875 mm) SktHd 5 ThdPrfl 5));1-1/2 ((= Size 1.7500) (setf RadD (*(/(+ 1.7480 1.7460)4)mm) RadA (*(/(+ 2.375 2.345)4)mm) HghtH(*(/(+ 1.125 1.105)2)mm) Smm (* 0.948 mm) D1mm (*(/ 1.2500 2 )mm) Emm (* 1.750 mm) Gmm (*(/(+ 1.089 1.059)4)mm) Imm (* 0.286 mm) Kmm (*(/ 1.728 2)mm) Fmm (* 0.125 mm) Nmm (*(/(+ 0.072 0.066)2)mm) Mnn (* 0.080 mm) Jmm (* 1.000 mm) SktHd 5 ThdPrfl 5));1-3/4 ((= Size 2.0000) (setf RadD (*(/(+ 1.9980 1.9960)4)mm) RadA (*(/(+ 2.750 2.750)4)mm) HghtH(*(/(+ 1.250 1.230)2)mm) Smm (* 1.054 mm) D1mm (*(/ 1.5000 2 )mm) Emm (* 2.000 mm) Gmm (*(/(+ 1.307 1.277)4)mm) Imm (* 0.333 mm) Kmm (*(/ 1.978 2)mm) Fmm (* 0.125 mm) Nmm (*(/(+ 0.102 0.096)2)mm) Mnn (* 0.090 mm) Jmm (* 1.250 mm) SktHd 5 ThdPrfl 5));2 (t (sd-display-alert "Not configured :( ")) );cond ;;Default Workplanes geometry to real geoemetry (sd-call-cmds(geometry_mode :real)) ;;Predefine the other variables (setf PartThk (* HghtH -1.00) FastLenmm (* Length -25.40) );setf ;;Create the head geometry (print "Creating the socket bolt geometry") ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Draw the profile (sd-call-cmds(polygon (gpnt2d (- RadA (* 1.75 (- HghtH Smm))) HghtH) (gpnt2d 0.00000 HghtH) (gpnt2d 0.00000 0.00000) (gpnt2d RadA 0.00000) (gpnt2d RadA Smm) :close ));sd-call-cmds (setf tmm (* 0.5 Smm)) ;;Extrude the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ;;Bore out the socket profile (print "Bore out the socket profile on the head") ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" )) ;;Draw the profile (sd-call-cmds(polygon (gpnt2d (* Jmm -0.5773502691896255) 0.000000 ) (gpnt2d (* Jmm -0.2886751345948129) (* Jmm 0.5) ) (gpnt2d (* Jmm 0.2886751345948129) (* Jmm 0.5) ) (gpnt2d (* Jmm 0.5773502691896255) 0.000000 ) (gpnt2d (* Jmm 0.2886751345948129) (* Jmm -0.5) ) (gpnt2d (* Jmm -0.2886751345948129) (* Jmm -0.5) ) :close ));sd-call-cmd ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :-w :operation :remove_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Draw the profile (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000 ) (gpnt2d (* Jmm 0.5773502691896255) 0.00000) (gpnt2d (* Jmm 0.5773502691896255) (- HghtH Tmm) ) (gpnt2d 0.00000 (- HghtH Tmm) ) :close ));sd-call-cmd ;;Extrude the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ;;Setup the global variable for later (setq *FastThdRad* D1mm ) (print(format nil ">>> We are looking for a radius of ~Ain | ~Amm <<<" (sd-num-to-string (/ *FastThdRad* 25.4) 6) (sd-num-to-string *FastThdRad* 6) )) ;;Create the bolt's shaft (print "Create the bolt's shaft geometry") (sd-call-cmds(polygon (gpnt2d Kmm 0.00000) ;R (gpnt2d (+ Kmm Nmm) 0.00000) (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 (- FastLenmm Emm) ) ;;Thread Feature (gpnt2d D1mm (- FastLenmm Emm) ) (gpnt2d D1mm (- (- FastLenmm Imm) (- D1mm Gmm) ) ) (gpnt2d Gmm (- FastLenmm Imm) ) ;;Neck b/t body and thread (gpnt2d Gmm FastLenmm ) ;R (gpnt2d (- RadD (* 0.125 Imm)) FastLenmm) ;;Body (gpnt2d RadD (- FastLenmm (* -0.125 Imm)) ) (gpnt2d RadD (* -1 Fmm)) ;;Neck b/t Head and body (gpnt2d Kmm (* -1 (- Fmm (- RadD Kmm))) ) (gpnt2d Kmm 0.00000) ));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (gpnt2d Kmm 0.00000) Nmm)) ;R (sd-call-cmds(fillet :create :fillet_radius (gpnt2d Gmm FastLenmm) Nmm)) ;R ;;Pull the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :no :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) );defun ;;;; =================================================================================================================== (defun sd_create_fastener_bolt_socket (Name Type Size Length) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;Zero Out the Variables before proceeding (setf RadD 0 RadA 0 HghtH 0 Smm 0 Jmm 0 Fmm 0 Kmm 0 Tmm 0 Ltmm 0 SktHd 0 ThdPrfl 0 Gmm 0);setf ;;Seperate the different socket bolt Types followed by dimension values (print "Selecting the profile variables") (cond ((or(= Type 1)(= Type 2)) (cond ;Socket Bolt ((= Size 0.0600)(setf RadD (*(/(+ 0.0600 0.0568)4)mm) RadA (*(/(+ 0.096 0.091)4)mm) HghtH (*(/(+ 0.060 0.057)2)mm) Smm (* mm 0.053) Jmm (* mm 0.050) Fmm (* mm 0.007) Kmm (* mm 0.007) Tmm (* mm 0.025) Ltmm (* mm 0.62) SktHd 1 ThdPrfl 1));;#0 ((= Size 0.0730)(setf RadD (*(/(+ 0.0730 0.0695)4)mm) RadA (*(/(+ 0.118 0.112)4)mm) HghtH (*(/(+ 0.073 0.070)2)mm) Smm (* mm 0.065) Jmm (* mm 0.062) Fmm (* mm 0.007) Kmm (* mm 0.007) Tmm (* mm 0.031) Ltmm (* mm 0.77) SktHd 1 ThdPrfl 1));;#1 ((= Size 0.0860)(setf RadD (*(/(+ 0.0860 0.0822)4)mm) RadA (*(/(+ 0.140 0.134)4)mm) HghtH (*(/(+ 0.086 0.083)2)mm) Smm (* mm 0.077) Jmm (* mm 0.078) Fmm (* mm 0.008) Kmm (* mm 0.007) Tmm (* mm 0.038) Ltmm (* mm 0.80) SktHd 1 ThdPrfl 1));;#2 ((= Size 0.0990)(setf RadD (*(/(+ 0.0990 0.0949)4)mm) RadA (*(/(+ 0.161 0.154)4)mm) HghtH (*(/(+ 0.099 0.095)2)mm) Smm (* mm 0.088) Jmm (* mm 0.078) Fmm (* mm 0.008) Kmm (* mm 0.007) Tmm (* mm 0.044) Ltmm (* mm 0.83) SktHd 1 ThdPrfl 1));;#3 ((= Size 0.1120)(setf RadD (*(/(+ 0.1120 0.1075)4)mm) RadA (*(/(+ 0.183 0.176)4)mm) HghtH (*(/(+ 0.112 0.108)2)mm) Smm (* mm 0.100) Jmm (* mm 0.094) Fmm (* mm 0.009) Kmm (* mm 0.008) Tmm (* mm 0.051) Ltmm (* mm 0.99) SktHd 1 ThdPrfl 1));;#4 ((= Size 0.1251)(setf RadD (*(/(+ 0.1250 0.1202)4)mm) RadA (*(/(+ 0.205 0.198)4)mm) HghtH (*(/(+ 0.125 0.121)2)mm) Smm (* mm 0.112) Jmm (* mm 0.094) Fmm (* mm 0.010) Kmm (* mm 0.008) Tmm (* mm 0.057) Ltmm (* mm 1.00) SktHd 1 ThdPrfl 1));;#5 ((= Size 0.1380)(setf RadD (*(/(+ 0.1380 0.1329)4)mm) RadA (*(/(+ 0.226 0.216)4)mm) HghtH (*(/(+ 0.138 0.134)2)mm) Smm (* mm 0.123) Jmm (* mm 0.109) Fmm (* mm 0.010) Kmm (* mm 0.008) Tmm (* mm 0.064) Ltmm (* mm 1.05) SktHd 1 ThdPrfl 1));;#6 ((= Size 0.1640)(setf RadD (*(/(+ 0.1640 0.1585)4)mm) RadA (*(/(+ 0.270 0.257)4)mm) HghtH (*(/(+ 0.164 0.159)2)mm) Smm (* mm 0.146) Jmm (* mm 0.141) Fmm (* mm 0.012) Kmm (* mm 0.008) Tmm (* mm 0.077) Ltmm (* mm 1.19) SktHd 1 ThdPrfl 1));;#8 ((= Size 0.1900)(setf RadD (*(/(+ 0.1900 0.1840)4)mm) RadA (*(/(+ 0.312 0.298)4)mm) HghtH (*(/(+ 0.190 0.185)2)mm) Smm (* mm 0.170) Jmm (* mm 0.156) Fmm (* mm 0.014) Kmm (* mm 0.008) Tmm (* mm 0.090) Ltmm (* mm 1.27) SktHd 1 ThdPrfl 1));;#10 ((= Size 0.2160)(setf RadD (*(/(+ 0.2160 0.2095)4)mm) RadA (*(/(+ 0.324 0.314)4)mm) HghtH (*(/(+ 0.216 0.210)2)mm) Smm (* mm 0.022) Jmm (* mm 0.156) Fmm (* mm 0.014) Kmm (* mm 0.010) Tmm (* mm 0.103) Ltmm (* mm 1.27) SktHd 1 ThdPrfl 1));;#12 ((= Size 0.2500)(setf RadD (*(/(+ 0.2500 0.2435)4)mm) RadA (*(/(+ 0.375 0.354)4)mm) HghtH (*(/(+ 0.250 0.244)2)mm) Smm (* mm 0.225) Jmm (* mm 0.188) Fmm (* mm 0.014) Kmm (* mm 0.010) Tmm (* mm 0.120) Ltmm (* mm 1.50) SktHd 1 ThdPrfl 1));;1/4 ((= Size 0.3125)(setf RadD (*(/(+ 0.3125 0.3053)4)mm) RadA (*(/(+ 0.469 0.446)4)mm) HghtH (*(/(+ 0.312 0.306)2)mm) Smm (* mm 0.281) Jmm (* mm 0.250) Fmm (* mm 0.017) Kmm (* mm 0.010) Tmm (* mm 0.151) Ltmm (* mm 1.71) SktHd 1 ThdPrfl 1));;5/16 ((= Size 0.3750)(setf RadD (*(/(+ 0.3750 0.3678)4)mm) RadA (*(/(+ 0.562 0.540)4)mm) HghtH (*(/(+ 0.375 0.368)2)mm) Smm (* mm 0.337) Jmm (* mm 0.312) Fmm (* mm 0.020) Kmm (* mm 0.010) Tmm (* mm 0.182) Ltmm (* mm 1.94) SktHd 1 ThdPrfl 1));;3/8 ((= Size 0.4375)(setf RadD (*(/(+ 0.4375 0.4294)4)mm) RadA (*(/(+ 0.656 0.631)4)mm) HghtH (*(/(+ 0.438 0.430)2)mm) Smm (* mm 0.394) Jmm (* mm 0.375) Fmm (* mm 0.023) Kmm (* mm 0.015) Tmm (* mm 0.213) Ltmm (* mm 2.17) SktHd 1 ThdPrfl 1));;7/16 ((= Size 0.5000)(setf RadD (*(/(+ 0.5000 0.4919)4)mm) RadA (*(/(+ 0.750 0.725)4)mm) HghtH (*(/(+ 0.500 0.492)2)mm) Smm (* mm 0.450) Jmm (* mm 0.375) Fmm (* mm 0.026) Kmm (* mm 0.015) Tmm (* mm 0.245) Ltmm (* mm 2.38) SktHd 1 ThdPrfl 1));;1/2 ((= Size 0.5625)(setf RadD (*(/(+ 0.5625 0.5538)4)mm) RadA (*(/(+ 0.843 0.827)4)mm) HghtH (*(/(+ 0.562 0.554)2)mm) Smm (* mm 0.062) Jmm (* mm 0.437) Fmm (* mm 0.029) Kmm (* mm 0.015) Tmm (* mm 0.276) Ltmm (* mm 2.38) SktHd 1 ThdPrfl 1));;9/16 ((= Size 0.6250)(setf RadD (*(/(+ 0.6250 0.6163)4)mm) RadA (*(/(+ 0.938 0.914)4)mm) HghtH (*(/(+ 0.625 0.616)2)mm) Smm (* mm 0.562) Jmm (* mm 0.500) Fmm (* mm 0.032) Kmm (* mm 0.015) Tmm (* mm 0.307) Ltmm (* mm 2.82) SktHd 1 ThdPrfl 1));;5/8 ((= Size 0.7500)(setf RadD (*(/(+ 0.7500 0.7406)4)mm) RadA (*(/(+ 1.125 1.094)4)mm) HghtH (*(/(+ 0.750 0.740)2)mm) Smm (* mm 0.675) Jmm (* mm 0.625) Fmm (* mm 0.039) Kmm (* mm 0.015) Tmm (* mm 0.370) Ltmm (* mm 3.25) SktHd 1 ThdPrfl 1));;3/4 ((= Size 0.8750)(setf RadD (*(/(+ 0.8750 0.8647)4)mm) RadA (*(/(+ 1.312 1.291)4)mm) HghtH (*(/(+ 0.875 0.864)2)mm) Smm (* mm 0.787) Jmm (* mm 0.750) Fmm (* mm 0.044) Kmm (* mm 0.020) Tmm (* mm 0.432) Ltmm (* mm 3.69) SktHd 1 ThdPrfl 1));;7/8 ((= Size 1.0000)(setf RadD (*(/(+ 1.0000 0.9886)4)mm) RadA (*(/(+ 1.500 1.476)4)mm) HghtH (*(/(+ 1.000 0.988)2)mm) Smm (* mm 0.900) Jmm (* mm 0.750) Fmm (* mm 0.050) Kmm (* mm 0.020) Tmm (* mm 0.495) Ltmm (* mm 4.12) SktHd 1 ThdPrfl 1));;1 ((= Size 1.1250)(setf RadD (*(/(+ 1.1250 1.1086)4)mm) RadA (*(/(+ 1.688 1.665)4)mm) HghtH (*(/(+ 1.125 1.111)2)mm) Smm (* mm 1.012) Jmm (* mm 0.875) Fmm (* mm 0.055) Kmm (* mm 0.020) Tmm (* mm 0.557) Ltmm (* mm 4.65) SktHd 1 ThdPrfl 1));;1 1/8 ((= Size 1.2500)(setf RadD (*(/(+ 1.2500 1.2336)4)mm) RadA (*(/(+ 1.875 1.852)4)mm) HghtH (*(/(+ 1.250 1.236)2)mm) Smm (* mm 1.125) Jmm (* mm 0.875) Fmm (* mm 0.060) Kmm (* mm 0.020) Tmm (* mm 0.620) Ltmm (* mm 5.09) SktHd 1 ThdPrfl 1));;1 1/4 ((= Size 1.3750)(setf RadD (*(/(+ 1.3750 1.3568)4)mm) RadA (*(/(+ 2.062 2.038)4)mm) HghtH (*(/(+ 1.375 1.360)2)mm) Smm (* mm 1.237) Jmm (* mm 1.000) Fmm (* mm 0.065) Kmm (* mm 0.020) Tmm (* mm 0.682) Ltmm (* mm 5.65) SktHd 1 ThdPrfl 1));;1 3/8 ((= Size 1.5000)(setf RadD (*(/(+ 1.5000 1.4818)4)mm) RadA (*(/(+ 2.250 2.224)4)mm) HghtH (*(/(+ 1.500 1.485)2)mm) Smm (* mm 1.350) Jmm (* mm 1.000) Fmm (* mm 0.070) Kmm (* mm 0.020) Tmm (* mm 0.745) Ltmm (* mm 6.08) SktHd 1 ThdPrfl 1));;1 1/2 ((= Size 1.7500)(setf RadD (*(/(+ 1.7500 1.7295)4)mm) RadA (*(/(+ 2.625 2.597)4)mm) HghtH (*(/(+ 1.750 1.734)2)mm) Smm (* mm 1.575) Jmm (* mm 1.250) Fmm (* mm 0.080) Kmm (* mm 0.020) Tmm (* mm 0.870) Ltmm (* mm 7.13) SktHd 1 ThdPrfl 1));;1 3/4 ((= Size 2.0000)(setf RadD (*(/(+ 2.0000 1.9780)4)mm) RadA (*(/(+ 3.000 2.970)4)mm) HghtH (*(/(+ 2.000 1.983)2)mm) Smm (* mm 1.800) Jmm (* mm 1.500) Fmm (* mm 0.090) Kmm (* mm 0.020) Tmm (* mm 0.995) Ltmm (* mm 8.11) SktHd 1 ThdPrfl 1));;2 ((= Size 2.2500)(setf RadD (*(/(+ 2.2500 2.2280)4)mm) RadA (*(/(+ 3.375 3.344)4)mm) HghtH (*(/(+ 2.250 2.232)2)mm) Smm (* mm 2.205) Jmm (* mm 1.750) Fmm (* mm 0.100) Kmm (* mm 0.036) Tmm (* mm 1.120) Ltmm (* mm 8.99) SktHd 1 ThdPrfl 1));;2 1/4 ((= Size 2.5000)(setf RadD (*(/(+ 2.5000 2.4762)4)mm) RadA (*(/(+ 3.750 3.717)4)mm) HghtH (*(/(+ 2.500 2.481)2)mm) Smm (* mm 2.250) Jmm (* mm 1.750) Fmm (* mm 0.110) Kmm (* mm 0.036) Tmm (* mm 1.245) Ltmm (* mm 10.00) SktHd 1 ThdPrfl 1));;2 1/2 ((= Size 2.7500)(setf RadD (*(/(+ 2.7500 2.7262)4)mm) RadA (*(/(+ 4.125 4.090)4)mm) HghtH (*(/(+ 2.750 2.730)2)mm) Smm (* mm 2.475) Jmm (* mm 2.000) Fmm (* mm 0.120) Kmm (* mm 0.036) Tmm (* mm 1.370) Ltmm (* mm 10.87) SktHd 1 ThdPrfl 1));;2 3/4 ((= Size 3.0000)(setf RadD (*(/(+ 3.0000 2.9762)4)mm) RadA (*(/(+ 4.500 4.464)4)mm) HghtH (*(/(+ 3.000 2.979)2)mm) Smm (* mm 2.700) Jmm (* mm 2.250) Fmm (* mm 0.130) Kmm (* mm 0.036) Tmm (* mm 1.495) Ltmm (* mm 11.75) SktHd 1 ThdPrfl 1));;3 ((= Size 3.2500)(setf RadD (*(/(+ 3.2500 3.2262)4)mm) RadA (*(/(+ 4.875 4.837)4)mm) HghtH (*(/(+ 3.250 3.228)2)mm) Smm (* mm 2.925) Jmm (* mm 2.250) Fmm (* mm 0.140) Kmm (* mm 0.036) Tmm (* mm 1.620) Ltmm (* mm 12.63) SktHd 1 ThdPrfl 1));;3 1/4 ((= Size 3.5000)(setf RadD (*(/(+ 3.5000 3.4762)4)mm) RadA (*(/(+ 5.250 5.211)4)mm) HghtH (*(/(+ 3.500 3.478)2)mm) Smm (* mm 3.150) Jmm (* mm 2.750) Fmm (* mm 0.150) Kmm (* mm 0.036) Tmm (* mm 1.745) Ltmm (* mm 13.50) SktHd 1 ThdPrfl 1));;3 1/2 ((= Size 3.7500)(setf RadD (*(/(+ 3.7500 3.7262)4)mm) RadA (*(/(+ 5.625 5.584)4)mm) HghtH (*(/(+ 3.750 3.727)2)mm) Smm (* mm 3.375) Jmm (* mm 2.750) Fmm (* mm 0.160) Kmm (* mm 0.036) Tmm (* mm 1.870) Ltmm (* mm 14.37) SktHd 1 ThdPrfl 1));;3 3/4 ((= Size 4.0000)(setf RadD (*(/(+ 4.0000 3.9762)4)mm) RadA (*(/(+ 6.000 5.958)4)mm) HghtH (*(/(+ 4.000 3.976)2)mm) Smm (* mm 3.600) Jmm (* mm 3.000) Fmm (* mm 0.170) Kmm (* mm 0.036) Tmm (* mm 1.995) Ltmm (* mm 15.25) SktHd 1 ThdPrfl 1));;4 ));cond-Socket Bolt F ((= Type 3) (cond ;Button Head ((= Size 0.0600)(setf RadD (* mm (/ 0.0600 2)) RadA (* mm (/(+ 0.114 0.104)4)) HghtH (*(/(+ 0.032 0.026)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.010) Jmm (* mm 0.0350) Fmm (* mm 0.007) BHA 1.629703 BHB -0.606027 SktHd 2 ThdPrfl 2));# 0 ((= Size 0.0730)(setf RadD (* mm (/ 0.0730 2)) RadA (* mm (/(+ 0.139 0.129)4)) HghtH (*(/(+ 0.039 0.033)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.010) Jmm (* mm 0.0500) Fmm (* mm 0.007) BHA 2.091869 BHB -0.962467 SktHd 2 ThdPrfl 2));# 1 ((= Size 0.0860)(setf RadD (* mm (/ 0.0860 2)) RadA (* mm (/(+ 0.164 0.154)4)) HghtH (*(/(+ 0.046 0.038)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.010) Jmm (* mm 0.0500) Fmm (* mm 0.008) BHA 2.562155 BHB -1.323044 SktHd 2 ThdPrfl 2));# 2 ((= Size 0.0990)(setf RadD (* mm (/ 0.0990 2)) RadA (* mm (/(+ 0.188 0.176)4)) HghtH (*(/(+ 0.052 0.044)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.010) Jmm (* mm 0.0625) Fmm (* mm 0.008) BHA 2.807929 BHB -1.340332 SktHd 2 ThdPrfl 2));# 3 ((= Size 0.1120)(setf RadD (* mm (/ 0.1120 2)) RadA (* mm (/(+ 0.213 0.201)4)) HghtH (*(/(+ 0.059 0.051)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.015) Jmm (* mm 0.0625) Fmm (* mm 0.009) BHA 3.451857 BHB -1.856008 SktHd 2 ThdPrfl 2));# 4 ((= Size 0.1251)(setf RadD (* mm (/ 0.1250 2)) RadA (* mm (/(+ 0.238 0.226)4)) HghtH (*(/(+ 0.066 0.058)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.015) Jmm (* mm 0.0781) Fmm (* mm 0.010) BHA 3.657555 BHB -1.786126 SktHd 2 ThdPrfl 2));# 5 ((= Size 0.1380)(setf RadD (* mm (/ 0.1380 2)) RadA (* mm (/(+ 0.262 0.250)4)) HghtH (*(/(+ 0.073 0.063)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.015) Jmm (* mm 0.0781) Fmm (* mm 0.010) BHA 4.088872 BHB -2.098632 SktHd 2 ThdPrfl 2));# 6 ((= Size 0.1640)(setf RadD (* mm (/ 0.1640 2)) RadA (* mm (/(+ 0.312 0.298)4)) HghtH (*(/(+ 0.087 0.077)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.015) Jmm (* mm 0.0937) Fmm (* mm 0.012) BHA 4.708506 BHB -2.295943 SktHd 2 ThdPrfl 2));# 8 ((= Size 0.1900)(setf RadD (* mm (/ 0.1900 2)) RadA (* mm (/(+ 0.361 0.347)4)) HghtH (*(/(+ 0.101 0.091)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.020) Jmm (* mm 0.1250) Fmm (* mm 0.014) BHA 5.343863 BHB -2.380711 SktHd 2 ThdPrfl 2));# 10 ---- ((= Size 0.2500)(setf RadD (* mm (/ 0.2500 2)) RadA (* mm (/(+ 0.437 0.419)4)) HghtH (*(/(+ 0.132 0.122)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.031) Jmm (* mm 0.1560) Fmm (* mm 0.014) BHA 6.273081 BHB -2.344021 SktHd 2 ThdPrfl 2));1/4 ((= Size 0.3125)(setf RadD (* mm (/ 0.3125 2)) RadA (* mm (/(+ 0.547 0.527)4)) HghtH (*(/(+ 0.166 0.152)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.031) Jmm (* mm 0.1875) Fmm (* mm 0.017) BHA 7.750333 BHB -2.894533 SktHd 2 ThdPrfl 2));5/16 ((= Size 0.3750)(setf RadD (* mm (/ 0.3750 2)) RadA (* mm (/(+ 0.656 0.636)4)) HghtH (*(/(+ 0.199 0.185)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.031) Jmm (* mm 0.2187) Fmm (* mm 0.020) BHA 9.211666 BHB -3.401381 SktHd 2 ThdPrfl 2));3/8 ((= Size 0.5000)(setf RadD (* mm (/ 0.5000 2)) RadA (* mm (/(+ 0.875 0.851)4)) HghtH (*(/(+ 0.265 0.245)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.046) Jmm (* mm 0.3125) Fmm (* mm 0.026) BHA 12.271857 BHB -4.351989 SktHd 2 ThdPrfl 2));1/2 ((= Size 0.6250)(setf RadD (* mm (/ 0.6250 2)) RadA (* mm (/(+ 1.000 0.970)4)) HghtH (*(/(+ 0.331 0.311)2)mm) Tmm (* HghtH 0.55) Smm (* mm 0.062) Jmm (* mm 0.3750) Fmm (* mm 0.032) BHA 13.455610 BHB -3.381594 SktHd 2 ThdPrfl 2));5/8 ));cond-Button head ((= Type 4) (cond ;Flat Head pg 1603 ((= Size 0.0600)(setf RadD (*(/(+ 0.0600 0.0568)4)mm) RadAx (*(/ 0.138 2)mm) RadAn (*(/ 0.117 2)mm) HghtH (* mm 0.044) Jmm (* mm 0.0350) Tmm (* mm 0.025) SktHd 3 ThdPrfl 3 ));# 0 ((= Size 0.0730)(setf RadD (*(/(+ 0.0730 0.0695)4)mm) RadAx (*(/ 0.168 2)mm) RadAn (*(/ 0.143 2)mm) HghtH (* mm 0.054) Jmm (* mm 0.0500) Tmm (* mm 0.031) SktHd 3 ThdPrfl 3 ));# 1 ((= Size 0.0860)(setf RadD (*(/(+ 0.0860 0.0822)4)mm) RadAx (*(/ 0.197 2)mm) RadAn (*(/ 0.168 2)mm) HghtH (* mm 0.064) Jmm (* mm 0.0500) Tmm (* mm 0.038) SktHd 3 ThdPrfl 3 ));# 2 ((= Size 0.0990)(setf RadD (*(/(+ 0.0990 0.0949)4)mm) RadAx (*(/ 0.226 2)mm) RadAn (*(/ 0.193 2)mm) HghtH (* mm 0.073) Jmm (* mm 0.0625) Tmm (* mm 0.044) SktHd 3 ThdPrfl 3 ));# 3 ((= Size 0.1120)(setf RadD (*(/(+ 0.1120 0.1075)4)mm) RadAx (*(/ 0.255 2)mm) RadAn (*(/ 0.218 2)mm) HghtH (* mm 0.083) Jmm (* mm 0.0625) Tmm (* mm 0.055) SktHd 3 ThdPrfl 3 ));# 4 ((= Size 0.1251)(setf RadD (*(/(+ 0.1250 0.1202)4)mm) RadAx (*(/ 0.281 2)mm) RadAn (*(/ 0.240 2)mm) HghtH (* mm 0.090) Jmm (* mm 0.0781) Tmm (* mm 0.061) SktHd 3 ThdPrfl 3 ));# 5 ((= Size 0.1380)(setf RadD (*(/(+ 0.1380 0.1329)4)mm) RadAx (*(/ 0.307 2)mm) RadAn (*(/ 0.263 2)mm) HghtH (* mm 0.097) Jmm (* mm 0.0781) Tmm (* mm 0.066) SktHd 3 ThdPrfl 3 ));# 6 ((= Size 0.1640)(setf RadD (*(/(+ 0.1640 0.1585)4)mm) RadAx (*(/ 0.359 2)mm) RadAn (*(/ 0.311 2)mm) HghtH (* mm 0.112) Jmm (* mm 0.0937) Tmm (* mm 0.076) SktHd 3 ThdPrfl 3 ));# 8 ((= Size 0.1900)(setf RadD (*(/(+ 0.1900 0.1840)4)mm) RadAx (*(/ 0.411 2)mm) RadAn (*(/ 0.359 2)mm) HghtH (* mm 0.127) Jmm (* mm 0.1250) Tmm (* mm 0.087) SktHd 3 ThdPrfl 3 ));# 10 ((= Size 0.2500)(setf RadD (*(/(+ 0.2500 0.2435)4)mm) RadAx (*(/ 0.531 2)mm) RadAn (*(/ 0.480 2)mm) HghtH (* mm 0.161) Jmm (* mm 0.1562) Tmm (* mm 0.111) SktHd 3 ThdPrfl 3 ));1/4 ((= Size 0.3125)(setf RadD (*(/(+ 0.3125 0.3053)4)mm) RadAx (*(/ 0.656 2)mm) RadAn (*(/ 0.600 2)mm) HghtH (* mm 0.198) Jmm (* mm 0.1875) Tmm (* mm 0.135) SktHd 3 ThdPrfl 3 ));5/16 ((= Size 0.3750)(setf RadD (*(/(+ 0.3750 0.3678)4)mm) RadAx (*(/ 0.781 2)mm) RadAn (*(/ 0.720 2)mm) HghtH (* mm 0.234) Jmm (* mm 0.2187) Tmm (* mm 0.159) SktHd 3 ThdPrfl 3 ));3/8 ((= Size 0.4375)(setf RadD (*(/(+ 0.4375 0.4294)4)mm) RadAx (*(/ 0.844 2)mm) RadAn (*(/ 0.781 2)mm) HghtH (* mm 0.234) Jmm (* mm 0.2500) Tmm (* mm 0.159) SktHd 3 ThdPrfl 3 ));7/16 ((= Size 0.5000)(setf RadD (*(/(+ 0.5000 0.4919)4)mm) RadAx (*(/ 0.938 2)mm) RadAn (*(/ 0.872 2)mm) HghtH (* mm 0.251) Jmm (* mm 0.3125) Tmm (* mm 0.172) SktHd 3 ThdPrfl 3 ));1/2 ((= Size 0.6250)(setf RadD (*(/(+ 0.6250 0.6163)4)mm) RadAx (*(/ 1.188 2)mm) RadAn (*(/ 1.112 2)mm) HghtH (* mm 0.324) Jmm (* mm 0.3750) Tmm (* mm 0.220) SktHd 3 ThdPrfl 3 ));5/8 ((= Size 0.7500)(setf RadD (*(/(+ 0.7500 0.7406)4)mm) RadAx (*(/ 1.438 2)mm) RadAn (*(/ 1.355 2)mm) HghtH (* mm 0.396) Jmm (* mm 0.5000) Tmm (* mm 0.220) SktHd 3 ThdPrfl 3 ));3/4 ((= Size 0.8750)(setf RadD (*(/(+ 0.8750 0.8647)4)mm) RadAx (*(/ 1.688 2)mm) RadAn (*(/ 1.604 2)mm) HghtH (* mm 0.468) Jmm (* mm 0.5625) Tmm (* mm 0.248) SktHd 3 ThdPrfl 3 ));7/8 ((= Size 1.0000)(setf RadD (*(/(+ 1.0000 0.9886)4)mm) RadAx (*(/ 1.938 2)mm) RadAn (*(/ 1.841 2)mm) HghtH (* mm 0.540) Jmm (* mm 0.6250) Tmm (* mm 0.297) SktHd 3 ThdPrfl 3 ));1 ((= Size 1.1250)(setf RadD (*(/(+ 1.1250 1.1086)4)mm) RadAx (*(/ 2.188 2)mm) RadAn (*(/ 2.079 2)mm) HghtH (* mm 0.611) Jmm (* mm 0.7500) Tmm (* mm 0.325) SktHd 3 ThdPrfl 3 ));1 1/8 ((= Size 1.2500)(setf RadD (*(/(+ 1.2500 1.2336)4)mm) RadAx (*(/ 2.438 2)mm) RadAn (*(/ 2.316 2)mm) HghtH (* mm 0.683) Jmm (* mm 0.8750) Tmm (* mm 0.358) SktHd 3 ThdPrfl 3 ));1 1/4 ((= Size 1.3750)(setf RadD (*(/(+ 1.3750 1.3568)4)mm) RadAx (*(/ 2.688 2)mm) RadAn (*(/ 2.553 2)mm) HghtH (* mm 0.755) Jmm (* mm 0.8750) Tmm (* mm 0.402) SktHd 3 ThdPrfl 3 ));1 3/8 ((= Size 1.5000)(setf RadD (*(/(+ 1.5000 1.4818)4)mm) RadAx (*(/ 2.938 2)mm) RadAn (*(/ 2.791 2)mm) HghtH (* mm 0.827) Jmm (* mm 1.0000) Tmm (* mm 0.435) SktHd 3 ThdPrfl 3 ));1 1/2 ));cond-Flat Head ((= Type 5) (cond ;Low Head ((= Size 0.1120) (setf RadD (*(/(+ 0.1120 0.1075)4)mm) RadA (*(/(+ 0.183 0.178)4)mm) HghtH(*(/(+ 0.059 0.053)2)mm) Cmm (* 0.009 mm) Jmm (* 0.050 mm) Tmm (* 0.038 mm) Fmm (*(/(+ 0.010 0.005)2)mm) SktHd 4 ThdPrfl 4));# 4 ((= Size 0.1251) (setf RadD (*(/(+ 0.1250 0.1202)4)mm) RadA (*(/(+ 0.205 0.200)4)mm) HghtH(*(/(+ 0.065 0.059)2)mm) Cmm (* 0.012 mm) Jmm (* 0.062 mm) Tmm (* 0.044 mm) Fmm (*(/(+ 0.010 0.005)2)mm) SktHd 4 ThdPrfl 4));# 5 ((= Size 0.1380) (setf RadD (*(/(+ 0.1380 0.1329)4)mm) RadA (*(/(+ 0.226 0.221)4)mm) HghtH(*(/(+ 0.075 0.066)2)mm) Cmm (* 0.013 mm) Jmm (* 0.062 mm) Tmm (* 0.050 mm) Fmm (*(/(+ 0.012 0.007)2)mm) SktHd 4 ThdPrfl 4));# 6 ((= Size 0.1640) (setf RadD (*(/(+ 0.1640 0.1585)4)mm) RadA (*(/(+ 0.270 0.265)4)mm) HghtH(*(/(+ 0.085 0.079)2)mm) Cmm (* 0.014 mm) Jmm (* 0.078 mm) Tmm (* 0.060 mm) Fmm (*(/(+ 0.012 0.007)2)mm) SktHd 4 ThdPrfl 4));# 8 ((= Size 0.1900) (setf RadD (*(/(+ 0.1900 0.1840)4)mm) RadA (*(/(+ 0.312 0.307)4)mm) HghtH(*(/(+ 0.098 0.092)2)mm) Cmm (* 0.018 mm) Jmm (* 0.094 mm) Tmm (* 0.072 mm) Fmm (*(/(+ 0.014 0.009)2)mm) SktHd 4 ThdPrfl 4));# 10 ((= Size 0.2500) (setf RadD (*(/(+ 0.2500 0.2435)4)mm) RadA (*(/(+ 0.375 0.369)4)mm) HghtH(*(/(+ 0.127 0.121)2)mm) Cmm (* 0.025 mm) Jmm (* 0.125 mm) Tmm (* 0.094 mm) Fmm (*(/(+ 0.014 0.009)2)mm) SktHd 4 ThdPrfl 4));1/4 ((= Size 0.3125) (setf RadD (*(/(+ 0.3125 0.3053)4)mm) RadA (*(/(+ 0.437 0.431)4)mm) HghtH(*(/(+ 0.158 0.152)2)mm) Cmm (* 0.033 mm) Jmm (* 0.156 mm) Tmm (* 0.110 mm) Fmm (*(/(+ 0.017 0.012)2)mm) SktHd 4 ThdPrfl 4));5/16 ((= Size 0.3750) (setf RadD (*(/(+ 0.3750 0.3678)4)mm) RadA (*(/(+ 0.562 0.556)4)mm) HghtH(*(/(+ 0.192 0.182)2)mm) Cmm (* 0.040 mm) Jmm (* 0.188 mm) Tmm (* 0.115 mm) Fmm (*(/(+ 0.020 0.015)2)mm) SktHd 4 ThdPrfl 4));3/8 ((= Size 0.4375) (setf RadD (*(/(+ 0.4375 0.4294)4)mm) RadA (*(/(+ 0.625 0.618)4)mm) HghtH(*(/(+ 0.223 0.213)2)mm) Cmm (* 0.047 mm) Jmm (* 0.219 mm) Tmm (* 0.135 mm) Fmm (*(/(+ 0.026 0.020)2)mm) SktHd 4 ThdPrfl 4));7/16 ((= Size 0.5000) (setf RadD (*(/(+ 0.5000 0.4919)4)mm) RadA (*(/(+ 0.750 0.743)4)mm) HghtH(*(/(+ 0.254 0.244)2)mm) Cmm (* 0.055 mm) Jmm (* 0.250 mm) Tmm (* 0.151 mm) Fmm (*(/(+ 0.026 0.020)2)mm) SktHd 4 ThdPrfl 4));1/2 ((= Size 0.6250) (setf RadD (*(/(+ 0.6250 0.6163)4)mm) RadA (*(/(+ 0.875 0.867)4)mm) HghtH(*(/(+ 0.316 0.306)2)mm) Cmm (* 0.070 mm) Jmm (* 0.312 mm) Tmm (* 0.250 mm) Fmm (*(/(+ 0.026 0.020)2)mm) SktHd 4 ThdPrfl 4));5/8 ));cond-Low Head (t (sd-display-alert "Not configured :( ")) );cond-types ;;Default Workplanes geometry to real geoemetry (sd-call-cmds(geometry_mode :real)) ;;Predefine the other variables (setf PartThk (* HghtH -1) FastLenmm (* Length -25.4) ThdNeck (cond ((> Ltmm FastLenmm) FastLenmm ) ((< Ltmm FastLenmm) (* Ltmm -1)) );cond 41DegAngl (* RadD 0.87) ;38.933074 );setf ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create the head geometry (print "Creating the socket bolt geometry") (cond ((= SktHd 1)(progn ;Socket Head (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 HghtH) (gpnt2d (- RadA (- HghtH Smm)) HghtH) (gpnt2d RadA Smm) (gpnt2d RadA 0.00000) :close ));sd-call-cmds (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));SktHd1BHC ((= SktHd 2)(progn ;Button Head (setf HeightA BHA DistNeg BHB DistPos (+ BHA BHB) ) (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d RadA 0.00000) (gpnt2d RadA HghtH) (gpnt2d 0.00000 HghtH) :close ));sd-call-cmds (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) (sd-call-cmds(polygon (gpnt2d HeightA DistNeg) (gpnt2d HeightA DistPos) (gpnt2d 0.00000 DistPos) ));sd-call-cmds (sd-call-cmds(arc :center (gpnt2d 0.00000 DistNeg) (gpnt2d HeightA DistNeg) (gpnt2d 0.00000 DistPos) ));sd-call-cmds (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));SktHd2 ((= SktHd 3)(progn ;Flat Head (sd-call-cmds(polygon (gpnt2d RadAx 0.00000) (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 (* HghtH -1)) (gpnt2d RadD (* HghtH -1)) :close ));sd-call-cmds (setf PartThk Tmm) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=2 ((= SktHd 4)(progn ;Low Head (sd-call-cmds(polygon (gpnt2d (- RadA Cmm ) HghtH) (gpnt2d 0.00000 HghtH) (gpnt2d 0.00000 0.00000) (gpnt2d RadA 0.00000) (gpnt2d RadA (- HghtH Cmm) ) :close ));sd-call-cmds (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=4 );cond (cond ((= SktHd 3)(progn (sd-call-cmds(polygon (gpnt2d (* RadAn 1.25) 0.00000) (gpnt2d RadAn 0.00000) (gpnt2d RadAn (* HghtH -1)) :close ));sd-call-cmds (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));=3 );cond ;;Bore out the socket profile (print "Bore out the socket profile on the head") ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" :model_name "sd_fastener_wp" )) (cond ((= SktHd 3)(progn ;Flat Head (sd-call-cmds(polygon (gpnt2d (* Jmm -0.5773502691896255) 0.000000 ) (gpnt2d (* Jmm -0.2886751345948129) (* Jmm 0.5) ) (gpnt2d (* Jmm 0.2886751345948129) (* Jmm 0.5) ) (gpnt2d (* Jmm 0.5773502691896255) 0.000000 ) (gpnt2d (* Jmm 0.2886751345948129) (* Jmm -0.5) ) (gpnt2d (* Jmm -0.2886751345948129) (* Jmm -0.5) ) :close ));sd-call-cmd (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :-w :operation :remove_material)) ));progn=3 (t (progn ;;Draw profile (sd-call-cmds(polygon (gpnt2d (* Jmm -0.5773502691896255) 0.000000 ) (gpnt2d (* Jmm -0.2886751345948129) (* Jmm 0.5) ) (gpnt2d (* Jmm 0.2886751345948129) (* Jmm 0.5) ) (gpnt2d (* Jmm 0.5773502691896255) 0.000000 ) (gpnt2d (* Jmm 0.2886751345948129) (* Jmm -0.5) ) (gpnt2d (* Jmm -0.2886751345948129) (* Jmm -0.5) ) :close ));sd-call-cmd ;;Remove profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :-w :operation :remove_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Draw Another profile (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000 ) (gpnt2d (* Jmm 0.5773502691896255) 0.00000) (gpnt2d (* Jmm 0.5773502691896255) (- HghtH Tmm) ) (gpnt2d 0.00000 (- HghtH Tmm) ) :close ));sd-call-cmd ;;Extrude profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));progn-t );cond ;;Setup the global variable for later (setq *FastThdRad* RadD ) (print(format nil ">>> We are looking for a radius of ~Ain | ~Amm <<<" (sd-num-to-string (/ *FastThdRad* 25.4) 6) (sd-num-to-string *FastThdRad* 6) )) ;;Create the bolt's shaft (print "Create the bolt's shaft geometry") (cond ((= ThdPrfl 1)(cond ;Socket Head ((= Type 1)(progn; - Partial Thread ;;checkout the max length of the thread first (setf Ltmm (cond ((= Size 0.0600)(cond;0 ((< Length 0.74)(* mm Length)) ((<= Length 0.88)(* mm 0.25)) ((<= Length 1.00)(* mm 0.50)) ((<= Length 1.25) (* mm 0.75)) ((> Length 1.25)(* mm (- Length 0.62))) ));;#0 ((= Size 0.0730)(cond;1 ((< Length 0.87)(* mm Length)) ((<= Length 1.00)(* mm 0.25)) ((<= Length 1.25)(* mm 0.62)) ((<= Length 1.50)(* mm 0.88)) ((> Length 1.50)(* mm (- Length 0.77))) ));;#1 ((= Size 0.0860)(cond;2 ((< Length 0.87)(* mm Length)) ((<= Length 1.00)(* mm 0.25)) ((<= Length 1.25)(* mm 0.62)) ((<= Length 1.50)(* mm 0.88)) ((<= Length 1.75)(* mm 1.12)) ((> Length 1.75)(* mm (- Length 0.80))) ));;#2 ((= Size 0.0990)(cond;3 ((< Length 0.87)(* mm Length)) ((<= Length 1.00)(* mm 0.25)) ((<= Length 1.25)(* mm 0.62)) ((<= Length 1.50)(* mm 0.88)) ((<= Length 1.75)(* mm 1.12)) ((<= Length 2.00)(* mm 1.38)) ((> Length 2.00)(* mm (- Length 0.83))) ));;#3 ((= Size 0.1120)(cond;4 ((< Length 0.99)(* mm Length)) ((<= Length 1.25)(* mm 0.25)) ((<= Length 1.50)(* mm 0.75)) ((<= Length 1.75)(* mm 0.75)) ((<= Length 2.25)(* mm 1.25)) ((> Length 2.25)(* mm (- Length 0.99))) ));;#4 ((= Size 0.1251)(cond;5 ((< Length 0.99)(* mm Length)) ((<= Length 1.25)(* mm 0.25)) ((<= Length 1.75)(* mm 0.75)) ((<= Length 2.25)(* mm 1.25)) ((<= Length 2.50)(* mm 1.75)) ((> Length 2.50)(* mm (- Length 1.00))) ));;#5 ((= Size 0.1380)(cond;6 ((< Length 1.24)(* mm Length)) ((<= Length 1.50)(* mm 0.50)) ((<= Length 2.00)(* mm 1.00)) ((<= Length 2.50)(* mm 1.50)) ((<= Length 2.75)(* mm 2.00)) ((> Length 2.75)(* mm (- Length 1.05))) ));;#6 ((= Size 0.1640)(cond;8 ((< Length 1.24)(* mm Length)) ((<= Length 1.50)(* mm 0.38)) ((<= Length 2.00)(* mm 0.88)) ((<= Length 2.50)(* mm 1.38)) ((<= Length 3.00)(* mm 1.88)) ((<= Length 3.25)(* mm 2.38)) ((> Length 3.25)(* mm (- Length 1.19))) ));;#8 ((= Size 0.1900)(cond;10 ((< Length 1.24)(* mm Length)) ((<= Length 1.50)(* mm 0.38)) ((<= Length 2.00)(* mm 0.88)) ((<= Length 2.50)(* mm 1.38)) ((<= Length 3.00)(* mm 1.88)) ((<= Length 3.50)(* mm 2.38)) ((<= Length 4.00)(* mm 2.88)) ((> Length 4.00)(* mm (- Length 1.27))) ));;#10 ((= Size 0.2160)(cond;12 ((< Length 1.24)(* mm Length)) ((<= Length 1.50)(* mm 0.38)) ((<= Length 2.00)(* mm 0.88)) ((<= Length 2.50)(* mm 1.38)) ((<= Length 3.00)(* mm 1.88)) ((<= Length 3.50)(* mm 2.38)) ((<= Length 4.00)(* mm 2.88)) ((> Length 4.00)(* mm (- Length 1.27))) ));;#12 ((= Size 0.2500)(cond;1/4 ((< Length 1.49)(* mm Length)) ((<= Length 1.75)(* mm 0.50)) ((<= Length 2.25)(* mm 1.00)) ((<= Length 2.75)(* mm 1.50)) ((<= Length 3.25)(* mm 2.00)) ((<= Length 3.75)(* mm 2.50)) ((<= Length 4.25)(* mm 3.00)) ((<= Length 4.75)(* mm 3.50)) ((<= Length 5.00)(* mm 4.00)) ((> Length 5.00)(* mm (- Length 1.50))) ));;1/4 ((= Size 0.3125)(cond;5/16 ((< Length 1.74)(* mm Length)) ((<= Length 2.00)(* mm 0.62)) ((<= Length 2.50)(* mm 1.12)) ((<= Length 3.00)(* mm 1.62)) ((<= Length 3.50)(* mm 2.12)) ((<= Length 4.00)(* mm 2.62)) ((<= Length 4.50)(* mm 3.12)) ((<= Length 5.00)(* mm 3.62)) ((<= Length 5.50)(* mm 4.12)) ((<= Length 6.00)(* mm 4.62)) ((<= Length 6.25)(* mm 5.12)) ((> Length 6.25)(* mm (- Length 1.71))) ));;5/16 ((= Size 0.3750)(cond;3/8 ((< Length 1.74)(* mm Length)) ((<= Length 2.00)(* mm 0.50)) ((<= Length 2.50)(* mm 1.00)) ((<= Length 3.00)(* mm 1.50)) ((<= Length 3.50)(* mm 2.00)) ((<= Length 4.00)(* mm 2.50)) ((<= Length 4.50)(* mm 3.00)) ((<= Length 5.00)(* mm 3.50)) ((<= Length 5.50)(* mm 4.00)) ((= Length 6.00)(* mm 4.50)) ((<= Length 6.50)(* mm 5.00)) ((<= Length 7.00)(* mm 5.50)) ((<= Length 7.50)(* mm 6.00)) ((> Length 7.50)(* mm (- Length 1.94))) ));;3/8 ((= Size 0.4375)(cond;7/16 ((< Length 1.99)(* mm Length)) ((<= Length 2.25)(* mm 0.62)) ((<= Length 2.75)(* mm 1.12)) ((<= Length 3.25)(* mm 1.62)) ((<= Length 3.75)(* mm 2.12)) ((<= Length 4.00)(* mm 2.22)) ((<= Length 4.25)(* mm 2.62)) ((<= Length 4.75)(* mm 3.12)) ((<= Length 5.25)(* mm 3.62)) ((= Length 5.75)(* mm 4.12)) ((<= Length 6.25)(* mm 4.62)) ((<= Length 6.75)(* mm 5.12)) ((<= Length 7.25)(* mm 5.62)) ((<= Length 7.75)(* mm 6.12)) ((<= Length 8.00)(* mm 6.62)) ((<= Length 8.50)(* mm 7.12)) ((<= Length 9.00)(* mm 7.62)) ((> Length 9.00)(* mm (- Length 2.17))) ));;7/16 ((= Size 0.5000)(cond;1/2 ((< Length 2.24)(* mm Length)) ((<= Length 2.75)(* mm 0.75)) ((<= Length 3.50)(* mm 1.50)) ((<= Length 4.25)(* mm 2.25)) ((<= Length 5.00)(* mm 3.00)) ((<= Length 5.75)(* mm 3.75)) ((<= Length 6.50)(* mm 4.50)) ((<= Length 7.25)(* mm 5.25)) ((<= Length 8.00)(* mm 6.00)) ((<= Length 9.00)(* mm 7.00)) ((<= Length 10.00)(* mm 8.00)) ((> Length 10.00)(* mm (- Length 2.38))) ));;1/2 ((= Size 0.5625)(cond;9/16 ((< Length 2.24)(* mm Length)) ((<= Length 2.75)(* mm 0.75)) ((<= Length 3.50)(* mm 1.50)) ((<= Length 4.25)(* mm 2.25)) ((<= Length 5.00)(* mm 3.00)) ((<= Length 5.75)(* mm 3.75)) ((<= Length 6.50)(* mm 4.50)) ((<= Length 7.25)(* mm 5.25)) ((<= Length 8.00)(* mm 6.00)) ((<= Length 9.00)(* mm 7.00)) ((<= Length 10.00)(* mm 8.00)) ((> Length 10.00)(* mm (- Length 2.38))) ));;9/16 ((= Size 0.6250)(cond;5/8 ((< Length 2.24)(* mm Length)) ((<= Length 3.00)(* mm 0.75)) ((<= Length 3.75)(* mm 1.50)) ((<= Length 4.50)(* mm 2.25)) ((<= Length 5.25)(* mm 3.00)) ((<= Length 6.00)(* mm 3.75)) ((<= Length 6.75)(* mm 4.50)) ((<= Length 7.50)(* mm 5.25)) ((<= Length 7.75)(* mm 6.00)) ((<= Length 8.00)(* mm 6.30)) ((<= Length 9.00)(* mm 6.75)) ((<= Length 10.00)(* mm 7.75)) ((<= Length 11.00)(* mm 9.25)) ((<= Length 12.00)(* mm 10.25)) ((> Length 12.00)(* mm (- Length 2.82))) ));;5/8 ((= Size 0.7500)(cond;3/4 ((< Length 2.99)(* mm Length)) ((<= Length 3.75)(* mm 1.00)) ((<= Length 4.75)(* mm 2.00)) ((<= Length 5.75)(* mm 3.00)) ((<= Length 6.75)(* mm 4.00)) ((<= Length 7.75)(* mm 5.00)) ((<= Length 8.50)(* mm 6.00)) ((<= Length 9.50)(* mm 7.00)) ((<= Length 10.00)(* mm 8.00)) ((<= Length 11.00)(* mm 9.00)) ((<= Length 12.00)(* mm 10.00)) ((<= Length 13.00)(* mm 11.00)) ((<= Length 14.00)(* mm 12.00)) ((<= Length 15.00)(* mm 13.00)) ((> Length 15.00)(* mm (- Length 3.25))) ));;3/4 ((= Size 0.8750)(cond;7/8 ((< Length 3.24)(* mm Length)) ((<= Length 4.00)(* mm 1.00)) ((<= Length 5.00)(* mm 2.00)) ((<= Length 6.00)(* mm 3.00)) ((<= Length 7.00)(* mm 4.00)) ((<= Length 8.00)(* mm 5.00)) ((<= Length 9.00)(* mm 6.00)) ((<= Length 10.00)(* mm 7.00)) ((<= Length 11.00)(* mm 8.00)) ((<= Length 12.00)(* mm 9.00)) ((<= Length 13.00)(* mm 10.00)) ((<= Length 14.00)(* mm 11.00)) ((<= Length 15.00)(* mm 12.00)) ((<= Length 16.00)(* mm 13.00)) ((<= Length 17.00)(* mm 14.00)) ((<= Length 18.00)(* mm 15.00)) ((> Length 18.00)(* mm (- Length 3.69))) ));;7/8 ((= Size 1.0000)(cond;1 ((< Length 3.49)(* mm Length)) ((<= Length 4.25)(* mm 1.00)) ((<= Length 5.25)(* mm 2.00)) ((<= Length 6.25)(* mm 3.00)) ((<= Length 7.25)(* mm 4.00)) ((<= Length 8.00)(* mm 5.00)) ((<= Length 9.00)(* mm 6.00)) ((<= Length 9.50)(* mm 7.00)) ((<= Length 10.00)(* mm 7.00)) ((<= Length 11.00)(* mm 8.00)) ((<= Length 12.00)(* mm 9.00)) ((<= Length 13.00)(* mm 10.00)) ((<= Length 14.00)(* mm 11.00)) ((<= Length 15.00)(* mm 12.00)) ((<= Length 16.00)(* mm 13.00)) ((<= Length 17.00)(* mm 14.00)) ((<= Length 18.00)(* mm 15.00)) ((<= Length 19.00)(* mm 16.00)) ((<= Length 20.00)(* mm 17.00)) ((> Length 20.00)(* mm (- Length 4.12))) ));;1 ((= Size 1.1250)(cond;1-1/8 ((< Length 4.74)(* mm Length)) ((<= Length 4.75)(* mm 1.94)) ((<= Length 5.00)(* mm 2.19)) ((<= Length 5.25)(* mm 2.44)) ((<= Length 5.50)(* mm 2.69)) ((<= Length 5.75)(* mm 2.94)) ((<= Length 6.00)(* mm 3.19)) ((<= Length 6.25)(* mm 3.44)) ((<= Length 6.50)(* mm 3.69)) ((<= Length 6.75)(* mm 3.94)) ((<= Length 7.00)(* mm 4.19)) ((<= Length 7.25)(* mm 4.44)) ((<= Length 7.50)(* mm 4.69)) ((<= Length 7.75)(* mm 4.94)) ((<= Length 8.00)(* mm 5.19)) ((<= Length 8.50)(* mm 5.69)) ((<= Length 9.00)(* mm 6.19)) ((<= Length 9.50)(* mm 9.69)) ((<= Length 10.00)(* mm 7.19)) ((<= Length 11.00)(* mm 8.19)) ((<= Length 12.00)(* mm 9.19)) ((<= Length 13.00)(* mm 10.19)) ((<= Length 14.00)(* mm 11.19)) ((<= Length 15.00)(* mm 12.19)) ((<= Length 16.00)(* mm 13.19)) ((<= Length 17.00)(* mm 14.19)) ((<= Length 18.00)(* mm 15.19)) ((<= Length 19.00)(* mm 16.19)) ((<= Length 20.00)(* mm 17.19)) ((> Length 20.00)(* mm (- Length 4.65))) ));;1 1/8 ((= Size 1.2500)(cond;1-1/4 ((< Length 5.24)(* mm Length)) ((<= Length 5.25)(* mm 2.13)) ((<= Length 5.50)(* mm 2.38)) ((<= Length 5.75)(* mm 2.63)) ((<= Length 6.00)(* mm 2.88)) ((<= Length 6.25)(* mm 3.13)) ((<= Length 6.50)(* mm 3.38)) ((<= Length 6.75)(* mm 3.63)) ((<= Length 7.00)(* mm 3.88)) ((<= Length 7.25)(* mm 4.13)) ((<= Length 7.50)(* mm 4.38)) ((<= Length 7.75)(* mm 4.63)) ((<= Length 8.00)(* mm 4.88)) ((<= Length 8.50)(* mm 5.35)) ((<= Length 9.00)(* mm 5.88)) ((<= Length 9.50)(* mm 6.35)) ((<= Length 10.00)(* mm 6.88)) ((<= Length 11.00)(* mm 7.88)) ((<= Length 12.00)(* mm 8.88)) ((<= Length 13.00)(* mm 9.88)) ((<= Length 14.00)(* mm 10.88)) ((<= Length 15.00)(* mm 11.88)) ((<= Length 16.00)(* mm 12.88)) ((<= Length 17.00)(* mm 13.88)) ((<= Length 18.00)(* mm 14.88)) ((<= Length 19.00)(* mm 15.88)) ((<= Length 20.00)(* mm 16.88)) ((> Length 20.00)(* mm (- Length 5.09))) ));;1 1/4 ((= Size 1.3750)(cond;1-3/8 ((< Length 5.74)(* mm Length)) ((<= Length 5.75)(* mm 2.31)) ((<= Length 6.00)(* mm 2.56)) ((<= Length 6.25)(* mm 2.81)) ((<= Length 6.50)(* mm 3.06)) ((<= Length 6.75)(* mm 3.31)) ((<= Length 7.00)(* mm 3.56)) ((<= Length 7.25)(* mm 3.81)) ((<= Length 7.50)(* mm 4.06)) ((<= Length 7.75)(* mm 4.31)) ((<= Length 8.00)(* mm 4.56)) ((<= Length 8.50)(* mm 5.06)) ((<= Length 9.00)(* mm 5.56)) ((<= Length 9.50)(* mm 6.06)) ((<= Length 10.00)(* mm 6.56)) ((<= Length 11.00)(* mm 7.56)) ((<= Length 12.00)(* mm 8.56)) ((<= Length 13.00)(* mm 9.56)) ((<= Length 14.00)(* mm 10.56)) ((<= Length 15.00)(* mm 11.56)) ((<= Length 16.00)(* mm 12.56)) ((<= Length 17.00)(* mm 13.56)) ((<= Length 18.00)(* mm 14.56)) ((<= Length 19.00)(* mm 15.56)) ((<= Length 20.00)(* mm 16.56)) ((> Length 20.00)(* mm (- Length 5.65))) ));;1 3/8 ((= Size 1.5000)(cond;1-1/2 ((< Length 6.24)(* mm Length)) ((<= Length 6.25)(* mm 2.50)) ((<= Length 6.50)(* mm 2.75)) ((<= Length 6.75)(* mm 3.00)) ((<= Length 7.00)(* mm 3.25)) ((<= Length 7.25)(* mm 3.50)) ((<= Length 7.50)(* mm 3.75)) ((<= Length 7.75)(* mm 4.00)) ((<= Length 8.00)(* mm 4.25)) ((<= Length 8.50)(* mm 4.75)) ((<= Length 9.00)(* mm 5.25)) ((<= Length 9.50)(* mm 5.75)) ((<= Length 10.00)(* mm 6.25)) ((<= Length 11.00)(* mm 7.25)) ((<= Length 12.00)(* mm 8.25)) ((<= Length 13.00)(* mm 9.25)) ((<= Length 14.00)(* mm 10.25)) ((<= Length 15.00)(* mm 11.25)) ((<= Length 16.00)(* mm 12.25)) ((<= Length 17.00)(* mm 13.25)) ((<= Length 18.00)(* mm 14.25)) ((<= Length 19.00)(* mm 15.25)) ((<= Length 20.00)(* mm 16.25)) ((> Length 20.00)(* mm (- Length 6.08))) ));;1 1/2 ((= Size 1.7500)(cond;1-3/4 ((< Length 7.12)(* mm Length)) ((> Length 7.12)(* mm (- Length 7.13))) ));;1 3/4 ((= Size 2.0000)(cond;2 ((< Length 8.10)(* mm Length)) ((> Length 8.10)(* mm (- Length 8.11))) ));;2 ((= Size 2.2500)(cond;2-1/4 ((< Length 8.98)(* mm Length)) ((> Length 8.98)(* mm (- Length 8.99))) ));;2 1/4 ((= Size 2.5000)(cond;2-1/2 ((< Length 9.99)(* mm Length)) ((> Length 9.99)(* mm (- Length 10.00))) ));;2 1/2 ((= Size 2.7500)(cond;2-3/4 ((< Length 10.86)(* mm Length)) ((> Length 10.86)(* mm (- Length 10.87))) ));;2 3/4 ((= Size 3.0000)(cond;3 ((< Length 11.74)(* mm Length)) ((> Length 11.74)(* mm (- Length 11.75))) ));;3 ((= Size 3.2500)(cond;3-1/4 ((< Length 12.62)(* mm Length)) ((> Length 12.62)(* mm (- Length 12.63))) ));;3 1/4 ((= Size 3.5000)(cond;3-1/2 ((< Length 13.49)(* mm Length)) ((> Length 13.49)(* mm (- Length 13.50))) ));;3 1/2 ((= Size 3.7500)(cond;3-3/4 ((< Length 14.36)(* mm Length)) ((> Length 14.36)(* mm (- Length 14.37))) ));;3 3/4 ((= Size 4.0000)(cond;4 ((< Length 15.24)(* mm Length)) ((> Length 15.24)(* mm (- Length 15.25))) ));;4 ));;cond-setf ;;Now create the bolt (cond ((>= Ltmm (* mm Length))(progn (print "Thread is Shorter or Equal than the shaft body") (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 FastLenmm) (gpnt2d RadD FastLenmm) (gpnt2d RadD 0.00000) (gpnt2d (+ RadD Fmm) 0.00000) :close));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (gpnt2d RadD 0.00000) Fmm)) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) )) (t(progn;Partial Thread (print "Thread is Longer than the shaft body") (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 FastLenmm) (gpnt2d (- RadD 0.254) FastLenmm) (gpnt2d (- RadD 0.254) (* -1 Ltmm )) (gpnt2d RadD (* -1 Ltmm )) (gpnt2d RadD 0.00000) (gpnt2d (+ RadD Fmm) 0.00000) :close ));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (gpnt2d RadD 0.00000) Fmm)) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) (setq *FastThdRad* (- RadD 0.254) ) )) );cond ));type-1 ((= Type 2)(progn; - Full Thread (print "Thread is Shorter than the shaft body") (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 FastLenmm) (gpnt2d RadD FastLenmm) (gpnt2d RadD 0.00000) (gpnt2d (+ RadD Fmm) 0.00000) :close));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (gpnt2d RadD 0.00000) Fmm)) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));type-2 ));=1 ((= ThdPrfl 2)(progn;ButtonHead (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 FastLenmm) (gpnt2d RadD FastLenmm) (gpnt2d RadD 0.00000) (gpnt2d (+ RadD Fmm) 0.00000) :close));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (gpnt2d RadD 0.00000) Fmm)) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=2 ((= ThdPrfl 3)(progn;FlatHead ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) (sd-call-cmds(polygon (gpnt2d RadD (* HghtH -1)) (gpnt2d 0.00000 (* HghtH -1)) (gpnt2d 0.00000 FastLenmm) (gpnt2d RadD FastLenmm) :close ));sd-call-cmd (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=3 ((= ThdPrfl 4)(progn;LowHead (sd-call-cmds(polygon (gpnt2d RadD 0.00000) (gpnt2d (+ RadD Fmm) 0.00000) (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 FastLenmm) (gpnt2d RadD FastLenmm) :close ));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (gpnt2d RadD 0.00000) Fmm)) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=4 );cond );defun ;;;; =================================================================================================================== (defun sd_create_fastener_nut_hex (Name Type Size) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;Seperate the different Nut Types followed by dimension values - According to ASME B18.2.2 - 2015 (print " Sort things out") (cond ((or(= Type 1)(= Type 2))(cond ;=Hex-p08 ((= Size 0.2500) (setf HexThk (*(/(+ 0.212 0.226)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.258 0.273)2)mm) AcrossFlats (*(/(+ 0.489 0.500)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.320 0.337)2)mm) AcrossFlats (*(/(+ 0.551 0.563)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.365 0.385)2)mm) AcrossFlats (*(/(+ 0.675 0.688)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.427 0.448)2)mm) AcrossFlats (*(/(+ 0.736 0.750)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.473 0.496)2)mm) AcrossFlats (*(/(+ 0.861 0.875)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.535 0.559)2)mm) AcrossFlats (*(/(+ 0.922 0.938)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.617 0.665)2)mm) AcrossFlats (*(/(+ 1.088 1.125)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.724 0.776)2)mm) AcrossFlats (*(/(+ 1.269 1.312)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.831 0.887)2)mm) AcrossFlats (*(/(+ 1.450 1.500)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 0.939 0.999)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) ));1-1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.030 1.094)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) ));1-1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.138 1.206)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) ));1-3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.245 1.317)2)mm) AcrossFlats (*(/(+ 2.175 2.250)2)mm) ));1-1/2 ((= Size 1.6250) (setf HexThk (*(/(+ 1.364 1.416)2)mm) AcrossFlats (*(/(+ 2.350 2.430)2)mm) ));1 5/8 ((= Size 1.7500) (setf HexThk (*(/(+ 1.460 1.540)2)mm) AcrossFlats (*(/(+ 2.538 2.625)2)mm) ));1 3/4 ((= Size 1.8750) (setf HexThk (*(/(+ 1.567 1.651)2)mm) AcrossFlats (*(/(+ 2.722 2.813)2)mm) ));1 7/8 ((= Size 2.0000) (setf HexThk (*(/(+ 1.675 1.763)2)mm) AcrossFlats (*(/(+ 2.900 3.000)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 1.890 1.986)2)mm) AcrossFlats (*(/(+ 3.263 3.375)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 2.105 2.209)2)mm) AcrossFlats (*(/(+ 3.625 3.750)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 2.319 2.431)2)mm) AcrossFlats (*(/(+ 3.988 4.125)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 2.534 2.654)2)mm) AcrossFlats (*(/(+ 4.350 4.500)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 2.749 2.877)2)mm) AcrossFlats (*(/(+ 4.713 4.875)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 2.964 3.100)2)mm) AcrossFlats (*(/(+ 5.075 5.250)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 3.178 3.322)2)mm) AcrossFlats (*(/(+ 5.438 5.625)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 3.393 3.545)2)mm) AcrossFlats (*(/(+ 5.800 6.000)2)mm) ));4 ));cond-Hex ((= Type 3) (cond ;=Hex-Flat-p07 ((= Size 1.1250) (setf HexThk (*(/(+ 0.970 1.030)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.062 1.126)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.169 1.237)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.276 1.348)2)mm) AcrossFlats (*(/(+ 2.250 2.480)2)mm) ));1 1/2 ));cond-Hex-Flat ((or(= Type 4)(= Type 5)) (cond ;=Heavy-Hex-p14 ((= Size 0.2500) (setf HexThk (*(/(+ 0.218 0.250)2)mm) AcrossFlats (*(/(+ 0.488 0.500)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.280 0.314)2)mm) AcrossFlats (*(/(+ 0.546 0.562)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.341 0.377)2)mm) AcrossFlats (*(/(+ 0.669 0.688)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.403 0.441)2)mm) AcrossFlats (*(/(+ 0.728 0.750)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.464 0.504)2)mm) AcrossFlats (*(/(+ 0.850 0.875)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.526 0.568)2)mm) AcrossFlats (*(/(+ 0.909 0.938)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.587 0.631)2)mm) AcrossFlats (*(/(+ 1.031 1.062)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.710 0.758)2)mm) AcrossFlats (*(/(+ 1.212 1.250)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.833 0.885)2)mm) AcrossFlats (*(/(+ 1.394 1.438)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.956 1.012)2)mm) AcrossFlats (*(/(+ 1.575 1.625)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 1.079 1.139)2)mm) AcrossFlats (*(/(+ 1.756 1.812)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.187 1.251)2)mm) AcrossFlats (*(/(+ 1.938 2.000)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.310 1.378)2)mm) AcrossFlats (*(/(+ 2.119 2.188)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.433 1.505)2)mm) AcrossFlats (*(/(+ 2.300 2.375)2)mm) ));1 1/2 ((= Size 1.6250) (setf HexThk (*(/(+ 1.556 1.632)2)mm) AcrossFlats (*(/(+ 2.481 2.562)2)mm) ));1 5/8 ((= Size 1.7500) (setf HexThk (*(/(+ 1.679 1.759)2)mm) AcrossFlats (*(/(+ 2.662 2.750)2)mm) ));1 3/4 ((= Size 1.8750) (setf HexThk (*(/(+ 1.802 1.886)2)mm) AcrossFlats (*(/(+ 2.844 2.938)2)mm) ));1 7/8 ((= Size 2.0000) (setf HexThk (*(/(+ 1.925 2.013)2)mm) AcrossFlats (*(/(+ 3.025 3.125)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 2.155 2.251)2)mm) AcrossFlats (*(/(+ 3.388 3.500)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 2.401 2.505)2)mm) AcrossFlats (*(/(+ 3.750 3.875)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 2.647 2.759)2)mm) AcrossFlats (*(/(+ 4.112 4.250)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 2.893 3.013)2)mm) AcrossFlats (*(/(+ 4.475 4.625)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 3.124 3.252)2)mm) AcrossFlats (*(/(+ 4.838 5.000)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 3.370 3.506)2)mm) AcrossFlats (*(/(+ 5.200 5.375)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 3.616 3.760)2)mm) AcrossFlats (*(/(+ 5.562 5.750)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 3.862 4.014)2)mm) AcrossFlats (*(/(+ 5.925 6.125)2)mm) ));4 ));cond-Heavy-Hex ((= Type 6) (cond ;=Heavy-Hex-Flat-p13 ((= Size 1.1250) (setf HexThk (*(/(+ 1.079 1.155)2)mm) AcrossFlats (*(/(+ 1.756 1.812)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.187 1.282)2)mm) AcrossFlats (*(/(+ 1.938 2.000)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.310 1.409)2)mm) AcrossFlats (*(/(+ 2.119 2.188)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.433 1.536)2)mm) AcrossFlats (*(/(+ 2.300 2.375)2)mm) ));1 1/2 ((= Size 1.7500) (setf HexThk (*(/(+ 1.679 1.790)2)mm) AcrossFlats (*(/(+ 2.662 2.750)2)mm) ));1 3/4 ((= Size 2.0000) (setf HexThk (*(/(+ 1.925 2.044)2)mm) AcrossFlats (*(/(+ 3.025 3.125)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 2.155 2.298)2)mm) AcrossFlats (*(/(+ 3.388 3.500)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 2.401 2.552)2)mm) AcrossFlats (*(/(+ 3.750 3.875)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 2.647 2.806)2)mm) AcrossFlats (*(/(+ 4.112 4.250)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 2.893 3.060)2)mm) AcrossFlats (*(/(+ 4.475 4.625)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 3.124 3.314)2)mm) AcrossFlats (*(/(+ 4.838 5.000)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 3.370 3.568)2)mm) AcrossFlats (*(/(+ 5.200 5.375)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 3.616 3.822)2)mm) AcrossFlats (*(/(+ 5.562 5.750)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 3.862 4.076)2)mm) AcrossFlats (*(/(+ 5.925 6.125)2)mm) ));4 ));cond-Heavy-Hex-Flat ((or(= Type 7)(= Type 8)) (cond ;=Hex-Jam-p08 ((= Size 0.2500) (setf HexThk (*(/(+ 0.150 0.163)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.180 0.195)2)mm) AcrossFlats (*(/(+ 0.489 0.500)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.210 0.227)2)mm) AcrossFlats (*(/(+ 0.551 0.563)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.240 0.260)2)mm) AcrossFlats (*(/(+ 0.675 0.688)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.302 0.323)2)mm) AcrossFlats (*(/(+ 0.736 0.750)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.301 0.324)2)mm) AcrossFlats (*(/(+ 0.861 0.875)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.363 0.387)2)mm) AcrossFlats (*(/(+ 0.922 0.938)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.398 0.446)2)mm) AcrossFlats (*(/(+ 1.088 1.125)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.458 0.510)2)mm) AcrossFlats (*(/(+ 1.269 1.312)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.519 0.575)2)mm) AcrossFlats (*(/(+ 1.450 1.500)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 0.579 0.639)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) ));1-1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 0.687 0.751)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) ));1-1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 0.747 0.815)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) ));1-3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 0.808 0.880)2)mm) AcrossFlats (*(/(+ 2.175 2.250)2)mm) ));1-1/2 ((= Size 1.6250) (setf HexThk (*(/(+ 0.868 0.944)2)mm) AcrossFlats (*(/(+ 2.350 2.430)2)mm) ));1 5/8 ((= Size 1.7500) (setf HexThk (*(/(+ 0.929 1.009)2)mm) AcrossFlats (*(/(+ 2.538 2.625)2)mm) ));1 3/4 ((= Size 1.8750) (setf HexThk (*(/(+ 0.989 1.073)2)mm) AcrossFlats (*(/(+ 2.722 2.813)2)mm) ));1 7/8 ((= Size 2.0000) (setf HexThk (*(/(+ 1.050 1.138)2)mm) AcrossFlats (*(/(+ 2.900 3.000)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 1.155 1.267)2)mm) AcrossFlats (*(/(+ 3.263 3.375)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 1.401 1.427)2)mm) AcrossFlats (*(/(+ 3.625 3.750)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 1.522 1.556)2)mm) AcrossFlats (*(/(+ 3.988 4.125)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 1.643 1.685)2)mm) AcrossFlats (*(/(+ 4.350 4.500)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 1.748 1.814)2)mm) AcrossFlats (*(/(+ 4.713 4.875)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 1.870 1.943)2)mm) AcrossFlats (*(/(+ 5.075 5.250)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 1.990 2.072)2)mm) AcrossFlats (*(/(+ 5.438 5.625)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 2.112 2.201)2)mm) AcrossFlats (*(/(+ 5.800 6.000)2)mm) ));4 ));cond-Hex-Jam ((= Type 9) (cond ;=Hex-Flat-Jam-p07 ((= Size 1.1250) (setf HexThk (*(/(+ 0.595 0.656)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 0.718 0.782)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 0.778 0.846)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 0.839 0.911)2)mm) AcrossFlats (*(/(+ 2.250 2.480)2)mm) ));1 1/2 ));cond-Hex-Flat-Jam ((or(= Type 10)(= Type 11)) (cond ;=Heavy-Hex-Jam-p14 ((= Size 0.2500) (setf HexThk (*(/(+ 0.156 0.188)2)mm) AcrossFlats (*(/(+ 0.488 0.500)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.186 0.220)2)mm) AcrossFlats (*(/(+ 0.546 0.562)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.216 0.252)2)mm) AcrossFlats (*(/(+ 0.669 0.688)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.247 0.285)2)mm) AcrossFlats (*(/(+ 0.728 0.750)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.277 0.317)2)mm) AcrossFlats (*(/(+ 0.850 0.875)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.307 0.349)2)mm) AcrossFlats (*(/(+ 0.909 0.938)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.337 0.381)2)mm) AcrossFlats (*(/(+ 1.031 1.062)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.398 0.446)2)mm) AcrossFlats (*(/(+ 1.212 1.250)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.458 0.510)2)mm) AcrossFlats (*(/(+ 1.394 1.438)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.519 0.575)2)mm) AcrossFlats (*(/(+ 1.575 1.625)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 0.579 0.639)2)mm) AcrossFlats (*(/(+ 1.756 1.812)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 0.687 0.751)2)mm) AcrossFlats (*(/(+ 1.938 2.000)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 0.747 0.815)2)mm) AcrossFlats (*(/(+ 2.119 2.188)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 0.808 0.880)2)mm) AcrossFlats (*(/(+ 2.300 2.375)2)mm) ));1 1/2 ((= Size 1.6250) (setf HexThk (*(/(+ 0.868 0.944)2)mm) AcrossFlats (*(/(+ 2.481 2.562)2)mm) ));1 5/8 ((= Size 1.7500) (setf HexThk (*(/(+ 0.929 1.009)2)mm) AcrossFlats (*(/(+ 2.662 2.750)2)mm) ));1 3/4 ((= Size 1.8750) (setf HexThk (*(/(+ 0.989 1.073)2)mm) AcrossFlats (*(/(+ 2.844 2.938)2)mm) ));1 7/8 ((= Size 2.0000) (setf HexThk (*(/(+ 1.050 1.138)2)mm) AcrossFlats (*(/(+ 3.025 3.125)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 1.155 1.251)2)mm) AcrossFlats (*(/(+ 3.388 3.500)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 1.401 1.505)2)mm) AcrossFlats (*(/(+ 3.750 3.875)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 1.522 1.634)2)mm) AcrossFlats (*(/(+ 4.112 4.250)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 1.643 1.763)2)mm) AcrossFlats (*(/(+ 4.475 4.625)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 1.748 1.876)2)mm) AcrossFlats (*(/(+ 4.838 5.000)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 1.870 2.006)2)mm) AcrossFlats (*(/(+ 5.200 5.375)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 1.990 2.134)2)mm) AcrossFlats (*(/(+ 5.562 5.750)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 2.112 2.264)2)mm) AcrossFlats (*(/(+ 5.925 6.125)2)mm) ));4 ));cond-Heavy-Hex-Jam ((= Type 12) (cond ;=Heavy-Hex-Flat-Jam-p13 ((= Size 1.1250) (setf HexThk (*(/(+ 0.579 0.655)2)mm) AcrossFlats (*(/(+ 1.756 1.812)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 0.687 0.782)2)mm) AcrossFlats (*(/(+ 1.938 2.000)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 0.747 0.846)2)mm) AcrossFlats (*(/(+ 2.119 2.188)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 0.808 0.911)2)mm) AcrossFlats (*(/(+ 2.300 2.375)2)mm) ));1 1/2 ((= Size 1.7500) (setf HexThk (*(/(+ 0.929 1.040)2)mm) AcrossFlats (*(/(+ 2.662 2.750)2)mm) ));1 3/4 ((= Size 2.0000) (setf HexThk (*(/(+ 1.050 1.169)2)mm) AcrossFlats (*(/(+ 3.025 3.125)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 1.155 1.298)2)mm) AcrossFlats (*(/(+ 3.388 3.500)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 1.401 1.552)2)mm) AcrossFlats (*(/(+ 3.750 3.875)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 1.522 1.681)2)mm) AcrossFlats (*(/(+ 4.112 4.250)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 1.643 1.810)2)mm) AcrossFlats (*(/(+ 4.475 4.625)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 1.748 1.939)2)mm) AcrossFlats (*(/(+ 4.838 5.000)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 1.870 2.068)2)mm) AcrossFlats (*(/(+ 5.200 5.375)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 1.990 2.197)2)mm) AcrossFlats (*(/(+ 5.562 5.750)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 2.112 2.326)2)mm) AcrossFlats (*(/(+ 5.925 6.125)2)mm) ));4 ));cond-Heavy-Hex-Flat-Jam ((or(= Type 13)(= Type 14)) (cond ;=Hex-Slotted-p09" ((= Size 0.2500) (setf HexThk (*(/(+ 0.212 0.226)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) DistT (*(/(+ 0.12 0.14)2)mm) DistS (*(/(+ 0.07 0.10)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.258 0.273)2)mm) AcrossFlats (*(/(+ 0.489 0.500)2)mm) DistT (*(/(+ 0.16 0.18)2)mm) DistS (*(/(+ 0.09 0.12)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.320 0.337)2)mm) AcrossFlats (*(/(+ 0.551 0.562)2)mm) DistT (*(/(+ 0.19 0.21)2)mm) DistS (*(/(+ 0.12 0.15)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.365 0.385)2)mm) AcrossFlats (*(/(+ 0.675 0.688)2)mm) DistT (*(/(+ 0.21 0.23)2)mm) DistS (*(/(+ 0.12 0.15)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.427 0.448)2)mm) AcrossFlats (*(/(+ 0.736 0.750)2)mm) DistT (*(/(+ 0.27 0.29)2)mm) DistS (*(/(+ 0.15 0.18)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.473 0.496)2)mm) AcrossFlats (*(/(+ 0.861 0.875)2)mm) DistT (*(/(+ 0.29 0.31)2)mm) DistS (*(/(+ 0.15 0.18)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.535 0.559)2)mm) AcrossFlats (*(/(+ 0.922 0.938)2)mm) DistT (*(/(+ 0.32 0.34)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.617 0.665)2)mm) AcrossFlats (*(/(+ 1.088 1.125)2)mm) DistT (*(/(+ 0.38 0.40)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.724 0.776)2)mm) AcrossFlats (*(/(+ 1.269 1.312)2)mm) DistT (*(/(+ 0.49 0.52)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.831 0.887)2)mm) AcrossFlats (*(/(+ 1.450 1.500)2)mm) DistT (*(/(+ 0.56 0.59)2)mm) DistS (*(/(+ 0.24 0.30)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 0.939 0.999)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) DistT (*(/(+ 0.61 0.64)2)mm) DistS (*(/(+ 0.24 0.33)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.030 1.094)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) DistT (*(/(+ 0.67 0.70)2)mm) DistS (*(/(+ 0.31 0.40)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.138 1.206)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) DistT (*(/(+ 0.78 0.82)2)mm) DistS (*(/(+ 0.31 0.40)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.245 1.317)2)mm) AcrossFlats (*(/(+ 2.175 2.250)2)mm) DistT (*(/(+ 0.82 0.86)2)mm) DistS (*(/(+ 0.37 0.46)2)mm) ));1 1/2 ));cond-Hex-Slotted" ((or(= Type 15)(= Type 16)) (cond ;=Heavy-Hex-Slotted-p15 ((= Size 0.2500) (setf HexThk (*(/(+ 0.218 0.250)2)mm) AcrossFlats (*(/(+ 0.488 0.500)2)mm) DistT (*(/(+ 0.13 0.15)2)mm) DistS (*(/(+ 0.07 0.10)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.280 0.314)2)mm) AcrossFlats (*(/(+ 0.546 0.562)2)mm) DistT (*(/(+ 0.19 0.21)2)mm) DistS (*(/(+ 0.09 0.12)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.341 0.377)2)mm) AcrossFlats (*(/(+ 0.669 0.688)2)mm) DistT (*(/(+ 0.22 0.24)2)mm) DistS (*(/(+ 0.12 0.15)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.403 0.441)2)mm) AcrossFlats (*(/(+ 0.728 0.750)2)mm) DistT (*(/(+ 0.26 0.28)2)mm) DistS (*(/(+ 0.12 0.15)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.464 0.504)2)mm) AcrossFlats (*(/(+ 0.850 0.875)2)mm) DistT (*(/(+ 0.32 0.34)2)mm) DistS (*(/(+ 0.15 0.18)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.526 0.568)2)mm) AcrossFlats (*(/(+ 0.909 0.938)2)mm) DistT (*(/(+ 0.35 0.37)2)mm) DistS (*(/(+ 0.15 0.18)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.587 0.631)2)mm) AcrossFlats (*(/(+ 1.031 1.062)2)mm) DistT (*(/(+ 0.38 0.40)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.710 0.758)2)mm) AcrossFlats (*(/(+ 1.212 1.250)2)mm) DistT (*(/(+ 0.47 0.49)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.833 0.885)2)mm) AcrossFlats (*(/(+ 1.394 1.438)2)mm) DistT (*(/(+ 0.59 0.62)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.956 1.012)2)mm) AcrossFlats (*(/(+ 1.575 1.625)2)mm) DistT (*(/(+ 0.69 0.72)2)mm) DistS (*(/(+ 0.24 0.30)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 1.079 1.139)2)mm) AcrossFlats (*(/(+ 1.756 1.812)2)mm) DistT (*(/(+ 0.75 0.78)2)mm) DistS (*(/(+ 0.24 0.33)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.187 1.251)2)mm) AcrossFlats (*(/(+ 1.938 2.000)2)mm) DistT (*(/(+ 0.83 0.86)2)mm) DistS (*(/(+ 0.31 0.40)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.310 1.378)2)mm) AcrossFlats (*(/(+ 2.119 2.188)2)mm) DistT (*(/(+ 0.95 0.99)2)mm) DistS (*(/(+ 0.31 0.40)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.433 1.505)2)mm) AcrossFlats (*(/(+ 2.300 2.375)2)mm) DistT (*(/(+ 1.01 1.05)2)mm) DistS (*(/(+ 0.37 0.46)2)mm) ));1 1/2 ((= Size 1.7500) (setf HexThk (*(/(+ 1.679 1.759)2)mm) AcrossFlats (*(/(+ 2.662 2.750)2)mm) DistT (*(/(+ 1.20 1.24)2)mm) DistS (*(/(+ 0.43 0.52)2)mm) ));1 3/4 ((= Size 2.0000) (setf HexThk (*(/(+ 1.925 2.013)2)mm) AcrossFlats (*(/(+ 3.025 3.125)2)mm) DistT (*(/(+ 1.38 1.43)2)mm) DistS (*(/(+ 0.43 0.52)2)mm) ));2 ((= Size 2.2500) (setf HexThk (*(/(+ 2.155 2.251)2)mm) AcrossFlats (*(/(+ 3.388 3.500)2)mm) DistT (*(/(+ 1.62 1.67)2)mm) DistS (*(/(+ 0.43 0.52)2)mm) ));2 1/4 ((= Size 2.5000) (setf HexThk (*(/(+ 2.401 2.505)2)mm) AcrossFlats (*(/(+ 3.750 3.875)2)mm) DistT (*(/(+ 1.74 1.79)2)mm) DistS (*(/(+ 0.55 0.64)2)mm) ));2 1/2 ((= Size 2.7500) (setf HexThk (*(/(+ 2.647 2.759)2)mm) AcrossFlats (*(/(+ 4.112 4.250)2)mm) DistT (*(/(+ 1.99 2.05)2)mm) DistS (*(/(+ 0.55 0.64)2)mm) ));2 3/4 ((= Size 3.0000) (setf HexThk (*(/(+ 2.893 3.013)2)mm) AcrossFlats (*(/(+ 4.475 4.625)2)mm) DistT (*(/(+ 2.17 2.23)2)mm) DistS (*(/(+ 0.62 0.71)2)mm) ));3 ((= Size 3.2500) (setf HexThk (*(/(+ 3.124 3.252)2)mm) AcrossFlats (*(/(+ 4.838 5.000)2)mm) DistT (*(/(+ 2.41 2.47)2)mm) DistS (*(/(+ 0.62 0.71)2)mm) ));3 1/4 ((= Size 3.5000) (setf HexThk (*(/(+ 3.370 3.506)2)mm) AcrossFlats (*(/(+ 5.200 5.375)2)mm) DistT (*(/(+ 2.65 2.72)2)mm) DistS (*(/(+ 0.62 0.71)2)mm) ));3 1/2 ((= Size 3.7500) (setf HexThk (*(/(+ 3.616 3.760)2)mm) AcrossFlats (*(/(+ 5.562 5.750)2)mm) DistT (*(/(+ 2.90 2.97)2)mm) DistS (*(/(+ 0.62 0.71)2)mm) ));3 3/4 ((= Size 4.0000) (setf HexThk (*(/(+ 3.862 4.014)2)mm) AcrossFlats (*(/(+ 5.925 6.125)2)mm) DistT (*(/(+ 3.15 3.22)2)mm) DistS (*(/(+ 0.62 0.71)2)mm) ));4 ));cond-Heavy-Hex-Slotted ((or(= Type 17)(= Type 18)) (cond ;=Thick-Hex-Slotted-p11 ((= Size 0.2500) (setf HexThk (*(/(+ 0.274 0.288)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) DistT (*(/(+ 0.18 0.20)2)mm) DistS (*(/(+ 0.07 0.10)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.320 0.336)2)mm) AcrossFlats (*(/(+ 0.489 0.500)2)mm) DistT (*(/(+ 0.22 0.24)2)mm) DistS (*(/(+ 0.09 0.12)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.398 0.415)2)mm) AcrossFlats (*(/(+ 0.551 0.562)2)mm) DistT (*(/(+ 0.27 0.29)2)mm) DistS (*(/(+ 0.12 0.15)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.444 0.463)2)mm) AcrossFlats (*(/(+ 0.675 0.688)2)mm) DistT (*(/(+ 0.29 0.31)2)mm) DistS (*(/(+ 0.12 0.15)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.552 0.573)2)mm) AcrossFlats (*(/(+ 0.736 0.750)2)mm) DistT (*(/(+ 0.40 0.42)2)mm) DistS (*(/(+ 0.15 0.18)2)mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.598 0.621)2)mm) AcrossFlats (*(/(+ 0.861 0.875)2)mm) DistT (*(/(+ 0.41 0.43)2)mm) DistS (*(/(+ 0.15 0.18)2)mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.706 0.731)2)mm) AcrossFlats (*(/(+ 0.922 0.938)2)mm) DistT (*(/(+ 0.49 0.51)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.798 0.827)2)mm) AcrossFlats (*(/(+ 1.088 1.125)2)mm) DistT (*(/(+ 0.55 0.57)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.890 0.922)2)mm) AcrossFlats (*(/(+ 1.269 1.312)2)mm) DistT (*(/(+ 0.64 0.67)2)mm) DistS (*(/(+ 0.18 0.24)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.982 1.018)2)mm) AcrossFlats (*(/(+ 1.450 1.500)2)mm) DistT (*(/(+ 0.77 0.73)2)mm) DistS (*(/(+ 0.24 0.30)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 1.136 1.176)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) DistT (*(/(+ 0.80 0.83)2)mm) DistS (*(/(+ 0.24 0.33)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.228 1.272)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) DistT (*(/(+ 0.86 0.89)2)mm) DistS (*(/(+ 0.31 0.40)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.351 1.399)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) DistT (*(/(+ 0.98 1.02)2)mm) DistS (*(/(+ 0.31 0.40)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.474 1.526)2)mm) AcrossFlats (*(/(+ 2.175 2.250)2)mm) DistT (*(/(+ 1.04 1.08)2)mm) DistS (*(/(+ 0.37 0.46)2)mm) ));1 1/2 ));cond-Thick-Hex-Slotted ((= Type 19) (cond ;=Square-p06 ((= Size 0.2500) (setf HexThk (*(/(+ 0.203 0.235)2)mm) AcrossFlats (*(/(+ 0.425 0.438)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.249 0.283)2)mm) AcrossFlats (*(/(+ 0.547 0.562)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.310 0.346)2)mm) AcrossFlats (*(/(+ 0.606 0.625)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.356 0.394)2)mm) AcrossFlats (*(/(+ 0.728 0.750)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.418 0.458)2)mm) AcrossFlats (*(/(+ 0.788 0.812)2)mm) ));1/2 ((= Size 0.6250) (setf HexThk (*(/(+ 0.525 0.569)2)mm) AcrossFlats (*(/(+ 0.969 1.000)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.632 0.680)2)mm) AcrossFlats (*(/(+ 1.088 1.125)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.740 0.792)2)mm) AcrossFlats (*(/(+ 1.269 1.312)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.847 0.903)2)mm) AcrossFlats (*(/(+ 1.450 1.500)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 0.970 1.030)2)mm) AcrossFlats (*(/(+ 1.631 1.688)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.062 1.126)2)mm) AcrossFlats (*(/(+ 1.812 1.875)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.169 1.237)2)mm) AcrossFlats (*(/(+ 1.994 2.062)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.276 1.348)2)mm) AcrossFlats (*(/(+ 2.175 2.250)2)mm) ));1 1/2 ));cond-Square ((= Type 20) (cond ;=Heavy-Square-p12 ((= Size 0.2500) (setf HexThk (*(/(+ 0.218 0.266)2)mm) AcrossFlats (*(/(+ 0.488 0.500)2)mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.280 0.330)2)mm) AcrossFlats (*(/(+ 0.546 0.562)2)mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.341 0.393)2)mm) AcrossFlats (*(/(+ 0.669 0.688)2)mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.403 0.456)2)mm) AcrossFlats (*(/(+ 0.728 0.750)2)mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.464 0.520)2)mm) AcrossFlats (*(/(+ 0.850 0.875)2)mm) ));1/2 ((= Size 0.6250) (setf HexThk (*(/(+ 0.587 0.647)2)mm) AcrossFlats (*(/(+ 1.031 1.062)2)mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.710 0.774)2)mm) AcrossFlats (*(/(+ 1.212 1.250)2)mm) ));3/4 ((= Size 0.8750) (setf HexThk (*(/(+ 0.833 0.901)2)mm) AcrossFlats (*(/(+ 1.394 1.438)2)mm) ));7/8 ((= Size 1.0000) (setf HexThk (*(/(+ 0.959 1.028)2)mm) AcrossFlats (*(/(+ 1.575 1.625)2)mm) ));1 ((= Size 1.1250) (setf HexThk (*(/(+ 1.079 1.155)2)mm) AcrossFlats (*(/(+ 1.756 1.812)2)mm) ));1 1/8 ((= Size 1.2500) (setf HexThk (*(/(+ 1.187 1.282)2)mm) AcrossFlats (*(/(+ 1.938 2.000)2)mm) ));1 1/4 ((= Size 1.3750) (setf HexThk (*(/(+ 1.310 1.409)2)mm) AcrossFlats (*(/(+ 2.188 2.879)2)mm) ));1 3/8 ((= Size 1.5000) (setf HexThk (*(/(+ 1.433 1.536)2)mm) AcrossFlats (*(/(+ 2.375 3.128)2)mm) ));1 1/2 ));cond-Thick_Hex_Slotted ((= Type 21) (cond ;Hex Flange-p16 ((= Size 0.1380) (setf HexThk (*(/(+ 0.156 0.171)2)mm) AcrossFlats (*(/(+ 0.302 0.312)2)mm) RadB (*(/(+ 0.406 0.422)4)mm) DistJ (* 0.10 mm) DistK (* 0.02 mm) ));No 6 ((= Size 0.1640) (setf HexThk (*(/(+ 0.187 0.203)2)mm) AcrossFlats (*(/(+ 0.334 0.344)2)mm) RadB (*(/(+ 0.452 0.469)4)mm) DistJ (* 0.13 mm) DistK (* 0.02 mm) ));No 8 ((= Size 0.1900) (setf HexThk (*(/(+ 0.203 0.219)2)mm) AcrossFlats (*(/(+ 0.365 0.375)2)mm) RadB (*(/(+ 0.480 0.500)4)mm) DistJ (* 0.13 mm) DistK (* 0.03 mm) ));No 10 ((= Size 0.2160) (setf HexThk (*(/(+ 0.222 0.236)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) RadB (*(/(+ 0.574 0.594)4)mm) DistJ (* 0.14 mm) DistK (* 0.04 mm) ));No 12 ((= Size 0.2500) (setf HexThk (*(/(+ 0.222 0.236)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) RadB (*(/(+ 0.574 0.594)4)mm) DistJ (* 0.14 mm) DistK (* 0.04 mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.268 0.283)2)mm) AcrossFlats (*(/(+ 0.489 0.500)2)mm) RadB (*(/(+ 0.660 0.680)4)mm) DistJ (* 0.17 mm) DistK (* 0.04 mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.330 0.347)2)mm) AcrossFlats (*(/(+ 0.551 0.562)2)mm) RadB (*(/(+ 0.728 0.750)4)mm) DistJ (* 0.23 mm) DistK (* 0.04 mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.375 0.395)2)mm) AcrossFlats (*(/(+ 0.675 0.688)2)mm) RadB (*(/(+ 0.910 0.937)4)mm) DistJ (* 0.26 mm) DistK (* 0.04 mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.437 0.458)2)mm) AcrossFlats (*(/(+ 0.736 0.750)2)mm) RadB (*(/(+ 1.000 1.031)4)mm) DistJ (* 0.31 mm) DistK (* 0.05 mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.483 0.506)2)mm) AcrossFlats (*(/(+ 0.861 0.875)2)mm) RadB (*(/(+ 1.155 1.188)4)mm) DistJ (* 0.35 mm) DistK (* 0.05 mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.545 0.569)2)mm) AcrossFlats (*(/(+ 0.922 0.938)2)mm) RadB (*(/(+ 1.248 1.281)4)mm) DistJ (* 0.40 mm) DistK (* 0.05 mm) ));5/8 ((= Size 0.7500) (setf HexThk (*(/(+ 0.627 0.675)2)mm) AcrossFlats (*(/(+ 1.088 1.125)2)mm) RadB (*(/(+ 1.460 1.500)4)mm) DistJ (* 0.46 mm) DistK (* 0.06 mm) ));3/4 ));cond-Hex Flange ((= Type 22) (cond ;Hex Large Flange-p16 ((= Size 0.2500) (setf HexThk (*(/(+ 0.281 0.312)2)mm) AcrossFlats (*(/(+ 0.428 0.438)2)mm) RadB (*(/(+ 0.700 0.728)4)mm) DistJ (* 0.15 mm) DistK (* 0.04 mm) ));1/4 ((= Size 0.3125) (setf HexThk (*(/(+ 0.343 0.375)2)mm) AcrossFlats (*(/(+ 0.489 0.500)2)mm) RadB (*(/(+ 0.790 0.820)4)mm) DistJ (* 0.20 mm) DistK (* 0.04 mm) ));5/16 ((= Size 0.3750) (setf HexThk (*(/(+ 0.390 0.406)2)mm) AcrossFlats (*(/(+ 0.551 0.562)2)mm) RadB (*(/(+ 0.885 0.915)4)mm) DistJ (* 0.24 mm) DistK (* 0.04 mm) ));3/8 ((= Size 0.4375) (setf HexThk (*(/(+ 0.437 0.468)2)mm) AcrossFlats (*(/(+ 0.675 0.688)2)mm) RadB (*(/(+ 1.100 1.131)4)mm) DistJ (* 0.26 mm) DistK (* 0.04 mm) ));7/16 ((= Size 0.5000) (setf HexThk (*(/(+ 0.485 0.515)2)mm) AcrossFlats (*(/(+ 0.736 0.750)2)mm) RadB (*(/(+ 1.175 1.205)4)mm) DistJ (* 0.29 mm) DistK (* 0.06 mm) ));1/2 ((= Size 0.5625) (setf HexThk (*(/(+ 0.546 0.578)2)mm) AcrossFlats (*(/(+ 0.861 0.875)2)mm) RadB (*(/(+ 1.260 1.300)4)mm) DistJ (* 0.37 mm) DistK (* 0.06 mm) ));9/16 ((= Size 0.6250) (setf HexThk (*(/(+ 0.600 0.640)2)mm) AcrossFlats (*(/(+ 0.922 0.938)2)mm) RadB (*(/(+ 1.280 1.360)4)mm) DistJ (* 0.42 mm) DistK (* 0.06 mm) ));5/8 ));cond-Hex Flange (t (sd-display-alert "Nut not configured :( ")) );cond-types (print(format nil "Across Flats = ~A~& Hex Nut Thickness = ~A" AcrossFlats HexThk)) ;;Lets see if some of these nuts need another variable? (print " Sort thru extra variables") (cond ((or(= Type 19)(= Type 20)) (setf Sqr 1)) (t(setf Sqr 0)) );cond (cond ((or(= Type 2)(= Type 5)(= Type 8)(= Type 11)(= Type 14)(= Type 16)(= Type 18)) (setf WashFace 1)) (t(setf WashFace 0)) );cond (cond ((or(= Type 13)(= Type 14)(= Type 15)(= Type 16)(= Type 17)(= Type 18)) (setf Slot 1)) (t(setf Slot 0)) );cond (cond ((or(= Type 3)(= Type 6)(= Type 9)(= Type 12)(= Type 19)(= Type 20)) (setf Flat 1)) (t(setf Flat 0)) );cond (cond ((or(= Type 21)(= Type 22)) (setf Flange 1)) (t(setf Flange 0)) );cond ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds(create_workplane :new :name "sd_fastener_wp" :model_name "sd_fastener_wp" )) ;;Make sure this is real geometry (sd-call-cmds(geometry_mode :real)) ;;Create the shape for the nut, Square or Hexagon (cond ((= Sqr 1) (sd-call-cmds(polygon (gpnt2d (* AcrossFlats 0.5) (* AcrossFlats 0.5)) ;Point A (gpnt2d (* AcrossFlats -0.5) (* AcrossFlats 0.5)) ;Point B (gpnt2d (* AcrossFlats -0.5) (* AcrossFlats -0.5)) ;Point C (gpnt2d (* AcrossFlats 0.5) (* AcrossFlats -0.5)) ;Point D :close)) );=1 (t(sd-call-cmds(polygon (gpnt2d (* AcrossFlats -0.5773502692) 0.00000000000000) ;Point A (gpnt2d (* AcrossFlats -0.2886751346) (* AcrossFlats 0.5)) ;Point B (gpnt2d (* AcrossFlats 0.2886751346) (* AcrossFlats 0.5)) ;Point C (gpnt2d (* AcrossFlats 0.5773502692) 0.00000000000000) ;Point D (gpnt2d (* AcrossFlats 0.2886751346) (* AcrossFlats -0.5)) ;Point E (gpnt2d (* AcrossFlats -0.2886751346) (* AcrossFlats -0.5)) ;Point F :close)) );t );cond ;;Setup the global variable for later (print " Draw the hole for the thread") (setq *FastThdRad* (*(* Size 25.4) 0.5) ) (print(format nil ">>> We are looking for a radius of ~Ain | ~Amm <<<" (sd-num-to-string (/ *FastThdRad* 25.4) 6) (sd-num-to-string *FastThdRad* 6) )) ;;Create thread hole (sd-call-cmds(circle :cen_rad 0,0 (*(* Size 25.4) 0.5))) ;;Extrude on both sides (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance HexThk :direction :+w :operation :add_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create 30 degree wedge for tapering the edges (sd-call-cmds(polygon (gpnt2d (* AcrossFlats 0.50) HexThk) ;Point A (gpnt2d (+(* AcrossFlats 0.50) AcrossFlats) HexThk) ;Point B (gpnt2d (+(* AcrossFlats 0.50) AcrossFlats) (- HexThk (* AcrossFlats 0.5))) ;Point C :close));sd-call-cmds ;;Round off the nut! (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ;;Set the move variable (setf HasBeenMoved 0) ;;Check again for Flat Bottom (print " Checking to see what bottom it has again") ;(print RadB) (cond ;;For when there's a washer face on the bottom ((= WashFace 1)(progn ;;Logit (print " Creating the washer bottom") ;;Check for the old workplance (Check_For_Existing_WP "sd_fastener_wp") ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 270) :done)) ;;Create 30 degree wedge for tapering the edges (sd-call-cmds(polygon (gpnt2d (* AcrossFlats 0.50) 0 ) ;Point A (gpnt2d (+(* AcrossFlats 0.50) AcrossFlats) 0 ) ;Point B (gpnt2d (+(* AcrossFlats 0.50) AcrossFlats) (- 0 (* mm 0.016)) ) ;Point C (gpnt2d (* AcrossFlats 0.50) (- 0 (* mm 0.016)) ) ;Point D :close)) ;Round off the nut! (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ;;Make these a flat washer (setf Flat 1) ));WasherFace ;;If there needs to be a flange made ((= Flange 1)(progn ;;Go ahead and move the nut upwards (setq MoveAbove (make-gpnt3d :x 0 :y 0 :z (* HexThk 0.5)) );setq (sd-call-cmds(position_pa (sd-inq-curr-part) :translate :two_ptv 0,0,0 MoveAbove ) ) (setf HasBeenMoved 1) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" )) ;;Position the workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (/ pi 2) :done)) ;;Draw out the flange base (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d RadB 0.00000) (gpnt2d RadB DistK) (gpnt2d 0.00000 (+ DistK (* RadB 0.5773502691896264))) :close )) ;;Turn profile (sd-call-cmds(pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" )) ;;Create thread hole (sd-call-cmds(circle :cen_rad 0,0 (*(* Size 25.4) 0.5))) (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance HexThk :direction :both_sides :operation :remove_material)) ));Flange ;;When the bottom has rounded off corners ((= Flat 0)(progn ;;Logit (print " Rounding off the coners on the bottom") ;;Check for the old workplance (Check_For_Existing_WP "sd_fastener_wp") ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 270) :done)) ;;Create 30 degree wedge for tapering the edges (sd-call-cmds(polygon (gpnt2d (* AcrossFlats 0.50) 0) ;Point A (gpnt2d (+(* AcrossFlats 0.50) AcrossFlats) 0) ;Point B (gpnt2d (+(* AcrossFlats 0.50) AcrossFlats) (- 0 (* AcrossFlats 0.5))) ;Point C :close));sd-call-cmds ;Round off the nut! (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :v :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));Flat );cond ;;Check for Slotted Hex Nuts (if (= Slot 1)(progn ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create the slot profile ;;Find center of the round (setf DistS5 (* DistS 0.5 ) RndCntr (- HexThk (- HexThk (+ DistT DistS5)) ) );setf ;;Draw open box (sd-call-cmds(polygon (gpnt2d (* DistS -0.5) RndCntr) ;Point A (gpnt2d (* DistS -0.5) HexThk ) ;Point B (gpnt2d (* DistS 0.5) HexThk ) ;Point C (gpnt2d (* DistS 0.5) RndCntr) ;Point D ));sd-call-cmds ;;close open box with a round (sd-call-cmds(arc :center (gpnt2d 0 RndCntr) (gpnt2d (* DistS -0.5) RndCntr) ;Point A (gpnt2d (* DistS 0.5) RndCntr) ;Point D ));sd-call-cmds ;;**Note** Loop and DoTimes only gets 2/3 of the slots generated. So now it's manual ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :yes :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance (* AcrossFlats 1.5) :direction :both_sides :operation :remove_material)) ;;Reposition the workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :z :rotation_angle (sd-deg-to-rad 60) :done)) ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :yes :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance (* AcrossFlats 1.5) :direction :both_sides :operation :remove_material)) ;;Reposition the workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :z :rotation_angle (sd-deg-to-rad 60) :done)) ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :yes :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance (* AcrossFlats 1.5) :direction :both_sides :operation :remove_material)) ;;Reposition the workplane (sd-call-cmds(position_wp (sd-inq-curr-wp) :rotate :axis :z :rotation_angle (sd-deg-to-rad 60) :done)) ;;Delete the workplane (sd-call-cmds(delete_3d(sd-inq-curr-wp))) ));if );defun ;;;; =================================================================================================================== (defun sd_create_fastener_pin (Name Type Size Length) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;Seperate the different Pin Types followed by dimension values (cond ((= Type 1) (cond ;Standard_Harden ((= Size 0.0625) (setf DiaA 0.0627 DiaB (/(+ 0.058 0.048)2) LenC 0.020 RadR 0.008 Profile 1) );1/16 ((= Size 0.0938) (setf DiaA 0.0940 DiaB (/(+ 0.089 0.079)2) LenC 0.031 RadR 0.012 Profile 1) );3/32 ((= Size 0.1250) (setf DiaA 0.1252 DiaB (/(+ 0.120 0.110)2) LenC 0.041 RadR 0.016 Profile 1) );1/8 ((= Size 0.1875) (setf DiaA 0.1877 DiaB (/(+ 0.180 0.170)2) LenC 0.062 RadR 0.023 Profile 1) );3/16 ((= Size 0.2500) (setf DiaA 0.2502 DiaB (/(+ 0.240 0.230)2) LenC 0.083 RadR 0.031 Profile 1) );1/4 ((= Size 0.3125) (setf DiaA 0.3127 DiaB (/(+ 0.302 0.290)2) LenC 0.104 RadR 0.039 Profile 1) );5/16 ((= Size 0.3750) (setf DiaA 0.3752 DiaB (/(+ 0.365 0.350)2) LenC 0.125 RadR 0.047 Profile 1) );3/8 ((= Size 0.4375) (setf DiaA 0.4377 DiaB (/(+ 0.424 0.409)2) LenC 0.146 RadR 0.055 Profile 1) );7/16 ((= Size 0.5000) (setf DiaA 0.5002 DiaB (/(+ 0.486 0.471)2) LenC 0.167 RadR 0.063 Profile 1) );1/2 ((= Size 0.6250) (setf DiaA 0.6252 DiaB (/(+ 0.611 0.595)2) LenC 0.208 RadR 0.078 Profile 1) );5/8 ((= Size 0.7500) (setf DiaA 0.7502 DiaB (/(+ 0.735 0.715)2) LenC 0.250 RadR 0.094 Profile 1) );3/4 ((= Size 0.8750) (setf DiaA 0.8752 DiaB (/(+ 0.860 0.840)2) LenC 0.293 RadR 0.109 Profile 1) );7/8 ((= Size 1.0000) (setf DiaA 1.0002 DiaB (/(+ 0.980 0.960)2) LenC 0.333 RadR 0.125 Profile 1) );1 ));cond-Standard_Harden ((= Type 2) (cond ;Standard_Harden_OS ((= Size 0.0625) (setf DiaA 0.0635 DiaB (/(+ 0.058 0.048)2) LenC 0.020 RadR 0.008 Profile 1) );1/16 ((= Size 0.0938) (setf DiaA 0.0948 DiaB (/(+ 0.089 0.079)2) LenC 0.031 RadR 0.012 Profile 1) );3/32 ((= Size 0.1250) (setf DiaA 0.1260 DiaB (/(+ 0.120 0.110)2) LenC 0.041 RadR 0.016 Profile 1) );1/8 ((= Size 0.1875) (setf DiaA 0.1885 DiaB (/(+ 0.180 0.170)2) LenC 0.062 RadR 0.023 Profile 1) );3/16 ((= Size 0.2500) (setf DiaA 0.2510 DiaB (/(+ 0.240 0.230)2) LenC 0.083 RadR 0.031 Profile 1) );1/4 ((= Size 0.3125) (setf DiaA 0.3135 DiaB (/(+ 0.302 0.290)2) LenC 0.104 RadR 0.039 Profile 1) );5/16 ((= Size 0.3750) (setf DiaA 0.3760 DiaB (/(+ 0.365 0.350)2) LenC 0.125 RadR 0.047 Profile 1) );3/8 ((= Size 0.4375) (setf DiaA 0.4385 DiaB (/(+ 0.424 0.409)2) LenC 0.146 RadR 0.055 Profile 1) );7/16 ((= Size 0.5000) (setf DiaA 0.5010 DiaB (/(+ 0.486 0.471)2) LenC 0.167 RadR 0.063 Profile 1) );1/2 ((= Size 0.6250) (setf DiaA 0.6260 DiaB (/(+ 0.611 0.595)2) LenC 0.208 RadR 0.078 Profile 1) );5/8 ((= Size 0.7500) (setf DiaA 0.7510 DiaB (/(+ 0.735 0.715)2) LenC 0.250 RadR 0.094 Profile 1) );3/4 ((= Size 0.8750) (setf DiaA 0.8760 DiaB (/(+ 0.860 0.840)2) LenC 0.293 RadR 0.109 Profile 1) );7/8 ((= Size 1.0000) (setf DiaA 1.0010 DiaB (/(+ 0.980 0.960)2) LenC 0.333 RadR 0.125 Profile 1) );1 ));cond-Standard_Harden_OS ((= Type 3) (cond ;Standard_Harden_Ground_Dowel ((= Size 0.0625) (setf DiaA 0.0627 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );1/16 ((= Size 0.0938) (setf DiaA 0.0939 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );3/32 ((= Size 0.1094) (setf DiaA 0.1095 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );7/64 ((= Size 0.1250) (setf DiaA 0.1252 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );1/8 ((= Size 0.1562) (setf DiaA 0.1564 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );5/32 ((= Size 0.1875) (setf DiaA 0.1877 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );3/16 ((= Size 0.2188) (setf DiaA 0.2189 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );7/32 ((= Size 0.2500) (setf DiaA 0.2502 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );1/4 ((= Size 0.3125) (setf DiaA 0.3127 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );5/16 ((= Size 0.3750) (setf DiaA 0.3752 RadAmm (*(/ DiaA 2)mm) RadR (*(/(+ 0.020 0.010)2)mm) Profile 2) );3/8 ));cond-Standard_Harden_Ground_Dowel ((= Type 4) (cond ;Standard_Harden_UnGround_Dowel ((= Size 0.0625) (setf RadAmm (*(/(/(+ 0.0600 0.0595)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );1/16 ((= Size 0.0938) (setf RadAmm (*(/(/(+ 0.0912 0.0907)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );3/32 ((= Size 0.1250) (setf RadAmm (*(/(/(+ 0.1223 0.1218)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );1/8 ((= Size 0.1562) (setf RadAmm (*(/(/(+ 0.1535 0.1530)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );5/32 ((= Size 0.1875) (setf RadAmm (*(/(/(+ 0.1847 0.1842)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );3/16 ((= Size 0.2188) (setf RadAmm (*(/(/(+ 0.2159 0.2154)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );7/32 ((= Size 0.2500) (setf RadAmm (*(/(/(+ 0.2470 0.2465)2)2)25.4) HlfLenC (*(/(/(+ 0.025 0.005)2)2)25.4) Profile 3) );1/4 ((= Size 0.3125) (setf RadAmm (*(/(/(+ 0.3094 0.3089)2)2)25.4) HlfLenC (*(/(/(+ 0.040 0.020)2)2)25.4) Profile 3) );5/16 ((= Size 0.3750) (setf RadAmm (*(/(/(+ 0.3717 0.3712)2)2)25.4) HlfLenC (*(/(/(+ 0.040 0.020)2)2)25.4) Profile 3) );3/8 ((= Size 0.4375) (setf RadAmm (*(/(/(+ 0.4341 0.4336)2)2)25.4) HlfLenC (*(/(/(+ 0.040 0.020)2)2)25.4) Profile 3) );7/16 ((= Size 0.5000) (setf RadAmm (*(/(/(+ 0.4964 0.4959)2)2)25.4) HlfLenC (*(/(/(+ 0.040 0.020)2)2)25.4) Profile 3) );1/2 ((= Size 0.6250) (setf RadAmm (*(/(/(+ 0.6211 0.6206)2)2)25.4) HlfLenC (*(/(/(+ 0.055 0.035)2)2)25.4) Profile 3) );5/8 ((= Size 0.7500) (setf RadAmm (*(/(/(+ 0.7458 0.7453)2)2)25.4) HlfLenC (*(/(/(+ 0.055 0.035)2)2)25.4) Profile 3) );3/4 ((= Size 0.8750) (setf RadAmm (*(/(/(+ 0.8705 0.8700)2)2)25.4) HlfLenC (*(/(/(+ 0.070 0.050)2)2)25.4) Profile 3) );7/8 ((= Size 1.0000) (setf RadAmm (*(/(/(+ 0.9952 0.9947)2)2)25.4) HlfLenC (*(/(/(+ 0.070 0.050)2)2)25.4) Profile 3) );1 ));cond-Standard_Harden_UnGround_Dowel ((= Type 5) (cond ;Std_Taper_Commercial ((= Size 0.0625) (setf DiaA (/(+ 0.0638 0.0618)2) RadAmm (*(/(/(+ 0.0638 0.0618)2)2)25.4) RadRa (* 0.072 mm) RadRb (* 0.052 mm) Profile 4) );No. 7/0 ((= Size 0.0780) (setf DiaA (/(+ 0.0793 0.0773)2) RadAmm (*(/(/(+ 0.0793 0.0773)2)2)25.4) RadRa (* 0.088 mm) RadRb (* 0.068 mm) Profile 4) );No. 6/0 ((= Size 0.0940) (setf DiaA (/(+ 0.0953 0.0933)2) RadAmm (*(/(/(+ 0.0953 0.0933)2)2)25.4) RadRa (* 0.104 mm) RadRb (* 0.084 mm) Profile 4) );No. 5/0 ((= Size 0.1090) (setf DiaA (/(+ 0.1103 0.1083)2) RadAmm (*(/(/(+ 0.1103 0.1083)2)2)25.4) RadRa (* 0.119 mm) RadRb (* 0.099 mm) Profile 4) );No. 4/0 ((= Size 0.1250) (setf DiaA (/(+ 0.1263 0.1243)2) RadAmm (*(/(/(+ 0.1263 0.1243)2)2)25.4) RadRa (* 0.135 mm) RadRb (* 0.115 mm) Profile 4) );No. 3/0 ((= Size 0.1410) (setf DiaA (/(+ 0.1423 0.1403)2) RadAmm (*(/(/(+ 0.1423 0.1403)2)2)25.4) RadRa (* 0.151 mm) RadRb (* 0.131 mm) Profile 4) );No. 2/0 ((= Size 0.1560) (setf DiaA (/(+ 0.1573 0.1553)2) RadAmm (*(/(/(+ 0.1573 0.1553)2)2)25.4) RadRa (* 0.166 mm) RadRb (* 0.146 mm) Profile 4) );No. 0 ((= Size 0.1720) (setf DiaA (/(+ 0.1733 0.1713)2) RadAmm (*(/(/(+ 0.1733 0.1713)2)2)25.4) RadRa (* 0.182 mm) RadRb (* 0.162 mm) Profile 4) );No. 1 ((= Size 0.1930) (setf DiaA (/(+ 0.1943 0.1923)2) RadAmm (*(/(/(+ 0.1943 0.1923)2)2)25.4) RadRa (* 0.203 mm) RadRb (* 0.183 mm) Profile 4) );No. 2 ((= Size 0.2190) (setf DiaA (/(+ 0.2203 0.2183)2) RadAmm (*(/(/(+ 0.2203 0.2183)2)2)25.4) RadRa (* 0.229 mm) RadRb (* 0.209 mm) Profile 4) );No. 3 ((= Size 0.2500) (setf DiaA (/(+ 0.2513 0.2493)2) RadAmm (*(/(/(+ 0.2513 0.2493)2)2)25.4) RadRa (* 0.260 mm) RadRb (* 0.240 mm) Profile 4) );No. 4 ((= Size 0.2890) (setf DiaA (/(+ 0.2903 0.2883)2) RadAmm (*(/(/(+ 0.2903 0.2883)2)2)25.4) RadRa (* 0.299 mm) RadRb (* 0.279 mm) Profile 4) );No. 5 ((= Size 0.3410) (setf DiaA (/(+ 0.3423 0.3403)2) RadAmm (*(/(/(+ 0.3423 0.3403)2)2)25.4) RadRa (* 0.351 mm) RadRb (* 0.331 mm) Profile 4) );No. 6 ((= Size 0.4090) (setf DiaA (/(+ 0.4103 0.4083)2) RadAmm (*(/(/(+ 0.4103 0.4083)2)2)25.4) RadRa (* 0.419 mm) RadRb (* 0.399 mm) Profile 4) );No. 7 ((= Size 0.4920) (setf DiaA (/(+ 0.4933 0.4913)2) RadAmm (*(/(/(+ 0.4933 0.4913)2)2)25.4) RadRa (* 0.502 mm) RadRb (* 0.482 mm) Profile 4) );No. 8 ((= Size 0.5910) (setf DiaA (/(+ 0.5923 0.5903)2) RadAmm (*(/(/(+ 0.5923 0.5903)2)2)25.4) RadRa (* 0.601 mm) RadRb (* 0.581 mm) Profile 4) );No. 9 ((= Size 0.7060) (setf DiaA (/(+ 0.7073 0.7053)2) RadAmm (*(/(/(+ 0.7073 0.7053)2)2)25.4) RadRa (* 0.716 mm) RadRb (* 0.696 mm) Profile 4) );No. 10 ((= Size 0.8600) (setf DiaA (/(+ 0.8613 0.8593)2) RadAmm (*(/(/(+ 0.8613 0.8593)2)2)25.4) RadRa (* 0.870 mm) RadRb (* 0.850 mm) Profile 4) );No. 11 ((= Size 1.0320) (setf DiaA (/(+ 1.0333 1.0313)2) RadAmm (*(/(/(+ 1.0333 1.0313)2)2)25.4) RadRa (* 1.042 mm) RadRb (* 1.022 mm) Profile 4) );No. 12 ((= Size 1.2410) (setf DiaA (/(+ 1.2423 1.2403)2) RadAmm (*(/(/(+ 1.2423 1.2403)2)2)25.4) RadRa (* 1.251 mm) RadRb (* 1.231 mm) Profile 4) );No. 13 ((= Size 1.5210) (setf DiaA (/(+ 1.5203 1.5203)2) RadAmm (*(/(/(+ 1.5203 1.5203)2)2)25.4) RadRa (* 1.531 mm) RadRb (* 1.511 mm) Profile 4) );No. 14 ));cond-Std_Taper_Commercial ((= Type 6) (cond ;Std_Taper_Precision ((= Size 0.0625) (setf DiaA (/(+ 0.0635 0.0625)2) RadAmm (*(/(/(+ 0.0635 0.0625)2)2)25.4) RadRa (* 0.072 mm) RadRb (* 0.052 mm) Profile 4) );No. 7/0 ((= Size 0.0780) (setf DiaA (/(+ 0.0790 0.0780)2) RadAmm (*(/(/(+ 0.0790 0.0780)2)2)25.4) RadRa (* 0.088 mm) RadRb (* 0.068 mm) Profile 4) );No. 6/0 ((= Size 0.0940) (setf DiaA (/(+ 0.0950 0.0940)2) RadAmm (*(/(/(+ 0.0950 0.0940)2)2)25.4) RadRa (* 0.104 mm) RadRb (* 0.084 mm) Profile 4) );No. 5/0 ((= Size 0.1090) (setf DiaA (/(+ 0.1100 0.1090)2) RadAmm (*(/(/(+ 0.1100 0.1090)2)2)25.4) RadRa (* 0.119 mm) RadRb (* 0.099 mm) Profile 4) );No. 4/0 ((= Size 0.1250) (setf DiaA (/(+ 0.1260 0.1250)2) RadAmm (*(/(/(+ 0.1260 0.1250)2)2)25.4) RadRa (* 0.135 mm) RadRb (* 0.115 mm) Profile 4) );No. 3/0 ((= Size 0.1410) (setf DiaA (/(+ 0.1420 0.1410)2) RadAmm (*(/(/(+ 0.1420 0.1410)2)2)25.4) RadRa (* 0.151 mm) RadRb (* 0.131 mm) Profile 4) );No. 2/0 ((= Size 0.1560) (setf DiaA (/(+ 0.1570 0.1560)2) RadAmm (*(/(/(+ 0.1570 0.1560)2)2)25.4) RadRa (* 0.166 mm) RadRb (* 0.146 mm) Profile 4) );No. 0 ((= Size 0.1720) (setf DiaA (/(+ 0.1730 0.1720)2) RadAmm (*(/(/(+ 0.1730 0.1720)2)2)25.4) RadRa (* 0.182 mm) RadRb (* 0.162 mm) Profile 4) );No. 1 ((= Size 0.1930) (setf DiaA (/(+ 0.1940 0.1930)2) RadAmm (*(/(/(+ 0.1940 0.1930)2)2)25.4) RadRa (* 0.203 mm) RadRb (* 0.183 mm) Profile 4) );No. 2 ((= Size 0.2190) (setf DiaA (/(+ 0.2200 0.2190)2) RadAmm (*(/(/(+ 0.2200 0.2190)2)2)25.4) RadRa (* 0.229 mm) RadRb (* 0.209 mm) Profile 4) );No. 3 ((= Size 0.2500) (setf DiaA (/(+ 0.2510 0.2500)2) RadAmm (*(/(/(+ 0.2510 0.2500)2)2)25.4) RadRa (* 0.260 mm) RadRb (* 0.240 mm) Profile 4) );No. 4 ((= Size 0.2890) (setf DiaA (/(+ 0.2900 0.2890)2) RadAmm (*(/(/(+ 0.2900 0.2890)2)2)25.4) RadRa (* 0.299 mm) RadRb (* 0.279 mm) Profile 4) );No. 5 ((= Size 0.3410) (setf DiaA (/(+ 0.3420 0.3410)2) RadAmm (*(/(/(+ 0.3420 0.3410)2)2)25.4) RadRa (* 0.351 mm) RadRb (* 0.331 mm) Profile 4) );No. 6 ((= Size 0.4090) (setf DiaA (/(+ 0.4100 0.4090)2) RadAmm (*(/(/(+ 0.4100 0.4090)2)2)25.4) RadRa (* 0.419 mm) RadRb (* 0.399 mm) Profile 4) );No. 7 ((= Size 0.4920) (setf DiaA (/(+ 0.4930 0.4920)2) RadAmm (*(/(/(+ 0.4930 0.4920)2)2)25.4) RadRa (* 0.502 mm) RadRb (* 0.482 mm) Profile 4) );No. 8 ((= Size 0.5910) (setf DiaA (/(+ 0.5920 0.5910)2) RadAmm (*(/(/(+ 0.5920 0.5910)2)2)25.4) RadRa (* 0.601 mm) RadRb (* 0.581 mm) Profile 4) );No. 9 ((= Size 0.7060) (setf DiaA (/(+ 0.7070 0.7060)2) RadAmm (*(/(/(+ 0.7070 0.7060)2)2)25.4) RadRa (* 0.716 mm) RadRb (* 0.696 mm) Profile 4) );No. 10 ));cond-Std_Taper_Precision ((= Type 7) (cond ;Clevis_Pin ((= Size 0.1875) (setf DiaA 0.186 DiaB 0.32 LenC 0.07 LenD 0.02 DiaE 0.088 DiaF 0.15 LenG 0.58 LenH -0.504 LenL (/(+ 0.055 0.035) 2) Profile 5) );3/16 ((= Size 0.2500) (setf DiaA 0.248 DiaB 0.38 LenC 0.10 LenD 0.03 DiaE 0.088 DiaF 0.21 LenG 0.77 LenH -0.692 LenL (/(+ 0.055 0.035) 2) Profile 5) );1/4 ((= Size 0.3125) (setf DiaA 0.331 DiaB 0.44 LenC 0.10 LenD 0.03 DiaE 0.119 DiaF 0.26 LenG 0.94 LenH -0.832 LenL (/(+ 0.071 0.049) 2) Profile 5) );5/16 ((= Size 0.3750) (setf DiaA 0.373 DiaB 0.51 LenC 0.13 LenD 0.03 DiaE 0.119 DiaF 0.33 LenG 1.06 LenH -0.958 LenL (/(+ 0.071 0.049) 2) Profile 5) );3/8 ((= Size 0.4375) (setf DiaA 0.436 DiaB 0.57 LenC 0.16 LenD 0.04 DiaE 0.119 DiaF 0.39 LenG 1.19 LenH -1.082 LenL (/(+ 0.071 0.049) 2) Profile 5) );7/16 ((= Size 0.5000) (setf DiaA 0.496 DiaB 0.63 LenC 0.16 LenD 0.04 DiaE 0.151 DiaF 0.44 LenG 1.36 LenH -1.223 LenL (/(+ 0.089 0.063) 2) Profile 5) );1/2 ((= Size 0.6250) (setf DiaA 0.621 DiaB 0.82 LenC 0.21 LenD 0.06 DiaE 0.151 DiaF 0.56 LenG 1.61 LenH -1.473 LenL (/(+ 0.089 0.063) 2) Profile 5) );5/8 ((= Size 0.7500) (setf DiaA 0.746 DiaB 0.94 LenC 0.26 LenD 0.07 DiaE 0.182 DiaF 0.68 LenG 1.91 LenH -1.739 LenL (/(+ 0.110 0.076) 2) Profile 5) );3/4 ((= Size 0.8750) (setf DiaA 0.871 DiaB 1.04 LenC 0.32 LenD 0.09 DiaE 0.182 DiaF 0.80 LenG 2.16 LenH -2.989 LenL (/(+ 0.110 0.076) 2) Profile 5) );7/8 ((= Size 1.0000) (setf DiaA 0.996 DiaB 1.19 LenC 0.35 LenD 0.10 DiaE 0.182 DiaF 0.93 LenG 2.41 LenH -2.239 LenL (/(+ 0.110 0.076) 2) Profile 5) );1 ));cond-Clevis_Pin ((= Type 8) (cond ;Slotted_Spring_Pin ((= Size 0.0625) (setf DiaA (/(+ 0.069 0.066)2) ChamRadBmm (*(/ 0.059 2)25.4) LenChamCmm (*(/(+ 0.028 0.007)2)25.4) StckThkF 0.012 Profile 6) );1/16 ((= Size 0.0781) (setf DiaA (/(+ 0.086 0.083)2) ChamRadBmm (*(/ 0.075 2)25.4) LenChamCmm (*(/(+ 0.032 0.008)2)25.4) StckThkF 0.018 Profile 6) );5/64 ((= Size 0.0938) (setf DiaA (/(+ 0.103 0.099)2) ChamRadBmm (*(/ 0.091 2)25.4) LenChamCmm (*(/(+ 0.038 0.008)2)25.4) StckThkF 0.022 Profile 6) );3/32 ((= Size 0.1250) (setf DiaA (/(+ 0.135 0.131)2) ChamRadBmm (*(/ 0.122 2)25.4) LenChamCmm (*(/(+ 0.044 0.008)2)25.4) StckThkF 0.028 Profile 6) );1/8 ((= Size 0.1412) (setf DiaA (/(+ 0.149 0.145)2) ChamRadBmm (*(/ 0.137 2)25.4) LenChamCmm (*(/(+ 0.044 0.008)2)25.4) StckThkF 0.028 Profile 6) );9/64 ((= Size 0.1562) (setf DiaA (/(+ 0.167 0.162)2) ChamRadBmm (*(/ 0.151 2)25.4) LenChamCmm (*(/(+ 0.048 0.010)2)25.4) StckThkF 0.032 Profile 6) );5/32 ((= Size 0.1875) (setf DiaA (/(+ 0.199 0.194)2) ChamRadBmm (*(/ 0.182 2)25.4) LenChamCmm (*(/(+ 0.055 0.011)2)25.4) StckThkF 0.040 Profile 6) );3/16 ((= Size 0.2188) (setf DiaA (/(+ 0.232 0.226)2) ChamRadBmm (*(/ 0.214 2)25.4) LenChamCmm (*(/(+ 0.065 0.011)2)25.4) StckThkF 0.048 Profile 6) );7/32 ((= Size 0.2500) (setf DiaA (/(+ 0.264 0.258)2) ChamRadBmm (*(/ 0.245 2)25.4) LenChamCmm (*(/(+ 0.065 0.012)2)25.4) StckThkF 0.048 Profile 6) );1/4 ((= Size 0.3125) (setf DiaA (/(+ 0.330 0.321)2) ChamRadBmm (*(/ 0.306 2)25.4) LenChamCmm (*(/(+ 0.080 0.014)2)25.4) StckThkF 0.062 Profile 6) );5/16 ((= Size 0.3750) (setf DiaA (/(+ 0.395 0.385)2) ChamRadBmm (*(/ 0.368 2)25.4) LenChamCmm (*(/(+ 0.095 0.016)2)25.4) StckThkF 0.077 Profile 6) );3/8 ((= Size 0.4375) (setf DiaA (/(+ 0.459 0.448)2) ChamRadBmm (*(/ 0.430 2)25.4) LenChamCmm (*(/(+ 0.095 0.017)2)25.4) StckThkF 0.077 Profile 6) );7/16 ((= Size 0.5000) (setf DiaA (/(+ 0.524 0.513)2) ChamRadBmm (*(/ 0.485 2)25.4) LenChamCmm (*(/(+ 0.110 0.025)2)25.4) StckThkF 0.094 Profile 6) );1/2 ((= Size 0.6250) (setf DiaA (/(+ 0.653 0.640)2) ChamRadBmm (*(/ 0.608 2)25.4) LenChamCmm (*(/(+ 0.125 0.030)2)25.4) StckThkF 0.125 Profile 6) );5/8 ((= Size 0.7500) (setf DiaA (/(+ 0.784 0.769)2) ChamRadBmm (*(/ 0.730 2)25.4) LenChamCmm (*(/(+ 0.150 0.030)2)25.4) StckThkF 0.150 Profile 6) );3/4 ));cond-Slotted_Spring_Pin ((= Type 9) (cond ;Coil_Spring_Pin_Light ((= Size 0.0625) (setf DiaA (/(+ 0.073 0.067)2) ChamRadBmm (*(/ 0.059 2)25.4) LenChamCmm (* 0.028 25.4) StckThkF 0.012 Profile 7) ) ;1/16 ((= Size 0.0781) (setf DiaA (/(+ 0.089 0.083)2) ChamRadBmm (*(/ 0.075 2)25.4) LenChamCmm (* 0.032 25.4) StckThkF 0.018 Profile 7) ) ;5/64 ((= Size 0.0938) (setf DiaA (/(+ 0.106 0.099)2) ChamRadBmm (*(/ 0.091 2)25.4) LenChamCmm (* 0.038 25.4) StckThkF 0.022 Profile 7) ) ;3/32 ((= Size 0.1094) (setf DiaA (/(+ 0.121 0.114)2) ChamRadBmm (*(/ 0.106 2)25.4) LenChamCmm (* 0.038 25.4) StckThkF 0.025 Profile 7) ) ;7/64 ((= Size 0.1250) (setf DiaA (/(+ 0.139 0.131)2) ChamRadBmm (*(/ 0.121 2)25.4) LenChamCmm (* 0.044 25.4) StckThkF 0.028 Profile 7) ) ;1/8 ((= Size 0.1562) (setf DiaA (/(+ 0.172 0.163)2) ChamRadBmm (*(/ 0.152 2)25.4) LenChamCmm (* 0.048 25.4) StckThkF 0.032 Profile 7) ) ;5/32 ((= Size 0.1875) (setf DiaA (/(+ 0.207 0.196)2) ChamRadBmm (*(/ 0.182 2)25.4) LenChamCmm (* 0.055 25.4) StckThkF 0.040 Profile 7) ) ;3/16 ((= Size 0.2188) (setf DiaA (/(+ 0.240 0.228)2) ChamRadBmm (*(/ 0.214 2)25.4) LenChamCmm (* 0.065 25.4) StckThkF 0.048 Profile 7) ) ;7/32 ((= Size 0.2500) (setf DiaA (/(+ 0.273 0.260)2) ChamRadBmm (*(/ 0.243 2)25.4) LenChamCmm (* 0.065 25.4) StckThkF 0.048 Profile 7) ) ;1/4 ((= Size 0.3125) (setf DiaA (/(+ 0.339 0.324)2) ChamRadBmm (*(/ 0.304 2)25.4) LenChamCmm (* 0.080 25.4) StckThkF 0.062 Profile 7) ) ;5/16 ((= Size 0.3750) (setf DiaA (/(+ 0.405 0.388)2) ChamRadBmm (*(/ 0.366 2)25.4) LenChamCmm (* 0.095 25.4) StckThkF 0.077 Profile 7) ) ;3/8 ((= Size 0.4375) (setf DiaA (/(+ 0.471 0.452)2) ChamRadBmm (*(/ 0.427 2)25.4) LenChamCmm (* 0.095 25.4) StckThkF 0.077 Profile 7) ) ;7/16 ((= Size 0.5000) (setf DiaA (/(+ 0.537 0.516)2) ChamRadBmm (*(/ 0.488 2)25.4) LenChamCmm (* 0.110 25.4) StckThkF 0.094 Profile 7) ) ;1/2 ));cond-Coil_Spring_Pin_Light ((= Type 10) (cond ;Coil_Spring_Pin_Standard ((= Size 0.0313) (setf DiaA (/(+ 0.035 0.033)2) ChamRadBmm (*(/ 0.029 2)25.4) LenChamCmm (* 0.024 25.4) StckThkF 0.010 Profile 7) ) ;1/32 ((= Size 0.0390) (setf DiaA (/(+ 0.044 0.041)2) ChamRadBmm (*(/ 0.037 2)25.4) LenChamCmm (* 0.024 25.4) StckThkF 0.010 Profile 7) ) ;0.039 ((= Size 0.0469) (setf DiaA (/(+ 0.052 0.049)2) ChamRadBmm (*(/ 0.045 2)25.4) LenChamCmm (* 0.024 25.4) StckThkF 0.012 Profile 7) ) ;3/64 ((= Size 0.0520) (setf DiaA (/(+ 0.057 0.054)2) ChamRadBmm (*(/ 0.050 2)25.4) LenChamCmm (* 0.024 25.4) StckThkF 0.012 Profile 7) ) ;0.052 ((= Size 0.0625) (setf DiaA (/(+ 0.072 0.067)2) ChamRadBmm (*(/ 0.059 2)25.4) LenChamCmm (* 0.028 25.4) StckThkF 0.012 Profile 7) ) ;1/16 ((= Size 0.0781) (setf DiaA (/(+ 0.088 0.083)2) ChamRadBmm (*(/ 0.075 2)25.4) LenChamCmm (* 0.032 25.4) StckThkF 0.018 Profile 7) ) ;5/64 ((= Size 0.0938) (setf DiaA (/(+ 0.105 0.099)2) ChamRadBmm (*(/ 0.091 2)25.4) LenChamCmm (* 0.038 25.4) StckThkF 0.022 Profile 7) ) ;3/32 ((= Size 0.1094) (setf DiaA (/(+ 0.120 0.114)2) ChamRadBmm (*(/ 0.106 2)25.4) LenChamCmm (* 0.038 25.4) StckThkF 0.025 Profile 7) ) ;7/64 ((= Size 0.1250) (setf DiaA (/(+ 0.138 0.131)2) ChamRadBmm (*(/ 0.121 2)25.4) LenChamCmm (* 0.044 25.4) StckThkF 0.028 Profile 7) ) ;1/8 ((= Size 0.1562) (setf DiaA (/(+ 0.171 0.163)2) ChamRadBmm (*(/ 0.152 2)25.4) LenChamCmm (* 0.048 25.4) StckThkF 0.032 Profile 7) ) ;5/32 ((= Size 0.1875) (setf DiaA (/(+ 0.205 0.196)2) ChamRadBmm (*(/ 0.182 2)25.4) LenChamCmm (* 0.055 25.4) StckThkF 0.040 Profile 7) ) ;3/16 ((= Size 0.2188) (setf DiaA (/(+ 0.238 0.228)2) ChamRadBmm (*(/ 0.214 2)25.4) LenChamCmm (* 0.065 25.4) StckThkF 0.048 Profile 7) ) ;7/32 ((= Size 0.2500) (setf DiaA (/(+ 0.271 0.260)2) ChamRadBmm (*(/ 0.243 2)25.4) LenChamCmm (* 0.065 25.4) StckThkF 0.048 Profile 7) ) ;1/4 ((= Size 0.3125) (setf DiaA (/(+ 0.337 0.324)2) ChamRadBmm (*(/ 0.304 2)25.4) LenChamCmm (* 0.080 25.4) StckThkF 0.062 Profile 7) ) ;5/16 ((= Size 0.3750) (setf DiaA (/(+ 0.403 0.388)2) ChamRadBmm (*(/ 0.366 2)25.4) LenChamCmm (* 0.095 25.4) StckThkF 0.077 Profile 7) ) ;3/8 ((= Size 0.4375) (setf DiaA (/(+ 0.469 0.452)2) ChamRadBmm (*(/ 0.427 2)25.4) LenChamCmm (* 0.095 25.4) StckThkF 0.077 Profile 7) ) ;7/16 ((= Size 0.5000) (setf DiaA (/(+ 0.535 0.516)2) ChamRadBmm (*(/ 0.488 2)25.4) LenChamCmm (* 0.110 25.4) StckThkF 0.094 Profile 7) ) ;1/2 ((= Size 0.6250) (setf DiaA (/(+ 0.661 0.642)2) ChamRadBmm (*(/ 0.613 2)25.4) LenChamCmm (* 0.125 25.4) StckThkF 0.125 Profile 7) ) ;5/8 ((= Size 0.7500) (setf DiaA (/(+ 0.787 0.768)2) ChamRadBmm (*(/ 0.738 2)25.4) LenChamCmm (* 0.150 25.4) StckThkF 0.150 Profile 7) ) ;3/4 ));cond-Coil_Spring_Pin_Standard ((= Type 11) (cond ;Coil_Spring_Pin_Heavy ((= Size 0.0625) (setf DiaA (/(+ 0.070 0.066)2) ChamRadBmm (*(/ 0.059 2)25.4) LenChamCmm (* 0.028 25.4) StckThkF 0.012 Profile 7) ) ;1/16 ((= Size 0.0781) (setf DiaA (/(+ 0.086 0.082)2) ChamRadBmm (*(/ 0.075 2)25.4) LenChamCmm (* 0.032 25.4) StckThkF 0.018 Profile 7) ) ;5/64 ((= Size 0.0938) (setf DiaA (/(+ 0.103 0.098)2) ChamRadBmm (*(/ 0.091 2)25.4) LenChamCmm (* 0.038 25.4) StckThkF 0.022 Profile 7) ) ;3/32 ((= Size 0.1094) (setf DiaA (/(+ 0.118 0.113)2) ChamRadBmm (*(/ 0.106 2)25.4) LenChamCmm (* 0.038 25.4) StckThkF 0.025 Profile 7) ) ;7/64 ((= Size 0.1250) (setf DiaA (/(+ 0.136 0.130)2) ChamRadBmm (*(/ 0.121 2)25.4) LenChamCmm (* 0.044 25.4) StckThkF 0.028 Profile 7) ) ;1/8 ((= Size 0.1562) (setf DiaA (/(+ 0.168 0.161)2) ChamRadBmm (*(/ 0.152 2)25.4) LenChamCmm (* 0.048 25.4) StckThkF 0.032 Profile 7) ) ;5/32 ((= Size 0.1875) (setf DiaA (/(+ 0.202 0.194)2) ChamRadBmm (*(/ 0.182 2)25.4) LenChamCmm (* 0.055 25.4) StckThkF 0.040 Profile 7) ) ;3/16 ((= Size 0.2188) (setf DiaA (/(+ 0.235 0.226)2) ChamRadBmm (*(/ 0.214 2)25.4) LenChamCmm (* 0.065 25.4) StckThkF 0.048 Profile 7) ) ;7/32 ((= Size 0.2500) (setf DiaA (/(+ 0.268 0.258)2) ChamRadBmm (*(/ 0.243 2)25.4) LenChamCmm (* 0.065 25.4) StckThkF 0.048 Profile 7) ) ;1/4 ((= Size 0.3125) (setf DiaA (/(+ 0.334 0.322)2) ChamRadBmm (*(/ 0.304 2)25.4) LenChamCmm (* 0.080 25.4) StckThkF 0.062 Profile 7) ) ;5/16 ((= Size 0.3750) (setf DiaA (/(+ 0.400 0.386)2) ChamRadBmm (*(/ 0.366 2)25.4) LenChamCmm (* 0.095 25.4) StckThkF 0.077 Profile 7) ) ;3/8 ((= Size 0.4375) (setf DiaA (/(+ 0.466 0.450)2) ChamRadBmm (*(/ 0.427 2)25.4) LenChamCmm (* 0.095 25.4) StckThkF 0.077 Profile 7) ) ;7/16 ((= Size 0.5000) (setf DiaA (/(+ 0.532 0.514)2) ChamRadBmm (*(/ 0.488 2)25.4) LenChamCmm (* 0.110 25.4) StckThkF 0.094 Profile 7) ) ;1/2 ((= Size 0.6250) (setf DiaA (/(+ 0.658 0.640)2) ChamRadBmm (*(/ 0.613 2)25.4) LenChamCmm (* 0.125 25.4) StckThkF 0.125 Profile 7) ) ;5/8 ((= Size 0.7500) (setf DiaA (/(+ 0.784 0.766)2) ChamRadBmm (*(/ 0.738 2)25.4) LenChamCmm (* 0.150 25.4) StckThkF 0.150 Profile 7) ) ;3/4 ));cond-Coil_Spring_Pin_Heavy (t (sd-display-alert "Pin not configured :( ")) );cond-types ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Define some local variables (setf FastLnmm (* Length -25.4) );setf ;;Create the shape for the Pin (sd-call-cmds(geometry_mode :real)) (cond ((= Type 1) (progn ;;Standard Harden + OS ;;Set the custom variables (setf RadAmm (*(* DiaA 0.5) 25.4) RadBmm (*(* DiaB 0.5) 25.4) AminusB (- RadAmm RadBmm ) TenDgre (* AminusB 5.671315789473684) );setf ;;Generate the pin profile (sd-call-cmds(polygon (gpnt2d RadBmm FastLnmm ) (gpnt2d 0.00000 FastLnmm ) (gpnt2d 0.00000 0.00000 ) (gpnt2d RadAmm 0.00000 ) (gpnt2d RadAmm (+ FastLnmm TenDgre)) :close ));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (* mm RadR) (gpnt2d RadAmm 0.00000) ));sd-call-cmds ;;turn the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=1 ((= Type 2) (progn ;;Standard Harden Ground Dowel ;;Generate the pin profile (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d RadAmm 0.00000) (gpnt2d RadAmm FastLnmm) (gpnt2d 0.00000 FastLnmm) :close ));;sd-call-cmds (sd-call-cmds(fillet :create :fillet_radius RadR (gpnt2d RadAmm 0.00000) (gpnt2d RadAmm FastLnmm) ));;sd-call-cmds ;;turn the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=2 ((= Type 3) (progn ;;Standard_Harden_UnGround_Dowel ;;Set the custom variables (setf RadBmm (* RadAmm 0.972022) ;for 25 degrees AminusB (- RadAmm RadBmm) TwenFve (* AminusB 2.144507));setf ;;Build Pin Geometry (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000 ) (gpnt2d RadBmm 0.00000 ) (gpnt2d RadAmm (- 0.00000 TwenFve) ) (gpnt2d RadAmm (+ FastLnmm TwenFve) ) (gpnt2d RadBmm FastLnmm ) (gpnt2d 0.00000 FastLnmm ) :close));;sd-call-cmds ;;turn the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=3 ((= Type 4) (progn ;Std_Taper_Commercial + Precision ;;Set the custom variables (setf TapBDia (- DiaA (* Length 0.02083)) RadBmm (* (* TapBDia 0.5) 25.4) ;a2+b2=c2 -> b2=c2-a2 LegRadA (sqrt (-(* RadRa RadRa)(* RadAmm RadAmm)) ) LegRadB (sqrt (-(* RadRb RadRb)(* RadBmm RadBmm)) ) );setf ;;Generate the pin profile (sd-call-cmds(polygon (gpnt2d RadAmm 0.00000) (gpnt2d RadBmm FastLnmm) ));sd-call-cmd (sd-call-cmds(arc :center (gpnt2d 0.00000 (- 0.00000 LegRadA)) (gpnt2d RadAmm 0.00000 ) (gpnt2d 0.00000 (+(- 0.00000 LegRadA) RadRa)) ));sd-call-cmds (sd-call-cmds(arc :center :clockwise :on (gpnt2d 0.00000 (+ FastLnmm LegRadB)) (gpnt2d RadBmm FastLnmm ) (gpnt2d 0.00000 (-(+ FastLnmm LegRadB) RadRb)) ));sd-call-cmds (sd-call-cmds(polygon (gpnt2d 0.00000 (+(- 0.00000 LegRadA) RadRa)) (gpnt2d 0.00000 (-(+ FastLnmm LegRadB) RadRb)) ));sd-call-cmd ;;turn the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ));=4 ((= Type 5) (progn ;Clevis Pin ;;Generate the pin profile (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 (* LenC mm)) (gpnt2d (-(* (* DiaB mm) 0.5)(* LenD mm)) (* LenC mm)) ;Needs Chamfer (gpnt2d (* (* DiaB mm) 0.5) (-(* LenC mm)(* LenD mm))) ;Needs Chamfer (gpnt2d (* (* DiaB mm) 0.5) 0.00000) (gpnt2d (* (* DiaA mm) 0.5) 0.00000) (gpnt2d (* (* DiaA mm) 0.5) (* (- (* LenG mm) (* LenL mm)) -1)) (gpnt2d (* (* DiaF mm) 0.5) (* (* LenG mm) -1)) (gpnt2d 0.00000 (* (* LenG mm) -1)) :close ));sd-call-cmd (sd-call-cmds(fillet :create :fillet_radius (* mm 0.010) (gpnt2d (* (* DiaA mm) 0.5) 0.00000) )) ;sd-call-cmds ;;turn the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ;;Slide workplane origin to distance H (sd-call-cmds(slide_wp_origin "/sd_fastener_wp" (gpnt2d 0.00000 (* LenH mm)) )) ;;Generate a hole for the cotter pin (sd-call-cmds(polygon (gpnt2d 0.00000 (* (* DiaE mm) 0.5)) (gpnt2d (*(* DiaA mm) 0.475) (+ (* (* DiaE mm) 0.5) ) ) (gpnt2d (+(*(* DiaA mm) 0.475) 3) (+ (* (* DiaE mm) 0.5)3) ) (gpnt2d (+(*(* DiaA mm) 0.475) 3) 0.00000 ) (gpnt2d (-(*(* DiaA mm) -0.475) 3) 0.00000 ) (gpnt2d (-(*(* DiaA mm) -0.475) 3) (+ (* (* DiaE mm) 0.5)3) ) (gpnt2d (*(* DiaA mm) -0.475) (+ (* (* DiaE mm) 0.5) ) ) :close ));sd-call-cmds ;;Rotate the second profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :u :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));=5 ((= Type 6) (progn ;Slotted Spring ;;Set the custom variables (setf RadAmm (*(/ DiaA 2) 25.4) RadBmm (*(- (/ DiaA 2) StckThkF) 25.4) PartThk FastLnmm );setf ;;Define the pin's profile (sd-call-cmds(polygon (gpnt2d RadBmm 0.00000 ) (gpnt2d ChamRadBmm 0.00000 ) (gpnt2d RadAmm (- 0.00000 LenChamCmm) ) (gpnt2d RadAmm (+ FastLnmm LenChamCmm) ) (gpnt2d ChamRadBmm FastLnmm ) (gpnt2d RadBmm FastLnmm ) :close ));;sd-call-cmds ;;turn the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :z :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ;;Cut out the Slotted portion (sd-call-cmds(polygon (gpnt2d (* LenChamCmm 0.5) 0.00000 ) (gpnt2d (* LenChamCmm 0.5) FastLnmm ) (gpnt2d (* LenChamCmm -0.5) FastLnmm ) (gpnt2d (* LenChamCmm -0.5) 0.00000 ) :close ));;sd-call-cmds ;;Extrude and cut away (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :remove_material)) ));=6 ((= Type 7) (progn ;Coiled Spring ;;Set the custom variables (setf RadAmm (*(/ DiaA 2) 25.4) RadBmm (*(- (/ DiaA 2) StckThkF) 25.4) FastLnmm (* FastLength 25.4) PartThk FastLnmm );setf ;;Define the pin's profile (sd-call-cmds(polygon (gpnt2d RadBmm (* FastLnmm 0.5) ) (gpnt2d ChamRadBmm (* FastLnmm 0.5) ) (gpnt2d RadAmm (- (* FastLnmm 0.5) LenChamCmm) ) (gpnt2d RadAmm (+ (* FastLnmm -0.5) LenChamCmm) ) (gpnt2d ChamRadBmm (* FastLnmm -0.5) ) (gpnt2d RadBmm (* FastLnmm -0.5) ) :close ));;sd-call-cmds ;;Turn the profile 225 degrees (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :y :pull_angle (sd-deg-to-rad 225) :operation :add_material)) ));=7 );cond );defun ;;;; =================================================================================================================== (defun sd_create_fastener_set_screw (Name ConnType Type Size Length) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;to avoid errors set all drawing variables to 0 (setf RadD 0 J 0 C 0 P 0 Q 0 Q1 0 R 0 Th 0 HlfFmm 0 Hmm 0 Kmm 0 Smm 0 Umm 0 Wmm 0 );setf ;;Create a single table, so that all may share from it (cond ((= ConnType 1) (cond ((= Size 0.0600)(setf J (* mm 0.0280) C (* mm (/(+ 0.033 0.027)4)) P (/(* mm 0.040)2) Q1 (* mm 0.017) R (* mm 0.045) Th (* mm 0.050) )) ;# 0 ((= Size 0.0730)(setf J (* mm 0.0350) C (* mm (/(+ 0.040 0.033)4)) P (/(* mm 0.049)2) Q1 (* mm 0.021) R (* mm 0.055) Th (* mm 0.060) )) ;# 1 ((= Size 0.0860)(setf J (* mm 0.0350) C (* mm (/(+ 0.047 0.039)4)) P (/(* mm 0.057)2) Q1 (* mm 0.024) R (* mm 0.064) Th (* mm 0.060) )) ;# 2 ((= Size 0.0990)(setf J (* mm 0.0500) C (* mm (/(+ 0.054 0.045)4)) P (/(* mm 0.066)2) Q1 (* mm 0.027) R (* mm 0.074) Th (* mm 0.070) )) ;# 3 ((= Size 0.1120)(setf J (* mm 0.0500) C (* mm (/(+ 0.061 0.051)4)) P (/(* mm 0.075)2) Q1 (* mm 0.030) R (* mm 0.084) Th (* mm 0.070) )) ;# 4 ((= Size 0.1251)(setf J (* mm 0.0625) C (* mm (/(+ 0.067 0.057)4)) P (/(* mm 0.083)2) Q1 (* mm 0.033) R (* mm 0.094) Th (* mm 0.080) )) ;# 5 ((= Size 0.1380)(setf J (* mm 0.0625) C (* mm (/(+ 0.074 0.064)4)) P (/(* mm 0.092)2) Q1 (* mm 0.038) R (* mm 0.104) Th (* mm 0.080) )) ;# 6 ((= Size 0.1640)(setf J (* mm 0.0781) C (* mm (/(+ 0.087 0.076)4)) P (/(* mm 0.109)2) Q1 (* mm 0.043) R (* mm 0.123) Th (* mm 0.090) )) ;# 8 ((= Size 0.1900)(setf J (* mm 0.0938) C (* mm (/(+ 0.102 0.088)4)) P (/(* mm 0.127)2) Q1 (* mm 0.049) R (* mm 0.142) Th (* mm 0.100) )) ;# 10 ((= Size 0.2500)(setf J (* mm 0.1250) C (* mm (/(+ 0.132 0.118)4)) P (/(* mm 0.156)2) Q1 (* mm 0.067) R (* mm 0.188) Th (* mm 0.125) )) ;1/4 ((= Size 0.3125)(setf J (* mm 0.1562) C (* mm (/(+ 0.172 0.156)4)) P (/(* mm 0.203)2) Q1 (* mm 0.082) R (* mm 0.234) Th (* mm 0.156) )) ;5/16 ((= Size 0.3750)(setf J (* mm 0.1875) C (* mm (/(+ 0.212 0.194)4)) P (/(* mm 0.250)2) Q1 (* mm 0.099) R (* mm 0.281) Th (* mm 0.188) )) ;3/8 ((= Size 0.4375)(setf J (* mm 0.2188) C (* mm (/(+ 0.252 0.232)4)) P (/(* mm 0.297)2) Q1 (* mm 0.114) R (* mm 0.328) Th (* mm 0.219) )) ;7/16 ((= Size 0.5000)(setf J (* mm 0.2500) C (* mm (/(+ 0.291 0.270)4)) P (/(* mm 0.344)2) Q1 (* mm 0.130) R (* mm 0.375) Th (* mm 0.250) )) ;1/2 ((= Size 0.6250)(setf J (* mm 0.3125) C (* mm (/(+ 0.371 0.347)4)) P (/(* mm 0.469)2) Q1 (* mm 0.164) R (* mm 0.469) Th (* mm 0.312) )) ;5/8 ((= Size 0.7500)(setf J (* mm 0.3750) C (* mm (/(+ 0.450 0.425)4)) P (/(* mm 0.562)2) Q1 (* mm 0.196) R (* mm 0.562) Th (* mm 0.375) )) ;3/4 ((= Size 0.8750)(setf J (* mm 0.5000) C (* mm (/(+ 0.530 0.502)4)) P (/(* mm 0.656)2) Q1 (* mm 0.227) R (* mm 0.656) Th (* mm 0.500) )) ;7/8 ((= Size 1.0000)(setf J (* mm 0.5625) C (* mm (/(+ 0.609 0.579)4)) P (/(* mm 0.750)2) Q1 (* mm 0.260) R (* mm 0.750) Th (* mm 0.562) )) ;1 ((= Size 1.1250)(setf J (* mm 0.5625) C (* mm (/(+ 0.689 0.655)4)) P (/(* mm 0.844)2) Q1 (* mm 0.291) R (* mm 0.844) Th (* mm 0.562) )) ;1-1/8 ((= Size 1.2500)(setf J (* mm 0.6250) C (* mm (/(+ 0.767 0.733)4)) P (/(* mm 0.938)2) Q1 (* mm 0.323) R (* mm 0.938) Th (* mm 0.625) )) ;1-1/4 ((= Size 1.3750)(setf J (* mm 0.6250) C (* mm (/(+ 0.848 0.808)4)) P (/(* mm 1.031)2) Q1 (* mm 0.354) R (* mm 1.031) Th (* mm 0.625) )) ;1-3/8 ((= Size 1.5000)(setf J (* mm 0.7500) C (* mm (/(+ 0.926 0.886)4)) P (/(* mm 1.125)2) Q1 (* mm 0.385) R (* mm 1.125) Th (* mm 0.750) )) ;1-1/2 ((= Size 1.7500)(setf J (* mm 1.0000) C (* mm (/(+ 1.086 1.039)4)) P (/(* mm 1.312)2) Q1 (* mm 0.448) R (* mm 1.321) Th (* mm 1.000) )) ;1-3/4 ((= Size 2.0000)(setf J (* mm 1.0000) C (* mm (/(+ 1.244 1.193)4)) P (/(* mm 1.500)2) Q1 (* mm 0.510) R (* mm 1.500) Th (* mm 1.000) )) ));2 ((= ConnType 3) (cond ((= Size 0.1900)(setf HlfFmm (*(/(+ 0.188 0.180)4)mm) Hmm (*(/(+ 0.148 0.134)2)mm) Kmm (*(/(+ 0.145 0.140)4)mm) Smm (* 0.027 mm) Umm (* 0.083 mm) Wmm (* 0.48 mm) C (* mm (/(+ 0.102 0.088)4)) P (* mm (/(+ 0.127 0.120)4)) Q (* mm (/(+ 0.095 0.085)2)) Q1 (* mm (/(+ 0.050 0.040)2)) R (* mm 0.142) ));# 10 ((= Size 0.2500)(setf HlfFmm (*(/(+ 0.250 0.241)4)mm) Hmm (*(/(+ 0.196 0.178)2)mm) Kmm (*(/(+ 0.185 0.170)4)mm) Smm (* 0.032 mm) Umm (* 0.100 mm) Wmm (* 0.62 mm) C (* mm (/(+ 0.132 0.118)4)) P (* mm (/(+ 0.156 0.149)4)) Q (* mm (/(+ 0.130 0.120)2)) Q1 (* mm (/(+ 0.068 0.058)2)) R (* mm 0.188) ));1/4 ((= Size 0.3125)(setf HlfFmm (*(/(+ 0.312 0.302)4)mm) Hmm (*(/(+ 0.245 0.224)2)mm) Kmm (*(/(+ 0.240 0.225)4)mm) Smm (* 0.036 mm) Umm (* 0.111 mm) Wmm (* 0.78 mm) C (* mm (/(+ 0.172 0.156)4)) P (* mm (/(+ 0.203 0.195)4)) Q (* mm (/(+ 0.161 0.151)2)) Q1 (* mm (/(+ 0.083 0.073)2)) R (* mm 0.234) ));5/16 ((= Size 0.3750)(setf HlfFmm (*(/(+ 0.375 0.362)4)mm) Hmm (*(/(+ 0.293 0.270)2)mm) Kmm (*(/(+ 0.294 0.279)4)mm) Smm (* 0.041 mm) Umm (* 0.125 mm) Wmm (* 0.94 mm) C (* mm (/(+ 0.212 0.194)4)) P (* mm (/(+ 0.250 0.241)4)) Q (* mm (/(+ 0.193 0.183)2)) Q1 (* mm (/(+ 0.099 0.089)2)) R (* mm 0.281) ));3/8 ((= Size 0.4375)(setf HlfFmm (*(/(+ 0.438 0.423)4)mm) Hmm (*(/(+ 0.341 0.315)2)mm) Kmm (*(/(+ 0.345 0.330)4)mm) Smm (* 0.046 mm) Umm (* 0.143 mm) Wmm (* 1.09 mm) C (* mm (/(+ 0.252 0.232)4)) P (* mm (/(+ 0.297 0.287)4)) Q (* mm (/(+ 0.224 0.214)2)) Q1 (* mm (/(+ 0.114 0.104)2)) R (* mm 0.328) ));7/16 ((= Size 0.5000)(setf HlfFmm (*(/(+ 0.500 0.484)4)mm) Hmm (*(/(+ 0.389 0.361)2)mm) Kmm (*(/(+ 0.400 0.385)4)mm) Smm (* 0.050 mm) Umm (* 0.154 mm) Wmm (* 1.25 mm) C (* mm (/(+ 0.291 0.270)4)) P (* mm (/(+ 0.344 0.334)4)) Q (* mm (/(+ 0.255 0.245)2)) Q1 (* mm (/(+ 0.130 0.120)2)) R (* mm 0.375) ));1/2 ((= Size 0.5625)(setf HlfFmm (*(/(+ 0.562 0.545)4)mm) Hmm (*(/(+ 0.437 0.407)2)mm) Kmm (*(/(+ 0.454 0.439)4)mm) Smm (* 0.054 mm) Umm (* 0.167 mm) Wmm (* 1.41 mm) C (* mm (/(+ 0.332 0.309)4)) P (* mm (/(+ 0.391 0.379)4)) Q (* mm (/(+ 0.287 0.275)2)) Q1 (* mm (/(+ 0.146 0.134)2)) R (* mm 0.422) ));9/16 ((= Size 0.6250)(setf HlfFmm (*(/(+ 0.625 0.606)4)mm) Hmm (*(/(+ 0.485 0.452)2)mm) Kmm (*(/(+ 0.507 0.492)4)mm) Smm (* 0.059 mm) Umm (* 0.182 mm) Wmm (* 1.56 mm) C (* mm (/(+ 0.371 0.347)4)) P (* mm (/(+ 0.469 0.456)4)) Q (* mm (/(+ 0.321 0.305)2)) Q1 (* mm (/(+ 0.164 0.148)2)) R (* mm 0.469) ));5/8 ((= Size 0.7500)(setf HlfFmm (*(/(+ 0.750 0.729)4)mm) Hmm (*(/(+ 0.582 0.544)2)mm) Kmm (*(/(+ 0.620 0.605)4)mm) Smm (* 0.065 mm) Umm (* 0.200 mm) Wmm (* 1.88 mm) C (* mm (/(+ 0.450 0.425)4)) P (* mm (/(+ 0.562 0.549)4)) Q (* mm (/(+ 0.393 0.367)2)) Q1 (* mm (/(+ 0.196 0.180)2)) R (* mm 0.562) ));3/4 ((= Size 0.8750)(setf HlfFmm (*(/(+ 0.875 0.852)4)mm) Hmm (*(/(+ 0.678 0.635)2)mm) Kmm (*(/(+ 0.731 0.716)4)mm) Smm (* 0.075 mm) Umm (* 0.222 mm) Wmm (* 2.19 mm) C (* mm (/(+ 0.530 0.502)4)) P (* mm (/(+ 0.656 0.642)4)) Q (* mm (/(+ 0.446 0.430)2)) Q1 (* mm (/(+ 0.227 0.211)2)) R (* mm 0.656) ));7/8 ((= Size 1.0000)(setf HlfFmm (*(/(+ 1.000 0.974)4)mm) Hmm (*(/(+ 0.774 0.726)2)mm) Kmm (*(/(+ 0.838 0.823)4)mm) Smm (* 0.081 mm) Umm (* 0.250 mm) Wmm (* 2.50 mm) C (* mm (/(+ 0.609 0.579)4)) P (* mm (/(+ 0.750 0.734)4)) Q (* mm (/(+ 0.510 0.490)2)) Q1 (* mm (/(+ 0.260 0.240)2)) R (* mm 0.750) ));1 ((= Size 1.1250)(setf HlfFmm (*(/(+ 1.125 1.096)4)mm) Hmm (*(/(+ 0.870 0.817)2)mm) Kmm (*(/(+ 0.939 0.914)4)mm) Smm (* 0.092 mm) Umm (* 0.283 mm) Wmm (* 2.81 mm) C (* mm (/(+ 0.689 0.655)4)) P (* mm (/(+ 0.844 0.826)4)) Q (* mm (/(+ 0.572 0.552)2)) Q1 (* mm (/(+ 0.291 0.271)2)) R (* mm 0.844) ));1 1/8 ((= Size 1.2500)(setf HlfFmm (*(/(+ 1.250 1.219)4)mm) Hmm (*(/(+ 0.966 0.908)2)mm) Kmm (*(/(+ 1.064 1.039)4)mm) Smm (* 0.092 mm) Umm (* 0.283 mm) Wmm (* 3.12 mm) C (* mm (/(+ 0.767 0.733)4)) P (* mm (/(+ 0.938 0.920)4)) Q (* mm (/(+ 0.635 0.615)2)) Q1 (* mm (/(+ 0.323 0.303)2)) R (* mm 0.938) ));1 1/4 ((= Size 1.3750)(setf HlfFmm (*(/(+ 1.375 1.342)4)mm) Hmm (*(/(+ 1.063 1.000)2)mm) Kmm (*(/(+ 1.159 1.134)4)mm) Smm (* 0.109 mm) Umm (* 0.333 mm) Wmm (* 3.44 mm) C (* mm (/(+ 0.848 0.808)4)) P (* mm (/(+ 1.031 1.011)4)) Q (* mm (/(+ 0.698 0.678)2)) Q1 (* mm (/(+ 0.354 0.334)2)) R (* mm 1.031) ));1 3/8 ((= Size 1.5000)(setf HlfFmm (*(/(+ 1.500 1.464)4)mm) Hmm (*(/(+ 1.159 1.091)2)mm) Kmm (*(/(+ 1.284 1.259)4)mm) Smm (* 0.109 mm) Umm (* 0.333 mm) Wmm (* 3.75 mm) C (* mm (/(+ 0.926 0.886)4)) P (* mm (/(+ 1.125 1.105)4)) Q (* mm (/(+ 0.760 0.740)2)) Q1 (* mm (/(+ 0.385 0.365)2)) R (* mm 1.125) )) ));1 1/2 (t (sd-display-alert "Not configured :( ")) );cond-types ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :y :rotation_angle (sd-deg-to-rad 90) :done)) ;;Default Workplanes geometry to real geoemetry (sd-call-cmds(geometry_mode :real)) ;;Setup drawing variables here (setf RadD (cond ((= Size 0.1251)(* 0.125 17.5)) (t(*(* Size mm) 0.5)) ) FastLnMM (* Length mm) 30DegDa (* RadD 0.7) ; get 30% of the diameter 30DegDb (* RadD 0.17320508) ;30 35DegChf (* P 1.42814800) ; 180DegDa (* C 0.600860625) ;59.000000 OvalInt (* R -0.254644) OvalIntb (* R 0.745355992533333) LenDiff (- FastLnMM RadD) HlfAFltmm J PartThk Th FastSizemm (*(/ Size 2)mm) Fmm HlfFmm Fn (* HlfFmm -1) TipChf (cond ((< Size 0.2500) (* mm 0.015)) (t (* mm 0.030)) );cond );setf ;;Setup the global variable for later (setq *FastThdRad* RadD ) (print(format nil ">>> We are looking for a radius of ~Ain | ~Amm <<<" (sd-num-to-string (/ *FastThdRad* 25.4) 6) (sd-num-to-string *FastThdRad* 6) )) ;;Draw out the base profile of the set screws (cond ((= ConnType 1) ;Hex and spline socket (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 30DegDa) (gpnt2d 30DegDb RadD) (gpnt2d FastLnMM RadD) (gpnt2d FastLnMM 0.00000) :close )) );sd-call-cmds ((= ConnType 3) (progn ;Square Head (sd-call-cmds(polygon (gpnt2d 0.00000 0.00000) (gpnt2d 0.00000 (+ Kmm Smm)) (gpnt2d 0.00000 Kmm) (gpnt2d Umm Kmm) (gpnt2d Umm FastSizemm) (gpnt2d (- FastLnMM Umm) FastSizemm) (gpnt2d FastLnMM FastSizemm) (gpnt2d FastLnMM 0.00000) :close ));sd-call-cmds (sd-call-cmds(fillet :create :fillet_radius Smm (gpnt2d 0.00000 Kmm) (gpnt2d Umm Kmm) )) ));progn );cond ;;Extrude the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :u :pull_angle (sd-deg-to-rad 360) :operation :add_material)) ;;Draw out the different End Points (cond ((= Type 1)(progn ;Cone Point (sd-call-cmds(polygon (gpnt2d (- FastLnMM RadD) RadD) (gpnt2d FastLnMM 0.00000) (gpnt2d FastLnMM RadD) :close));sd-call-cmds ));Cone Point ((= Type 2)(progn ;Cup Point (sd-call-cmds(polygon (gpnt2d (- FastLnMM (- RadD C) ) RadD) (gpnt2d FastLnMM C) (gpnt2d (- FastLnMM 180DegDa) 0.00000) (gpnt2d FastLnMM 0.00000) (gpnt2d FastLnMM RadD) :close ));sd-call-cmds ));Cup Point ((= Type 3)(progn ;Dog Point (sd-call-cmds(polygon (gpnt2d (- FastLnMM (+ Q 35DegChf)) (+ P P)) (gpnt2d (- FastLnMM Q) P) (gpnt2d (- FastLnMM TipChf) P) (gpnt2d FastLnMM (- P TipChf)) (gpnt2d FastLnMM (+ P P)) :close));sd-call-cmds ));Half Dog Point ((= Type 4)(progn ;Half Dog Point (sd-call-cmds(polygon (gpnt2d (- FastLnMM (+ Q1 35DegChf)) (+ P P)) (gpnt2d (- FastLnMM Q1) P) (gpnt2d (- FastLnMM TipChf) P) (gpnt2d FastLnMM (- P TipChf)) (gpnt2d FastLnMM (+ P P)) :close));sd-call-cmds ));Half Dog Point ((= Type 5)(progn ;Flat Point (sd-call-cmds(polygon (gpnt2d (- FastLnMM (- RadD C) ) RadD) (gpnt2d FastLnMM C) (gpnt2d FastLnMM RadD) :close));sd-call-cmds ));Flat Point ((= Type 6)(progn ;Oval Point (sd-call-cmds(polygon (gpnt2d (- FastLnMM R) R) (gpnt2d FastLnMM R) (gpnt2d FastLnMM 0.00000) ));sd-call-cmds (sd-call-cmds(arc :center (gpnt2d (- FastLnMM R) 0.00000) (gpnt2d FastLnMM 0.00000) (gpnt2d (- FastLnMM R) R) ));sd-call-cmds ));Oval Point );cond ;;Subtract the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :u :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" )) ;;Draw out and extrude the hex or square head profile (cond ((= ConnType 1)(progn ;Hex Socket ;;Draw the profile (sd-call-cmds(polygon (gpnt2d (* HlfAFltmm -0.5773502691896255) 0.000000 ) (gpnt2d (* HlfAFltmm -0.2886751345948129) (* HlfAFltmm 0.5) ) (gpnt2d (* HlfAFltmm 0.2886751345948129) (* HlfAFltmm 0.5) ) (gpnt2d (* HlfAFltmm 0.5773502691896255) 0.000000 ) (gpnt2d (* HlfAFltmm 0.2886751345948129) (* HlfAFltmm -0.5) ) (gpnt2d (* HlfAFltmm -0.2886751345948129) (* HlfAFltmm -0.5) ) :close ));sd-call-cmd ;;remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :-w :operation :remove_material)) ));=1 ((= ConnType 3)(progn ;Square Head ;;Create a variable (setf PartThk Hmm) ;;Draw the profile (sd-call-cmds(polygon (gpnt2d Fmm Fmm) (gpnt2d Fmm Fn) (gpnt2d Fn Fn) (gpnt2d Fn Fmm) :close ));sd-call-cmd ;;Extrude the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :no :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Create an XY workplane (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :y :rotation_angle (sd-deg-to-rad 90) :done)) ;;Draw the next profile (sd-call-cmds(polygon (gpnt2d (* -1 Hmm) 0.00000) (gpnt2d (* -1 Hmm) Wmm) (gpnt2d (- Wmm Hmm) Wmm) )) (sd-call-cmds(arc :center (gpnt2d (- Wmm Hmm) 0.00000) (gpnt2d (- Wmm Hmm) Wmm) (gpnt2d Hmm 0.00000) )) ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :yes :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :u :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ;;Trim off the bottom of the head with 52.5 degrees from U+S (sd-call-cmds(polygon (gpnt2d 0.000000000000000 (+ Kmm Smm) ) (gpnt2d 0.000000000000000 (+(+ Kmm Smm) 32.755924843397374) ) (gpnt2d -15.462540296821503 (+(+ Kmm Smm) 32.755924843397374) ) :close ));sd-call-cmd ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :angular_pull :selection_focus_profiles :keep_wp :no :keep_profile :no :wp (sd-inq-curr-wp) :sel_part (sd-inq-curr-part) :axis :u :pull_angle (sd-deg-to-rad 360) :operation :remove_material)) ));=3 );cond );defun ;;;; =================================================================================================================== (defun sd_create_fastener_washer (Name Type Size) ;;;; =================================================================================================================== ;;Create an empty part and make it active (sd-call-cmds(create_part :name Name)) ;;Set the mm variable (setf mm 25.4) ;;Seperate the different Washer Types followed by dimension values (cond ((= Type 1) (cond ;=Plain_A_Nar ((= Size 0.2500) (setf WIDia (* mm 0.281) WODia (* mm 0.625) PartThk (* mm 0.065) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm 0.344) WODia (* mm 0.688) PartThk (* mm 0.065) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm 0.406) WODia (* mm 0.812) PartThk (* mm 0.065) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm 0.469) WODia (* mm 0.922) PartThk (* mm 0.065) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm 0.531) WODia (* mm 1.062) PartThk (* mm 0.095) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm 0.594) WODia (* mm 1.156) PartThk (* mm 0.095) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm 0.656) WODia (* mm 1.312) PartThk (* mm 0.095) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm 0.812) WODia (* mm 1.469) PartThk (* mm 0.134) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm 0.938) WODia (* mm 1.750) PartThk (* mm 0.134) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm 1.062) WODia (* mm 2.000) PartThk (* mm 0.134) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 ((= Size 1.1250) (setf WIDia (* mm 1.250) WODia (* mm 2.250) PartThk (* mm 0.134) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm 1.375) WODia (* mm 2.500) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/4 ((= Size 1.3750) (setf WIDia (* mm 1.500) WODia (* mm 2.750) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/8 ((= Size 1.5000) (setf WIDia (* mm 1.625) WODia (* mm 3.000) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/2 ));cond-Plain_A_Nar ((= Type 2) (cond ;=Plain_A_Reg ((= Size 0.1380) (setf WIDia (* mm 0.156) WODia (* mm 0.375) PartThk (* mm 0.049) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm 0.188) WODia (* mm 0.438) PartThk (* mm 0.049) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm 0.219) WODia (* mm 0.500) PartThk (* mm 0.049) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.10 ((= Size 0.1875) (setf WIDia (* mm 0.250) WODia (* mm 0.562) PartThk (* mm 0.049) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/16 ((= Size 0.2160) (setf WIDia (* mm 0.250) WODia (* mm 0.562) PartThk (* mm 0.065) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.12 ((= Size 1.6250) (setf WIDia (* mm 1.750) WODia (* mm 3.750) PartThk (* mm 0.180) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 5/8 ((= Size 1.7500) (setf WIDia (* mm 1.875) WODia (* mm 4.000) PartThk (* mm 0.180) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/4 ((= Size 1.8750) (setf WIDia (* mm 2.000) WODia (* mm 4.250) PartThk (* mm 0.180) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 7/8 ((= Size 2.0000) (setf WIDia (* mm 2.125) WODia (* mm 4.500) PartThk (* mm 0.180) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 ((= Size 2.2500) (setf WIDia (* mm 2.375) WODia (* mm 4.750) PartThk (* mm 0.220) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 1/4 ((= Size 2.5000) (setf WIDia (* mm 2.625) WODia (* mm 5.000) PartThk (* mm 0.238) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 1/2 ((= Size 2.7500) (setf WIDia (* mm 2.875) WODia (* mm 5.250) PartThk (* mm 0.259) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 3/4 ((= Size 3.0000) (setf WIDia (* mm 3.125) WODia (* mm 5.500) PartThk (* mm 0.284) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3 ));cond-Plain_A_Reg ((= Type 3) (cond ;=Plain_A_Wid ((= Size 0.2500) (setf WIDia (* mm 0.312) WODia (* mm 0.734) PartThk (* mm 0.065) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm 0.375) WODia (* mm 0.875) PartThk (* mm 0.083) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm 0.438) WODia (* mm 1.000) PartThk (* mm 0.083) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm 0.500) WODia (* mm 1.250) PartThk (* mm 0.083) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm 0.562) WODia (* mm 1.375) PartThk (* mm 0.109) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm 0.625) WODia (* mm 1.469) PartThk (* mm 0.109) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm 0.688) WODia (* mm 1.750) PartThk (* mm 0.134) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm 0.812) WODia (* mm 2.000) PartThk (* mm 0.148) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm 0.938) WODia (* mm 2.250) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm 1.062) WODia (* mm 2.500) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 ((= Size 1.1250) (setf WIDia (* mm 1.250) WODia (* mm 2.750) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm 1.375) WODia (* mm 3.000) PartThk (* mm 0.165) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/4 ((= Size 1.3750) (setf WIDia (* mm 1.500) WODia (* mm 3.250) PartThk (* mm 0.180) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/8 ((= Size 1.5000) (setf WIDia (* mm 1.625) WODia (* mm 3.500) PartThk (* mm 0.180) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/2 ));cond-Plain_A_Wid ((= Type 4) (cond ;=Plain_B_Nar ((= Size 0.0600) (setf WIDia (* mm 0.068) WODia (* mm 0.125) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 0 ((= Size 0.0730) (setf WIDia (* mm 0.084) WODia (* mm 0.156) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 1 ((= Size 0.0860) (setf WIDia (* mm 0.094) WODia (* mm 0.188) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm 0.109) WODia (* mm 0.219) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm 0.125) WODia (* mm 0.250) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm 0.141) WODia (* mm 0.281) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm 0.156) WODia (* mm 0.312) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm 0.188) WODia (* mm 0.375) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm 0.203) WODia (* mm 0.406) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm 0.234) WODia (* mm 0.438) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm 0.281) WODia (* mm 0.500) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm 0.344) WODia (* mm 0.625) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm 0.406) WODia (* mm 0.734) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm 0.469) WODia (* mm 0.875) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm 0.531) WODia (* mm 1.000) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm 0.594) WODia (* mm 1.125) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm 0.656) WODia (* mm 1.250) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm 0.812) WODia (* mm 1.375) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm 0.938) WODia (* mm 1.469) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm 1.062) WODia (* mm 1.750) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 ((= Size 1.1250) (setf WIDia (* mm 1.188) WODia (* mm 2.000) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm 1.312) WODia (* mm 2.250) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/4 ((= Size 1.3750) (setf WIDia (* mm 1.438) WODia (* mm 2.500) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/8 ((= Size 1.5000) (setf WIDia (* mm 1.562) WODia (* mm 2.750) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/2 ((= Size 1.6250) (setf WIDia (* mm 1.750) WODia (* mm 3.000) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 5/8 ((= Size 1.7500) (setf WIDia (* mm 1.875) WODia (* mm 3.250) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/4 ((= Size 1.8750) (setf WIDia (* mm 2.000) WODia (* mm 3.500) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 7/8 ((= Size 2.0000) (setf WIDia (* mm 2.125) WODia (* mm 3.750) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 ));cond-Plain_B_Nar ((= Type 5) (cond ;=Plain_B_Reg ((= Size 0.0600) (setf WIDia (* mm 0.068) WODia (* mm 0.188) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 0 ((= Size 0.0730) (setf WIDia (* mm 0.084) WODia (* mm 0.219) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 1 ((= Size 0.0860) (setf WIDia (* mm 0.094) WODia (* mm 0.250) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm 0.109) WODia (* mm 0.312) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm 0.125) WODia (* mm 0.375) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm 0.141) WODia (* mm 0.406) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm 0.156) WODia (* mm 0.438) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm 0.188) WODia (* mm 0.500) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm 0.203) WODia (* mm 0.562) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm 0.234) WODia (* mm 0.625) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm 0.281) WODia (* mm 0.734) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm 0.344) WODia (* mm 0.875) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm 0.406) WODia (* mm 1.000) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm 0.469) WODia (* mm 1.125) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm 0.531) WODia (* mm 1.250) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm 0.594) WODia (* mm 1.469) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm 0.656) WODia (* mm 1.750) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm 0.812) WODia (* mm 2.000) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm 0.938) WODia (* mm 2.250) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm 1.062) WODia (* mm 2.500) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 ((= Size 1.1250) (setf WIDia (* mm 1.188) WODia (* mm 2.750) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm 1.312) WODia (* mm 3.000) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/4 ((= Size 1.3750) (setf WIDia (* mm 1.438) WODia (* mm 3.250) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/8 ((= Size 1.5000) (setf WIDia (* mm 1.562) WODia (* mm 3.500) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/2 ((= Size 1.6250) (setf WIDia (* mm 1.750) WODia (* mm 3.750) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 5/8 ((= Size 1.7500) (setf WIDia (* mm 1.875) WODia (* mm 4.000) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/4 ((= Size 1.8750) (setf WIDia (* mm 2.000) WODia (* mm 4.250) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 7/8 ((= Size 2.0000) (setf WIDia (* mm 2.125) WODia (* mm 4.500) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 ));cond-Plain_B_Reg ((= Type 6) (cond ;=Plain_B_Wid ((= Size 0.0600) (setf WIDia (* mm 0.068) WODia (* mm 0.250) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 0 ((= Size 0.0730) (setf WIDia (* mm 0.084) WODia (* mm 0.281) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 1 ((= Size 0.0860) (setf WIDia (* mm 0.094) WODia (* mm 0.344) PartThk (* mm 0.032) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm 0.109) WODia (* mm 0.406) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm 0.125) WODia (* mm 0.438) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm 0.141) WODia (* mm 0.500) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm 0.156) WODia (* mm 0.562) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm 0.188) WODia (* mm 0.625) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm 0.203) WODia (* mm 0.734) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm 0.234) WODia (* mm 0.875) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm 0.281) WODia (* mm 1.000) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm 0.344) WODia (* mm 1.000) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm 0.406) WODia (* mm 1.250) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm 0.469) WODia (* mm 1.500) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm 0.531) WODia (* mm 1.750) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm 0.594) WODia (* mm 2.000) PartThk (* mm 0.100) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm 0.656) WODia (* mm 2.250) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm 0.812) WODia (* mm 2.500) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm 0.938) WODia (* mm 2.750) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm 1.062) WODia (* mm 3.000) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 ((= Size 1.1250) (setf WIDia (* mm 1.188) WODia (* mm 3.250) PartThk (* mm 0.160) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm 1.312) WODia (* mm 3.500) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/4 ((= Size 1.3750) (setf WIDia (* mm 1.438) WODia (* mm 3.750) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/8 ((= Size 1.5000) (setf WIDia (* mm 1.562) WODia (* mm 4.000) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 1/2 ((= Size 1.6250) (setf WIDia (* mm 1.750) WODia (* mm 4.250) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 5/8 ((= Size 1.7500) (setf WIDia (* mm 1.875) WODia (* mm 4.500) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 3/4 ((= Size 1.8750) (setf WIDia (* mm 2.000) WODia (* mm 4.750) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;1 7/8 ((= Size 2.0000) (setf WIDia (* mm 2.125) WODia (* mm 5.000) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 1) ) ;2 ));cond-Plain_B_Wid ((= Type 7) (cond ;=High_Collar ((= Size 0.1120) (setf WIDia (* mm 0.1120) WODia (* mm 0.173) PartThk (* mm 0.022) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm 0.1250) WODia (* mm 0.202) PartThk (* mm 0.030) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm 0.1380) WODia (* mm 0.216) PartThk (* mm 0.030) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm 0.1640) WODia (* mm 0.267) PartThk (* mm 0.047) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm 0.1900) WODia (* mm 0.294) PartThk (* mm 0.047) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;No.10 ((= Size 0.2500) (setf WIDia (* mm 0.2500) WODia (* mm 0.363) PartThk (* mm 0.078) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm 0.3125) WODia (* mm 0.457) PartThk (* mm 0.093) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm 0.3750) WODia (* mm 0.550) PartThk (* mm 0.125) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm 0.4375) WODia (* mm 0.644) PartThk (* mm 0.140) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm 0.5000) WODia (* mm 0.733) PartThk (* mm 0.172) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1/2 ((= Size 0.6250) (setf WIDia (* mm 0.6250) WODia (* mm 0.917) PartThk (* mm 0.203) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm 0.7500) WODia (* mm 1.105) PartThk (* mm 0.218) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm 0.8750) WODia (* mm 1.291) PartThk (* mm 0.234) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm 1.0000) WODia (* mm 1.478) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1 ((= Size 1.1250) (setf WIDia (* mm 1.1250) WODia (* mm 1.663) PartThk (* mm 0.313) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm 1.2500) WODia (* mm 1.790) PartThk (* mm 0.313) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1 1/4 ((= Size 1.3750) (setf WIDia (* mm 1.3750) WODia (* mm 2.031) PartThk (* mm 0.375) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1 3/8 ((= Size 1.5000) (setf WIDia (* mm 1.5000) WODia (* mm 2.159) PartThk (* mm 0.375) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1 1/2 ((= Size 1.7500) (setf WIDia (* mm 1.7500) WODia (* mm 2.596) PartThk (* mm 0.469) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;1 3/4 ((= Size 2.0000) (setf WIDia (* mm 2.0000) WODia (* mm 2.846) PartThk (* mm 0.469) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;2 ((= Size 2.2500) (setf WIDia (* mm 2.2500) WODia (* mm 3.345) PartThk (* mm 0.508) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;2 1/4 ((= Size 2.5000) (setf WIDia (* mm 2.5000) WODia (* mm 3.559) PartThk (* mm 0.508) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;2 1/2 ((= Size 2.7500) (setf WIDia (* mm 2.7500) WODia (* mm 4.095) PartThk (* mm 0.633) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;2 3/4 ((= Size 3.0000) (setf WIDia (* mm 3.0000) WODia (* mm 4.345) PartThk (* mm 0.633) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 2) ) ;3 ));cond-High_Collar ((= Type 8) (cond ;=Spring_Lock_Reg ((= Size 0.0860) (setf WIDia (* mm (/ (+ 0.094 0.088) 2)) WODia (* mm 0.172) PartThk (* mm 0.020) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm (/ (+ 0.107 0.101) 2)) WODia (* mm 0.195) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm (/ (+ 0.120 0.114) 2)) WODia (* mm 0.209) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm (/ (+ 0.133 0.127) 2)) WODia (* mm 0.236) PartThk (* mm 0.031) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm (/ (+ 0.148 0.141) 2)) WODia (* mm 0.250) PartThk (* mm 0.031) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm (/ (+ 0.174 0.167) 2)) WODia (* mm 0.293) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm (/ (+ 0.200 0.193) 2)) WODia (* mm 0.334) PartThk (* mm 0.047) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm (/ (+ 0.227 0.220) 2)) WODia (* mm 0.377) PartThk (* mm 0.056) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm (/ (+ 0.060 0.252) 2)) WODia (* mm 0.487) PartThk (* mm 0.062) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm (/ (+ 0.322 0.314) 2)) WODia (* mm 0.583) PartThk (* mm 0.078) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm (/ (+ 0.385 0.377) 2)) WODia (* mm 0.680) PartThk (* mm 0.094) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm (/ (+ 0.450 0.440) 2)) WODia (* mm 0.776) PartThk (* mm 0.109) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm (/ (+ 0.512 0.502) 2)) WODia (* mm 0.869) PartThk (* mm 0.125) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm (/ (+ 0.574 0.564) 2)) WODia (* mm 0.965) PartThk (* mm 0.141) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm (/ (+ 0.641 0.628) 2)) WODia (* mm 1.073) PartThk (* mm 0.156) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;5/8 ((= Size 0.6875) (setf WIDia (* mm (/ (+ 0.704 0.691) 2)) WODia (* mm 1.170) PartThk (* mm 0.172) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;11/16 ((= Size 0.7500) (setf WIDia (* mm (/ (+ 0.766 0.753) 2)) WODia (* mm 1.265) PartThk (* mm 0.188) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;3/4 ((= Size 0.8125) (setf WIDia (* mm (/ (+ 0.832 0.816) 2)) WODia (* mm 1.363) PartThk (* mm 0.203) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;13/16 ((= Size 0.8750) (setf WIDia (* mm (/ (+ 0.894 0.878) 2)) WODia (* mm 1.459) PartThk (* mm 0.219) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;7/8 ((= Size 0.9375) (setf WIDia (* mm (/ (+ 0.958 0.941) 2)) WODia (* mm 1.556) PartThk (* mm 0.234) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;15/16 ((= Size 1.0000) (setf WIDia (* mm (/ (+ 1.024 1.003) 2)) WODia (* mm 1.656) PartThk (* mm 0.250) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 ((= Size 1.0625) (setf WIDia (* mm (/ (+ 1.087 1.066) 2)) WODia (* mm 1.751) PartThk (* mm 0.266) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/16 ((= Size 1.1250) (setf WIDia (* mm (/ (+ 1.153 1.129) 2)) WODia (* mm 2.847) PartThk (* mm 0.281) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/8 ((= Size 1.1875) (setf WIDia (* mm (/ (+ 1.217 1.192) 2)) WODia (* mm 2.943) PartThk (* mm 0.297) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 3/16 ((= Size 1.2500) (setf WIDia (* mm (/ (+ 1.280 1.254) 2)) WODia (* mm 2.036) PartThk (* mm 0.312) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/4 ((= Size 1.3125) (setf WIDia (* mm (/ (+ 1.344 1.317) 2)) WODia (* mm 2.133) PartThk (* mm 0.328) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 5/16 ((= Size 1.3750) (setf WIDia (* mm (/ (+ 1.408 1.379) 2)) WODia (* mm 2.219) PartThk (* mm 0.344) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 3/8 ((= Size 1.4375) (setf WIDia (* mm (/ (+ 1.472 1.442) 2)) WODia (* mm 2.324) PartThk (* mm 0.359) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 7/16 ((= Size 1.5000) (setf WIDia (* mm (/ (+ 1.534 1.504) 2)) WODia (* mm 2.419) PartThk (* mm 0.375) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/2 ));cond-Spring_Lock_Reg ((= Type 9) (cond ;=Spring_Lock_Hvy ((= Size 0.0860) (setf WIDia (* mm (/ (+ 0.094 0.088) 2)) WODia (* mm 0.182) PartThk (* mm 0.025) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm (/ (+ 0.107 0.101) 2)) WODia (* mm 0.209) PartThk (* mm 0.031) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm (/ (+ 0.120 0.114) 2)) WODia (* mm 0.223) PartThk (* mm 0.031) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm (/ (+ 0.133 0.127) 2)) WODia (* mm 0.252) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm (/ (+ 0.148 0.141) 2)) WODia (* mm 0.266) PartThk (* mm 0.040) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm (/ (+ 0.174 0.167) 2)) WODia (* mm 0.307) PartThk (* mm 0.047) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm (/ (+ 0.200 0.193) 2)) WODia (* mm 0.350) PartThk (* mm 0.056) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm (/ (+ 0.227 0.220) 2)) WODia (* mm 0.391) PartThk (* mm 0.063) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm (/ (+ 0.060 0.252) 2)) WODia (* mm 0.489) PartThk (* mm 0.077) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm (/ (+ 0.322 0.314) 2)) WODia (* mm 0.293) PartThk (* mm 0.097) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm (/ (+ 0.385 0.377) 2)) WODia (* mm 0.688) PartThk (* mm 0.115) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm (/ (+ 0.450 0.440) 2)) WODia (* mm 0.784) PartThk (* mm 0.133) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm (/ (+ 0.512 0.502) 2)) WODia (* mm 0.879) PartThk (* mm 0.151) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm (/ (+ 0.574 0.564) 2)) WODia (* mm 0.975) PartThk (* mm 0.170) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm (/ (+ 0.641 0.628) 2)) WODia (* mm 1.087) PartThk (* mm 0.189) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;5/8 ((= Size 0.6875) (setf WIDia (* mm (/ (+ 0.704 0.691) 2)) WODia (* mm 1.186) PartThk (* mm 0.207) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;11/16 ((= Size 0.7500) (setf WIDia (* mm (/ (+ 0.766 0.753) 2)) WODia (* mm 1.285) PartThk (* mm 0.226) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;3/4 ((= Size 0.8125) (setf WIDia (* mm (/ (+ 0.832 0.816) 2)) WODia (* mm 1.387) PartThk (* mm 0.246) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;13/16 ((= Size 0.8750) (setf WIDia (* mm (/ (+ 0.894 0.878) 2)) WODia (* mm 1.489) PartThk (* mm 0.266) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;7/8 ((= Size 0.9375) (setf WIDia (* mm (/ (+ 0.958 0.941) 2)) WODia (* mm 1.590) PartThk (* mm 0.284) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;15/16 ((= Size 1.0000) (setf WIDia (* mm (/ (+ 1.024 1.003) 2)) WODia (* mm 1.700) PartThk (* mm 0.306) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 ((= Size 1.0625) (setf WIDia (* mm (/ (+ 1.087 1.066) 2)) WODia (* mm 1.803) PartThk (* mm 0.326) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/16 ((= Size 1.1250) (setf WIDia (* mm (/ (+ 1.153 1.129) 2)) WODia (* mm 1.903) PartThk (* mm 0.345) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/8 ((= Size 1.1875) (setf WIDia (* mm (/ (+ 1.217 1.192) 2)) WODia (* mm 2.001) PartThk (* mm 0.364) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 3/16 ((= Size 1.2500) (setf WIDia (* mm (/ (+ 1.280 1.254) 2)) WODia (* mm 2.104) PartThk (* mm 0.384) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/4 ((= Size 1.3125) (setf WIDia (* mm (/ (+ 1.344 1.317) 2)) WODia (* mm 2.203) PartThk (* mm 0.403) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 5/16 ((= Size 1.3750) (setf WIDia (* mm (/ (+ 1.408 1.379) 2)) WODia (* mm 2.301) PartThk (* mm 0.422) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 3/8 ((= Size 1.4375) (setf WIDia (* mm (/ (+ 1.472 1.442) 2)) WODia (* mm 2.396) PartThk (* mm 0.440) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 7/16 ((= Size 1.5000) (setf WIDia (* mm (/ (+ 1.534 1.504) 2)) WODia (* mm 2.491) PartThk (* mm 0.458) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/2 ));cond-Lock_Spring_Lock_Hvy ((= Type 10) (cond ;=Spring_Lock_Ex-Duty ((= Size 0.0860) (setf WIDia (* mm (/ (+ 0.094 0.088) 2)) WODia (* mm 0.208) PartThk (* mm 0.027) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm (/ (+ 0.107 0.101) 2)) WODia (* mm 0.239) PartThk (* mm 0.034) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm (/ (+ 0.120 0.114) 2)) WODia (* mm 0.253) PartThk (* mm 0.034) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm (/ (+ 0.133 0.127) 2)) WODia (* mm 0.300) PartThk (* mm 0.045) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm (/ (+ 0.148 0.141) 2)) WODia (* mm 0.314) PartThk (* mm 0.045) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm (/ (+ 0.174 0.167) 2)) WODia (* mm 0.375) PartThk (* mm 0.057) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm (/ (+ 0.200 0.193) 2)) WODia (* mm 0.434) PartThk (* mm 0.068) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm (/ (+ 0.227 0.220) 2)) WODia (* mm 0.497) PartThk (* mm 0.080) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm (/ (+ 0.060 0.252) 2)) WODia (* mm 0.533) PartThk (* mm 0.084) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm (/ (+ 0.322 0.314) 2)) WODia (* mm 0.619) PartThk (* mm 0.108) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm (/ (+ 0.385 0.377) 2)) WODia (* mm 0.738) PartThk (* mm 0.123) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm (/ (+ 0.450 0.440) 2)) WODia (* mm 0.836) PartThk (* mm 0.143) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm (/ (+ 0.512 0.502) 2)) WODia (* mm 0.935) PartThk (* mm 0.162) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm (/ (+ 0.574 0.564) 2)) WODia (* mm 1.035) PartThk (* mm 0.182) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm (/ (+ 0.641 0.628) 2)) WODia (* mm 1.151) PartThk (* mm 0.202) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;5/8 ((= Size 0.6875) (setf WIDia (* mm (/ (+ 0.704 0.691) 2)) WODia (* mm 1.252) PartThk (* mm 0.221) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;11/16 ((= Size 0.7500) (setf WIDia (* mm (/ (+ 0.766 0.753) 2)) WODia (* mm 1.355) PartThk (* mm 0.241) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;3/4 ((= Size 0.8125) (setf WIDia (* mm (/ (+ 0.832 0.816) 2)) WODia (* mm 1.458) PartThk (* mm 0.261) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;13/16 ((= Size 0.8750) (setf WIDia (* mm (/ (+ 0.894 0.878) 2)) WODia (* mm 1.571) PartThk (* mm 0.285) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;7/8 ((= Size 0.9375) (setf WIDia (* mm (/ (+ 0.958 0.941) 2)) WODia (* mm 1.684) PartThk (* mm 0.308) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;15/16 ((= Size 1.0000) (setf WIDia (* mm (/ (+ 1.024 1.003) 2)) WODia (* mm 1.794) PartThk (* mm 0.330) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 ((= Size 1.0625) (setf WIDia (* mm (/ (+ 1.087 1.066) 2)) WODia (* mm 1.905) PartThk (* mm 0.352) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/16 ((= Size 1.1250) (setf WIDia (* mm (/ (+ 1.153 1.129) 2)) WODia (* mm 2.013) PartThk (* mm 0.375) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/8 ((= Size 1.1875) (setf WIDia (* mm (/ (+ 1.217 1.192) 2)) WODia (* mm 2.107) PartThk (* mm 0.396) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 3/16 ((= Size 1.2500) (setf WIDia (* mm (/ (+ 1.280 1.254) 2)) WODia (* mm 2.222) PartThk (* mm 0.417) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/4 ((= Size 1.3125) (setf WIDia (* mm (/ (+ 1.344 1.317) 2)) WODia (* mm 2.327) PartThk (* mm 0.438) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 5/16 ((= Size 1.3750) (setf WIDia (* mm (/ (+ 1.408 1.379) 2)) WODia (* mm 2.429) PartThk (* mm 0.458) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 3/8 ((= Size 1.4375) (setf WIDia (* mm (/ (+ 1.472 1.442) 2)) WODia (* mm 2.530) PartThk (* mm 0.478) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 7/16 ((= Size 1.5000) (setf WIDia (* mm (/ (+ 1.534 1.504) 2)) WODia (* mm 2.627) PartThk (* mm 0.496) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 3) ) ;1 1/2 ));cond-Lock_Spring_Lock_Ex-Duty ((= Type 11) (cond ;=Intern_Tth_Lck ((= Size 0.0860) (setf WIDia (* mm (/ (+ 0.095 0.089) 2)) WODia (* mm (/(+ 0.200 0.175) 2)) PartThk (* mm (/(+ 0.015 0.010) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No. 2 ((= Size 0.0990) (setf WIDia (* mm (/ (+ 0.109 0.102) 2)) WODia (* mm (/(+ 0.232 0.215) 2)) PartThk (* mm (/(+ 0.019 0.012) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/(+ 0.270 0.245) 2)) PartThk (* mm (/(+ 0.019 0.015) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm (/ (+ 0.136 0.129) 2)) WODia (* mm (/(+ 0.280 0.255) 2)) PartThk (* mm (/(+ 0.021 0.017) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/(+ 0.295 0.275) 2)) PartThk (* mm (/(+ 0.021 0.017) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/(+ 0.340 0.325) 2)) PartThk (* mm (/(+ 0.023 0.018) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/(+ 0.381 0.365) 2)) PartThk (* mm (/(+ 0.025 0.020) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/(+ 0.410 0.394) 2)) PartThk (* mm (/(+ 0.025 0.020) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/(+ 0.478 0.460) 2)) PartThk (* mm (/(+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/(+ 0.610 0.594) 2)) PartThk (* mm (/(+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/(+ 0.692 0.670) 2)) PartThk (* mm (/(+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm (/ (+ 0.468 0.448) 2)) WODia (* mm (/(+ 0.789 0.740) 2)) PartThk (* mm (/(+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/(+ 0.900 0.867) 2)) PartThk (* mm (/(+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm (/ (+ 0.596 0.579) 2)) WODia (* mm (/(+ 0.985 0.957) 2)) PartThk (* mm (/(+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/(+ 1.071 1.045) 2)) PartThk (* mm (/(+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;5/8 ((= Size 0.6875) (setf WIDia (* mm (/ (+ 0.728 0.704) 2)) WODia (* mm (/(+ 1.166 1.130) 2)) PartThk (* mm (/(+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;11/16 ((= Size 0.7500) (setf WIDia (* mm (/ (+ 0.795 0.769) 2)) WODia (* mm (/(+ 1.245 1.220) 2)) PartThk (* mm (/(+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;3/4 ((= Size 0.8125) (setf WIDia (* mm (/ (+ 0.861 0.832) 2)) WODia (* mm (/(+ 1.315 1.290) 2)) PartThk (* mm (/(+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;13/16 ((= Size 0.8750) (setf WIDia (* mm (/ (+ 0.927 0.894) 2)) WODia (* mm (/(+ 1.410 1.364) 2)) PartThk (* mm (/(+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm (/ (+ 1.060 1.019) 2)) WODia (* mm (/(+ 1.637 1.590) 2)) PartThk (* mm (/(+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1 ((= Size 1.1250) (setf WIDia (* mm (/ (+ 1.192 1.144) 2)) WODia (* mm (/(+ 1.830 1.799) 2)) PartThk (* mm (/(+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1 1/8 ((= Size 1.2500) (setf WIDia (* mm (/ (+ 1.325 1.275) 2)) WODia (* mm (/(+ 1.975 1.921) 2)) PartThk (* mm (/(+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1 1/4 ));cond-Intern_Tth_Lck ((= Type 12) (cond ;=Intern_Tth_Lck_Hvy ((= Size 0.2500) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/(+ 0.536 0.500) 2)) PartThk (* mm (/(+ 0.045 0.035) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/(+ 0.607 0.590) 2)) PartThk (* mm (/(+ 0.050 0.040) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/(+ 0.748 0.700) 2)) PartThk (* mm (/(+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/(+ 0.858 0.800) 2)) PartThk (* mm (/(+ 0.067 0.050) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/(+ 0.924 0.880) 2)) PartThk (* mm (/(+ 0.067 0.055) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/(+ 1.034 0.990) 2)) PartThk (* mm (/(+ 0.067 0.055) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/(+ 1.135 1.100) 2)) PartThk (* mm (/(+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;5/8 ((= Size 0.7500) (setf WIDia (* mm (/ (+ 0.795 0.768) 2)) WODia (* mm (/(+ 1.265 1.240) 2)) PartThk (* mm (/(+ 0.084 0.070) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;3/4 ((= Size 0.8750) (setf WIDia (* mm (/ (+ 0.957 0.894) 2)) WODia (* mm (/(+ 1.441 1.400) 2)) PartThk (* mm (/(+ 0.084 0.075) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 4) ) ;7/8 ));cond-Intern_Tth_Lck_hvy ((= Type 13) (cond ;=Extern_Tth_Lck ((= Size 0.0990) (setf WIDia (* mm (/ (+ 0.109 0.102) 2)) WODia (* mm (/ (+ 0.235 0.220) 2)) PartThk (* mm (/ (+ 0.015 0.012) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No. 3 ((= Size 0.1120) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.260 0.245) 2)) PartThk (* mm (/ (+ 0.019 0.014) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No. 4 ((= Size 0.1251) (setf WIDia (* mm (/ (+ 0.136 0.129) 2)) WODia (* mm (/ (+ 0.285 0.270) 2)) PartThk (* mm (/ (+ 0.019 0.015) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No. 5 ((= Size 0.1380) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.320 0.305) 2)) PartThk (* mm (/ (+ 0.022 0.016) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No. 6 ((= Size 0.1640) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.381 0.365) 2)) PartThk (* mm (/ (+ 0.023 0.018) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No. 8 ((= Size 0.1900) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.410 0.395) 2)) PartThk (* mm (/ (+ 0.025 0.020) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No.10 ((= Size 0.2160) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.475 0.460) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;No.12 ((= Size 0.2500) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.510 0.494) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;1/4 ((= Size 0.3125) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 0.610 0.588) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;5/16 ((= Size 0.3750) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 0.694 0.670) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;3/8 ((= Size 0.4375) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 0.760 0.740) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;7/16 ((= Size 0.5000) (setf WIDia (* mm (/ (+ 0.530 0.513) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;1/2 ((= Size 0.5625) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 0.985 0.960) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;9/16 ((= Size 0.6250) (setf WIDia (* mm (/ (+ 0.663 0.641) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;5/8 ((= Size 0.6875) (setf WIDia (* mm (/ (+ 0.728 0.704) 2)) WODia (* mm (/ (+ 1.155 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;11/16 ((= Size 0.7500) (setf WIDia (* mm (/ (+ 0.795 0.768) 2)) WODia (* mm (/ (+ 1.260 1.220) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;3/4 ((= Size 0.8125) (setf WIDia (* mm (/ (+ 0.861 0.833) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;13/16 ((= Size 0.8750) (setf WIDia (* mm (/ (+ 0.927 0.897) 2)) WODia (* mm (/ (+ 1.410 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;7/8 ((= Size 1.0000) (setf WIDia (* mm (/ (+ 1.060 1.025) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 5) ) ;1 ));cond-Extern_Tth_Lck ((= Type 14) (cond ;=Intern_Extern_Tth_lck_A ((= Size 0.112001) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.475 0.460) 2)) PartThk (* mm (/ (+ 0.021 0.016) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 4 - A ((= Size 0.112002) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.510 0.495) 2)) PartThk (* mm (/ (+ 0.021 0.017) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 4 - B ((= Size 0.112003) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.021 0.017) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 4 - C ((= Size 0.138004) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.510 0.495) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 6 - A ((= Size 0.138002) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 6 - B ((= Size 0.138003) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 6 - C ((= Size 0.164004) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 8 - A ((= Size 0.164002) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 8 - B ((= Size 0.164003) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.760 0.740) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No. 8 - C ((= Size 0.190004) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.10 - A ((= Size 0.190002) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.10 - B ((= Size 0.190003) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.760 0.740) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.10 - C ((= Size 0.190004) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.10 - D ((= Size 0.216001) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.12 - A ((= Size 0.216002) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.760 0.725) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.12 - B ((= Size 0.216003) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.12 - C ((= Size 0.216004) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.980 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; No.12 - D ((= Size 0.250001) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.760 0.725) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/4 - A ((= Size 0.250002) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/4 - B ((= Size 0.250003) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.985 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/4 - C ((= Size 0.250004) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/4 - D ((= Size 0.312501) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 0.900 0.865) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/16 - A ((= Size 0.312502) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 0.985 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/16 - B ((= Size 0.312503) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/16 - C ((= Size 0.312504) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 1.155 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/16 - D ((= Size 0.375001) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 0.985 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 3/8 - A ((= Size 0.375002) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 3/8 - B ((= Size 0.375003) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 1.070 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 3/8 - C ((= Size 0.375004) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 1.260 1.220) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 3/8 - D ((= Size 0.437501) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 7/16 - A ((= Size 0.437502) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.155 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 7/16 - B ((= Size 0.437503) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.260 1.220) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 7/16 - C ((= Size 0.437504) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 7/16 - D ((= Size 0.500001) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.260 1.230) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/2 - A ((= Size 0.500002) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/2 - B ((= Size 0.500003) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.410 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/2 - C ((= Size 0.500004) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 1/2 - D ((= Size 0.562501) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 9/16 - A ((= Size 0.562502) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.430 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 9/16 - B ((= Size 0.562503) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 9/16 - C ((= Size 0.562504) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.830 1.797) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 9/16 - D ((= Size 0.625001) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.410 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/8 - A ((= Size 0.625002) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/8 - B ((= Size 0.625003) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.830 1.797) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/8 - C ((= Size 0.625004) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.975 1.935) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 6) ) ; 5/8 - D ));cond-Intern_Extern_Tth_lck_A ((= Type 15) (cond ;=Intern_Extern_Tth_lck_B ((= Size 0.112001) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.475 0.460) 2)) PartThk (* mm (/ (+ 0.021 0.016) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 4 - A ((= Size 0.112002) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.510 0.495) 2)) PartThk (* mm (/ (+ 0.021 0.017) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 4 - B ((= Size 0.112003) (setf WIDia (* mm (/ (+ 0.123 0.115) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.021 0.017) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 4 - C ((= Size 0.138004) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.510 0.495) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 6 - A ((= Size 0.138002) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 6 - B ((= Size 0.138003) (setf WIDia (* mm (/ (+ 0.150 0.141) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.028 0.023) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 6 - C ((= Size 0.164004) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 8 - A ((= Size 0.164002) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 8 - B ((= Size 0.164003) (setf WIDia (* mm (/ (+ 0.176 0.168) 2)) WODia (* mm (/ (+ 0.760 0.740) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No. 8 - C ((= Size 0.190004) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.610 0.580) 2)) PartThk (* mm (/ (+ 0.034 0.028) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.10 - A ((= Size 0.190002) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.10 - B ((= Size 0.190003) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.760 0.740) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.10 - C ((= Size 0.190004) (setf WIDia (* mm (/ (+ 0.204 0.195) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.10 - D ((= Size 0.216001) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.690 0.670) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.12 - A ((= Size 0.216002) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.760 0.725) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.12 - B ((= Size 0.216003) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.12 - C ((= Size 0.216004) (setf WIDia (* mm (/ (+ 0.231 0.221) 2)) WODia (* mm (/ (+ 0.980 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; No.12 - D ((= Size 0.250001) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.760 0.725) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/4 - A ((= Size 0.250002) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.900 0.880) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/4 - B ((= Size 0.250003) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 0.985 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/4 - C ((= Size 0.250004) (setf WIDia (* mm (/ (+ 0.267 0.256) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/4 - D ((= Size 0.312501) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 0.900 0.865) 2)) PartThk (* mm (/ (+ 0.040 0.032) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/16 - A ((= Size 0.312502) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 0.985 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/16 - B ((= Size 0.312503) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/16 - C ((= Size 0.312504) (setf WIDia (* mm (/ (+ 0.332 0.320) 2)) WODia (* mm (/ (+ 1.155 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/16 - D ((= Size 0.375001) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 0.985 0.965) 2)) PartThk (* mm (/ (+ 0.045 0.037) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 3/8 - A ((= Size 0.375002) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 3/8 - B ((= Size 0.375003) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 1.070 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 3/8 - C ((= Size 0.375004) (setf WIDia (* mm (/ (+ 0.398 0.384) 2)) WODia (* mm (/ (+ 1.260 1.220) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 3/8 - D ((= Size 0.437501) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.070 1.045) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 7/16 - A ((= Size 0.437502) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.155 1.130) 2)) PartThk (* mm (/ (+ 0.050 0.042) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 7/16 - B ((= Size 0.437503) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.260 1.220) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 7/16 - C ((= Size 0.437504) (setf WIDia (* mm (/ (+ 0.464 0.448) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 7/16 - D ((= Size 0.500001) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.260 1.230) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/2 - A ((= Size 0.500002) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/2 - B ((= Size 0.500003) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.410 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/2 - C ((= Size 0.500004) (setf WIDia (* mm (/ (+ 0.530 0.512) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 1/2 - D ((= Size 0.562501) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.315 1.290) 2)) PartThk (* mm (/ (+ 0.055 0.047) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 9/16 - A ((= Size 0.562502) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.430 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 9/16 - B ((= Size 0.562503) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 9/16 - C ((= Size 0.562504) (setf WIDia (* mm (/ (+ 0.596 0.576) 2)) WODia (* mm (/ (+ 1.830 1.797) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 9/16 - D ((= Size 0.625001) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.410 1.380) 2)) PartThk (* mm (/ (+ 0.060 0.052) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/8 - A ((= Size 0.625002) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.620 1.590) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/8 - B ((= Size 0.625003) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.830 1.797) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/8 - C ((= Size 0.625004) (setf WIDia (* mm (/ (+ 0.663 0.640) 2)) WODia (* mm (/ (+ 1.975 1.935) 2)) PartThk (* mm (/ (+ 0.067 0.059) 2)) WIDia5 (* WIDia 0.5) WODia5 (* WODia 0.5) Profile 7) ) ; 5/8 - D ));cond-Intern_Extern_Tth_lck_B (t (sd-display-alert "Washer not configured :( ")) );cond-types ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp" )) ;;Default Workplanes geometry to real geoemetry (sd-call-cmds(geometry_mode :real)) ;;Create the shape for the Washer (cond ((or(= Profile 1)(= Profile 2)) (progn ;;Define the profile (sd-call-cmds(circle :cen_rad 0,0 WIDia5)) ;Inner Diameter (sd-call-cmds(circle :cen_rad 0,0 WODia5)) ;Outer Diameter ;;Extrude the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ;;If this is profile 2 - cut out the slot (when (= Profile 2) ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 102.06) :done)) ;;Draw the profile (sd-call-cmds(polygon (gpnt2d 0.00 (* PartThk 2.00)) ;Point A (gpnt2d WODia5 (* PartThk 2.00)) ;Point B (gpnt2d WODia5 (* PartThk -2.00)) ;Point C (gpnt2d 0.00 (* PartThk -2.00)) ;Point D :close)) ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :no :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance (* PartThk 0.075) :direction :both_sides :operation :remove_material)) );when ));=1 ((= Profile 3) (progn ;;Create local variables (setf To (* PartThk 0.95) Ti (* PartThk 1.05));setf ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Build Washer Geometry (sd-call-cmds(polygon (gpnt2d WIDia5 (* Ti 0.50)) ;Point A (gpnt2d WODia5 (* To 0.50)) ;Point B (gpnt2d WODia5 (* To -0.50)) ;Point C (gpnt2d WIDia5 (* Ti -0.50)) ;Point D :close)) ;;Extrude Washer Geometry (sd-call-cmds (turn :part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :rotation_angle (sd-deg-to-rad 360) :axis :z :keep_wp :no :keep_profile :no)) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 102.06) :done)) ;;Draw the profile (sd-call-cmds(polygon (gpnt2d 0.00 (* PartThk 1.00)) ;Point A (gpnt2d WODia5 (* PartThk 1.00)) ;Point B (gpnt2d WODia5 (* PartThk -1.00)) ;Point C (gpnt2d 0.00 (* PartThk -1.00)) ;Point D :close)) ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :no :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance (* PartThk 0.075) :direction :both_sides :operation :remove_material)) ));=3 ((= Profile 4) (progn ;;Create local variables (setf AvgIdOd (/ (+ WIDia WODia ) 2) AvgIdOd5 (/ (+ WIDia5 WODia5) 2) );setf ;;Build Outer Diameter (sd-call-cmds(circle :cen_rad 0,0 WODia5)) ;;Define the arcs on the inside diameter (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.45399049973954686) (* WIDia5 0.89100652418836790)) (gpnt2d (* WIDia5 0.15643446504023087) (* WIDia5 0.98768834059513777)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.89100652418836790) (* WIDia5 0.45399049973954686)) (gpnt2d (* WIDia5 0.70710678118654757) (* WIDia5 0.70710678118654768)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.98768834059513788) (* WIDia5 -0.15643446504023101)) (gpnt2d (* WIDia5 0.98768834059513788) (* WIDia5 0.15643446504023101)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.70710678118654757) (* WIDia5 -0.70710678118654768)) (gpnt2d (* WIDia5 0.89100652418836790) (* WIDia5 -0.45399049973954686)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.15643446504023087) (* WIDia5 -0.98768834059513777)) (gpnt2d (* WIDia5 0.45399049973954686) (* WIDia5 -0.89100652418836790)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.45399049973954686) (* WIDia5 -0.89100652418836790)) (gpnt2d (* WIDia5 -0.15643446504023087) (* WIDia5 -0.98768834059513777)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.89100652418836790) (* WIDia5 -0.45399049973954686)) (gpnt2d (* WIDia5 -0.70710678118654757) (* WIDia5 -0.70710678118654768)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.98768834059513788) (* WIDia5 0.15643446504023101)) (gpnt2d (* WIDia5 -0.98768834059513788) (* WIDia5 -0.15643446504023101)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.70710678118654757) (* WIDia5 0.70710678118654768)) (gpnt2d (* WIDia5 -0.89100652418836790) (* WIDia5 0.45399049973954686)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.15643446504023087) (* WIDia5 0.98768834059513777)) (gpnt2d (* WIDia5 -0.45399049973954686) (* WIDia5 0.89100652418836790)) )) ;;Define the arcs on the inside teeth (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.15643446504023087) (* AvgIdOd5 0.98768834059513777)) (gpnt2d (* AvgIdOd5 -0.15643446504023087) (* AvgIdOd5 0.98768834059513777)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.70710678118654757) (* AvgIdOd5 0.70710678118654768)) (gpnt2d (* AvgIdOd5 0.45399049973954686) (* AvgIdOd5 0.89100652418836790)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.98768834059513788) (* AvgIdOd5 0.15643446504023101)) (gpnt2d (* AvgIdOd5 0.89100652418836790) (* AvgIdOd5 0.45399049973954686)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.89100652418836790) (* AvgIdOd5 -0.45399049973954686)) (gpnt2d (* AvgIdOd5 0.98768834059513788) (* AvgIdOd5 -0.15643446504023101)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.45399049973954686) (* AvgIdOd5 -0.89100652418836790)) (gpnt2d (* AvgIdOd5 0.70710678118654757) (* AvgIdOd5 -0.70710678118654768)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.15643446504023087) (* AvgIdOd5 -0.98768834059513777)) (gpnt2d (* AvgIdOd5 0.15643446504023087) (* AvgIdOd5 -0.98768834059513777)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.70710678118654757) (* AvgIdOd5 -0.70710678118654768)) (gpnt2d (* AvgIdOd5 -0.45399049973954686) (* AvgIdOd5 -0.89100652418836790)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.98768834059513788) (* AvgIdOd5 -0.15643446504023101)) (gpnt2d (* AvgIdOd5 -0.89100652418836790) (* AvgIdOd5 -0.45399049973954686)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.89100652418836790) (* AvgIdOd5 0.45399049973954686)) (gpnt2d (* AvgIdOd5 -0.98768834059513788) (* AvgIdOd5 0.15643446504023101)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.45399049973954686) (* AvgIdOd5 0.89100652418836790)) (gpnt2d (* AvgIdOd5 -0.70710678118654757) (* AvgIdOd5 0.70710678118654768)) )) ;;Define the line segments (sd-call-cmds(line :two_points (gpnt2d (* WIDia5 0.45399049973954686) (* WIDia5 0.89100652418836790)) (gpnt2d (* AvgIdOd5 0.45399049973954686) (* AvgIdOd5 0.89100652418836790)) (gpnt2d (* WIDia5 0.15643446504023087) (* WIDia5 0.98768834059513777)) (gpnt2d (* AvgIdOd5 0.15643446504023087) (* AvgIdOd5 0.98768834059513777)) (gpnt2d (* WIDia5 0.89100652418836790) (* WIDia5 0.45399049973954686)) (gpnt2d (* AvgIdOd5 0.89100652418836790) (* AvgIdOd5 0.45399049973954686)) (gpnt2d (* WIDia5 0.70710678118654757) (* WIDia5 0.70710678118654768)) (gpnt2d (* AvgIdOd5 0.70710678118654757) (* AvgIdOd5 0.70710678118654768)) (gpnt2d (* WIDia5 0.98768834059513788) (* WIDia5 -0.15643446504023101)) (gpnt2d (* AvgIdOd5 0.98768834059513788) (* AvgIdOd5 -0.15643446504023101)) (gpnt2d (* WIDia5 0.98768834059513788) (* WIDia5 0.15643446504023101)) (gpnt2d (* AvgIdOd5 0.98768834059513788) (* AvgIdOd5 0.15643446504023101)) (gpnt2d (* WIDia5 0.70710678118654757) (* WIDia5 -0.70710678118654768)) (gpnt2d (* AvgIdOd5 0.70710678118654757) (* AvgIdOd5 -0.70710678118654768)) (gpnt2d (* WIDia5 0.89100652418836790) (* WIDia5 -0.45399049973954686)) (gpnt2d (* AvgIdOd5 0.89100652418836790) (* AvgIdOd5 -0.45399049973954686)) (gpnt2d (* WIDia5 0.15643446504023087) (* WIDia5 -0.98768834059513777)) (gpnt2d (* AvgIdOd5 0.15643446504023087) (* AvgIdOd5 -0.98768834059513777)) (gpnt2d (* WIDia5 0.45399049973954686) (* WIDia5 -0.89100652418836790)) (gpnt2d (* AvgIdOd5 0.45399049973954686) (* AvgIdOd5 -0.89100652418836790)) (gpnt2d (* WIDia5 -0.45399049973954686) (* WIDia5 -0.89100652418836790)) (gpnt2d (* AvgIdOd5 -0.45399049973954686) (* AvgIdOd5 -0.89100652418836790)) (gpnt2d (* WIDia5 -0.15643446504023087) (* WIDia5 -0.98768834059513777)) (gpnt2d (* AvgIdOd5 -0.15643446504023087) (* AvgIdOd5 -0.98768834059513777)) (gpnt2d (* WIDia5 -0.89100652418836790) (* WIDia5 -0.45399049973954686)) (gpnt2d (* AvgIdOd5 -0.89100652418836790) (* AvgIdOd5 -0.45399049973954686)) (gpnt2d (* WIDia5 -0.70710678118654757) (* WIDia5 -0.70710678118654768)) (gpnt2d (* AvgIdOd5 -0.70710678118654757) (* AvgIdOd5 -0.70710678118654768)) (gpnt2d (* WIDia5 -0.98768834059513788) (* WIDia5 0.15643446504023101)) (gpnt2d (* AvgIdOd5 -0.98768834059513788) (* AvgIdOd5 0.15643446504023101)) (gpnt2d (* WIDia5 -0.98768834059513788) (* WIDia5 -0.15643446504023101)) (gpnt2d (* AvgIdOd5 -0.98768834059513788) (* AvgIdOd5 -0.15643446504023101)) (gpnt2d (* WIDia5 -0.70710678118654757) (* WIDia5 0.70710678118654768)) (gpnt2d (* AvgIdOd5 -0.70710678118654757) (* AvgIdOd5 0.70710678118654768)) (gpnt2d (* WIDia5 -0.89100652418836790) (* WIDia5 0.45399049973954686)) (gpnt2d (* AvgIdOd5 -0.89100652418836790) (* AvgIdOd5 0.45399049973954686)) (gpnt2d (* WIDia5 -0.15643446504023087) (* WIDia5 0.98768834059513777)) (gpnt2d (* AvgIdOd5 -0.15643446504023087) (* AvgIdOd5 0.98768834059513777)) (gpnt2d (* WIDia5 -0.45399049973954686) (* WIDia5 0.89100652418836790)) (gpnt2d (* AvgIdOd5 -0.45399049973954686) (* AvgIdOd5 0.89100652418836790)) )) ;;Remove the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :no :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance (* PartThk 0.5) :direction :both_sides :operation :remove_material)) ));=4 ((= Profile 5) (progn ;;Create local variables (setf AvgIdOd (/ (+ WIDia WODia ) 2) AvgIdOd5 (/ (+ WIDia5 WODia5) 2) AvgToOd (- WODia AvgIdOd ) AvgToOd5 (- WODia5 AvgIdOd5) );setf ;;Build Inner Diameter (sd-call-cmds(circle :cen_rad 0,0 WIDia5)) ;;Define the outside arc of the outer teeth (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.13052619222005138) (* WODia5 0.99144486137381005)) (gpnt2d (* WODia5 -0.13052619222005138) (* WODia5 0.99144486137381005)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.60876142900872077) (* WODia5 0.79335334029123505)) (gpnt2d (* WODia5 0.38268343236508973) (* WODia5 0.92387953251128641)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.92387953251128674) (* WODia5 0.38268343236508967)) (gpnt2d (* WODia5 0.79335334029123539) (* WODia5 0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.99144486137381049) (* WODia5 -0.13052619222005135)) (gpnt2d (* WODia5 0.99144486137381049) (* WODia5 0.13052619222005135)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.79335334029123539) (* WODia5 -0.60876142900872043)) (gpnt2d (* WODia5 0.92387953251128674) (* WODia5 -0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.38268343236508973) (* WODia5 -0.92387953251128641)) (gpnt2d (* WODia5 0.60876142900872077) (* WODia5 -0.79335334029123505)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.13052619222005138) (* WODia5 -0.99144486137381005)) (gpnt2d (* WODia5 0.13052619222005138) (* WODia5 -0.99144486137381005)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.60876142900872077) (* WODia5 -0.79335334029123505)) (gpnt2d (* WODia5 -0.38268343236508973) (* WODia5 -0.92387953251128641)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.92387953251128674) (* WODia5 -0.38268343236508967)) (gpnt2d (* WODia5 -0.79335334029123539) (* WODia5 -0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.99144486137381049) (* WODia5 0.13052619222005135)) (gpnt2d (* WODia5 -0.99144486137381049) (* WODia5 -0.13052619222005135)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.79335334029123539) (* WODia5 0.60876142900872043)) (gpnt2d (* WODia5 -0.92387953251128674) (* WODia5 0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.38268343236508973) (* WODia5 0.92387953251128641)) (gpnt2d (* WODia5 -0.60876142900872077) (* WODia5 0.79335334029123505)) )) ;;Define the inside arc of the outer teeth (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.38268343236508973) (* AvgIdOd5 0.92387953251128641)) (gpnt2d (* AvgIdOd5 0.13052619222005138) (* AvgIdOd5 0.99144486137381005)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.79335334029123539) (* AvgIdOd5 0.60876142900872043)) (gpnt2d (* AvgIdOd5 0.60876142900872077) (* AvgIdOd5 0.79335334029123505)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.99144486137381049) (* AvgIdOd5 0.13052619222005135)) (gpnt2d (* AvgIdOd5 0.92387953251128674) (* AvgIdOd5 0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.92387953251128674) (* AvgIdOd5 -0.38268343236508967)) (gpnt2d (* AvgIdOd5 0.99144486137381049) (* AvgIdOd5 -0.13052619222005135)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.60876142900872077) (* AvgIdOd5 -0.79335334029123505)) (gpnt2d (* AvgIdOd5 0.79335334029123539) (* AvgIdOd5 -0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 0.13052619222005138) (* AvgIdOd5 -0.99144486137381005)) (gpnt2d (* AvgIdOd5 0.38268343236508973) (* AvgIdOd5 -0.92387953251128641)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.38268343236508973) (* AvgIdOd5 -0.92387953251128641)) (gpnt2d (* AvgIdOd5 -0.13052619222005138) (* AvgIdOd5 -0.99144486137381005)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.79335334029123539) (* AvgIdOd5 -0.60876142900872043)) (gpnt2d (* AvgIdOd5 -0.60876142900872077) (* AvgIdOd5 -0.79335334029123505)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.99144486137381049) (* AvgIdOd5 -0.13052619222005135)) (gpnt2d (* AvgIdOd5 -0.92387953251128674) (* AvgIdOd5 -0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.92387953251128674) (* AvgIdOd5 0.38268343236508967)) (gpnt2d (* AvgIdOd5 -0.99144486137381049) (* AvgIdOd5 0.13052619222005135)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.60876142900872077) (* AvgIdOd5 0.79335334029123505)) (gpnt2d (* AvgIdOd5 -0.79335334029123539) (* AvgIdOd5 0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* AvgIdOd5 -0.13052619222005138) (* AvgIdOd5 0.99144486137381005)) (gpnt2d (* AvgIdOd5 -0.38268343236508973) (* AvgIdOd5 0.92387953251128641)) )) ;;Define the line segments (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.13052619222005138)(* AvgIdOd5 0.99144486137381005)) (/ pi 2.181818181818182) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.13052619222005138)(* AvgIdOd5 0.99144486137381005)) (/ pi 1.846153846153846) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.60876142900872077)(* AvgIdOd5 0.79335334029123505)) (/ pi 3.428571428571429) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.38268343236508973)(* AvgIdOd5 0.92387953251128641)) (/ pi 2.666666666666667) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.92387953251128674)(* AvgIdOd5 0.38268343236508967)) (/ pi 8.000000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.79335334029123539)(* AvgIdOd5 0.60876142900872043)) (/ pi 4.800000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.99144486137381049)(* AvgIdOd5 -0.13052619222005135)) (/ pi -24.00000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.99144486137381049)(* AvgIdOd5 0.13052619222005135)) (/ pi 24.00000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.92387953251128674)(* AvgIdOd5 -0.38268343236508967)) (/ pi -8.000000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.79335334029123539)(* AvgIdOd5 -0.60876142900872043)) (/ pi -4.800000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.60876142900872077)(* AvgIdOd5 -0.79335334029123505)) (/ pi -3.428571428571429) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.38268343236508973)(* AvgIdOd5 -0.92387953251128641)) (/ pi -2.666666666666667) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 0.13052619222005138)(* AvgIdOd5 -0.99144486137381005)) (/ pi -2.181818181818182) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.13052619222005138)(* AvgIdOd5 -0.99144486137381005)) (/ pi -1.846153846153846) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.60876142900872077)(* AvgIdOd5 -0.79335334029123505)) (/ pi -1.411764705882353) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.38268343236508973)(* AvgIdOd5 -0.92387953251128641)) (/ pi -1.600000000000000) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.92387953251128674)(* AvgIdOd5 -0.38268343236508967)) (/ pi -1.142857142857143) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.79335334029123539)(* AvgIdOd5 -0.60876142900872043)) (/ pi -1.263157894736842) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.99144486137381049)(* AvgIdOd5 0.13052619222005135)) (/ pi 1.043478260869565) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.99144486137381049)(* AvgIdOd5 -0.13052619222005135)) (/ pi -1.043478260869565) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.92387953251128674)(* AvgIdOd5 0.38268343236508967)) (/ pi 1.142857142857143) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.79335334029123539)(* AvgIdOd5 0.60876142900872043)) (/ pi 1.263157894736842) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.60876142900872077)(* AvgIdOd5 0.79335334029123505)) (/ pi 1.411764705882353) AvgToOd5 )) (sd-call-cmds(line :angle (gpnt2d (* AvgIdOd5 -0.38268343236508973)(* AvgIdOd5 0.92387953251128641)) (/ pi 1.600000000000000) AvgToOd5 )) ;;Exture the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ));=5 ((= Profile 6) (progn ;;Create local variables (setf AvgIdOd (/ (+ WIDia WODia ) 2) AvgIdOd5 (/ (+ WIDia5 WODia5) 2) AvgToOd (- WODia AvgIdOd ) AvgToOd5 (- WODia5 AvgIdOd5) AvgThrd (* (- WODia5 WIDia5) (/ 1 3) ) IDThird (+ WIDia5 AvgThrd) ODThird (- WODia5 AvgThrd) );setf ;;Define the inside profile ;;Inside Arcs (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 0.55557023301960162)) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 0.55557023301960162)) ;;Outside Arcs (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird 0.83146961230254435)) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird 0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird -0.98078528040323065)) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird -0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird 0.98078528040323065)) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird 0.83146961230254435)) )) ;;Line Segments (sd-call-cmds(line :two_points (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird 0.98078528040323065)) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird 0.83146961230254435)) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 0.55557023301960162)) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird -0.98078528040323065)) ;;+++ Half Point +++ (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird -0.98078528040323065)) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 0.55557023301960162)) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird 0.83146961230254435)) (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird 0.98078528040323065)) )) ;;Define the outside profile ;;Inside Arcs (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.29028467725446222) (* ODThird 0.95694033573220838)) (gpnt2d (* ODThird 0.09801714032956059) (* ODThird 0.99518472667219748)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.63439328416364582) (* ODThird 0.77301045336273744)) (gpnt2d (* ODThird 0.47139673682599781) (* ODThird 0.88192126434835549)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.88192126434835549) (* ODThird 0.47139673682599781)) (gpnt2d (* ODThird 0.77301045336273699) (* ODThird 0.63439328416364560)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.99518472667219748) (* ODThird 0.09801714032956059)) (gpnt2d (* ODThird 0.95694033573220838) (* ODThird 0.29028467725446222)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.95694033573220838) (* ODThird -0.29028467725446222)) (gpnt2d (* ODThird 0.99518472667219748) (* ODThird -0.09801714032956059)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.77301045336273699) (* ODThird -0.63439328416364560)) (gpnt2d (* ODThird 0.88192126434835549) (* ODThird -0.47139673682599781)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.47139673682599781) (* ODThird -0.88192126434835549)) (gpnt2d (* ODThird 0.63439328416364582) (* ODThird -0.77301045336273744)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.09801714032956059) (* ODThird -0.99518472667219748)) (gpnt2d (* ODThird 0.29028467725446222) (* ODThird -0.95694033573220838)) ;;Half-Point (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.29028467725446222) (* ODThird -0.95694033573220838)) (gpnt2d (* ODThird -0.09801714032956059) (* ODThird -0.99518472667219748)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.63439328416364582) (* ODThird -0.77301045336273744)) (gpnt2d (* ODThird -0.47139673682599781) (* ODThird -0.88192126434835549)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.88192126434835549) (* ODThird -0.47139673682599781)) (gpnt2d (* ODThird -0.77301045336273699) (* ODThird -0.63439328416364560)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.99518472667219748) (* ODThird -0.09801714032956059)) (gpnt2d (* ODThird -0.95694033573220838) (* ODThird -0.29028467725446222)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.95694033573220838) (* ODThird 0.29028467725446222)) (gpnt2d (* ODThird -0.99518472667219748) (* ODThird 0.09801714032956059)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.77301045336273699) (* ODThird 0.63439328416364560)) (gpnt2d (* ODThird -0.88192126434835549) (* ODThird 0.47139673682599781)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.47139673682599781) (* ODThird 0.88192126434835549)) (gpnt2d (* ODThird -0.63439328416364582) (* ODThird 0.77301045336273744)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.09801714032956059) (* ODThird 0.99518472667219748)) (gpnt2d (* ODThird -0.29028467725446222) (* ODThird 0.95694033573220838)) ;;Outside Arcs (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.09801714032956059) (* WODia5 0.99518472667219748)) (gpnt2d (* WODia5 -0.09801714032956059) (* WODia5 0.99518472667219748)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.47139673682599781) (* WODia5 0.88192126434835549)) (gpnt2d (* WODia5 0.29028467725446222) (* WODia5 0.95694033573220838)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.77301045336273699) (* WODia5 0.63439328416364560)) (gpnt2d (* WODia5 0.63439328416364582) (* WODia5 0.77301045336273744)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.95694033573220838) (* WODia5 0.29028467725446222)) (gpnt2d (* WODia5 0.88192126434835549) (* WODia5 0.47139673682599781)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.99518472667219748) (* WODia5 -0.09801714032956059)) (gpnt2d (* WODia5 0.99518472667219748) (* WODia5 0.09801714032956059)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.88192126434835549) (* WODia5 -0.47139673682599781)) (gpnt2d (* WODia5 0.95694033573220838) (* WODia5 -0.29028467725446222)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.63439328416364582) (* WODia5 -0.77301045336273744)) (gpnt2d (* WODia5 0.77301045336273699) (* WODia5 -0.63439328416364560)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.29028467725446222) (* WODia5 -0.95694033573220838)) (gpnt2d (* WODia5 0.47139673682599781) (* WODia5 -0.88192126434835549)) ;;Half-Point (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.09801714032956059) (* WODia5 -0.99518472667219748)) (gpnt2d (* WODia5 0.09801714032956059) (* WODia5 -0.99518472667219748)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.47139673682599781) (* WODia5 -0.88192126434835549)) (gpnt2d (* WODia5 -0.29028467725446222) (* WODia5 -0.95694033573220838)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.77301045336273699) (* WODia5 -0.63439328416364560)) (gpnt2d (* WODia5 -0.63439328416364582) (* WODia5 -0.77301045336273744)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.95694033573220838) (* WODia5 -0.29028467725446222)) (gpnt2d (* WODia5 -0.88192126434835549) (* WODia5 -0.47139673682599781)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.99518472667219748) (* WODia5 0.09801714032956059)) (gpnt2d (* WODia5 -0.99518472667219748) (* WODia5 -0.09801714032956059)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.88192126434835549) (* WODia5 0.47139673682599781)) (gpnt2d (* WODia5 -0.95694033573220838) (* WODia5 0.29028467725446222)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.63439328416364582) (* WODia5 0.77301045336273744)) (gpnt2d (* WODia5 -0.77301045336273699) (* WODia5 0.63439328416364560)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.29028467725446222) (* WODia5 0.95694033573220838)) (gpnt2d (* WODia5 -0.47139673682599781) (* WODia5 0.88192126434835549)) )) ;;Line Segments (sd-call-cmds(line :two_points (gpnt2d (* WODia5 0.09801714032956059) (* WODia5 0.99518472667219748)) (gpnt2d (* ODThird 0.09801714032956059) (* ODThird 0.99518472667219748)) (gpnt2d (* WODia5 -0.09801714032956059) (* WODia5 0.99518472667219748)) (gpnt2d (* ODThird -0.09801714032956059) (* ODThird 0.99518472667219748)) (gpnt2d (* WODia5 0.47139673682599781) (* WODia5 0.88192126434835549)) (gpnt2d (* ODThird 0.47139673682599781) (* ODThird 0.88192126434835549)) (gpnt2d (* WODia5 0.29028467725446222) (* WODia5 0.95694033573220838)) (gpnt2d (* ODThird 0.29028467725446222) (* ODThird 0.95694033573220838)) (gpnt2d (* WODia5 0.77301045336273699) (* WODia5 0.63439328416364560)) (gpnt2d (* ODThird 0.77301045336273699) (* ODThird 0.63439328416364560)) (gpnt2d (* WODia5 0.63439328416364582) (* WODia5 0.77301045336273744)) (gpnt2d (* ODThird 0.63439328416364582) (* ODThird 0.77301045336273744)) (gpnt2d (* WODia5 0.95694033573220838) (* WODia5 0.29028467725446222)) (gpnt2d (* ODThird 0.95694033573220838) (* ODThird 0.29028467725446222)) (gpnt2d (* WODia5 0.88192126434835549) (* WODia5 0.47139673682599781)) (gpnt2d (* ODThird 0.88192126434835549) (* ODThird 0.47139673682599781)) (gpnt2d (* WODia5 0.99518472667219748) (* WODia5 -0.09801714032956059)) (gpnt2d (* ODThird 0.99518472667219748) (* ODThird -0.09801714032956059)) (gpnt2d (* WODia5 0.99518472667219748) (* WODia5 0.09801714032956059)) (gpnt2d (* ODThird 0.99518472667219748) (* ODThird 0.09801714032956059)) (gpnt2d (* WODia5 0.88192126434835549) (* WODia5 -0.47139673682599781)) (gpnt2d (* ODThird 0.88192126434835549) (* ODThird -0.47139673682599781)) (gpnt2d (* WODia5 0.95694033573220838) (* WODia5 -0.29028467725446222)) (gpnt2d (* ODThird 0.95694033573220838) (* ODThird -0.29028467725446222)) (gpnt2d (* WODia5 0.63439328416364582) (* WODia5 -0.77301045336273744)) (gpnt2d (* ODThird 0.63439328416364582) (* ODThird -0.77301045336273744)) (gpnt2d (* WODia5 0.77301045336273699) (* WODia5 -0.63439328416364560)) (gpnt2d (* ODThird 0.77301045336273699) (* ODThird -0.63439328416364560)) (gpnt2d (* WODia5 0.29028467725446222) (* WODia5 -0.95694033573220838)) (gpnt2d (* ODThird 0.29028467725446222) (* ODThird -0.95694033573220838)) (gpnt2d (* WODia5 0.47139673682599781) (* WODia5 -0.88192126434835549)) (gpnt2d (* ODThird 0.47139673682599781) (* ODThird -0.88192126434835549)) ;;Half-Point (gpnt2d (* WODia5 -0.09801714032956059) (* WODia5 -0.99518472667219748)) (gpnt2d (* ODThird -0.09801714032956059) (* ODThird -0.99518472667219748)) (gpnt2d (* WODia5 0.09801714032956059) (* WODia5 -0.99518472667219748)) (gpnt2d (* ODThird 0.09801714032956059) (* ODThird -0.99518472667219748)) (gpnt2d (* WODia5 -0.47139673682599781) (* WODia5 -0.88192126434835549)) (gpnt2d (* ODThird -0.47139673682599781) (* ODThird -0.88192126434835549)) (gpnt2d (* WODia5 -0.29028467725446222) (* WODia5 -0.95694033573220838)) (gpnt2d (* ODThird -0.29028467725446222) (* ODThird -0.95694033573220838)) (gpnt2d (* WODia5 -0.77301045336273699) (* WODia5 -0.63439328416364560)) (gpnt2d (* ODThird -0.77301045336273699) (* ODThird -0.63439328416364560)) (gpnt2d (* WODia5 -0.63439328416364582) (* WODia5 -0.77301045336273744)) (gpnt2d (* ODThird -0.63439328416364582) (* ODThird -0.77301045336273744)) (gpnt2d (* WODia5 -0.95694033573220838) (* WODia5 -0.29028467725446222)) (gpnt2d (* ODThird -0.95694033573220838) (* ODThird -0.29028467725446222)) (gpnt2d (* WODia5 -0.88192126434835549) (* WODia5 -0.47139673682599781)) (gpnt2d (* ODThird -0.88192126434835549) (* ODThird -0.47139673682599781)) (gpnt2d (* WODia5 -0.99518472667219748) (* WODia5 0.09801714032956059)) (gpnt2d (* ODThird -0.99518472667219748) (* ODThird 0.09801714032956059)) (gpnt2d (* WODia5 -0.99518472667219748) (* WODia5 -0.09801714032956059)) (gpnt2d (* ODThird -0.99518472667219748) (* ODThird -0.09801714032956059)) (gpnt2d (* WODia5 -0.88192126434835549) (* WODia5 0.47139673682599781)) (gpnt2d (* ODThird -0.88192126434835549) (* ODThird 0.47139673682599781)) (gpnt2d (* WODia5 -0.95694033573220838) (* WODia5 0.29028467725446222)) (gpnt2d (* ODThird -0.95694033573220838) (* ODThird 0.29028467725446222)) (gpnt2d (* WODia5 -0.63439328416364582) (* WODia5 0.77301045336273744)) (gpnt2d (* ODThird -0.63439328416364582) (* ODThird 0.77301045336273744)) (gpnt2d (* WODia5 -0.77301045336273699) (* WODia5 0.63439328416364560)) (gpnt2d (* ODThird -0.77301045336273699) (* ODThird 0.63439328416364560)) (gpnt2d (* WODia5 -0.29028467725446222) (* WODia5 0.95694033573220838)) (gpnt2d (* ODThird -0.29028467725446222) (* ODThird 0.95694033573220838)) (gpnt2d (* WODia5 -0.47139673682599781) (* WODia5 0.88192126434835549)) (gpnt2d (* ODThird -0.47139673682599781) (* ODThird 0.88192126434835549)) )) ;;Extrude the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ));=6 ((= Profile 7) (progn ;;Create local variables (setf AvgIdOd (/ (+ WIDia WODia ) 2) AvgIdOd5 (/ (+ WIDia5 WODia5) 2) AvgToOd (- WODia AvgIdOd ) AvgToOd5 (- WODia5 AvgIdOd5) AvgThrd (* (- WODia5 WIDia5) (/ 1 3) ) IDThird (+ WIDia5 AvgThrd) ODThird (- WODia5 AvgThrd) );setf ;;Define the inside profile ;;Inside Arcs (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 0.55557023301960162)) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 0.55557023301960162)) ;;Outside Arcs (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird 0.83146961230254435)) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird 0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird -0.98078528040323065)) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird -0.98078528040323065)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d 0.00000 0.00000) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird 0.98078528040323065)) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird 0.83146961230254435)) )) ;;Line Segments (sd-call-cmds(line :two_points (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird 0.98078528040323065)) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird 0.83146961230254435)) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 0.55557023301960162)) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d (* WIDia5 0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d (* IDThird 0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d (* WIDia5 0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d (* IDThird 0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d (* WIDia5 0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d (* IDThird 0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d (* WIDia5 0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d (* IDThird 0.19509032201612672) (* IDThird -0.98078528040323065)) ;;+++ Half Point +++ (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 -0.98078528040323065)) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird -0.98078528040323065)) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 -0.83146961230254435)) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird -0.83146961230254435)) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 -0.55557023301960162)) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird -0.55557023301960162)) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 -0.19509032201612672)) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird -0.19509032201612672)) (gpnt2d (* WIDia5 -0.98078528040323065) (* WIDia5 0.19509032201612672)) (gpnt2d (* IDThird -0.98078528040323065) (* IDThird 0.19509032201612672)) (gpnt2d (* WIDia5 -0.83146961230254546) (* WIDia5 0.55557023301960162)) (gpnt2d (* IDThird -0.83146961230254546) (* IDThird 0.55557023301960162)) (gpnt2d (* WIDia5 -0.55557023301960340) (* WIDia5 0.83146961230254435)) (gpnt2d (* IDThird -0.55557023301960340) (* IDThird 0.83146961230254435)) (gpnt2d (* WIDia5 -0.19509032201612672) (* WIDia5 0.98078528040323065)) (gpnt2d (* IDThird -0.19509032201612672) (* IDThird 0.98078528040323065)) )) ;;Define the outside profile ;;Inside Arcs (sd-call-cmds(arc :center (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.38268343236508984) (* ODThird 0.92387953251128641)) (gpnt2d (* ODThird 0.13052619222005155) (* ODThird 0.99144486137381038)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.79335334029123494) (* ODThird 0.60876142900872043)) (gpnt2d (* ODThird 0.60876142900872121) (* ODThird 0.79335334029123528)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.99144486137381038) (* ODThird 0.13052619222005155)) (gpnt2d (* ODThird 0.92387953251128674) (* ODThird 0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.92387953251128674) (* ODThird -0.38268343236508967)) (gpnt2d (* ODThird 0.99144486137381038) (* ODThird -0.13052619222005155)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.60876142900872121) (* ODThird -0.79335334029123528)) (gpnt2d (* ODThird 0.79335334029123494) (* ODThird -0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird 0.13052619222005155) (* ODThird -0.99144486137381038)) (gpnt2d (* ODThird 0.38268343236508984) (* ODThird -0.92387953251128641)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.38268343236508984) (* ODThird -0.92387953251128641)) (gpnt2d (* ODThird -0.13052619222005155) (* ODThird -0.99144486137381038)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.79335334029123494) (* ODThird -0.60876142900872043)) (gpnt2d (* ODThird -0.60876142900872121) (* ODThird -0.79335334029123528)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.99144486137381038) (* ODThird -0.13052619222005155)) (gpnt2d (* ODThird -0.92387953251128674) (* ODThird -0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.92387953251128674) (* ODThird 0.38268343236508967)) (gpnt2d (* ODThird -0.99144486137381038) (* ODThird 0.13052619222005155)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.60876142900872121) (* ODThird 0.79335334029123528)) (gpnt2d (* ODThird -0.79335334029123494) (* ODThird 0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* ODThird -0.13052619222005155) (* ODThird 0.99144486137381038)) (gpnt2d (* ODThird -0.38268343236508984) (* ODThird 0.92387953251128641)) ;;Outside Arcs (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.13052619222005155) (* WODia5 0.99144486137381038)) (gpnt2d (* WODia5 -0.13052619222005155) (* WODia5 0.99144486137381038)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.60876142900872121) (* WODia5 0.79335334029123528)) (gpnt2d (* WODia5 0.38268343236508984) (* WODia5 0.92387953251128641)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.92387953251128674) (* WODia5 0.38268343236508967)) (gpnt2d (* WODia5 0.79335334029123494) (* WODia5 0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.99144486137381038) (* WODia5 -0.13052619222005155)) (gpnt2d (* WODia5 0.99144486137381038) (* WODia5 0.13052619222005155)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.79335334029123494) (* WODia5 -0.60876142900872043)) (gpnt2d (* WODia5 0.92387953251128674) (* WODia5 -0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 0.38268343236508984) (* WODia5 -0.92387953251128641)) (gpnt2d (* WODia5 0.60876142900872121) (* WODia5 -0.79335334029123528)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.13052619222005155) (* WODia5 -0.99144486137381038)) (gpnt2d (* WODia5 0.13052619222005155) (* WODia5 -0.99144486137381038)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.60876142900872121) (* WODia5 -0.79335334029123528)) (gpnt2d (* WODia5 -0.38268343236508984) (* WODia5 -0.92387953251128641)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.92387953251128674) (* WODia5 -0.38268343236508967)) (gpnt2d (* WODia5 -0.79335334029123494) (* WODia5 -0.60876142900872043)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.99144486137381038) (* WODia5 0.13052619222005155)) (gpnt2d (* WODia5 -0.99144486137381038) (* WODia5 -0.13052619222005155)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.79335334029123494) (* WODia5 0.60876142900872043)) (gpnt2d (* WODia5 -0.92387953251128674) (* WODia5 0.38268343236508967)) (gpnt2d 0.00000 0.00000) (gpnt2d (* WODia5 -0.38268343236508984) (* WODia5 0.92387953251128641)) (gpnt2d (* WODia5 -0.60876142900872121) (* WODia5 0.79335334029123528)) )) ;;Line Segments (sd-call-cmds(line :two_points (gpnt2d (* ODThird 0.38268343236508984) (* ODThird 0.92387953251128641)) (gpnt2d (* WODia5 0.38268343236508984) (* WODia5 0.92387953251128641)) (gpnt2d (* ODThird 0.13052619222005155) (* ODThird 0.99144486137381038)) (gpnt2d (* WODia5 0.13052619222005155) (* WODia5 0.99144486137381038)) (gpnt2d (* ODThird 0.79335334029123494) (* ODThird 0.60876142900872043)) (gpnt2d (* WODia5 0.79335334029123494) (* WODia5 0.60876142900872043)) (gpnt2d (* ODThird 0.60876142900872121) (* ODThird 0.79335334029123528)) (gpnt2d (* WODia5 0.60876142900872121) (* WODia5 0.79335334029123528)) (gpnt2d (* ODThird 0.99144486137381038) (* ODThird 0.13052619222005155)) (gpnt2d (* WODia5 0.99144486137381038) (* WODia5 0.13052619222005155)) (gpnt2d (* ODThird 0.92387953251128674) (* ODThird 0.38268343236508967)) (gpnt2d (* WODia5 0.92387953251128674) (* WODia5 0.38268343236508967)) (gpnt2d (* ODThird 0.92387953251128674) (* ODThird -0.38268343236508967)) (gpnt2d (* WODia5 0.92387953251128674) (* WODia5 -0.38268343236508967)) (gpnt2d (* ODThird 0.99144486137381038) (* ODThird -0.13052619222005155)) (gpnt2d (* WODia5 0.99144486137381038) (* WODia5 -0.13052619222005155)) (gpnt2d (* ODThird 0.60876142900872121) (* ODThird -0.79335334029123528)) (gpnt2d (* WODia5 0.60876142900872121) (* WODia5 -0.79335334029123528)) (gpnt2d (* ODThird 0.79335334029123494) (* ODThird -0.60876142900872043)) (gpnt2d (* WODia5 0.79335334029123494) (* WODia5 -0.60876142900872043)) (gpnt2d (* ODThird 0.13052619222005155) (* ODThird -0.99144486137381038)) (gpnt2d (* WODia5 0.13052619222005155) (* WODia5 -0.99144486137381038)) (gpnt2d (* ODThird 0.38268343236508984) (* ODThird -0.92387953251128641)) (gpnt2d (* WODia5 0.38268343236508984) (* WODia5 -0.92387953251128641)) ;;+++ Half Point +++ (gpnt2d (* ODThird -0.38268343236508984) (* ODThird -0.92387953251128641)) (gpnt2d (* WODia5 -0.38268343236508984) (* WODia5 -0.92387953251128641)) (gpnt2d (* ODThird -0.13052619222005155) (* ODThird -0.99144486137381038)) (gpnt2d (* WODia5 -0.13052619222005155) (* WODia5 -0.99144486137381038)) (gpnt2d (* ODThird -0.79335334029123494) (* ODThird -0.60876142900872043)) (gpnt2d (* WODia5 -0.79335334029123494) (* WODia5 -0.60876142900872043)) (gpnt2d (* ODThird -0.60876142900872121) (* ODThird -0.79335334029123528)) (gpnt2d (* WODia5 -0.60876142900872121) (* WODia5 -0.79335334029123528)) (gpnt2d (* ODThird -0.99144486137381038) (* ODThird -0.13052619222005155)) (gpnt2d (* WODia5 -0.99144486137381038) (* WODia5 -0.13052619222005155)) (gpnt2d (* ODThird -0.92387953251128674) (* ODThird -0.38268343236508967)) (gpnt2d (* WODia5 -0.92387953251128674) (* WODia5 -0.38268343236508967)) (gpnt2d (* ODThird -0.92387953251128674) (* ODThird 0.38268343236508967)) (gpnt2d (* WODia5 -0.92387953251128674) (* WODia5 0.38268343236508967)) (gpnt2d (* ODThird -0.99144486137381038) (* ODThird 0.13052619222005155)) (gpnt2d (* WODia5 -0.99144486137381038) (* WODia5 0.13052619222005155)) (gpnt2d (* ODThird -0.60876142900872121) (* ODThird 0.79335334029123528)) (gpnt2d (* WODia5 -0.60876142900872121) (* WODia5 0.79335334029123528)) (gpnt2d (* ODThird -0.79335334029123494) (* ODThird 0.60876142900872043)) (gpnt2d (* WODia5 -0.79335334029123494) (* WODia5 0.60876142900872043)) (gpnt2d (* ODThird -0.13052619222005155) (* ODThird 0.99144486137381038)) (gpnt2d (* WODia5 -0.13052619222005155) (* WODia5 0.99144486137381038)) (gpnt2d (* ODThird -0.38268343236508984) (* ODThird 0.92387953251128641)) (gpnt2d (* WODia5 -0.38268343236508984) (* WODia5 0.92387953251128641)) )) ;;Exture the profile (sd-call-cmds (pull :init_from_preselect (ui::get-profile-data-from-preselect) :linear_pull :selection_focus_profiles :keep_profile :no :keep_wp :yes :sel_part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :distance PartThk :direction :+w :operation :add_material)) ));=7 );cond );defun ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;; Define other aspects of the fastener generators %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (defvar *UsersLastWP* nil) ;;;; =================================================================================================================== (defun sd_capture_or_reactivate_user_wp (Func) ;;;; =================================================================================================================== ;;What do you want to do? (cond ;;When the module starts ((= Func 0)(setq *UsersLastWP* (sd-inq-curr-wp)) ) ;;When the module ends ((= Func 1)(sd-call-cmds(current_wp *UsersLastWP*)) ) );cond );defun ;;;; =================================================================================================================== (defun sd_load_or_create_part (Func Name Type Size Length Opt ThdProfile ThdTPI ThdClass ThdHand ClrFlag Color MvFlag MovePnt &optional ThdSize) ;;;; =================================================================================================================== ;;Note, Generally there's a way to capture when a part has been loaded. use that to generate a variable ;;Check to see if we're loading from a PDM server (if (equal *Use_Company_PDM* t) (progn (print "Use load function here :) ") (setq *sd-generate-fastener* 1) );progn (setq *sd-generate-fastener* 0) ;<- 0 = Part hasn't been loaded from PDM );if ;;When the model wasn't loaded, create it from scratch (if (= *sd-generate-fastener* 0)(progn ;;Alert the user (sd-display-alert (format nil "Creating ~A" Name)) ;;Run the appropriate fastener generator (cond ((= Func 1)(sd_create_fastener_bolt_ferry Name Type Size Length)) ((= Func 2)(sd_create_fastener_bolt_hex Name Type Size Length Opt)) ;;Opt = Washer face ((= Func 3)(sd_create_fastener_bolt_shoulder Name Size Length)) ((= Func 4)(sd_create_fastener_bolt_socket Name Type Size Length)) ((= Func 5)(sd_create_fastener_nut_hex Name Type Size)) ((= Func 6)(sd_create_fastener_pin Name Type Size Length)) ((= Func 7)(sd_create_fastener_set_screw Name Opt Type Size Length)) ;;Opt = Connection type ((= Func 8)(sd_create_fastener_washer Name Type Size)) );cond ;;Depending on the part, the thread will be added now (print "Adding the thread to the indicated face.") (cond ((or(= Func 1)(= Func 2)(= Func 4)(= Func 7));Bolts (sd_search_faces_to_attach_thread (sd-inq-curr-part) *FastThdRad* ThdProfile Size ThdTPI 1 ThdClass ThdHand 1) ) ((= Func 3);Shoulder Bolts (sd_search_faces_to_attach_thread (sd-inq-curr-part) *FastThdRad* ThdProfile ThdSize ThdTPI 1 ThdClass ThdHand 1) ) ((= Func 5);Nuts (sd_search_faces_to_attach_thread (sd-inq-curr-part) *FastThdRad* ThdProfile Size ThdTPI 2 ThdClass ThdHand 1) ) );cond ;;Check the flag for coloring (print "Coloring the fastener") (cond ((equal ClrFlag t)(cond ((= Color 1)(sd-call-cmds(set_part_inst_color :parts (sd-inq-curr-part) :color :rgb 1,0,0) ) );Red ((= Color 2)(sd-call-cmds(set_part_inst_color :parts (sd-inq-curr-part) :color :rgb 1,1,0) ) );Yellow ));T+cond );cond ;;Secure the Part from Annotation (print "Securing the fastener") (sd-call-cmds(secure_part_from_section :secured_parts (sd-inq-curr-part) :section_feature_in_general :secure) ) ;;Move the Part from Origin to MovePoint 3d-point (print "Moving the fastener") (if (equal MvFlag t) (sd_move_part_to_new_origin Name MovePnt) );if (if (equal MvFlag nil) (sd-display-alert (format nil "~A was created at the world origin" Name) :icon :information) );if ;;Now delete the leftover workplane (when (sd-inq-workplane-p (sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;Restore the previous workplane to active (sd_capture_or_reactivate_user_wp 1) ));if ;;Reset the PDM variable (setq *sd-generate-fastener* 0) );defun ;;;; =================================================================================================================== (defun sd_aquire_new_wp_origin_xyz (WPName Face FaceOrigin) ;;;; =================================================================================================================== ;;Logit (print "Get the 3d point and orientation of the Face and selected point") ;;Look for existing workplanes and delete them (when (sd-inq-workplane-p (sd-pathname-to-obj (format NIL "/~A" WPName))) (sd-call-cmds (delete_3d (format NIL "/~A" WPName))) );when ;;Create a new workplane on the indicated face (sd-call-cmds (create_workplane :new :name (format NIL "~A" WPName) :par_face :face Face :slide_origin FaceOrigin :done)) ;;Change the size of the workplane for viewing purposes (sd-call-cmds (wp_prop :the_wp (format NIL "/~A" WPName) :min_size_p1 (gpnt2d (* 25.4 2) (* 25.4 2) ) :min_size_p2 (gpnt2d (* 25.4 -2) (* 25.4 -2) ) :close)) ;;Adding CrossHairs to make it dramatice (sd-call-cmds (c_line_inf :horizontal 0)) (sd-call-cmds (c_line_inf :vertical 0)) ;;Set global variables for position and orientation (setq *NewOrigin_U* (sd-inq-wp-u-dir (sd-inq-curr-wp)) *NewOrigin_V* (sd-inq-wp-v-dir (sd-inq-curr-wp)) *NewOrigin_W* (sd-call-cmds (measure_dir_3d :face_normal Face)) );setq ;;Logit (print(format nil " >> Here are the indicated points~% >> U = ~A~% >> V = ~A~% >> W = ~A" *NewOrigin_U* *NewOrigin_V* *NewOrigin_W* )) );defun ;;;; =================================================================================================================== (defun sd_move_part_to_new_origin (PartName NewOrigin) ;;;; =================================================================================================================== ;;Check for new Origin first (print(format nil " >> ~A" *NewOrigin_U*)) (if (equal *NewOrigin_U* nil) (sd-display-alert (format nil "~A was created at the world origin" PartName)) );if ;;Since these are getting made at the origin anyways, set the variables (setf 3D_X_Origin (make-gpnt3d :x 1 :y 0 :z 0) 3D_Y_Origin (make-gpnt3d :x 0 :y 1 :z 0) 3D_Z_Origin (make-gpnt3d :x 0 :y 0 :z 1) 3D_Z_Dir (make-gpnt3d :x -25.4 :y 25.4 :z 0) ) ;;Makre sure the part is in the correct position (print(format nil " >> positioning via point direction point")) (trace position_pa) (sd-call-cmds (position_pa (format nil "/~A" PartName) :match_pt_dir_pt 3D_X_Origin *NewOrigin_U* (list 3D_Z_Origin 3D_Z_Dir) *NewOrigin_W* 3D_Y_Origin *NewOrigin_V* )) ;;Move the part to the indicated New Origin (print "Moving the part to the indicated point") (sd-call-cmds (position_pa (format nil "/~A" PartName) :translate :two_ptv 0,0,0 NewOrigin )) );defun ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;; Define the listings for fastener sizes and lengths so we don't have to write it out twice %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (defvar *GetFastSizes* nil) ;;;; =================================================================================================================== (defun sd_gather_fastener_sizes (Type SubType) ;;;; =================================================================================================================== ;;Sort out the famil first (cond ;;Now sort out by subfamily ((= Type 1)(cond;;Bolts - Ferry ((or(= SubType 1)(= SubType 2))(setq *GetFastSizes* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.7500 :label "1-3/4")(list 2.0000 :label "2") ))) ));Type=1 ((= Type 2)(cond;;Bolts - Hex ((or(= SubType 3)(= SubType 4))(setq *GetFastSizes* (list;;Hex Bolts (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4")(list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2")(list 2.7500 :label "2-3/4")(list 3.0000 :label "3") (list 3.2500 :label "3 1/4")(list 3.5000 :label "3 1/2")(list 3.7500 :label "3 3/4") (list 4.0000 :label "4") ))) ((or(= SubType 5)(= SubType 6))(setq *GetFastSizes* (list;;Heavy Hex Bolts (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4")(list 1.8750 :label "1-7/8")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4")(list 3.0000 :label "3") ))) ((or(= SubType 5)(= SubType 6))(setq *GetFastSizes* (list;;Heavy Hex Structural Bolt (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4")(list 1.8750 :label "1-7/8")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4")(list 3.0000 :label "3") (list 3.2500 :label "3 1/4")(list 3.5000 :label "3 1/2")(list 3.7500 :label "3 3/4")(list 4.0000 :label "4") (list 4.2500 :label "4 1/4")(list 4.5000 :label "4 1/2") (list 4.7500 :label "4 3/4")(list 5.0000 :label "5") (list 5.2500 :label "5 1/4")(list 5.5000 :label "5 1/2")(list 5.7500 :label "5 3/4")(list 6.0000 :label "6") ))) ((or(= SubType 9)(= SubType 10))(setq *GetFastSizes* (list;;Square Bolts (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ));Type=2 ((= Type 3)(cond;;Bolts - Socket ((or(= SubType 1)(= SubType 2))(setq *GetFastSizes* (list;;Socket Bolt (list (abs 0.0600) :label "No 0") (list (abs 0.0730) :label "No 1") (list (abs 0.0860) :label "No 2") (list (abs 0.0990) :label "No 3") (list (abs 0.1120) :label "No 4") (list (abs 0.1251) :label "No 5") (list (abs 0.1380) :label "No 6") (list (abs 0.1640) :label "No 8") (list (abs 0.1900) :label "No 10")(list (abs 0.2500) :label "1/4") (list (abs 0.3125) :label "5/16") (list (abs 0.3750) :label "3/8") (list (abs 0.4375) :label "7/16") (list (abs 0.5000) :label "1/2") (list (abs 0.6250) :label "5/8") (list (abs 0.7500) :label "3/4") (list (abs 0.8750) :label "7/8") (list (abs 1.0000) :label "1") (list (abs 1.1250) :label "1-1/8")(list (abs 1.2500) :label "1-1/4")(list (abs 1.3750) :label "1-3/8")(list (abs 1.5000) :label "1-1/2")(list (abs 1.7500) :label "1-3/4")(list (abs 2.0000) :label "2") (list (abs 2.2500) :label "2-1/4")(list (abs 2.5000) :label "2-1/2")(list (abs 2.7500) :label "2-3/4")(list (abs 3.0000) :label "3") (list (abs 3.2500) :label "3 1/4")(list (abs 3.5000) :label "3 1/2")(list (abs 3.7500) :label "3 3/4")(list (abs 4.0000) :label "4") ))) ((= SubType 3)(setq *GetFastSizes* (list;;Button Head (list (abs 0.0600) :label "No 0") (list (abs 0.0730) :label "No 1") (list (abs 0.0860) :label "No 2") (list (abs 0.0990) :label "No 3") (list (abs 0.1120) :label "No 4") (list (abs 0.1251) :label "No 5") (list (abs 0.1380) :label "No 6") (list (abs 0.1640) :label "No 8") (list (abs 0.1900) :label "No 10")(list (abs 0.2500) :label "1/4") (list (abs 0.3125) :label "5/16") (list (abs 0.3750) :label "3/8") (list (abs 0.5000) :label "1/2") (list (abs 0.6250) :label "5/8") ))) ((= SubType 4)(setq *GetFastSizes* (list;;Flat Head (list (abs 0.0600) :label "No 0") (list (abs 0.0730) :label "No 1") (list (abs 0.0860) :label "No 2") (list (abs 0.0990) :label "No 3") (list (abs 0.1120) :label "No 4") (list (abs 0.1251) :label "No 5") (list (abs 0.1380) :label "No 6") (list (abs 0.1640) :label "No 8") (list (abs 0.1900) :label "No 10")(list (abs 0.2500) :label "1/4") (list (abs 0.3125) :label "5/16") (list (abs 0.3750) :label "3/8") (list (abs 0.4375) :label "7/16") (list (abs 0.5000) :label "1/2") (list (abs 0.6250) :label "5/8") (list (abs 0.7500) :label "3/4") (list (abs 0.8750) :label "7/8") (list (abs 1.0000) :label "1") (list (abs 1.1250) :label "1-1/8")(list (abs 1.2500) :label "1-1/4")(list (abs 1.3750) :label "1-3/8")(list (abs 1.5000) :label "1-1/2") ))) ((= SubType 5)(setq *GetFastSizes* (list;;Low Head (list (abs 0.1120) :label "No 4") (list (abs 0.1251) :label "No 5") (list (abs 0.1380) :label "No 6") (list (abs 0.1640) :label "No 8") (list (abs 0.1900) :label "No 10")(list (abs 0.2500) :label "1/4") (list (abs 0.3125) :label "5/16") (list (abs 0.3750) :label "3/8") (list (abs 0.4375) :label "7/16") (list (abs 0.5000) :label "1/2") (list (abs 0.6250) :label "5/8") ))) ));Type=3 ((= Type 4)(setq *GetFastSizes* (list;;Bolts - Shoulders (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.7500 :label "1-3/4")(list 2.0000 :label "2") )) );Type=4 ((= Type 5)(cond;;Nuts ;;Hex + Hex WF + Heavy Hex + Heavy Hex WF + Hex Jam + Hex Jam WF + Heavy Hex Jam + Heavy Hex Slotted + Heavy Hex Slotted WF ((or(= SubType 1)(= SubType 2)(= SubType 4)(= SubType 5)(= SubType 7)(= SubType 8)(= SubType 10)(= SubType 11)(= SubType 15)(= SubType 16))(setq *GetFastSizes* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2")(list 2.7500 :label "2-3/4")(list 3.0000 :label "3") (list 3.2500 :label "3 1/4")(list 3.5000 :label "3 1/2") (list 3.7500 :label "3 3/4")(list 4.0000 :label "4") ))) ((or(= SubType 3)(= SubType 9))(setq *GetFastSizes* (list;;Hex Flat + Hex Flat Jam (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ((= SubType 6)(setq *GetFastSizes* (list;;Heavy Hex Flat (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.7500 :label "1-3/4")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4")(list 3.0000 :label "3") (list 3.2500 :label "3 1/4")(list 3.5000 :label "3 1/2")(list 3.7500 :label "3 3/4")(list 4.0000 :label "4") ))) ((= SubType 11)(setq *GetFastSizes* (list;;Heavy Hex Jam WF (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2")(list 2.7500 :label "2-3/4")(list 3.0000 :label "3") (list 3.2500 :label "3 1/4")(list 3.5000 :label "3 1/2") (list 3.7500 :label "3 3/4")(list 4.0000 :label "4") ))) ((= SubType 12)(setq *GetFastSizes* (list;;Heavy Hex Flat Jam (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.7500 :label "1-3/4")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4")(list 3.0000 :label "3") (list 3.2500 :label "3 1/4")(list 3.5000 :label "3 1/2")(list 3.7500 :label "3 3/4")(list 4.0000 :label "4") ))) ((or(= SubType 13)(= SubType 14))(setq *GetFastSizes* (list;;Hex Slotted + Hex Slotted WF (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ((or(= SubType 17)(= SubType 18))(setq *GetFastSizes* (list;;Thick Hex Slotted + Thick Hex Slotted WF (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ((or(= SubType 19)(= SubType 20))(setq *GetFastSizes* (list;;Square + Heavy Square (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16")(list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ((= SubType 21)(setq *GetFastSizes* (list;;Hex Flange (list 0.1380 :label "No. 6")(list 0.1640 :label "No. 8")(list 0.1900 :label "No.10")(list 0.2160 :label "No.12")(list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") ))) ((= SubType 22)(setq *GetFastSizes* (list;;Large Hex Flange (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") ))) ));Type=5 ((= Type 6)(cond;;Pins ((or(= SubType 1)(= SubType 2))(setq *GetFastSizes* (list;;Std Harden + Std Harden Over Sized (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") ))) ((= SubType 3)(setq *GetFastSizes* (list;;Std Ground Dowel (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1094 :label "7/64") (list 0.1250 :label "1/8") (list 0.1562 :label "5/32") (list 0.1875 :label "3/16") (list 0.2188 :label "7/32") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") ))) ((= SubType 4)(setq *GetFastSizes* (list;;Std UnGround Dowel (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1562 :label "5/32") (list 0.1875 :label "3/16") (list 0.2188 :label "7/32") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") ))) ((or(= SubType 5)(= SubType 6))(setq *GetFastSizes* (list;;Std Taper - Commercial + Percision (list 0.0625 :label "No.7/0")(list 0.0780 :label "No.6/0")(list 0.0940 :label "No.5/0")(list 0.1090 :label "No.4/0")(list 0.1250 :label "No.3/0")(list 0.1410 :label "No.2/0")(list 0.1560 :label "No. 0")(list 0.1720 :label "No. 1") (list 0.1930 :label "No. 2") (list 0.2190 :label "No. 3") (list 0.2500 :label "No. 4") (list 0.2890 :label "No. 5") (list 0.3410 :label "No. 6") (list 0.4090 :label "No. 7") (list 0.4920 :label "No. 8")(list 0.5910 :label "No. 9") (list 0.7060 :label "No.10") ))) ((= SubType 7)(setq *GetFastSizes* (list;;Clevis (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") ))) ((or(= SubType 8)(= SubType 9))(setq *GetFastSizes* (list;;Slotted Spring +Coil Spring - Light (list 0.0625 :label "1/16") (list 0.0781 :label "5/64") (list 0.0938 :label "3/32") (list 0.1094 :label "7/64") (list 0.1250 :label "1/8") (list 0.1562 :label "5/32") (list 0.1875 :label "3/16") (list 0.2188 :label "7/32") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") ))) ((= SubType 10)(setq *GetFastSizes* (list;;Coil Spring - Standard (list 0.0313 :label "1/32") (list 0.0390 :label "0.039")(list 0.0469 :label "3/64") (list 0.0520 :label "0.052")(list 0.0625 :label "1/16") (list 0.0781 :label "5/64") (list 0.0938 :label "3/32")(list 0.1094 :label "7/64") (list 0.1250 :label "1/8") (list 0.1562 :label "5/32") (list 0.1875 :label "3/16") (list 0.2188 :label "7/32") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") ))) ((= SubType 11)(setq *GetFastSizes* (list;;Coil Spring - Heavy (list 0.0625 :label "1/16") (list 0.0781 :label "5/64") (list 0.0938 :label "3/32") (list 0.1094 :label "7/64") (list 0.1250 :label "1/8") (list 0.1562 :label "5/32") (list 0.1875 :label "3/16") (list 0.2188 :label "7/32") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") ))) ));Type6 ((= Type 7)(cond;;Set Screws ((= SubType 1)(setq *GetFastSizes* (list;;Hex Socket (list 0.0600 :label "# 0") (list 0.0730 :label "# 1") (list 0.0860 :label "# 2") (list 0.0990 :label "# 3") (list 0.1120 :label "# 4") (list 0.1250 :label "# 5") (list 0.1380 :label "# 6") (list 0.1640 :label "# 8") (list 0.1900 :label "# 10") (list 0.2160 :label "# 12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") ))) ((= SubType 2)(setq *GetFastSizes* (list;;Square Head (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ));Type=7 ((= Type 8)(cond;;Washers ((= SubType 1)(setq *GetFastSizes* (list;;Plain A - Nar (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ((= SubType 2)(setq *GetFastSizes* (list;;Plain A - Reg (list 0.1380 :label "No. 6")(list 0.1640 :label "No. 8")(list 0.1900 :label "No.10")(list 0.1875 :label "3/16") (list 0.2160 :label "No.12")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4")(list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2")(list 2.7500 :label "2-3/4")(list 3.0000 :label "3") ))) ((= SubType 3)(setq *GetFastSizes* (list;;Plain A - Wide (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") ))) ((= SubType 4)(setq *GetFastSizes* (list;;Plain B - Nar (list 0.0000 :label "No. 0")(list 0.0730 :label "No. 1")(list 0.0860 :label "No. 2")(list 0.0990 :label "No. 3")(list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5")(list 0.1380 :label "No. 6")(list 0.1640 :label "No. 8")(list 0.1900 :label "No.10")(list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8")(list 2.0000 :label "2") ))) ((= SubType 5)(setq *GetFastSizes* (list;;Plain B - Reg (list 0.0000 :label "No. 0")(list 0.0730 :label "No. 1")(list 0.0860 :label "No. 2")(list 0.0990 :label "No. 3")(list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5")(list 0.1380 :label "No. 6")(list 0.1640 :label "No. 8")(list 0.1900 :label "No.10")(list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8")(list 2.0000 :label "2") ))) ((= SubType 6)(setq *GetFastSizes* (list;;Plain B - Wide (list 0.0000 :label "No. 0")(list 0.0730 :label "No. 1")(list 0.0860 :label "No. 2")(list 0.0990 :label "No. 3")(list 0.1120 :label "No. 4")(list 0.1251 :label "No. 5")(list 0.1380 :label "No. 6")(list 0.1640 :label "No. 8") (list 0.1900 :label "No.10")(list 0.2160 :label "No.12")(list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4")(list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8")(list 1.7500 :label "1-3/4")(list 1.8750 :label "1-7/8")(list 2.0000 :label "2") ))) ((= SubType 7)(setq *GetFastSizes* (list;;High Collar (list 0.1120 :label "No. 4")(list 0.1251 :label "No. 5")(list 0.1380 :label "No. 6")(list 0.1640 :label "No. 8")(list 0.1900 :label "No.10")(list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8")(list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8")(list 1.5000 :label "1-1/2")(list 1.7500 :label "1-3/4")(list 2.0000 :label "2") (list 2.2500 :label "2-1/4")(list 2.5000 :label "2-1/2")(list 2.7500 :label "2-3/4")(list 3.0000 :label "3") ))) ((= SubType 8)(setq *GetFastSizes* (list;;Spring Lock Reg (list 0.0860 :label "No. 2") (list 0.0990 :label "No. 3") (list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5") (list 0.1380 :label "No. 6") (list 0.1640 :label "No. 8") (list 0.1900 :label "No.10") (list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.0625 :label "1-1/16")(list 1.1250 :label "1-1/8") (list 1.1875 :label "1-3/16") (list 1.2500 :label "1-1/4") (list 1.3125 :label "1-5/16")(list 1.3750 :label "1-3/8") (list 1.4375 :label "1-7/16")(list 1.5000 :label "1-1/2") ))) ((= SubType 9)(setq *GetFastSizes* (list;;Spring Lock Hvy (list 0.0860 :label "No. 2") (list 0.0990 :label "No. 3") (list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5") (list 0.1380 :label "No. 6") (list 0.1640 :label "No. 8") (list 0.1900 :label "No.10") (list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.0625 :label "1-1/16")(list 1.1250 :label "1-1/8") (list 1.1875 :label "1-3/16") (list 1.2500 :label "1-1/4") (list 1.3125 :label "1-5/16")(list 1.3750 :label "1-3/8") (list 1.4375 :label "1-7/16")(list 1.5000 :label "1-1/2") ))) ((= SubType 10)(setq *GetFastSizes* (list;;Spring Lock Ex-Duty (list 0.0860 :label "No. 2") (list 0.0990 :label "No. 3") (list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5") (list 0.1380 :label "No. 6") (list 0.1640 :label "No. 8") (list 0.1900 :label "No.10") (list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.0625 :label "1-1/16")(list 1.1250 :label "1-1/8") (list 1.1875 :label "1-3/16") (list 1.2500 :label "1-1/4") (list 1.3125 :label "1-5/16")(list 1.3750 :label "1-3/8") (list 1.4375 :label "1-7/16")(list 1.5000 :label "1-1/2") ))) ((= SubType 11)(setq *GetFastSizes* (list;;Intern Tooth Lock (list 0.0860 :label "No. 2") (list 0.0990 :label "No. 3") (list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5") (list 0.1380 :label "No. 6") (list 0.1640 :label "No. 8") (list 0.1900 :label "No.10") (list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") ))) ((= SubType 12)(setq *GetFastSizes* (list;;Intern Tooth Lock Hvy (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") ))) ((= SubType 13)(setq *GetFastSizes* (list;;Extern Tooth Lock (list 0.0990 :label "No. 3") (list 0.1120 :label "No. 4") (list 0.1251 :label "No. 5") (list 0.1380 :label "No. 6") (list 0.1640 :label "No. 8") (list 0.1900 :label "No.10") (list 0.2160 :label "No.12") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5625 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 1.0000 :label "1") ))) ((= SubType 14)(setq *GetFastSizes* (list;;Int+Ext Tooth Lock A (list 0.112001 :label "No. 4 - A")(list 0.112002 :label "No. 4 - B")(list 0.112003 :label "No. 4 - C") (list 0.138004 :label "No. 6 - A")(list 0.138002 :label "No. 6 - B")(list 0.138003 :label "No. 6 - C") (list 0.164004 :label "No. 8 - A")(list 0.164002 :label "No. 8 - B")(list 0.164003 :label "No. 8 - C") (list 0.190004 :label "No.10 - A")(list 0.190002 :label "No.10 - B")(list 0.190003 :label "No.10 - C")(list 0.190004 :label "No.10 - D") (list 0.216001 :label "No.12 - A")(list 0.216002 :label "No.12 - B")(list 0.216003 :label "No.12 - C")(list 0.216004 :label "No.12 - D") (list 0.250001 :label "1/4 - A") (list 0.250002 :label "1/4 - B") (list 0.250003 :label "1/4 - C") (list 0.250004 :label "1/4 - D") (list 0.312501 :label "5/16 - A") (list 0.312502 :label "5/16 - B") (list 0.312503 :label "5/16 - C") (list 0.312504 :label "5/16 - D") (list 0.375001 :label "3/8 - A") (list 0.375002 :label "3/8 - B") (list 0.375003 :label "3/8 - C") (list 0.375004 :label "3/8 - D") (list 0.437501 :label "7/16 - A") (list 0.437502 :label "7/16 - B") (list 0.437503 :label "7/16 - C") (list 0.437504 :label "7/16 - D") (list 0.500001 :label "1/2 - A") (list 0.500002 :label "1/2 - B") (list 0.500003 :label "1/2 - C") (list 0.500004 :label "1/2 - D") (list 0.562501 :label "9/16 - A") (list 0.562502 :label "9/16 - B") (list 0.562503 :label "9/16 - C") (list 0.562504 :label "9/16 - D") (list 0.625001 :label "5/8 - A") (list 0.625002 :label "5/8 - B") (list 0.625003 :label "5/8 - C") (list 0.625004 :label "5/8 - D") ))) ((= SubType 15)(setq *GetFastSizes* (list;;Int+Ext Tooth Lock B (list 0.112001 :label "No. 4 - A")(list 0.112002 :label "No. 4 - B")(list 0.112003 :label "No. 4 - C") (list 0.138001 :label "No. 6 - A")(list 0.138002 :label "No. 6 - B")(list 0.138003 :label "No. 6 - C") (list 0.164001 :label "No. 8 - A")(list 0.164002 :label "No. 8 - B")(list 0.164003 :label "No. 8 - C") (list 0.190001 :label "No.10 - A")(list 0.190002 :label "No.10 - B")(list 0.190003 :label "No.10 - C")(list 0.190004 :label "No.10 - D") (list 0.216001 :label "No.12 - A")(list 0.216002 :label "No.12 - B")(list 0.216003 :label "No.12 - C")(list 0.216004 :label "No.12 - D") (list 0.250001 :label "1/4 - A") (list 0.250002 :label "1/4 - B") (list 0.250003 :label "1/4 - C") (list 0.250004 :label "1/4 - D") (list 0.312501 :label "5/16 - A") (list 0.312502 :label "5/16 - B") (list 0.312503 :label "5/16 - C") (list 0.312504 :label "5/16 - D") (list 0.375001 :label "3/8 - A") (list 0.375002 :label "3/8 - B") (list 0.375003 :label "3/8 - C") (list 0.375004 :label "3/8 - D") (list 0.437501 :label "7/16 - A") (list 0.437502 :label "7/16 - B") (list 0.437503 :label "7/16 - C") (list 0.437504 :label "7/16 - D") (list 0.500001 :label "1/2 - A") (list 0.500002 :label "1/2 - B") (list 0.500003 :label "1/2 - C") (list 0.500004 :label "1/2 - D") (list 0.562501 :label "9/16 - A") (list 0.562502 :label "9/16 - B") (list 0.562503 :label "9/16 - C") (list 0.562504 :label "9/16 - D") (list 0.625001 :label "5/8 - A") (list 0.625002 :label "5/8 - B") (list 0.625003 :label "5/8 - C") (list 0.625004 :label "5/8 - D") ))) ));Type=8 );cond ;;Print out the size listing (print (format nil "~% Here are the Size Listing - ~% ~A" *GetFastSizes*)) );defun (defvar *GetFastLengths* nil) ;;;; =================================================================================================================== (defun sd_gather_fastener_lengths (Type SubType Size) ;;;; =================================================================================================================== ;;Sort out the family first (cond ;;Now sort out by subfamily ((= Type 1)(cond;;Bolts - Ferry ((= SubType 1)(cond ((or(= Size 0.2500)(= Size 0.3125))(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1/4+5/16 ((or(= Size 0.3750)(= Size 0.4375))(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;7/16 ((or(= Size 0.5000)(= Size 0.5625)(= Size 0.6250))(setq *GetFastLengths* (list (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1 1/2 ((= Size 1.7500)(setq *GetFastLengths* (list (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;1 3/4 ((= Size 2.0000)(setq *GetFastLengths* (list (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") )));;2 ));;SubType1 ((= SubType 2)(cond ((< Size 1.0001)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4")(list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4")(list 14.000 :label "14") ))) ((< Size 1.5001)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") ))) ((> Size 1.5001)(setq *GetFastLengths* (list (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") (list 14.000 :label "14") ))) ));;SubType2 ));Type=1 ((= Type 2)(cond;;Bolts - Hex ((or(= SubType 3)(= SubType 4))(cond;;Hex Bolt ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/2 ((= Size 1.6250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 5/8 ((= Size 1.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 3/4 ((= Size 1.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 7/8 ((= Size 2.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 ((= Size 2.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 1/4 ((= Size 2.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 1/2 ((= Size 2.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 3/4 ((= Size 3.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 ((= Size 3.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 1/4 ((= Size 3.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 1/2 ((= Size 3.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 3/4 ((= Size 4.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;4 ));;SubType3+4 ((or(= SubType 5)(= SubType 6))(cond;;Heavy Hex Bolt ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/2 ((= Size 1.6250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 5/8 ((= Size 1.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 3/4 ((= Size 1.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 7/8 ((= Size 2.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 ((= Size 2.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 1/4 ((= Size 2.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 1/2 ((= Size 2.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 3/4 ((= Size 3.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 ));;SubType5+6 ((or(= SubType 7)(= SubType 8))(cond;;Heavy Hex Structure Bolt ((= Size 0.2500)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;1/4 ((= Size 0.3750)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;3/8 ((= Size 0.5000)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") )));;1 1/2 ));;SubType7+8 ((or(= SubType 9)(= SubType 10))(cond;;Square Bolt ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1 1/2 ));;SubType9+10 ));Type=2 ((= Type 3)(cond;;Bolts - Socket ((or(= SubType 1)(= SubType 2))(cond;;Socket Bolt ((= Size 0.0600)(setq *GetFastLengths* (list;;No_0 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 0 ((= Size 0.0730)(setq *GetFastLengths* (list;;No_1 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 1 ((= Size 0.0860)(setq *GetFastLengths* (list;;No_2 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 2 ((= Size 0.0990)(setq *GetFastLengths* (list;;No_3 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 3 ((= Size 0.1120)(setq *GetFastLengths* (list;;No_4 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 4 ((= Size 0.1251)(setq *GetFastLengths* (list;;No_5 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 5 ((= Size 0.1380)(setq *GetFastLengths* (list;;No_6 (list 0.1251 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 6 ((= Size 0.1640)(setq *GetFastLengths* (list;;No_8 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 8 ((= Size 0.1900)(setq *GetFastLengths* (list;;No_10 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 10 ((= Size 0.2160)(setq *GetFastLengths* (list;;No_12 (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;# 10 ((= Size 0.2500)(setq *GetFastLengths* (list;;1/4 (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 1/2 ((= Size 1.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;1 3/4 ((= Size 2.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 ((= Size 2.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 1/4 ((= Size 2.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 1/2 ((= Size 2.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;2 3/4 ((= Size 3.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 ((= Size 3.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 1/4 ((= Size 3.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 1/2 ((= Size 3.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;3 3/4 ((= Size 4.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 6.7500 :label "6-3/4") (list 7.0000 :label "7") (list 7.2500 :label "7-1/4") (list 7.5000 :label "7-1/2") (list 7.7500 :label "7-3/4") (list 8.0000 :label "8") (list 8.2500 :label "8-1/4") (list 8.5000 :label "8-1/2") (list 8.7500 :label "8-3/4") (list 9.0000 :label "9") (list 9.2500 :label "9-1/4") (list 9.5000 :label "9-1/2") (list 9.7500 :label "9-3/4") (list 10.000 :label "10") (list 10.250 :label "10-1/4")(list 10.500 :label "10-1/2")(list 10.750 :label "10-3/4") (list 11.000 :label "11") (list 11.250 :label "11-1/4")(list 11.500 :label "11-1/2")(list 11.750 :label "11-3/4")(list 12.000 :label "12") )));;4 ));;SubType1+2 ((= SubType 3)(cond;;Button Head ((= Size 0.0600)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 0 ((= Size 0.0730)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 1 ((= Size 0.0860)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 2 ((= Size 0.0990)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 3 ((= Size 0.1120)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 4 ((= Size 0.1251)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 5 ((= Size 0.1380)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 6 ((= Size 0.1640)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 8 ((= Size 0.1900)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 10 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;3/8 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;5/8 ));;SubType3 ((= SubType 4)(cond;;Flat Head ((= Size 0.0600)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") )));;# 0 ((= Size 0.0730)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") )));;# 1 ((= Size 0.0860)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") )));;# 2 ((= Size 0.0990)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") )));;# 3 ((= Size 0.1120)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") )));;# 4 ((= Size 0.1251)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") )));;# 5 ((= Size 0.1380)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") )));;# 6 ((= Size 0.1640)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") )));;# 8 ((= Size 0.1900)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") )));;# 10 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;1 1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") )));;1 1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") (list 9.0000 :label "9") (list 10.000 :label "10") (list 12.000 :label "12") (list 14.000 :label "14") )));;1 3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 8.0000 :label "8") (list 9.0000 :label "9") (list 10.000 :label "10") (list 12.000 :label "12") (list 14.000 :label "14") )));;1 1/2 ));;;;SubType4 ((= SubType 5)(cond;;Low Head ((= Size 0.1120)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") )));;# 4 ((= Size 0.1251)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") )));;# 5 ((= Size 0.1380)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") )));;# 6 ((= Size 0.1640)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") )));;# 8 ((= Size 0.1900)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") )));;# 10 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;5/8 ));;SubType ));Type=3 ((= Type 4)(cond;;Bolts - Shoulders ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16")(list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;1 ((= Size 1.1250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;1-1/8 ((= Size 1.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;1-1/4 ((= Size 1.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;1-3/8 ((= Size 1.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;1-1/2 ((= Size 1.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;1-3/4 ((= Size 2.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.6875 :label "1-11/16") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.6875 :label "3-11/16")(list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") (list 6.2500 :label "6-1/4") (list 6.5000 :label "6-1/2") (list 7.0000 :label "7") (list 7.5000 :label "7-1/2") (list 8.0000 :label "8") (list 8.5000 :label "8-1/2") (list 9.0000 :label "9") (list 9.5000 :label "9-1/2") (list 10.000 :label "10") (list 10.500 :label "10-1/2") (list 11.000 :label "11") (list 11.500 :label "11-1/2") (list 12.000 :label "12") (list 12.500 :label "12-1/2") (list 13.000 :label "13") (list 13.500 :label "13-1/2") (list 13.750 :label "13-3/4") )));;2 ));Type=4 ((= Type 5)(sd-display-alert "Nuts don't have any lengths" )) ((= Type 6)(cond;;Pins ((or(= SubType 1)(= SubType 2))(cond;;Std Harden + Std Harden Over Sized ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") )));;1/16 ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;3/32 ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;1/8 ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;3/16 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") )));;3/8" ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 3.5000 :label "5-1/2") (list 6.0000 :label "6") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 3.5000 :label "5-1/2") (list 6.0000 :label "6") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 6.0000 :label "6") )));;1 ));;SubType1+2 ((= SubType 3)(cond;;Std Ground Dowel ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;1/16 ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;3/32 ((= Size 0.1094)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;7/64 ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;1/8 ((= Size 0.1562)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;5/32 ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;3/16 ((= Size 0.2188)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;7/32 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;1/4" ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;3/8 ));;SubType3 ((= SubType 4)(cond;;Std UnGround Dowel ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;1/16 ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;3/32 ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;1/8 ((= Size 0.1562)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;5/32 ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;3/16 ((= Size 0.2188)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;7/32 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;3/4 ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 0.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;7/8 ((= Size 1.0000)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") )));;1 ));;SubType4 ((or(= SubType 5)(= SubType 6))(cond;;Std Taper - Commercial + Percision ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;No. 7/0 ((= Size 0.0780)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;No. 6/0 ((= Size 0.0940)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;No. 5/0 ((= Size 0.1090)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;No. 4/0 ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;No. 3/0 ((= Size 0.1410)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 0.2500 :label "1-1/4") )));;No. 2/0 ((= Size 0.1560)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 0.2500 :label "1-1/4") )));;No. 0 ((= Size 0.1720)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 0.2500 :label "1-1/4") )));;No. 1 ((= Size 0.1930)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 0.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") )));;No. 2 ((= Size 0.2190)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 0.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") )));;No. 3 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;No. 4 ((= Size 0.2890)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;No. 5 ((= Size 0.3410)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") )));;No. 6 ((= Size 0.4090)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 0.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") )));;No. 7 ((= Size 0.4920)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 0.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") )));;No. 8 ((= Size 0.5910)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 0.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 0.2500 :label "5-1/4") )));;No. 9 ((= Size 0.7060)(setq *GetFastLengths* (list (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 0.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 0.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;No. 10 ));;SubType5+6 ((= SubType 7)(setq *GetFastLengths* (list 0))) ;;Clevis ((= SubType 8)(cond;;Slotted Spring ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") ))) ((= Size 0.0781)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") ))) ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") ))) ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") ))) ((= Size 0.1412)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") ))) ((= Size 0.1562)(setq *GetFastLengths* (list (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") ))) ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") ))) ((= Size 0.2188)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") ))) ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") ))) ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") ))) ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") ))) ((= Size 0.4375)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") ))) ((= Size 0.5000)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") ))) ((= Size 0.6250)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") ))) ((= Size 0.7500)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") ))) ));;SubType8 ((= SubType 9)(cond;;Coil Spring - Light ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") ))) ((= Size 0.0781)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") ))) ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") ))) ((= Size 0.1094)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") ))) ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") ))) ((= Size 0.1562)(setq *GetFastLengths* (list (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") ))) ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") ))) ((= Size 0.2188)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") ))) ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") ))) ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") ))) ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") ))) ((= Size 0.4375)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") ))) ((= Size 0.5000)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") ))) ));;SubType9 ((= SubType 10)(cond;;Coil Spring - Standard ((= Size 0.0313)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;1/32 ((= Size 0.0390)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;0.039 ((= Size 0.0469)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;3/64 ((= Size 0.0520)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;0.052 ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;1/16 ((= Size 0.0781)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;5/64 ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;3/32 ((= Size 0.1094)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;7/64 ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;1/8 ((= Size 0.1562)(setq *GetFastLengths* (list (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;5/32 ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;3/16 ((= Size 0.2188)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") )));;7/32 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;3/4 ));;SubType10 ((= SubType 11)(cond;;Coil Spring - Heavy ((= Size 0.0625)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") )));;1/16 ((= Size 0.0781)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;5/64 ((= Size 0.0938)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;3/32 ((= Size 0.1094)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") )));;7/64 ((= Size 0.1250)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") )));;1/8 ((= Size 0.1562)(setq *GetFastLengths* (list (list 0.4375 :label "7/16") (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;5/32 ((= Size 0.1875)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") )));;3/16 ((= Size 0.2188)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") )));;7/32 ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.5000 :label "9/16") (list 0.6250 :label "5/8") (list 0.6875 :label "11/16") (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") )));;1/4 ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8125 :label "13/16") (list 0.8750 :label "7/8") (list 0.9375 :label "15/16") (list 1.0000 :label "1") (list 1.1250 :label "1-1/8") (list 1.2500 :label "1-1/4") (list 1.3750 :label "1-3/8") (list 1.5000 :label "1-1/2") (list 1.6250 :label "1-5/8") (list 1.7500 :label "1-3/4") (list 1.8750 :label "1-7/8") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;5/16 ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;3/8 ((= Size 0.4375)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") )));;7/16 ((= Size 0.5000)(setq *GetFastLengths* (list (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") )));;1/2 ((= Size 0.6250)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;5/8 ((= Size 0.7500)(setq *GetFastLengths* (list (list 2.0000 :label "2") (list 2.2500 :label "2-1/4") (list 2.5000 :label "2-1/2") (list 2.7500 :label "2-3/4") (list 3.0000 :label "3") (list 3.2500 :label "3-1/4") (list 3.5000 :label "3-1/2") (list 3.7500 :label "3-3/4") (list 4.0000 :label "4") (list 4.2500 :label "4-1/4") (list 4.5000 :label "4-1/2") (list 4.7500 :label "4-3/4") (list 5.0000 :label "5") (list 5.2500 :label "5-1/4") (list 5.5000 :label "5-1/2") (list 5.7500 :label "5-3/4") (list 6.0000 :label "6") )));;3/4 ));;SubType11 ));Type6 ((= Type 7)(cond;;Set Screws ((= Size 0.0600)(setq *GetFastLengths* (list (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") )));;# 0" ((= Size 0.0730)(setq *GetFastLengths* (list (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") )));;# 1" ((= Size 0.0860)(setq *GetFastLengths* (list (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") )));;# 2" ((= Size 0.0990)(setq *GetFastLengths* (list (list 0.0625 :label "1/16") (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") )));;# 3" ((= Size 0.1120)(setq *GetFastLengths* (list (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;# 4" ((= Size 0.1251)(setq *GetFastLengths* (list (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") )));;# 5" ((= Size 0.1380)(setq *GetFastLengths* (list (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 6") ((= Size 0.1640)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") )));;# 8" ((= Size 0.1900)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") )));;# 10" ((= Size 0.2500)(setq *GetFastLengths* (list (list 0.0938 :label "3/32") (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1/4" ((= Size 0.3125)(setq *GetFastLengths* (list (list 0.1250 :label "1/8") (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;5/16" ((= Size 0.3750)(setq *GetFastLengths* (list (list 0.1875 :label "3/16") (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;3/8" ((= Size 0.4375)(setq *GetFastLengths* (list (list 0.2500 :label "1/4") (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;7/16" ((= Size 0.5000)(setq *GetFastLengths* (list (list 0.3125 :label "5/16") (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1/2" ((= Size 0.6250)(setq *GetFastLengths* (list (list 0.3750 :label "3/8") (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;5/8" ((= Size 0.7500)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;3/4" ((= Size 0.8750)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;7/8" ((= Size 1.0000)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1" ((= Size 1.1250)(setq *GetFastLengths* (list (list 0.5000 :label "1/2") (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1-1/8" ((= Size 1.2500)(setq *GetFastLengths* (list (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1-1/4" ((= Size 1.3750)(setq *GetFastLengths* (list (list 0.6250 :label "5/8") (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1-3/8" ((= Size 1.5000)(setq *GetFastLengths* (list (list 0.7500 :label "3/4") (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1-1/2" ((= Size 1.7500)(setq *GetFastLengths* (list (list 0.8750 :label "7/8") (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;1-3/4" ((= Size 2.0000)(setq *GetFastLengths* (list (list 1.0000 :label "1") (list 1.2500 :label "1-1/4") (list 1.5000 :label "1-1/2") (list 1.7500 :label "1-3/4") (list 2.0000 :label "2") (list 2.5000 :label "2-1/2") (list 3.0000 :label "3") (list 3.5000 :label "3-1/2") (list 4.0000 :label "4") (list 4.5000 :label "4-1/2") (list 5.0000 :label "5") (list 5.5000 :label "5-1/2") (list 6.0000 :label "6") )));;2" ));Type=7 ((= Type 8)(sd-display-alert "Washers don't have any lengths" )) );cond ;;Print out the size listing (print (format nil "~% Here are the Length Listing - ~% ~A" *GetFastLengths*)) );defun ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%% Define dialogs to create the non-modeled fastener %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_bolt_ferry_gen ;;;; =================================================================================================================== ;; http://www.nan-long.com/GPAGE/FASTENER/IFI%20Fastener/Detail%20IFI%20Series/IFI%20115%20Flange%2012-Point%20Screws.htm ;; example with model - 2-599193-177 3/4"-10UNC x 2.00 :dialog-title "Create Ferry Bolts" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Ferry Bolt") (FastType :title "Thd Type" :size :third :range ((1 :label "Partial-Threaded") (2 :label "Full-Threaded")) :initial-value 0 :after-input (progn (setq FastSize nil FastLength nil ThdProfile nil SuggestBox nil PartName nil) (sd_gather_fastener_sizes 1 FastType) (sd-set-range 'FastSize *GetFastSizes*) )) (FastSize :title "Size" :range ( (0 :label "Select Type") ) :initial-value 1 :after-input (progn (sd_gather_fastener_lengths 1 FastType FastSize) (sd-set-range 'FastLength *GetFastLengths*) )) (FastLength :title "Length" :initial-value 1 :range ( (0 :label "Select Size") );range :after-input (Generate_Name) );Fast (ThdProfile :title "Thread Profile" :range ((1 :label "UNEF")(6 :label "UNREF")(2 :label "UNF")(7 :label "UNRF")(3 :label "UN") (8 :label "UNR")(4 :label "UNC")(9 :label "UNRC")(5 :label "UNS")(10 :label "UNRS")) :initial-value 0 :prompt-text "This is only used for the searching of part numbers" :after-input (progn (if (equal *UseStaticPNList* T)(GetSuggestion)) (sd_compile_thread_tpi ThdProfile FastSize) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) );progn :next-variable 'SuggestBox ) (SuggestBox :title "Suggestions" :initial-value 0 :range ((1 :label "Select thread profile")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) ("Other Thread Information") (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class ThdProfile FastSize Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value 2 :after-input (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) ("") (Generate :title "Generate Ferry Bolt" :toggle-type :wide-toggle :push-action (sd_load_or_create_part 1 PartName FastType FastSize FastLength 0 ThdProfile Thd_TPI Thd_Class Thd_Hand flag0 1 moveflag MoveWP) :next-variable 'ThdFace) (flag0 :title "Color the Bolt Red?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Generate a Generic Name (Generate_Name () (generate-fastener-name 1 FastType FastSize FastLength) (setq PartName *FastenerName*) );Generate_Name ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-ferry-bolts FastType ThdProfile FastSize FastLength) (sd-set-range 'SuggestBox *PartNumber-Range-Ferry-Bolts*) );GetSuggestion );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_bolt_hex_gen ;;;; =================================================================================================================== :dialog-title "Hex Bolt Generator" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Hex Bolt") (FastType :title "Type" :size :third :range (;( 1 :label "Collar - Part") ;( 2 :label "Collar - Full") ( 3 :label "Hex Bolt - Part") ( 4 :label "Hex Bolt - Full") ( 5 :label "Heavy Hex Bolt - Part") ( 6 :label "Heavy Hex Bolt - Full") ( 7 :label "Heavy Hex Structural - Part") ( 8 :label "Heavy Hex Structural - Full") ( 9 :label "Square Bolt - Part") (10 :label "Square Bolt - Full") );range :initial-value 0 :after-input (progn (setq FastSize nil FastLength nil ThdProfile nil SuggestBox nil PartName nil) (sd_gather_fastener_sizes 2 FastType) (sd-set-range 'FastSize *GetFastSizes*) )) (WasherFace :title "Need a washer face?" :value-type :boolean :toggle-type :wide-toggle) (FastSize :title "Size" :range ((:error :label "Need a Type!")) :initial-value 1 :after-input (progn (sd_gather_fastener_lengths 2 FastType FastSize) (sd-set-range 'FastLength *GetFastLengths*) )) (FastLength :title "Length" :initial-value 1 :range (0 (:error :label "Select Type"));range :after-input (Generate_Name) );Fast (ThdProfile :title "Thread Profile" :range ((1 :label "UNEF")(6 :label "UNREF")(2 :label "UNF")(7 :label "UNRF")(3 :label "UN") (8 :label "UNR")(4 :label "UNC")(9 :label "UNRC")(5 :label "UNS")(10 :label "UNRS")) :initial-value nil :prompt-text "Select the correct thread profile for your fastener." :after-input (progn (if (equal *UseStaticPNList* T)(GetSuggestion)) (sd_compile_thread_tpi ThdProfile FastSize) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) ));progn (SuggestBox :title "Suggestions" :initial-value 0 :range ((1 :label "Select Thread Class")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) ("Other Thread Information") (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class ThdProfile FastSize Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value :right-hand :after-input (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) ("") (Generate :title "Generate Hex Bolt" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 2 PartName FastType FastSize FastLength WasherFace ThdProfile Thd_TPI Thd_Class Thd_Hand flag0 1 moveflag MoveWP) :next-variable 'ThdFace) (flag0 :title "Color the Bolt Red?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (mm :value-type :number :toggle-type :invisible :initial-value 25.40000) (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Name the hex bolt (Generate_Name () (generate-fastener-name 2 FastType FastSize FastLength) (setq PartName *FastenerName*) );Generate_Name ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-hex-bolts FastType ThdProfile FastSize FastLength) (sd-set-range 'SuggestBox *PartNumber-Range-Hex-Bolts*) );GetSuggestion );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_bolt_shoulder_gen ;;;; =================================================================================================================== :dialog-title "Shoulder Bolt Generator" :after-initialization '(progn (sd_gather_fastener_sizes 4 0) (sd-set-range 'FastSize *GetFastSizes*) (sd_capture_or_reactivate_user_wp 0) (setq ThdProfile nil) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select Attributes") (FastSize :title "Size" :range ( (0 :label "Hi :D") ) :initial-value 0 :after-input (progn (sd_gather_fastener_lengths 4 0 FastSize) (sd-set-range 'FastLength *GetFastLengths*) (Check_For_Defaults FastSize ThdProfile) )) (FastLength :title "Length" :initial-value 1 :range ( (0 :label "Select Size") );range :after-input (progn(Generate_Name)(setq ThdProfile 4)(Check_For_Defaults FastSize ThdProfile)) );Fast (ThdProfile :title "Thread Profile" :initial-value "" :range ((1 :label "UNEF") (6 :label "UNREF") (2 :label "UNF") (7 :label "UNRF") (3 :label "UN") (8 :label "UNR") (4 :label "UNC") (9 :label "UNRC") (5 :label "UNS") (10 :label "UNRS")) :prompt-text "Select the correct thread profile for your fastener." :after-input (progn ;;Start Gathering thread information (sd_compile_thread_size ThdProfile) (sd-set-range 'Thd_Size *GetThreadSizes*) ;;Check for Suggested partnumbers (when (and(not (equal FastLength 0))(equal *UseStaticPNList* T)) (GetSuggestion) );when ;;Now double check for UNC or UNRC (if (or (= ThdProfile 4)(= ThdProfile 9) );or ;;if yes (Check_For_Defaults FastSize ThdProfile) ;;else (progn (setq Thd_Size nil Thd_TPI nil Thd_Class nil ThdHand 1) (sd_compile_thread_tpi ThdProfile FastSize) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) );progn );if ));progn (SuggestBox :title "Suggestions" :initial-value 1 :range ((0 :label "Select Thread Class")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) ("Thread Information") (Thd_Size :title "Thd Size" :initial-value "" :range ( (0 :label "Need Profile") ) :after-input (sd_compile_thread_tpi ThdProfile Thd_Size) ) (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class ThdProfile FastSize Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value 1 :after-input (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) ("") (Generate :title "Generate Socket Bolt" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 3 PartName 0 FastSize FastLength 0 ThdProfile Thd_TPI Thd_Class Thd_Hand flag0 1 moveflag MoveWP Thd_Size) :next-variable 'ThdFace) (flag0 :title "Color the Bolt Red?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (mm :value-type :number :toggle-type :invisible :initial-value 25.40000) (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Generate a Generic Name (Generate_Name () (generate-fastener-name 3 6 FastSize FastLength) (setq PartName *FastenerName*) );Generate_Name ;;After the checkbox (Check_For_Defaults (Size Profile) ;;Log it (print "Checking to see if they sellected the default profile") ;;Make sure Size and Profile aren't nil (if (and(not(equal Size nil))(not(equal Profile nil)) ) (progn ;;Logit (print(format nil " The profile -> ~A~% The Size -> ~A" Profile Size)) ;;Check first for the profile (when (or (= Profile 4)(= Profile 9) );or ;;Logit (print " This is the correct profile") ;;Now if it profile is correct, sort out the different sizes (cond ((= Size 0.2500)(progn(sd-set-range 'Thd_Size '(0.1032))(sd-set-range 'Thd_TPI '(24))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.1032 Thd_TPI 24 Thd_Class 2 Thd_Hand 1))) ((= Size 0.3125)(progn(sd-set-range 'Thd_Size '(0.2500))(sd-set-range 'Thd_TPI '(20))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.2500 Thd_TPI 20 Thd_Class 2 Thd_Hand 1))) ((= Size 0.3750)(progn(sd-set-range 'Thd_Size '(0.3125))(sd-set-range 'Thd_TPI '(18))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.3125 Thd_TPI 18 Thd_Class 2 Thd_Hand 1))) ((= Size 0.5000)(progn(sd-set-range 'Thd_Size '(0.3750))(sd-set-range 'Thd_TPI '(16))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.3750 Thd_TPI 16 Thd_Class 2 Thd_Hand 1))) ((= Size 0.6250)(progn(sd-set-range 'Thd_Size '(0.5000))(sd-set-range 'Thd_TPI '(13))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.5000 Thd_TPI 13 Thd_Class 2 Thd_Hand 1))) ((= Size 0.7500)(progn(sd-set-range 'Thd_Size '(0.6250))(sd-set-range 'Thd_TPI '(11))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.6250 Thd_TPI 11 Thd_Class 2 Thd_Hand 1))) ((= Size 1.0000)(progn(sd-set-range 'Thd_Size '(0.7500))(sd-set-range 'Thd_TPI '(10))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.7500 Thd_TPI 10 Thd_Class 2 Thd_Hand 1))) ((= Size 1.2500)(progn(sd-set-range 'Thd_Size '(0.8750))(sd-set-range 'Thd_TPI '(09))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 0.8750 Thd_TPI 09 Thd_Class 2 Thd_Hand 1))) ((= Size 1.5000)(progn(sd-set-range 'Thd_Size '(1.1250))(sd-set-range 'Thd_TPI '(07))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 1.1250 Thd_TPI 07 Thd_Class 2 Thd_Hand 1))) ((= Size 1.7500)(progn(sd-set-range 'Thd_Size '(1.2500))(sd-set-range 'Thd_TPI '(07))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 1.2500 Thd_TPI 07 Thd_Class 2 Thd_Hand 1))) ((= Size 2.0000)(progn(sd-set-range 'Thd_Size '(1.5000))(sd-set-range 'Thd_TPI '(06))(sd-set-range 'Thd_Class '(2))(setq Thd_Size 1.5000 Thd_TPI 06 Thd_Class 2 Thd_Hand 1))) );cond ));when ;;Else (print " Nope, we still need something...") );if );Check_For_Defaults ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-shoulder-bolts FastSize FastLength ThdProfile) (sd-set-range 'SuggestBox *PartNumber-Range-Socket-Bolts*) );GetSuggestion );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_bolt_socket_gen ;;;; =================================================================================================================== :dialog-title "Socket Bolt Generator" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Socket Bolt") (FastType :title "Type" :size :third :range ((1 :label "Socket Head - Part");pg1601 (2 :label "Socket Head - Full");pg1601 (3 :label "Button Head");pg1604 (4 :label "Flat Head");pg1603 (5 :label "Low Head");;LowHead-http://www.nan-long.com/GPAGE/FASTENER/IFI%20Fastener/Detail%20IFI%20Series/ASME%20B18.3%20Low%20Head%20Hexagon%20Socket%20Cap%20Screws.htm );range :initial-value 0 :after-input(progn (setq FastSize nil FastLength nil ThdClass nil SuggestBox nil PartName nil) (sd_gather_fastener_sizes 3 FastType) (sd-set-range 'FastSize *GetFastSizes*) ));progn (FastSize :title "Size" :range ((:error :label "Need a Type!")) :initial-value 1 :after-input (progn (sd_gather_fastener_lengths 3 FastType FastSize) (sd-set-range 'FastLength *GetFastLengths*) )) (FastLength :title "Length" :initial-value 1 :range ( (0 :label "Select Type") );range :after-input (Generate_Name) );Fast (ThdProfile :title "Thread Profile" :initial-value 0 :range ((1 :label "UNEF")(6 :label "UNREF")(2 :label "UNF")(7 :label "UNRF")(3 :label "UN") (8 :label "UNR")(4 :label "UNC")(9 :label "UNRC")(5 :label "UNS")(10 :label "UNRS")) :prompt-text "Select the correct thread profile for your fastener." :after-input (progn (if (equal *UseStaticPNList* T)(GetSuggestion)) (sd_compile_thread_tpi ThdProfile FastSize) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) ));progn (SuggestBox :title "Suggestions" :initial-value 1 :range ((0 :label "Select Thread Class")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) ("Other Thread Information") (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class ThdProfile FastSize Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value 1 :after-input (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) ("") (Generate :title "Generate Socket Bolt" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 4 PartName FastType FastSize FastLength 0 ThdProfile Thd_TPI Thd_Class Thd_Hand flag0 1 moveflag MoveWP) :next-variable 'ThdFace) (flag0 :title "Color the Bolt Red?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (mm :value-type :number :toggle-type :invisible :initial-value 25.40000) (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Generate a Generic Name (Generate_Name () (generate-fastener-name 3 FastType FastSize FastLength) (setq PartName *FastenerName*) );Generate_Name ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-socket-bolts FastType ThdProfile FastSize FastLength) (sd-set-range 'SuggestBox *PartNumber-Range-Socket-Bolts*) );GetSuggestion );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_nut_hex_gen ;;;; =================================================================================================================== :dialog-title "Hex Nut Generator" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Hex Nut") (HexType :title "Type" :range (( 1 :label "Hex");(2 :label "Hex WF") ( 3 :label "Hex Flat") ( 4 :label "Heavy Hex");(5 :label "Heavy Hex WF") ( 6 :label "Heavy Hex Flat") ( 7 :label "Hex Jam");(8 :label "Hex Jam WF") ( 9 :label "Hex Flat Jam") (10 :label "Heavy Hex Jam");(11 :label "Heavy Hex Jam WF") (12 :label "Heavy Hex Flat Jam") (13 :label "Hex Slotted");(14 :label "Hex Slotted WF") (15 :label "Heavy Hex Slotted");(16 :label "Heavy Hex Slotted WF") (17 :label "Thick Hex Slotted");(18 :label "Thick Hex Slotted WF") (19 :label "Square") (20 :label "Heavy Square") );range :size :third :initial-value 0 :after-input (progn (setq HexSize nil ThdClass nil SuggestBox nil PartName nil) (sd_gather_fastener_sizes 5 (+ HexType WshrFcN)) (sd-set-range 'HexSize *GetFastSizes*) (if (or (= HexType 3)(= HexType 6)(= HexType 12)(= HexType 19)(= HexType 20)) ;;If they're flat sided nuts (progn (setq WshrFc nil)(setq WshrFcN 0)(sd-set-variable-status 'WshrFc :enable nil) ) ;;Else (sd-set-variable-status 'WshrFc :enable t) );if )) (WshrFc :title "Need a washer face?" :value-type :boolean :toggle-type :wide-toggle :after-input (progn (if (equal WshrFc t) (setq WshrFcN 1) (setq WshrFcN 0) ) (when (not(equal HexSize nil))(Generate_Name) ) )) (HexSize :title "Size" :range ((1 :label "Need HexNut Type")) :size :third :initial-value 0 :after-input (Generate_Name)) (ThdProfile :title "Thread Profile" :initial-value 0 :range ((1 :label "UNEF")(6 :label "UNREF")(2 :label "UNF")(7 :label "UNRF")(3 :label "UN") (8 :label "UNR")(4 :label "UNC")(9 :label "UNRC")(5 :label "UNS")(10 :label "UNRS")) :prompt-text "Select the correct thread profile for your fastener." :after-input (progn (if (equal *UseStaticPNList* T)(GetSuggestion)) (sd_compile_thread_tpi ThdProfile HexSize) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) ));progn (SuggestBox :title "Suggestions" :initial-value 0 :range ((1 :label "Select Thread Class")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) ("Other Thread Information") (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class ThdProfile HexSize Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads ThdProfile HexSize Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value :right-hand :after-input (sd_compile_bolt_threads ThdProfile HexSize Thd_TPI 2 Thd_Class Thd_Hand) ) ("") (Generate :title "Generate Hex Nut" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 5 PartName (+ HexType WshrFcN) HexSize 0 0 ThdProfile Thd_TPI Thd_Class Thd_Hand flag0 1 moveflag MoveWP) :next-variable 'ThdFace) (flag0 :title "Color the Bolt Red?" :value-type :boolean :toggle-type :wide-toggle) ;Invisible variables (mm :value-type :number :toggle-type :invisible :initial-value 25.40000) (Counter :value-type :number :toggle-type :invisible :initial-value 1) (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) (WshrFcN :value-type :number :initial-value 0 :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Name the hex nut (Generate_Name () (generate-fastener-name 5 (+ HexType WshrFcN) HexSize nil) (setq PartName *FastenerName*) );Generate_Name ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-hex-nuts (+ HexType WshrFcN) ThdProfile HexSize) (sd-set-range 'SuggestBox *PartNumber-Range-Hex-Nuts*) );GetSuggestion );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_pin_gen ;;;; =================================================================================================================== :dialog-title "Pin Generator" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Pin") (FastType :title "Type" :size :third :range (( 1 :label "Std Harden") ( 2 :label "Std Harden Over Sized") ( 3 :label "Std Ground Dowel") ( 4 :label "Std UnGround Dowel") ( 5 :label "Std Taper - Commercial") ( 6 :label "Std Taper - Percision") ( 7 :label "Clevis") ( 8 :label "Slotted Spring") );range :initial-value 0 :after-input (progn (setq FastSize nil FastLength nil PartName nil) (sd_gather_fastener_sizes 6 FastType) (sd-set-range 'FastSize *GetFastSizes*) )) (FastSize :title "Size" :range ((:error :label "Need a Type!")) :initial-value 1 :after-input (progn (sd_gather_fastener_lengths 6 FastType FastSize) (sd-set-range 'FastLength *GetFastLengths*) )) (FastLength :title "Length" :initial-value 0 :range ((:error :label "Need a Size!") );range :after-input (progn (if (equal *UseStaticPNList* T)(GetSuggestion)) (Generate_Name) ));Fast (SuggestBox :title "Suggestions" :initial-value 0 :range ((1 :label "Select Thread Class")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) (Generate :title "Generate The Pin" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 6 PartName FastType FastSize FastLength 0 0 0 0 0 flag0 1 moveflag MoveWP)) (flag0 :title "Color the Pin Yellow?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (mm :value-type :number :toggle-type :invisible :initial-value 25.40000) (Origin_W :value-type :measure-direction :toggle-type :invisible) (CustomName :value-type :number :toggle-type :invisible :initial-value 0) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Name the Pin (Generate_Name () (generate-fastener-name 7 FastType FastSize FastLength) (setq PartName *FastenerName*) );Generate_Name );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_set_screw_gen ;;;; =================================================================================================================== :dialog-title "Set Screw Generator" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Set Screw") (ConnType :title "Connection" :size :third :initial-value "" :range ((1 :label "Hex Socket") (3 :label "Square Head") ) ;(2 :label "Spline Socket") :after-input (cond ((= ConnType 1) (sd-set-range 'FastType '( (1 :label "Cone Point") (2 :label "Cup Point") (4 :label "Half Dog Point") (5 :label "Flat Point") (6 :label "Oval Point") )) ) ;((= ConnType 2) (sd-set-range 'FastType '( )) ) ((= ConnType 3) (sd-set-range 'FastType '( (1 :label "Cone Point") (2 :label "Cup Point") (3 :label "Dog Point") (4 :label "Half Dog Point") (5 :label "Flat Point") (6 :label "Oval Point") )) ) );cond );ConnType (FastType :title "Type" :size :third :range (( 0 :label "Select Connection") );range :initial-value 1 :after-input (progn (setq FastSize nil FastLength nil ThdClass nil SuggestBox nil PartName nil) (sd_gather_fastener_sizes 7 ConnType) (sd-set-range 'FastSize *GetFastSizes*) )) (FastSize :title "Size" :range ( (:error :label "Select Part Type") ) :initial-value 1 :after-input (progn (sd_gather_fastener_lengths 7 FastType FastSize) (sd-set-range 'FastLength *GetFastLengths*) )) (FastLength :title "Length" :initial-value 0 :range ((1 :label "Select Part Size") );range :after-input (Generate_Name) );Fastlength (ThdProfile :title "Thread Profile" :initial-value 0 :range ((1 :label "UNEF")(6 :label "UNREF")(2 :label "UNF")(7 :label "UNRF")(3 :label "UN") (8 :label "UNR")(4 :label "UNC")(9 :label "UNRC")(5 :label "UNS")(10 :label "UNRS")) :prompt-text "Select the correct thread profile for your fastener." :after-input (progn (if (equal *UseStaticPNList* T)(GetSuggestion)) (sd_compile_thread_tpi ThdProfile FastSize) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) ));progn (SuggestBox :title "Suggestions" :initial-value 0 :range ((1 :label "Select a Thread Class")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) ("Other Thread Information") (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class ThdProfile FastSize Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value :right-hand :after-input (sd_compile_bolt_threads ThdProfile FastSize Thd_TPI 1 Thd_Class Thd_Hand) ) ("") (Generate :title "Generate Socket Bolt" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 7 PartName FastType FastSize FastLength ConnType ThdProfile Thd_TPI Thd_Class Thd_Hand flag0 1 moveflag MoveWP) :next-variable 'ThdFace) (flag0 :title "Color the Bolt Red?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (mm :value-type :number :toggle-type :invisible :initial-value 25.4) (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Name the Set Screw (Generate_Name () (generate-fastener-name 6 FastType FastSize FastLength) (setq PartName *FastenerName*) );Generate_Name ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-set-screws ConnType FastType ThdProfile FastSize FastLength) (sd-set-range 'SuggestBox *PartNumber-Range-Set-Screws*) );GetSuggestion );local-functions );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_stud_double_ended ;;;; =================================================================================================================== :dialog-title "Double Ended Stud" :after-initialization '(sd_capture_or_reactivate_user_wp 0) :cleanup-action '(sd_capture_or_reactivate_user_wp 1) :variables '( (PICTURE :value-type :image :image-file (format nil "~A/Double_Stud.bmp" icon_dir)) ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Input Dimensions") (Length :title "Overall Length" :value-type :length :next-variable 'CoreDia) (CoreDia :title "Core Dia" :value-type :length :next-variable 'ThdSize1) (ThdSize1 :title "Thd Length A" :value-type :length :next-variable 'ThdSize2) (ThdSize2 :title "Thd Length B" :value-type :length :next-variable 'PartName) (PartName :title "Part Number" :value-type :string) (Generate :title "Generate Dbl. End Bolt" :title-alignment :center :toggle-type :wide-toggle :push-action (GenerateBolt)) (flag0 :title "Color the D.E. Stud Red?" :value-type :boolean :toggle-type :wide-toggle) ("Thread Information") (ThdFace :title "Thread Face" :selection *sd-cylinder-seltype* :next-variable 'Thd_Profile) (Thd_Profile :title "Thd Profile" :initial-value "" :range ((1 :label "UNEF") (6 :label "UNREF") (2 :label "UNF") (7 :label "UNRF") (3 :label "UN") (8 :label "UNR") (4 :label "UNC") (9 :label "UNRC") (5 :label "UNS") (10 :label "UNRS") ) :after-input (progn (sd_compile_thread_size Profile) (sd-set-range 'Thd_Size *GetThreadSizes*) ) :next-variable 'Thd_Size) (Thd_Size :title "Thd Size" :initial-value "" :range ((0 :label "Need Profile")) :after-input (progn (sd_compile_thread_tpi Thd_Profile Thd_Size) (sd-set-range 'Thd_TPI *Thd_Info_List_TPI*) ) :next-variable 'Thd_TPI) (Thd_TPI :title "Thd TPI" :initial-value "" :range ((0 :label "Need Size")) :after-input (progn (sd_compile_thread_class Thd_Profile Thd_Size Thd_TPI) (sd-set-range 'Thd_Class *Thd_Info_List_Class*) ) :next-variable 'Thd_Class) (Thd_Class :title "Thd Class" :initial-value "" :range ((0 :label "Need TPI")) :after-input (progn (setq Thd_Hand 1) (sd_compile_bolt_threads Thd_Profile Thd_Size Thd_TPI 1 Thd_Class Thd_Hand) ) :next-variable 'Thd_Hand) (Thd_Hand :title "Thd Hand" :range ((1 :label "Right Hand")(2 :label "Left Hand")) :initial-value :right-hand :after-input (sd_compile_bolt_threads Thd_Profile Thd_Size Thd_TPI 1 Thd_Class Thd_Hand) ) (CreateThd :title "Create Thread" :toggle-type :wide-toggle :push-action (progn (cond ((< Thd_Profile 3)(sd_Create_Imperial_Thread *Thd_EMaxDia* *Thd_EMinDia* Thd_TPI 1 :UNF :right-hand *Thd_NameStr* ThdFace *Thd_NameStr*)) ( t (sd_Create_Imperial_Thread *Thd_EMaxDia* *Thd_EMinDia* Thd_TPI 1 :UNC :right-hand *Thd_NameStr* ThdFace *Thd_NameStr*)) );cond (setq SelEdge nil) );progn :next-variable 'SelEdge ) (SelEdge :title "Chamfer Edge" :selection *sd-edge-3d-seltype* :after-input (sd-call-cmds(chamfer SelEdge :distance (*(+(/(- *Thd_EMaxDia* *Thd_EMinDia*)2) 0.01500)25.4) )) :next-variable 'ThdFace ) ;;Invisible Variables (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Create the Double Stud (GenerateBolt () ;;Delete the old fastener workplane (when (sd-inq-workplane-p(sd-pathname-to-obj "/sd_fastener_wp")) (sd-call-cmds(delete_3d "/sd_fastener_wp")) ) ;;If non is found, or old one deleted (sd-call-cmds (create_workplane :new :name "sd_fastener_wp"));sd-call-cmds ;;Now Rotate the new Workplane (sd-call-cmds (position_wp (sd-inq-curr-wp) :rotate :axis :u :rotation_angle (sd-deg-to-rad 90) :done)) ;;Create some variables (setf ThdSizeR (* 0.5 (- CoreDia 2.54)) CoreRad (* 0.5 CoreDia) );setf ;;Make the Geo Real (sd-call-cmds(geometry_mode :real)) ;;Draw the profuke (sd-call-cmds(polygon ;;Start with the Thread A on top (gpnt2d 0.000000 (- Length ThdSize1)) (gpnt2d ThdSizeR (- Length ThdSize1)) (gpnt2d ThdSizeR (- Length (+ ThdSize1 ThdSize2))) ;;Now Draw the core body (gpnt2d CoreRad (- Length (+ ThdSize1 ThdSize2))) (gpnt2d CoreRad 0.000000) ;;No finish with the Thread A under the X axis (gpnt2d ThdSizeR 0.000000) (gpnt2d ThdSizeR (* -1 ThdSize1)) (gpnt2d 0.000000 (* -1 ThdSize1)) :close ));sd-call-cmds ;;Now turn the profile to create the part (sd-call-cmds (turn :part (sd-inq-curr-part) :wp (sd-inq-curr-wp) :rotation_angle (sd-deg-to-rad 360) :axis :z :keep_wp :no :keep_profile :no)) ;;Check the flag for coloring (cond ((equal flag0 t) ((= Color 1)(sd-call-cmds (set_part_inst_color :parts (sd-inq-curr-part) :color :rgb 1,0,0) ) ));Red );cond ;;Secure the Part from Annotation (sd-call-cmds (secure_part_from_section :secured_parts (sd-inq-curr-part) :section_feature_in_general :secure) ) ;;Move the Part from Origin to MovePoint 3d-point (if (equal moveflag t) (Move_Part_to_New_Origin Name 0 MoveWP) );if (if (equal moveflag nil) (sd-display-alert (format nil "~A was created at the world origin" Name) :icon :information) );if ;;Now delete the leftover workplane (when (sd-inq-workplane-p (sd-pathname-to-obj "/DQ_Fastener_WP")) (sd-call-cmds(delete_3d (format NIL "/DQ_Fastener_WP"))) ) );GenerateBolt );Local-Func ;:help-action '() );sd-defdialog ;;;; =================================================================================================================== (sd-defdialog 'sd_fastener_washer_gen ;;;; =================================================================================================================== :dialog-title "Washer Generator" :after-initialization '(progn (sd_capture_or_reactivate_user_wp 0) (if (equal *UseStaticPNList* nil)(progn (sd-set-variable-status 'SuggestBox :enable nil)(sd-set-variable-status 'SuggestBox :visible nil) (sd-set-variable-status 'Research :enable nil)(sd-set-variable-status 'Research :visible nil) )) ) :variables '( ("Indicate Insertion Point") (SelFace :title "Select Face" :value-type :face :next-variable 'MoveWP ) (MoveWP :title "Center Pnt" :value-type :point-3d :after-input (CreateWPonFace) ) ("Select a Washer") (WashType :title "Type" :range (( 1 :label "Plain A - Nar") ( 2 :label "Plain A - Reg") ( 3 :label "Plain A - Wide") ( 4 :label "Plain B - Nar") ( 5 :label "Plain B - Reg") ( 6 :label "Plain B - Wide") ( 7 :label "High Collar") ( 8 :label "Spring Lock Reg") ( 9 :label "Spring Lock Hvy") (10 :label "Spring Lock Ex-Duty") (11 :label "Intern Tooth Lock") (12 :label "Intern Tooth Lock Hvy") (13 :label "Extern Tooth Lock") (14 :label "Int+Ext Tooth Lock A") (15 :label "Int+Ext Tooth Lock B") );range :size :third :initial-value 0 :after-input (progn (setq WashSize nil SuggestBox nil PartName nil) (sd_gather_fastener_sizes 8 WashType) (sd-set-range 'WashSize *GetFastSizes*) )) (WashSize :title "Size" :range ((0 :label "Need a Type!")) :size :third :initial-value 1 :after-input (progn (cond ((equal WashSize :error)(sd-display-alert "I really do need a Type!")) (t (Generate_Name))) (if (equal *UseStaticPNList* T)(GetSuggestion)) )) (SuggestBox :title "Suggestions" :initial-value 0 :range ((1 :label "Select a Size")) :after-input (setq PartName SuggestBox)) (Research :title "Research Part" :toggle-type :right-toggle :push-action (Display_PartNo PartName) ) (PartName :title "Name" :value-type :string :size :third) (Generate :title "Generate The Washer" :title-alignment :center :toggle-type :wide-toggle :push-action (sd_load_or_create_part 8 PartName WashType WashSize 0 0 0 0 0 0 flag0 1 moveflag MoveWP) ) (flag0 :title "Color the Washer Red?" :value-type :boolean :toggle-type :wide-toggle) ;;Invisible Variables (mm :value-type :number :toggle-type :invisible :initial-value 25.40000) (Origin_W :value-type :measure-direction :toggle-type :invisible) (moveflag :value-type :boolean :initial-value nil :toggle-type :invisible) );variables :local-functions '( ;;Setup User's WP Creations (CreateWPonFace () (sd_aquire_new_wp_origin_xyz "sd_fastener_wp" SelFace MoveWP) (setq moveflag T Origin_W *3D_Origin_W*) (setq *3D_Origin_W* Origin_W) );CreateWPonFace ;;Name the washer (Generate_Name () (generate-fastener-name 4 WashType WashSize nil) (setq PartName *FastenerName*) );Generate_Name ;;Find Suggested Fasteners (GetSuggestion () (sd-compile-fastener-partnumbers-washers WashType WashSize) (sd-set-range 'SuggestBox *PartNumber-Range-Washers*) );GetSuggestion );local-functions );sd-defdialog