LISP问题 请教 欢迎进来看看
刚学没多久,想对地形图中的高程点进行批量修改,高程点所在图层是GCD,下面是我写的,系统提示错误数据类型不对, 请问哪里不对 应该怎么做才能成功
(defun c:jgc(/ )
(setq w_new(getreal "\n输入需要增加的高程值:"))
(setq sl(ssget))
(setq n 0)
(repeat (sslength sl)
(setq e(ssname sl n))
(setq el(entget e))
(if (= "GCD" (cdr (assoc 8 el)))
(progn
(if (= "INSERT" (cdr (assoc 0 el)))
(progn
(setq w_old(cdddr (assoc 10 el)))
(setq w_new(+ w w_old))
(setq sl(subst (cons 10 w_new) (assoc 10 el)el))
(if (= 3 (cdr (assoc 72 el)))
(setq el(subst (cons 72 0) (assoc 72 el)el))
)
(entmod el)
)
)
)
(entmod el)
)
(setq n(+ 1 n))
)
)
[解决办法]
我没用过autocad,只能针对你的lisp程序建议。
1. 加一些打印语句,找到出问题的代码以及它所涉及的数据的结构。
2. 看看你的书上有没有关于debug的章节,优先学习,因为以后会常用到。