forestgxc 发表于 3 天前

zoom的一点点优化

原则特别明确,不接受一点点批评,只在乎感受和实用
我只是想确认有没有可能有一个人会在乎acad原生命令zoom e的缩放会比较难以忍受





(defun c:z (/ point1 oldOsmode)
(setvar "cmdecho" 0)
(setq oldOsmode (getvar "OSMODE"))
(setvar "OSMODE" 0)
(setq point1 (progn
               (initget "E")
               (getpoint "\n指定窗口的角点或[比例(E)/实时缩放(回车)]<实时>: ")
               )
)
(cond
    ((= point1 "E")
   (progn
       (command-s "zoom" "E")
       (command-s "zoom" "0.95x")
   )
    )
    ((= point1 nil)
   (command-s "zoom" "" "")
    )
    ((/= point1 "E")
   (command-s "zoom" point1)
    )
)
(setvar "OSMODE" 5119)
(princ)
)
(defun z_error (msg)
(if (not (member msg '("Function cancelled" "quit / exit abort")))
    (princ (strcat "\nError: " msg))
)
(setvar "OSMODE" oldOsmode)
(princ)
)
(setq oldcmd (getvar "CMDECHO"))
(setvar "CMDECHO" oldcmd)
(command-s "UNDO" "BEGIN")
(setq *error* z_error)
(princ)

e2002 发表于 3 天前

有没有一种可能,实际上并不需要去写这么一个程序?

因为鼠标滚轮缩放是个“透明”的操作。还有设置了ZoomExtend,ZoomWindow的快捷键,这些也是“透明”的操作。

单独去写一个程序,需要调用,通常不会是“透明”的,所以会打断用户正在进行的操作,效率上得不偿失。

forestgxc 发表于 3 天前

嗯,果然看上去并没有什么鸟用
页: [1]
查看完整版本: zoom的一点点优化