ucs→r→输入你定义好的ucs名称。 pxt2001 发表于 2012-3-31 10:10
command:
ucs→r→输入你定义好的ucs名称。
就是这个,高人,哈哈,估计你是论坛上回答这个的第一个人!!! 2011版的
defun c:u0 ();切回世界坐标系
(command "ucs" "")
(princ)
)
(defun c:u1 ();切回用户坐标系aa
(command "ucs" "na" "r" "aa")
(princ)
) rzy8lxy 发表于 2012-3-31 12:34
2011版的
defun c:u0 ();切回世界坐标系
(command "ucs" "")
好的,谢谢。。。。 (COMMAND "UCS" "M" FPdy)可转成用户坐标,(COMMAND "UCS" "W")转成世界坐标
实现世界坐标系和所设置用户坐标系之间的循环切换
本帖最后由 tgl121 于 2013-12-27 19:02 编辑(vl-load-com)
;本程序实现世界坐标系和所设置用户坐标系之间的循环切换
(defun c:qh (/ x n) ;zbxLst坐标系名称表
(if zbxLst
(progn
(setq n (length zbxLst))
(if (= iii n)
(progn (command "ucs" "")
(command "plan" "")
(setq iii 0)
)
(progn (command "ucs" "NA" "R" (nth iii zbxLst))
(command "plan" "")
(setq iii (+ 1 iii))
)
)
)
(progn
(vlax-for x
(vla-get-UserCoordinateSystems
(vla-get-ActiveDocument (vlax-get-acad-object))
)
(setq zbxLst (cons (vla-get-name x) zbxLst))
)
(if zbxLst
(progn
(setq iii 0)
(command "ucs" "NA" "R" (nth iii zbxLst))
(command "plan" "")
(setq iii (+ 1 iii))
)
(princ "当前CAD图形未建立用户坐标系!")
)
)
)
(princ)
)
其中 (vlax-forx (vla-get-UserCoordinateSystems(vla-get-ActiveDocument (vlax-get-acad-object)))
(setq zbxLst (cons (vla-get-name x) zbxLst))
)
这段代码根据Gu_xl写的程序改了一下,谢谢Gu_xl 留名以便日后学习! tgl121 发表于 2013-12-27 18:36
其中 (vlax-forx (vla-get-UserCoordinateSystems(vla-get-ActiveDocument (vlax-get-acad- ...
很好用,但是如果坐标系列表比较多,切换起来就麻烦了,要是能手动选择就好了 pxt2001 发表于 2012-3-30 23:02
请试试这个,自编自用的。
;; u1 转到用户坐标系
不错,方便,谢谢。