需要解扭LISP
从前,我有一个lsp例程叫做“untwist”。一旦图形被dview扭曲(或使用“扭曲”lsp),该“取消扭曲”将旋转回0,并将snapang设置为0!我想念它。
谁能帮帮我吗。好久不见了。 您所需要做的就是使用plan world命令并重置snapang和angbase。通过检查变量viewsize和viewctr,也可以确保将缩放设置为相同。
(if (not (= 1 (getvar 'cvport)))(command "._plan" "_w"))
(setvar 'snapang 0)
(setvar 'angbase 0)
谢谢你的回复。我Lisp程序。好的,我一点也不会说Lisp程序!这是供词。
你的代码实际上是我可以使用的lisp吗?或者这是一些可以借鉴的想法?
有一次Lisp程序把我宠坏了。要是我把它放在口袋里以后用就好了。
非常感谢。 您提到的lisp的可能替代品。
http://cadtips.cadalyst.com/other/perform-dview-twist-quickly 快速编写且未经测试:
(defun c:plan2 (/ *error* ctr ht)
(defun *error* (msg)
(LM:endundo (LM:acdoc))
(if (not
(member msg '("Function cancelled" "quit / exit abort"))
)
(princ (strcat "\nError: " msg))
)
(princ)
)
(if (> (getvar 'cvport) 1)
(progn
(LM:startundo (LM:acdoc))
(command "._ucs" "_w")
(setq ctr (getvar 'viewctr)
ht(getvar 'viewsize)
)
(command "._plan" "_W")
(setvar 'snapang 0)
(setvar 'angbase 0)
(command "zoom" "c" ctr ht)
(LM:endundo (LM:acdoc))
)
)
(princ)
)
;;;Created by Lee Mac
(defun LM:startundo (doc)
(LM:endundo doc)
(vla-startundomark doc)
)
;;;Created by Lee Mac
(defun LM:endundo (doc)
(while (= 8 (logand 8 (getvar 'undoctl)))
(vla-endundomark doc)
)
)
;;;Created by Lee Mac
(defun LM:acdoc nil
(eval (list 'defun 'LM:acdoc 'nil (vla-get-activedocument (vlax-get-acad-object))))
(LM:acdoc)
)
好吧,你是国王!它起作用了。我决不会那样做。
非常非常感谢。 一个简单的宏怎么样?
^C^C_dview;all;;tw;0;^P(progn(setvar "snapang" 0)(princ))
页:
[1]