Extended modules > Advanced Machining > Machining customization > Supplying additional tables - example 4
  
Supplying additional tables - example 4
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
;;
;; Caveat: The names of the table has to be given in lowercase letters !
;;
;; The colums contain the following data :
;; 1. Column Name : Description
;; Key : :description (not expected at all by the dialog)
;; 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
;; 5. Column Name : Side Surface Quality
;; Key : :side_sf_qual
;; Type : :list
;; Unit : nil
;;
;; for further information about the "sd-create-logical-table" please
;; refer to the documentation of the Creo Elements/Direct Modeling 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.
;;----
;;
(sd-create-logical-table "mach_adv_library-countersunk_throughhole-drill_dia-table"
:columns '( :drill_dia_id :drill_dia :drill_dia_tol :chamfer_depth :side_sf_qual)
:columnNames '( "Description" "Hole Diameter" "Hole Diameter Tolerance" "Chamfer Depth" "Side Surface Quality")
:types '( :string :length :list :length :list)
:units '( nil :mm nil :mm :nil)
:contents '(
(
"16f"
17.0
(:value 17 :tol_type :iso :iso "H12")
.4
(:iso :N5)
)
(
"16m"
18.0
(:value 18 :tol_type :iso :iso "H13")
.5
(:ra_type :ra_value :ra_value 0.0625)
)
(
"16g"
19.0
(:value 19 :tol_type :iso :iso "H14")
.5
(:ra_type :ra_value :ra_value 0.125)
)
)
)
;;
;;---- 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 '(:description :drill_dia)
:filterStatusLine nil
:applyColumns '(:drill_dia)
:selectionMode :single-row
:applyAction :default-tokens
)
;;