如何利用LISP合并CAD快捷键
我想将UCS,DOR,DBA三个原始快捷键合并成一个快捷键FF,我应该怎么编写呀?
多谢大神分享,学习一下! 谢谢分享,已经学习到了 好贴,学习了,谢谢 (defun c:udd ()
(command "UCS")
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
(command "DIMORDINATE")
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
(command "DIMBASELINE")
(while (> (getvar "CMDACTIVE") 0) (command PAUSE))
(princ)
)
ZZXXQQ 发表于 2014-4-27 07:39 static/image/common/back.gif
版主,你真伟大,这正是我想要的,不过需要鼠标点击一次自定义原点,然后再点一次指定尺寸线起点,第三次点击时确定尺寸文字位置,可否将自定义原点与指定尺寸线起点合并成鼠标点击一次即可?另外能稍微简单得解释一下每行代码的意思吗?我完全是个外人,也想借此机会学习一下lips,方便以后的工作!万分感谢!! (defun c:udd ()
(setq pt (getpoint "\n原点: "));取得原点
(command "UCS" "N" pt);发出UCS命令并给定原点
(command "DIMORDINATE" pt);发出坐标标注命令并给定起点
(while (> (getvar "CMDACTIVE") 0) (command PAUSE));等待前一命令完成
(command "DIMBASELINE");发出标注命令
(while (> (getvar "CMDACTIVE") 0) (command PAUSE));等待前一命令完成
(princ)
)
(defun c:ff()(c:UCS)(c:DOR)(c:DBA)) xyp1964 发表于 2014-4-27 10:25 static/image/common/back.gif
(defun c:ff()(c:UCS)(c:DOR)(c:DBA))
这是院长本人么?这样可以?命令不是外部函数吧。 ZZXXQQ 发表于 2014-4-27 09:18 static/image/common/back.gif
第二种方案试过了,但是有出现一个问题,就是第一根尺寸线的起点不是在原点,而是跑到别的地方去了,需要结束命令,然后再次驶入快捷,然后点击原点,这样拉出来的第一根线才是在原点,我尝试着颠倒了一下前两部命令的步骤之类的,还是没调出来,所以还得请版主大人指点迷津啦!!谢谢! (defun c:udd ()
(setq pt (getpoint "\n原点: "));取得原点
(command "UCS" "N" pt);发出UCS命令并给定原点
(command "DIMORDINATE" (list 0 0));发出坐标标注命令并给定起点
(while (> (getvar "CMDACTIVE") 0) (command PAUSE));等待前一命令完成
(command "DIMBASELINE");发出标注命令
(while (> (getvar "CMDACTIVE") 0) (command PAUSE));等待前一命令完成
(princ)
)
ZZXXQQ 发表于 2014-4-27 14:37 static/image/common/back.gif
OK了,版主,原来指定一个坐标0点就好了,谢谢!!!可以通过QQ联系你下吗?还有几个问题想请教一下!
(defun c:tt ()
(setq pt (getpoint "\n基点<退出>: "))
(command "ucs" "n" pt)
(setq p0 '(0 0)
p1 '(0 300)
p2 '(300 0)
)
(command "dim1" "ord" p0 p1 "")
(setq s1 (entlast))
(command "dim1" "ord" p0 p2 "")
(setq s2 (entlast))
(while (setq p0 (getpoint "\n基点<退出>: "))
(command "dim1" "bas" "" s1 p0 "")
(command "dim1" "bas" "" s2 p0 "")
)
(princ)
)
页:
[1]
2