The following examples compose property alteration definitions that use range tables.
(defun c:run_altpsample1 ()
; Range table for Color is:
; < 15 "green"
; < 20 "yellow"
; otherwise "red"
(ade_rtdefrange
"COLOR_RANGE" "Color Range Table"
'(
("<" 15 "green")
("<" 20 "yellow")
("otherwise" "" "red")
)
)
; Range table for Text Value is:
; < 15 "Small"
; < 20 "Medium"
; otherwise "Large"
(ade_rtdefrange
"TEXT_RANGE" "Text Value Range Table"
'(
("<" 15 "Small")
("<" 20 "Medium")
("otherwise" "" "Large")
)
)
; The layer of each object will be used to determine what value
; from the range table is to be used:
; Clear out any existing alteration definitions:
(ade_altpclear)
; Next define the color for the objects being created:
(ade_altpdefine "color" "(range .layer COLOR_RANGE)")
; Next define the text object to be created for each entity:
(ade_altpdefine
"textobject"
'(
("color" "(range .layer COLOR_RANGE)")
("textvalue" "(range .layer TEXT_RANGE)")
)
)
; For fill, use the following property alteration functions
(ade_altpdefine
"hatch"
'(
("pattern" "(range .layer TEXT_RANGE)")
("color" "(range .layer COLOR_RANGE)")
)
)
(princ)
)
(defun c:run_altpsample2 ()
; Range table for pattern is:
(ade_rtdefrange
"PATTERN_RANGE" "Hatch Pattern Range Table"
'(
("<" 15 "Earth")
("<" 20 "Grass")
("otherwise" "" "Swamp")
)
)
; Range table for Color is:
(ade_rtdefrange
"COLOR_RANGE" "Color Range Table"
'(
("<" 15 "green")
("<" 20 "yellow")
("otherwise" "" "red")
)
)
; Range table for scale is:
(ade_rtdefrange
"SCALE_RANGE" "Hatch Scale Range Table"
'(
("<" 15 "25")
("<" 20 "50")
("otherwise" "" "100")
)
)
; Range table for Angle is:
(ade_rtdefrange
"ANGLE_RANGE" "Hatch Angle Range Table"
'(
("<" 15 "45")
("<" 20 "90")
("otherwise" "" "0")
)
)
; The layer of each object will be used to determine which value
; from the range table is to use
; Clear out any existing alteration definitions:
(ade_altpclear)
; For fill, use the following property alteration functions
(ade_altpdefine
"hatch"
'(
("pattern" "(range .layer PATTERN_RANGE)")
("scale" "(range .layer SCALE_RANGE)")
("rotation" "(range .layer ANGLE_RANGE)")
("color" "(range .layer COLOR_RANGE)")
)
)
(princ)
)
(defun c:run_altpsample3 ()
; Range table for symbol name is:
(ade_rtdefrange
"SYMBOL_RANGE" "Symbol Name Range Table"
'(
("<" 15 "Sym1")
("<" 20 "Sym2")
("otherwise" "" "Sym3")
)
)
; Range table for scale is:
(ade_rtdefrange
"SCALE_RANGE" "Symbol Scale Range Table"
'(
("<" 15 "5")
("<" 20 "10")
("otherwise" "" "50")
)
)
; Range table for Color is:
(ade_rtdefrange
"COLOR_RANGE" "Color Range Table"
'(
("<" 15 "green")
("<" 20 "yellow")
("otherwise" "" "red")
)
)
; The layer of each object will be used to determine which
; value from the range table to use
; Clear out any existing alteration definitions:
(ade_altpclear)
; For fill, use the following property alteration functions:
(ade_altpdefine "blockname" "(range .layer SYMBOL_RANGE)")
(ade_altpdefine "scale" "(range .layer SCALE_RANGE)")
(ade_altpdefine "color" "(range .layer COLOR_RANGE)")
(princ)
)


