这个CAD LSP出错在哪里?

(defunc:XXXX(/oscebmsssela)(prompt"")(setqos(getvar"osmode")ce(getvar"cmdecho")bm(get... (defun c:XXXX (/ os ce bm ss se la )
(prompt "")
(setq os (getvar "osmode")
ce (getvar "cmdecho")
bm (getvar "blimpode")
)
(setvar "osmode" 37)
(setq se (getstring "\n input layer name<any key>/select matching object <enter>")
)
(if (= se "")
(progn
(setq la (cdr (assoc '8 (entget (car (entsel "\n select an object to match it"
) ) ) ) ) )
(setq ss (ssget))
(command "copy" ss "" "@" "@")
(command "_change" ss "" "p" "la" la "")
)
(progn
(setq la (getstring "\n enter layer name>"))
(setq ss (ssget))
(command "copy" ss "" "@" "@")
(command "_change" ss "" "p" "la" la "")
)
)
(setvar "osmode" os)
(setvar "cmdecho" ce)
(setvar "blipmode" bm)
(princ)
)
展开
 我来答
朱06CAD
2016-05-10 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18073
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部

要修改lisp,要做到以下几点:

  1. 说明这个程序的功能,不要写个代码放在上面,让人去琢磨。

  2. 每句话,做出说明。比如【(setq #os1 (getvar "osmode"));取得捕捉】

  3. 这样让人理解每句话。

  4. 另外,使用command函数的时候,要关闭捕捉(setvar "osmode" 0)。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式