求助关于标圆心坐标的改正
(defun c:13(/ o s)(if (setq o(getpoint"\n请指定坐标原点:"))
(command "qleader" "non" o "\\" "" "" 0 "" "ucs" o "")
)
(while
(setq o (getpoint"\n请指定坐标点:"))
(if (setq s (ssget "c" o o '((0 . "circle,arc"))) )
(progn (setq s (entget (ssname s 0)) o (cdr (assoc 10 s))) ) ) ;如果选中的是圆或圆弧,则自动移到圆心
(princ (strcat "\n请指定 "(strcat"X "(rtos(car o)2 2))" "(strcat"Y "(rtos(cadr o)2 2))" 的文字位置"))
(command "leader" "non"o"\\" ""(strcat"X "(rtos(car o)2 2))(strcat"Y "(rtos(cadr o)2 2))"")
) ;while
(command "ucs" "w")
(setq o nil s nil)
(princ))
我想让程序在点中圆或圆弧的时候,自动跳到圆心上标坐标值,现在自动自动跳到圆心的时候出错了,标注点飞远了,不知道要怎么改,麻烦大师帮改正一下,谢谢了
(defun c:13(/ o s)
(if (setq o(getpoint"\n请指定坐标原点:"))
(command "qleader" "non" o "\\" "" "" 0 "" "ucs" o "")
)
(while
(setq o (getpoint"\n请指定坐标点:"))
(if (setq s (ssget "c" o o '((0 . "circle,arc"))) )
(progn
(setq s (entget (ssname s 0)))
(SETQ o (trans (cdr (assoc 10 s)) 0 1))
)
) ;如果选中的是圆或圆弧,则自动移到圆心
(princ (strcat "\n请指定 "(strcat"X "(rtos(car o)2 2))" "(strcat"Y "(rtos(cadr o)2 2))" 的文字位置"))
(command "leader" "non"o"\\" ""(strcat"X "(rtos(car o)2 2))(strcat"Y "(rtos(cadr o)2 2))"")
) ;while
(command "ucs" "w")
(setq o nil s nil)
(princ))
试试这样?
捕捉里面只打开圆心? 依然小小鸟 发表于 2019-1-7 17:53
捕捉里面只打开圆心?
不是,我让它自动找到圆心的
(progn (setq s (entget (ssname s 0)) o (cdr (assoc 10 s))) ) ) ;如果选中的是圆或圆弧,则自动移到圆心 顶起,麻烦大师帮转换一下坐标,谢谢
页:
[1]