mstg007 发表于 2014-9-12 14:16:25

UCS 和计划命令

我一直在做越来越多的ucs轮换,所以我不得不问。我通常输入ucs点击最近点的最近线来分配ucs,然后我有输入计划,然后输入。
有没有一个lisp或命令可以在一个命令中完成所有这些工作?
**** Hidden Message *****

danAllen 发表于 2014-9-12 14:46:07

我的过程是设置UCS,然后使用我的命令平面。将视图更改为UCS,并恢复缩放设置代码0]

danAllen 发表于 2014-9-15 14:01:29


嗯...是的,选择窗口显示为与当前视图正交,CP将修复此问题,并且拉伸保持与ORTHO打开的UCS正交。
您是在2D还是3D工作??多个视口还是单个??

danAllen 发表于 2014-9-15 16:14:17

2d,几乎总是单个视窗
您的评论有道理,我们只是工作方式不同,这就是能够定制的好处

Crank 发表于 2014-9-15 18:50:18

FWIW,我使用这些函数:
(defun c:UCSfollowOBJECT ( / e worldpoint v-size v-ctr)
        (setq Gb-ERROR '("UCSFOLLOW")
              Gb-ERROR (mapcar (function (lambda (a) (list 'setvar a (getvar a)))) Gb-ERROR)
        )
        (command "._undo" "_begin")
        (defun *error* (msg) (MAPCAR 'eval Gb-ERROR))
       
        (if (setq e (nentsel "\nSelect object to align UCS or to restore: "))
                (progn
                        (setq v-size (getvar "VIEWSIZE") v-ctr (trans (getvar "VIEWCTR") 1 0))
                        (setq worldpoint (trans (cadr e) 1 0))
                        (setvar "UCSFOLLOW" 1)
                        (command "._UCS" "_ob" (car e))
                        (command "._zoom" "_CE" v-ctr v-size)
                        ;(command ".pan" (trans worldpoint 0 1)(getvar "VIEWCTR"))
                        (command "._pan" (trans worldpoint 0 1)(cadr (grread nil 7)))
                )
        ; else
                (command "._plan" "WORLD")
        )
        (eval Gb-ERROR)
        (setq *error* nil Gb-ERROR nil)
        (command "._undo" "_end")
        (princ)
)
(defun c:UCSWORLD ()
        (if (and (/= (getvar "VIEWTWIST") 0)(= (getvar "WORLDUCS") 1))(command ".plan" "World")(command ".UCS" "W"))
        (princ)
)

ROBBO 发表于 2014-9-15 19:34:09

UCSFOLLOW设置为1将不再需要plan命令。

Crank 发表于 2014-9-16 13:01:49

这两种说法都是正确的。UCSFOLLOW是你不希望一直处于活动状态的东西,这就是这些命令的原因。
在我的菜单中,我用UCSWORLD命令替换了“UCS W”。单击“UCS WORLD”,如果需要“计划世界”,请双击。
页: [1]
查看完整版本: UCS 和计划命令