Extended modules > Advanced Machining > Machining customization > Supplying additional tables - example 3
  
Supplying additional tables - example 3
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 some restrictions in supplying tables for customization. In this example one column is left out, as it looks "superfluous". The hole diameter is removed from the logical and the display table, but now no hole diameter can be transferred as a result of the entry and the needed value cannot be transferred and as the "main" value is not shown in the display table Creo Elements/Direct Modeling will complain about when trying to load this file.
|#
;;
;;---- 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
)
;;