Extended modules > Advanced Machining > Machining customization > Supplying additional tables - example 2
  
Supplying additional tables - example 2
This is an example file showing the possibility to customize the Countersunk Through Hole dialog box in the 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.
This example shows the possibility to supply additional data together with one selection in cases where a company or external standard enforces specific combinations on values. The example uses the different throughholes for M16 screws. You will notice that the diameter of 16 turns up only within the description.
|#
;;
;;---- 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 creating a new table to support the entry of values of Countersunk holes
;; within Machining Advisor
;; Using the class name "countersunk_throughhole-drill_dia" will cause Machining Advisor to use
;; this table only for the countersunk through hole but will not use it for countersunk partially
;; toleranced throughholes.
;;
;; Caveat: The names of the table has to be given in lowercase letters !
;;
;; The colums contain the following data :
;; 1. Column Name : Description
;; Key : :drill_dia_id
;; Type : string
;; Unit : nil
;; 2. Column Name : Hole diameter
;; Key : :drill_dia
;; Type : :length
;; Unit : :mm
;; 3. Column Name : Hole Diameter Tolerance
;; Key : :drill_dia_tol
;; Type : :list
;; Unit : nil
;; 4. Column Name : Chamfer Depth
;; Key : :chamfer_depth
;; Type : :length
;; Unit : :mm
;;
;; for further information about the "sd-change-logical-table-contents" please
;; refer to the documentation of the SolidDesigner Integration Kit
(sd-create-logical-table "mach_adv_library-countersunk_throughhole-drill_dia-table"
:columns '( :drill_dia_id :drill_dia :drill_dia_tol :chamfer_depth)
:columnNames '( "Description" "Hole Diameter" "Hole Diameter Tolerance" "Chamfer Depth")
:types '( :string :length :list :length)
:units '( nil :mm nil :mm)
:contents '(
("16f" 17.0 (:value 17 :tol_type :iso :iso "H12") .4)
("16m" 18.0 (:value 18 :tol_type :iso :iso "H13") .5)
("16g" 19.0 (:value 19 :tol_type :iso :iso "H14") .5)
)
)
;;
;;---- There must be a display table for each logical table,
;;---- else the table cannot be used at all.
;;
(sd-create-display-table "mach_adv_library-countersunk_throughhole-drill_dia-table"
:tableTitle "Countersunk"
:logicalTable "mach_adv_library-countersunk_throughhole-drill_dia-table"
:columns '(:drill_dia_id :drill_dia)
:filterStatusLine nil
:applyColumns '(:drill_dia_id)
:selectionMode :single-row
:applyAction :default-tokens
);;