最初由 gucci218 发布
[B]楼上,你每次都用if 或while 给我单写个程序,能不能针对我的lisp中的错误给分析分析,你的有些我看不懂。 [/B]
程序错误分析对照:
 - [FONT=courier new](defun c:mcir ()
- (setvar "cmdecho" 0)
- (setq en (entsel "选取直线:"))
- (setq endate (entget (car en)))
- ;(setq x1 car(cdr (assoc 10 endate)));少了一对括号
- (setq x1 (car(cdr (assoc 10 endate))))
- ;(setq y1 cadr(cdr (assoc 10 endate)));少了一对括号
- (setq y1 (cadr(cdr (assoc 10 endate))))
- ;(setq x2 car(cdr (assoc 11 endate)));少了一对括号
- (setq x2 (car(cdr (assoc 11 endate))))
- ;(setq y2 cadr (cdr (assoc 11 endate)));少了一对括号
- (setq y2 (cadr (cdr (assoc 11 endate))))
- (setq m1 (/ (+ x1 x2) 2))
- (setq m2 (/ (+ y1 y2) 2))
- (setq cen (list m1 m2))
- (setq mr (getdist cen "\n输入半径:"))
- (command "circle" cen mr)
- (prin1)
- )[/FONT]
简化版
 - [FONT=courier new](load "xyp_lib")
- ;|加载通用函数(可在签名栏直接下载)
- 如果已经下载xyp_lib并放到搜索路径下可以不再下载!
- 利用以下任何一种方式(首选第一种)即可加载和运行通用函数内的所有子程序:
- ★1·在acad.lsp中增加(load"xyp_lib")
- ■2·在每个程序内增加(load"xyp_lib")
- ■3·在command下,输入(load"xyp_lib")
- ■4·在菜单.mnl中增加(load"xyp_lib")
- ■5·将xyp_lib.vlx文件直接拽到cad屏幕
- [COLOR=red] ★通用函数下载地址:[/COLOR]
- [url]http://www.xdcad.net/forum/attachment.php?s=&postid=1606661[/url]
- |;
- (defun c:test ()
- (cmdla0)
- (setq s1 (car (usel1 0 "LINE" "LINE线")) ;确保选择line线
- pt1 (cdr (assoc 10 (entget s1))) ;取得起点
- pt2 (cdr (assoc 11 (entget s1))) ;取得终点
- cen (xyp-get-MidPoint pt1 pt2) ;取得中点
- mr (UREAL 7 "" "\n输入半径" mr) ;半径
- )
- (command "circle" cen mr)
- (cmdla1)
- )[/FONT]
|