快速保存视图和恢复vi
大家好,我想用三个命令来保存视图,用三个命令来恢复视图。
如。
命令“save_view1”保存视图,视图名称为“view1”
命令“restore\u view1”将视图恢复到“view1”
......视图2
......视图3 这些应该让你开始。。。。
保存视图:
(defun c:ViewSave () (command "._-view" "_s") (princ))
还原视图:
(defun c:ViewRestore () (command "._-view" "_r") (princ))
非常感谢。BB我知道。
(defun c:ViewSave1 () (command "._-view" "_s" "view1") (princ))
(defun c:ViewRestore1 () (command "._-view" "_r" "view1") (princ)) (defun c:ViewRestore()(vl cmdf._-view”“\r”“view1”)(princ))
“命令”和“vl cmdf”哪个更好?
不客气,刘海欣88;我很乐意帮忙。
干杯
它们在功能上是相同的,但COMMAND总是返回Nil,而VL-CMDF返回T,这在测试表达式等中可能很有用。
干杯
嗨,BB,很好的教学。再次感谢你。
干杯
刘海欣,你说得太好了。 我使用类似的方法:
;;;SAVE
(defun c:sv (/ p v vn vi)
(setq p "VIEW" v 1)
(setq vn (strcat p (itoa v)))
(while (tblsearch "VIEW" vn)
(setq v (1+ v) vn (strcat p (itoa v))))
(initget 6)
(setq vi (getint (strcat "\nView Number To Save <" (itoa v) ">: ")))
(or vi (setq vi v))
(command "_.VIEW" "_Save" (strcat p (itoa vi)))
(prin1))
;;;RESTORE
(defun c:rv (/ p vl td ev vi)
(setq p "VIEW")
(while (setq td (tblnext "VIEW" (not td)))
(setq ev (cdr (assoc 2 td)))
(if (= p (substr ev 1 (strlen p)))
(setq vl (cons (atoi (substr ev (1+ (strlen p)))) vl))))
(terpri)
(prin1 (reverse vl))
(while (or (not vi)
(not (member vi vl)))
(initget 7)
(setq vi (getint (strcat "\tView To Restore: "))))
(command "_.VIEW" "_Restore" (strcat p (itoa vi)))
(prin1))
我使用了与“VIEW”不同的前缀,但场景相同。
-大卫
哈哈。
页:
[1]
2