2014版本正常使用,2014以后捕捉丢失,经多次尝试没能修正。望友人出手相助!
命令: FD 0.0选择要打断(延伸)的线:
选择另一条线:
选择要打断(延伸)的线:*取消*
调用(*push-error-using-command*)前无法从 *error* 调用(command)。
建议将(command)调用转换为(command-s)。
(defun c:fd (/ rr backup_rr ent1 ent2 ent3)
(setq *error*_bak *error*)
(setq *error* *error*_non)
(setvar "osmode" 951)
(setvar "CMDECHO" 0)
(princ)
(vl-load-com)
(setq backup_rr (getvar "FILLETRAD"))
(princ backup_rr)
(initget 4)
(command "undo" "be")
(setvar "OSMODE" 0)
(while (and (setq ent1 (entsel "\n选择要打断(延伸)的线:"))
(setq ent2 (entsel "\n选择另一条线:"))
)
(command "copy" (car ent2) "" '(0 0) '(0 0))
(setq ent3 (entlast)
obj3 (vlax-ename->vla-object ent3)
len3 (vlax-curve-getdistatparam
obj3
(vlax-curve-getendparam obj3)
)
)
(command "fillet" "T" "T" ent1 ent2)
(setq obj2 (vlax-ename->vla-object (car ent2))
len2 (vlax-curve-getdistatparam
obj2
(vlax-curve-getendparam obj2)
)
)
(if (<= len2 len3)
(vla-delete obj2)
(vla-delete obj3)
)
(princ)
)
(command "undo" "e")
(setvar "osmode" 951)
(princ)
)
(defun *error*_non (msg)
(command)
(setq *error* *error*_bak)
(setvar "osmode" 951)
(print msg)
)
群好冷清阿:'( 本帖最后由 USER2128 于 2019-5-11 08:02 编辑
估计是"fillet"命令存在版本更新 那请问,、
会有办法吗? ;;;改了一下 2014 捕捉不会丢失
(defun c:fd (/ rr backup_rr ent1 ent2 ent3)
(vl-load-com) (setq *error*_bak *error*)
(defun *error* (msg) (command) (setq *error* *error*_bak) (setvar "osmode" 951) (print msg))
(setvar "osmode" 951)
(setvar "CMDECHO" 0)
(setq backup_rr (getvar "FILLETRAD"))
(princ backup_rr)
(initget 4)
(command "undo" "be")
(setvar "OSMODE" 0)
(while (and (setq ent1 (entsel "\n选择要打断(延伸)的线:")) (setq ent2 (entsel "\n选择另一条线:")))
(command "copy" (car ent2) "" '(0 0) '(0 0))
(setq ent3 (entlast)
obj3 (vlax-ename->vla-object ent3)
len3 (vlax-curve-getdistatparam obj3 (vlax-curve-getendparam obj3))
)
(command "fillet" "T" "T" ent1 ent2)
(setq obj2 (vlax-ename->vla-object (car ent2))
len2 (vlax-curve-getdistatparam obj2 (vlax-curve-getendparam obj2))
)
(if (<= len2 len3)
(vla-delete obj2)
(vla-delete obj3)
)
)
(command "undo" "e")
(setvar "osmode" 951)
(princ)
)
谢谢网友的帮助!!!谢谢
我明白了为什么会丢失了,就是我的习惯用ESC 按键时丢失的,有办法吗 Ref:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=179509 lzg8877 发表于 2019-5-19 10:44
谢谢网友的帮助!!!谢谢
我明白了为什么会丢失了,就是我的习惯用ESC 按键时丢失的,有办法吗
你确定过了没有 改过了以后 你按ESC还会丢失捕捉? 是的 我的坏习惯
; 错误: AutoCAD 变量设置被拒绝: "osmode" nil
页:
[1]