明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 536|回复: 2

[提问] 菜鸟来求助一个autolisp问题

[复制链接]
发表于 2015-12-28 23:06:05 | 显示全部楼层 |阅读模式
  1. (defun c:dia5d()
  2.   (setvar "cmdecho" 0)
  3.   (sub_dia5d)
  4.   (if ss (dcl_dia5d))
  5.   (prin1)
  6.   )
  7. (defun sub_dia5d()
  8.   (setq ss(ssget))
  9.   (if (null ss)(setq ss(ssadd)))
  10.   (setq cir_num 0 line_num 0 text_num 0)
  11.   (setq n 0)
  12.   (repeat (sslength ss)
  13.     (setq en (ssname ss n))
  14.     (setq entype (cdr (assoc 0 (entget en))))
  15.     (cond ((= entype "circle") (setq cir_num (1+ cir_num)))
  16.     ((= entype "line") (setq line_num (1+ line_num)))
  17.     ((= entype "text") (setq text_num (1+ text_num)))
  18.     )
  19.     (setq n (1+ n))
  20.     ))
  21. (defun dcl_dia5d()
  22.   (setq dcl_id (load_dialog "f://VP//dia5d.dcl"))
  23.   (if (not (new_dialog "dia5d" dcl_id))(exit))
  24.   (set_tile "t_cir" (itoa cir_num))
  25.   (set_tile "t_line" (itoa line_num))
  26.   (set_tile "t_text" (itoa text_num))
  27.   (setq dd (start_dialog))
  28.   )

  1. dia5d:dialog{
  2.   label="对话框text文字实例测试";
  3.   :concatenation{
  4.     :text_part{label="共选到【";}
  5.     :text{width=6;
  6.           key="t_cir";}
  7.     :text_part{label="】个circel";}
  8.     }
  9.   :concatenation{
  10.     :text_part{label="共选到【";}
  11.     :text{width=6;
  12.           key="t_line";}
  13.     :text_part{label="】个line";}
  14.     }
  15.   :concatenation{
  16.     :text_part{label="共选到【";}
  17.     :text{width=6;
  18.           key="t_text";}
  19.     :text_part{label="】个text";}
  20.     }
  21.   ok_cancel;
  22.   }


执行后提示  错误: quit / exit abort
发表于 2015-12-28 23:46:59 | 显示全部楼层
(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" 可能要大写
发表于 2015-12-29 08:19:11 | 显示全部楼层
用了(exit)函数就有这种提示。
  1. (defun c:dia5d()
  2.   (setvar "cmdecho" 0)
  3.   (sub_dia5d)
  4.   (if ss (dcl_dia5d))
  5.   (prin1)
  6.   )
  7. (defun sub_dia5d()
  8.   (setq ss(ssget))
  9.   (if (null ss)(setq ss(ssadd)))
  10.   (setq cir_num 0 line_num 0 text_num 0)
  11.   (setq n 0)
  12.   (repeat (sslength ss)
  13.     (setq en (ssname ss n))
  14.     (setq entype (cdr (assoc 0 (entget en))))
  15.     (cond
  16.          ((= entype "CIRCLE") (setq cir_num (1+ cir_num)))
  17.      ((= entype "LINE") (setq line_num (1+ line_num)))
  18.      ((= entype "TXT") (setq text_num (1+ text_num)))
  19.     )
  20.     (setq n (1+ n))
  21.   )
  22. )
  23. (defun dcl_dia5d()
  24.   (if (> (setq dcl_id (load_dialog "f://VP//dia5d.dcl")) 0) (progn
  25.    (if (new_dialog "dia5d" dcl_id) (progn
  26.     (set_tile "t_cir" (itoa cir_num))
  27.     (set_tile "t_line" (itoa line_num))
  28.     (set_tile "t_text" (itoa text_num))
  29.     (setq dd (start_dialog))
  30.    )
  31.     (princ "\n无法显示对话框!")
  32.    )
  33.    (unload_dialog dcl_id)
  34.   )
  35.    (princ "\n无法加载对话框!")
  36.   )
  37. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-21 01:05 , Processed in 0.165966 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表