Tim i tried your code and still no luck..Same problem variables not set.Same goes for the added precision.
It is set with this
(setq area-name (nth (atoi area-name) areanamelist))
before the cond and it will print the name on the command line but then it will not be inserted in the block.
This is what i got sofar and still cant figure out what is wrong.
(defun c:DDLabelArea (/ area1 area2 tab oba inspoint objarea)
(setq areanamelist(list
""
"Badkamer"
"Onbenoemde Ruimte"
"Toilet"
"Verblijfsgebied A"
"Verblijfsgebied B"
"Verblijfsgebied C"
"Verblijfsgebied D"
"Verblijfsgebied E"
"Verblijfsgebied F"
"Verblijfsgebied G"
"Verblijfsgebied H"
"Verblijfsgebied I"
"Verblijfsgebied J"
"Verkeersgebied"
))
(setq rotationlist(list "0" "45" "90" "135" "180" "225" "270" "315"))
(setq precisionlist (list "0" "0.0" "0.00" "0.000" "0.0000" "0.00000" "0.000000" "0.0000000" "0.00000000"))
; ************************************************
(defun txtbox_infohulp ()
(alert
(strcat
"DDLabelArea 2006 Help.\n\n"
"Klik op OK om dit venster te sluiten.\n\n"
"Please report any problems you may have.\n\n"
)
)
)
; ************************************************
(setq DDLA (load_dialog "DDlabelarea"))
(new_dialog "DDlabelarea" DDLA)
(start_list "areanamelist")
(mapcar 'add_list areanamelist)
(end_list)
(start_list "rotationlist")
(mapcar 'add_list rotationlist)
(end_list)
(start_list "precisionlist")
(mapcar 'add_list precisionlist)
(end_list)
; ************************************************
(defun do_hatch ()
(if (= (get_tile "do-hatch") "1")(setq hatch-area "J"))
(if (/= (get_tile "do-hatch") "1")(setq hatch-area "N"))
)
; ************************************************
(set_tile "precisionlist" "2")
(action_tile "accept" "(setq area-name (get_tile \"areanamelist\"))(setq rotation (get_tile \"rotationlist\"))(setq precision (get_tile \"precisionlist\"))(setq suffix (get_tile \"suffixlist\"))(done_dialog 1)")
(action_tile "do-hatch" "(do_hatch)")
(action_tile "hulp" "(txtbox_infohulp)")
(action_tile "cancel" "(exit)(exit)")
(setq RET (start_dialog))}
(setvar "cmdecho" 1)
(setq fd (getvar "fielddisplay"))
(if (/= fd 1)(setvar"fielddisplay" 1))
(prompt "\nSelect Area Boundary (This must be an Closed Polyline): ")
(while (not (setq ss (ssget ":e:s" '((0 . "LWPOLYLINE") (70 . 1)))))
(prompt "\nSelected object is NOT an Closed LWPolyline.... "))
(setq area1 (ssname ss 0))
(setq area2 area1)
(setq tab (vlax-ename->vla-object area2))
(setq oba (vla-get-objectid tab))
(princ)
(setq inspoint (getpoint "\nPick label insertion point:"))
(princ)
(setq area-name (nth (atoi area-name) areanamelist))
(cond
(
(and (= suffix "suffix1")(= precision "0") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr0%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.0") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr1%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.00") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr2%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr3%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.0000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr4%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.00000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr5%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.000000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr6%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.0000000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr7%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix1")(= precision "0.00000000")(setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr8%ps[, m2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr0%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.0") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr1%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.00") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr2%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr3%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.0000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr4%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.00000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr5%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.000000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr6%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.0000000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr7%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix2")(= precision "0.00000000")(setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr8%ps[, M2]%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr0%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.0") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr1%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.00") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr2%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr3%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.0000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr4%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.00000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr5%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.000000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr6%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.0000000") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr7%ps%ds44%ct8[1e-006]\">%"))))
(
(and (= suffix "suffix3")(= precision "0.00000000")(setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr8%ps%ds44%ct8[1e-006]\">%"))))
;((= suffix "suffix1") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr4%ps[, m2]%ds44%ct8[1e-006]\">%")))
;((= suffix "suffix2") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr2%ps[, M2]%ds44%ct8[1e-006]\">%")))
;((= suffix "suffix3") (setq objarea (strcat "%<\\AcObjProp Object(%<\\_ObjId " (rtos oba 2 0) ">%).Area \\f \"%lu2%pr2%ps%ds44%ct8[1e-006]\">%")))
((= area-name "Badkamer") (setq anghatch "135")(setq dblhatch "n"))
((= area-name "Toilet") (setq anghatch "135")(setq dblhatch "n"))
((= area-name "Verblijfsgebied A")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied B")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied C")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied D")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied E")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied F")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied G")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied H")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied I")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verblijfsgebied J")(setq anghatch "45") (setq dblhatch "n"))
((= area-name "Verkeersgebied") (setq anghatch "45") (setq dblhatch "y"))
)
(setvar "attdia" 0)
(setvar "attreq" 1)
(setq schaal (rtos(getvar "userr1")))
(command "-insert" "oppervlakte" "s" schaal inspoint (nth (atoi rotation) rotationlist) (nth (atoi area-name) areanamelist) objarea )
(setq hatchobjects(entlast))
(command "-layer" "s" "00---0-a_Arceer" "")
(print anghatch)
(print dblhatch)
(setq area-name (nth (atoi area-name) areanamelist))
;;(if (= hatch-area "J")(command "-bhatch" "s" area1 hatchobjects "" "p" "u" "45" "150" "n" ""))
(if (= hatch-area "J")(command "-bhatch" "s" area1 hatchobjects "" "p" "u" anghatch "150" dblhatch ""))
(setq hatch-area nil )
(setq hatchobjects nil )
(setq suffix nil )
(setq anghatch nil )
(setq dblhatch nil)
(command "-layer" "s" "0" "")
(setvar "attdia" 1)
(setvar "attreq" 1)
(princ)
)
DDlabelarea : dialog {value = "DDLabelArea 2006";
:row{
:boxed_row {label = "< Select Area Name >";
:popup_list {key = "areanamelist"; width = 25;}}
:boxed_row {label = "< Precision >";
:popup_list {key = "precisionlist";width = 1;}}
}
:spacer{height=1;}
:boxed_radio_row{label="< Suffix >";key="suffixlist";
:radio_button {label="m2" ;key="suffix1" ;mnemonic = "2";value = "1";}
:radio_button {label="M2" ;key="suffix2" ;mnemonic = "M";}
:radio_button {label="None" ;key="suffix3" ;mnemonic = "N";}
}
:spacer{height=1;}
:row{
:boxed_row {label = "< Rotation >";
:popup_list {key = "rotationlist" ; width = 1; }}
:boxed_row {label = "< Hatch > " ;
:spacer{height=1;}
:toggle {label = "Yes"; key = "do-hatch";mnemonic = "Y";}}}
:row{
:button {label="Sel. Object";width =10;height = 1.4;key="accept";mnemonic = "S";}
:button {label="Help" ;width =10;height = 1.4;key="hulp" ;mnemonic = "H";}
:spacer {height=5;}
cancel_button;
}
}