菜鸟来求助一个autolisp问题
(defun c:dia5d()(setvar "cmdecho" 0)
(sub_dia5d)
(if ss (dcl_dia5d))
(prin1)
)
(defun sub_dia5d()
(setq ss(ssget))
(if (null ss)(setq ss(ssadd)))
(setq cir_num 0 line_num 0 text_num 0)
(setq n 0)
(repeat (sslength ss)
(setq en (ssname ss n))
(setq entype (cdr (assoc 0 (entget en))))
(cond ((= entype "circle") (setq cir_num (1+ cir_num)))
((= entype "line") (setq line_num (1+ line_num)))
((= entype "text") (setq text_num (1+ text_num)))
)
(setq n (1+ n))
))
(defun dcl_dia5d()
(setq dcl_id (load_dialog "f://VP//dia5d.dcl"))
(if (not (new_dialog "dia5d" dcl_id))(exit))
(set_tile "t_cir" (itoa cir_num))
(set_tile "t_line" (itoa line_num))
(set_tile "t_text" (itoa text_num))
(setq dd (start_dialog))
)
dia5d:dialog{
label="对话框text文字实例测试";
:concatenation{
:text_part{label="共选到【";}
:text{width=6;
key="t_cir";}
:text_part{label="】个circel";}
}
:concatenation{
:text_part{label="共选到【";}
:text{width=6;
key="t_line";}
:text_part{label="】个line";}
}
:concatenation{
:text_part{label="共选到【";}
:text{width=6;
key="t_text";}
:text_part{label="】个text";}
}
ok_cancel;
}
执行后提示错误: quit / exit abort
(setq dcl_id (load_dialog "f://VP//dia5d.dcl"))这一句要改一下,DCL位置
(cond ((= entype "circle") (setq cir_num (1+ cir_num)))
((= entype "line") (setq line_num (1+ line_num)))
((= entype "text") (setq text_num (1+ text_num)))
)
"circle""line""text" 可能要大写 用了(exit)函数就有这种提示。(defun c:dia5d()
(setvar "cmdecho" 0)
(sub_dia5d)
(if ss (dcl_dia5d))
(prin1)
)
(defun sub_dia5d()
(setq ss(ssget))
(if (null ss)(setq ss(ssadd)))
(setq cir_num 0 line_num 0 text_num 0)
(setq n 0)
(repeat (sslength ss)
(setq en (ssname ss n))
(setq entype (cdr (assoc 0 (entget en))))
(cond
((= entype "CIRCLE") (setq cir_num (1+ cir_num)))
((= entype "LINE") (setq line_num (1+ line_num)))
((= entype "TXT") (setq text_num (1+ text_num)))
)
(setq n (1+ n))
)
)
(defun dcl_dia5d()
(if (> (setq dcl_id (load_dialog "f://VP//dia5d.dcl")) 0) (progn
(if (new_dialog "dia5d" dcl_id) (progn
(set_tile "t_cir" (itoa cir_num))
(set_tile "t_line" (itoa line_num))
(set_tile "t_text" (itoa text_num))
(setq dd (start_dialog))
)
(princ "\n无法显示对话框!")
)
(unload_dialog dcl_id)
)
(princ "\n无法加载对话框!")
)
)
页:
[1]