lijiao 发表于 2021-8-6 10:58:01

关于Zoom和Pan的使用

本帖最后由 lijiao 于 2021-8-6 11:00 编辑

       关于Zoom和Pan的使用,似乎都不陌生,很早以前都是通过zoom和pan这两个命令实现,自从鼠标上有了滚轮键,就都用滚轮键了,拨动滚轮,执行的是zoom功能,按下滚轮并移动鼠标,则执行Pan功能.       但经常画大图的朋友会不会有这样的感觉,不停地拨动滚轮对图纸进行缩放(尤其是使用笔记本电脑),其实是非常辛苦非常累的.


       为了改善这种现状,我设计了一段程序,暂且叫做"飞行视图",估计能帮到那些经常画大图的朋友.
       由于我没有屏幕录制软件,不能用动画展示,只能用文字和图片进行说明.
***************************************************************************************************
      这个功能是用VL和VBA结合起来做的,并且VBA的分量还要大一些,但我很少去VBA板块,并且还有VL的分量,所以还是选择在这个板块发布.
      附件中有两个文件,一个是vlx文件,一个是dvb文件,两个文件需放在同一文件夹中,并将该位置添加到acad的搜索路径中.
      加载CSPAN.vlx,程序就启动了(尽管你看不见界面上有什么变化),如果程序因其他原因停止了,你可以输入MYSTART命令进行启动.
      命令启动后,会生成一个视图面板,上面有一个当前文档的缩略图,为了不占用有限的屏幕空间,这个视图面板是隐藏的,你看不见,当你把鼠标移动到屏幕的右上角时,它就出现了,鼠标离开面板时,它又自动隐藏了.

      面板中的缩略图是当前文档执行了ZoomE后的图.
      1.在面板中点击鼠标,会把当前文档的对应点移动到屏幕中心并进行放大(默认放大倍数为5).
      2.按下鼠标左键不松移动鼠标(左键拖动),相当于同时执行Zoom和Pan功能.
      3.按下Ctrl或Shift(也可以都按下),同时拖动鼠标左键,可以调整放大倍数,向上为增大,向下为减小.同时将放大倍数保存在文档中.
      4.鼠标右击,回到和面板显示一样的全图.
      5. 按下Ctrl或Shift(也可以都按下),同时鼠标右击,回到执行ZoomE后的全图,面板图同时进行调整. 同时将放大倍数保存在文档中.
      6.点击鼠标滚轮键,会将当前屏幕显示作为缩放区域, 面板图同时进行调整. 同时将放大倍数保存在文档中.
      7.切换文档后,不需要重新加载vlx,面板会自动调整到当前文档.
***************************************************************************************************
目的是给大家带来方便,所有免费


lijiao 发表于 2021-8-10 08:57:31

AndyWang 发表于 2021-8-9 15:28
引用过了。
竖框,删了点东西。原来是红色。然后是longptr数据类型没有定义。
64位CAD
举个例子吧:
32位系统的申明: Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
64位系统的申明: Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As LongPtr) As LongPtr
比较一下二者之间的差别吧

lijiao 发表于 2021-8-9 14:44:03

AndyWang 发表于 2021-8-9 14:29
来个高手整下源码吧。改了些地方,还是运行不了。CAD2010 Win10 X64的
猜想可能的原因:   1.你的cad2010是64为的吗?
   2.打开VBA编辑器,点击菜单"工具">"引用",出现下图对话框
   3.选择你电脑对应的ACAD库



lijiao 发表于 2021-8-7 09:56:25

我是在64位Windows和64位acad中编写的,中间用到了winapi,所以只能在64位上运行。
要不等下周一,我把VBA的保护密码去掉,vl也提供源码给大家,大家可以根据自己的系统自行修改。
**************************************************************
因为我的vl和VBA都是自学的(简称土包子),代码 写得非常不规范,怕人取笑与我(实际上叫自卑),所以加了一层保护(穿了条裤头)。

自贡黄明儒 发表于 2021-8-6 11:27:41

不错,赞。原来我打过游戏《帝国时代》,这个很类似。

tigcat 发表于 2021-8-6 17:09:30

自贡黄明儒 发表于 2021-8-6 11:27
不错,赞。原来我打过游戏《帝国时代》,这个很类似。

右上角的地图是吧?这游戏资源种类多,得杀鱼和砍树挖石头。黄金

e2002 发表于 2021-8-6 17:59:59

从DOS时代的老版本一直都有这个鹰眼,可惜到2009左右莫名的被取消了...一直呼吁桌子恢复此功能...

难的有高人自制了一席替代品,下载测试看看...

e2002 发表于 2021-8-6 18:07:33

2020.1.3英文版:加载后没有工作,手动输入命令:

Command: MYSTART
; error: Automation Error. Problem in loading VBA

cj52000 发表于 2021-8-7 09:07:30

大侠,试用后出现以下提示

命令: MYSTART
Automation 错误。 VBA 表达式计算失败

AndyWang 发表于 2021-8-7 09:22:48



直接运行宏也不行,cad提示如上面那位

ㄘ丶转裑ㄧ灬 发表于 2021-8-7 11:29:17

功能很实用,就是切换图档的时候会卡,3.4秒左右可以操作,但如果新建空白文档,就一直卡着,不知道是不是跟我用的自动切换输入法插件有冲突,当然还有其它插件,但我觉得输入法插件的可能性更高;
win10x64,天正+2022

lijiao 发表于 2021-8-7 16:23:55

切换图档时,进行了一次zoom,输出了一个wmf文件,然后读入该文件作为缩略图,如果文档比较大的话,可能会卡,不过作大图一般都用好电脑,如果空白文档也卡,那就没道理啦,我的使用环境是win10x64,mechanical2022x64
页: [1] 2 3
查看完整版本: 关于Zoom和Pan的使用