如何使我的行命令按预期工作
我在做这个简单的lisp例行工作时遇到了麻烦。下面是代码:(defun C:TDo2 ()
(setvar "osmode" 512)
(command "line" (getpoint "\n Pick Insertion Point")
(setvar "osmode" 128)(princ)
(getpoint "\n Pick Perp point")
"")
)
它创建了第一行ok,但我希望它在那里结束。我以为""会终止行命令。我做错了什么?
**** Hidden Message ***** 试一试。欢迎 TheSwamp .
(defun c:tdo2 (/ *error* os p1 p2)
(defun *error* (msg)
;; Reset snap setting on error
(and os (setvar 'osmode os))
(if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
(princ (strcat "\nError: " msg))
)
(princ)
)
;; Save current snap settings
(setq os (getvar 'osmode))
(setvar 'osmode 512)
;; Check that both points are picked
(if (and (setq p1 (getpoint "\nPick Insertion Point: "))
(setvar 'osmode 128)
(setq p2 (getpoint p1 "\nPick Perp Point: "))
)
(entmakex (list '(0 . "Line") '(8 . "Line") (cons 10 (trans p1 1 0)) (cons 11 (trans p2 1 0))))
)
;; Reset snap setting
(setvar 'osmode os)
(princ)
) 谢谢你的欢迎
在离开Autocad 25年后重新掌权真是太好了
您的示例中有很多代码,因此可能我剪切粘贴错误或其他错误,但我得到了一个错误:“错误:语法错误”
你能看看你的代码(我第二次剪切粘贴了,运气不好),看看是否有语法错误吗
请注意,我试图完成的(长期目标)是切割一段墙,并创建一个简单的门,以放置在切割的墙中。我以前做了一个这样的程序,但现在已经无法访问该代码。所以为了帮助我重新学习autolisp,我想我会做这个项目<谢谢你的帮助。
页:
[1]