Extended modules > Advanced Machining > Machining customization > Customizing an existing table by replacement
  
Customizing an existing table by replacement
This is an example file showing the possibility to customize the Partially Threaded Through Hole dialog box in the of Creo Elements/Direct Machining Advisor by using the Creo Elements/Direct Modeling Integration Kit. This example is maintained according to the actual status of Creo Elements/Direct Machining Advisor. The file is not guaranteed to work with future releases of Creo Elements/Direct Machining Advisor without the changes that are required in absolutely necessary cases.
No guarantee is implied that the values are conform to the standard.
|#
;;
;;---- all customization of Dialogs belonging to Machining Advisor have to be
;;---- made within package ':cad-cam-link-customization'
;;
(in-package :cad-cam-link-customization)
;;
;;---- To use the Integration Kit functionality, you have to use the
;; package 'oli' which contains all the functions of the Integration Kit
;;---- and stands for Open-Lisp-Interface
;;
(use-package :oli)
;;
;;---- For more information about the table names or function names
;; mentioned below, please refer to the
;; Data table customization.
;;---- Now changing (i.e. replacing) contents of the tap-table of
;; Machining Advisor
;; Using the class name "TappedHoles" will cause Machining Advisor to use
;; this table for all Tapped Holes as long as there are no special tables
;; for individual tapped holes like "PartiallyThreadedThroughHoles"
;; Caveat: The names of the table has to be given in lowercase letters !
;; The colums contain the following data :
;; 1. Column Name : Tap Units
;; Key : :tap_units
;; Type : string {
;; "inch" :inch
;; "metric" :metric
;; "BSF" :bsf
;; "BSW" :bsw
;; "BSP" :bsp
;; "UNC" :unc
;; "UNF" :unf
;; "NPT" :npt
;; "Rp" :pipe_rp
;; "G" :pipe_g
;; "JIS_B_0203" :pipe_jis_b_0203
;; "PG" :pipe_pg
;; "MF" :metric_fine
;; "Trapezoid" :trapezoid
;; "FlatTrapezoid" :flat_tapezoid
;; "Saw" :saw
;; "Round" :round
;; "Round_Mining" :round_mining
;; "Edison" :edison
;; }
;; Unit : nil
;; 2. Column Name : Thread Dia Id
;; Key : :thread_dia_id
;; Type : string
;; Unit : nil
;; 3. Column Name : Drill Rad (the radius of the pilot hole)
;; Key : :drill_rad
;; Type : :length
;; Unit : :mm
;; 4. Column Name : Tap Rad (radius of the nominal diameter of the thread)
;; Key : :tap_rad
;; Type : :length
;; Unit : :mm
;; 5. Column Name : Thread Size (the pitch or thread lead of the thread)
;; Key : :thread_size
;; Type : :length
;; Unit : :mm
;; 6. Column Name : Chamfer Rad (the outer radius of the chamfer)
;; Key : :cham_rad
;; Type : :length
;; Unit : :mm
;; 7. Column Name : Standard Tap Clearance (approximately 6 times thread pitch)
;; Key : :std_tap_clearance
;; Type : :length
;; Unit : :mm
;; 8. Column Name : Thread Starts
;; Key : :thread_starts
;; Type : :number
;; Unit : nil
;; 9. Column Name : Nominal Pipe Diameter
;; Key : :nominal_pipe_dia
;; Type : :length
;; Unit : :mm
;; 10. Column Name : Thread TPI (the pitch or thread lead of the thread given in threads-per-inch)
;; Key : :thread_tpi
;; Type : :number
;; Unit : nil
;; 11. Column Name : Thread TPI nominator
;; Key : :thread_tpi_num
;; Type : :number
;; Unit : nil
;; 12. Column Name : Thread TPI denominator
;; Key : :thread_tpi_den
;; Type : :number
;; Unit : nil
;;
;; for further information about the "sd-change-logical-table-contents" please
;; refer to the documentation of the SolidDesigner Integration Kit
;;
;; As you can see within the example, the units of the columns can be redefined and have to be
;; specified therefore, but you can override the units for every entry by specifying a LISP list
;; containing a value and a units keyword.
;;
;;
;;---- The lines up to and including "16-2" represent the table as it came with Machining Advisor in version 11.50
;;
(let (
(table-content '(
("inch" "#4-40" (0.0445 :inch) (0.056 :inch) 0.0 (0.0675 :inch) (0.15 :inch) 1 0.0 40 0 1)
("inch" "#5-40" (0.05075 :inch) (0.0625 :inch) 0.0 (0.074 :inch) (0.15 :inch) 1 0.0 40 0 1)
("inch" "#6-32" (0.05325 :inch) (0.069 :inch) 0.0 (0.08325 :inch) (0.188 :inch) 1 0.0 32 0 1)
("inch" "#8-32" (0.068 :inch) (0.082 :inch) 0.0 (0.09625 :inch) (0.188 :inch) 1 0.0 32 0 1)
("inch" "#10-24" (0.0735 :inch) (0.095 :inch) 0.0 (0.11425 :inch) (0.25 :inch) 1 0.0 24 0 1)
("inch" "#10-32" (0.0795 :inch) (0.095 :inch) 0.0 (0.10925 :inch) (0.188 :inch) 1 0.0 32 0 1)
("inch" "#12-24" (0.0885 :inch) (0.108 :inch) 0.0 (0.12725 :inch) (0.25 :inch) 1 0.0 24 0 1)
("inch" "#12-28" (0.09 :inch) (0.108 :inch) 0.0 (0.12725 :inch) (0.215 :inch) 1 0.0 28 0 1)
("inch" "1/4-20" (0.1005 :inch) (0.125 :inch) 0.0 (0.148 :inch) (0.300 :inch) 1 0.0 20 0 1)
("inch" "1/4-28" (0.1065 :inch) (0.125 :inch) 0.0 (0.14125 :inch) (0.215 :inch) 1 0.0 28 0 1)
("inch" "5/16-18" (0.1285 :inch) (0.15625 :inch) 0.0 (0.1815 :inch) (0.333 :inch) 1 0.0 18 0 1)
("inch" "5/16-24" (0.132 :inch) (0.15625 :inch) 0.0 (0.17525 :inch) (0.25 :inch) 1 0.0 24 0 1)
("inch" "3/8-16" (0.15625 :inch) (0.1875 :inch) 0.0 (0.216 :inch) (0.375 :inch) 1 0.0 16 0 1)
("inch" "3/8-24" (0.166 :inch) (0.1875 :inch) 0.0 (0.20675 :inch) (0.25 :inch) 1 0.0 24 0 1)
("inch" "7/16-14" (0.184 :inch) (0.21875 :inch) 0.0 (0.2515 :inch) (0.429 :inch) 1 0.0 14 0 1)
("inch" "7/16-20" (0.1953 :inch) (0.21875 :inch) 0.0 (0.2415 :inch) (0.300 :inch) 1 0.0 20 0 1)
("inch" "1/2-13" (0.21095 :inch) (0.25 :inch) 0.0 (0.2855 :inch) (0.462 :inch) 1 0.0 13 0 1)
("inch" "1/2-20" (0.2265 :inch) (0.25 :inch) 0.0 (0.273 :inch) (0.300 :inch) 1 0.0 20 0 1)
("inch" "9/16-12" (0.2422 :inch) (0.28125 :inch) 0.0 (0.3195 :inch) (0.500 :inch) 1 0.0 12 0 1)
("inch" "9/16-18" (0.2578 :inch) (0.28125 :inch) 0.0 (0.3065 :inch) (0.333 :inch) 1 0.0 18 0 1)
("inch" "5/8-11" (0.2656 :inch) (0.3125 :inch) 0.0 (0.3545 :inch) (0.546 :inch) 1 0.0 11 0 1)
("inch" "5/8-18" (0.28905 :inch) (0.3125 :inch) 0.0 (0.338 :inch) (0.333 :inch) 1 0.0 18 0 1)
("inch" "3/4-10" (0.3281 :inch) (0.375 :inch) 0.0 (0.421 :inch) (0.600 :inch) 1 0.0 10 0 1)
("inch" "3/4-16" (0.34375 :inch) (0.375 :inch) 0.0 (0.4035 :inch) (0.375 :inch) 1 0.0 16 0 1)
("inch" "7/8-9" (0.3828 :inch) (0.4375 :inch) 0.0 (0.4885 :inch) (0.667 :inch) 1 0.0 9 0 1)
("inch" "7/8-14" (0.40625 :inch) (0.4375 :inch) 0.0 (0.4705 :inch) (0.429 :inch) 1 0.0 14 0 1)
("inch" "1-8" (0.4375 :inch) (0.5 :inch) 0.0 (0.5575 :inch) (0.750 :inch) 1 0.0 8 0 1)
("inch" "1-12" (0.46095 :inch) (0.5 :inch) 0.0 (0.5375 :inch) (0.500 :inch) 1 0.0 12 0 1)

("metric" "3-.5" 1.25 1.5 0.5 1.7 3.0 1 0.0 0 0 1)
("metric" "4-.7" 1.65 2.0 0.7 2.315 4.2 1 0.0 0 0 1)
("metric" "5-.8" 2.1 2.5 0.8 2.86 4.8 1 0.0 0 0 1)
("metric" "6-1" 2.5 3.0 1.0 3.45 5.0 1 0.0 0 0 1)
("metric" "8-1.25" 3.4 4.0 1.25 4.5625 7.5 1 0.0 0 0 1)
("metric" "10-1.5" 4.25 5.0 1.5 5.675 9.0 1 0.0 0 0 1)
("metric" "12-1.75" 5.1 6.0 1.75 6.7875 10.5 1 0.0 0 0 1)
("metric" "12-1.5" 5.25 6.0 1.5 6.7875 10.5 1 0.0 0 0 1)
("metric" "16-2" 7.0 8.0 2.0 8.9 12.0 1 0.0 0 0 1)
("metric" "20-2.5" 8.75 10.0 2.5 1.133 7.5 1 0.0 0 0 1)
("metric" "24-3" 10.5 12.0 3.0 3.367 8.5 1 0.0 0 0 1)
("metric" "30-3.5" 13.25 15.0 3.5 6.600 10.0 1 0.0 0 0 1)
("metric" "36-4" 16 18.0 4.0 9.833 11.0 1 0.0 0 0 1)
("metric" "42-4.5" 18.75 21.0 4.5 3.067 12.0 1 0.0 0 0 1)
("metric" "48-5" 21.5 24.0 5.0 6.333 13.0 1 0.0 0 0 1)
("metric" "56-5.5" 25.25 28.0 5.5 0.533 15.0 1 0.0 0 0 1)
("metric" "64-6" 28.75 32.0 6.0 4.767 16.0 1 0.0 0 0 1)
)
)
)
(sd-change-logical-table-contents "mach_adv_library-tappedholes-thread_dia-table"
:units '(nil nil :mm :mm :mm :mm :mm nil :mm nil nil nil)
:contents table-content
)
)
#|