乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 64|回复: 5

[编程交流] 在VBA中缩放窗口点

[复制链接]

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 09:12:50 | 显示全部楼层 |阅读模式
如何在VBA中创建缩放窗口。在这种情况下,我想选择
屏幕上要缩放窗口的两点。我想参加五月份的vba项目
存储拾取的点以备将来使用。
非常感谢。
回复

使用道具 举报

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 09:27:08 | 显示全部楼层
我试过这个代码,但我在命令发送方面有问题
我隐藏
pt1=本图纸。公用事业GetPoint(,vbCr和“选择点1:”)
pt2=本图纸。公用事业GetPoint(,vbCr和“选择点2:”)
'此绘图。窗口状态
此图纸。SendCommand(“zoom”&vbCr&“w”&pt1&pt2)
我显示
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:40:39 | 显示全部楼层
我对VBA一无所知,但我知道在LISP中有一个ZoomWindow方法-可能适用于VBA。。。
 
这是我的猜测。。。我从来没有用VBA写过任何东西。。。
 
此图纸。ZoomWindow(pt1、pt2)
 
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:49:48 | 显示全部楼层
此代码适用于AutoCad 2007
 
pt1=本图纸。公用事业GetPoint(,vbCr和“选择点1:”)
pt2=本图纸。公用事业GetPoint(,vbCr和“选择点2:”)
y1$=pt1(0):x1$=pt1(1)
y2$=pt2(0):x2$=pt2(1)
此图纸。SendCommand“zoom”&vbCr&“window”&vbCr&y1$&“,”&x1$&vbCr&y2$&“,”&x2$&vbCr
 
约翰
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 10:03:18 | 显示全部楼层
啊,一个老thead!
 
为了让李放心,这是可行的。。。。。
 
  1. Public Sub aTest()
  2. Dim myPoint1 As Variant
  3. Dim myPoint2 As Variant
  4. myPoint1 = ThisDrawing.Utility.GetPoint(, "BL Corner")
  5. myPoint2 = ThisDrawing.Utility.GetPoint(, "TR Corner")
  6. ZoomWindow myPoint1, myPoint2
  7. End Sub
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:24:02 | 显示全部楼层
你好
我在Autocad中尝试编写zoom命令事件代码时发现了此线程。我想在图形上重新绘制标签,与图形范围相比,文本大小和位置取决于显示范围。这是事件驱动的代码(尚未完成)
 
#
私有子AcadDocument\u EndCommand(ByVal CommandName作为字符串)
'缩放
如果StrComp(CommandName,“Zoom”,vbTextCompare)=0,则
'获取显示范围
'在WCS中查看中心
ctr=此图纸。GetVariable(“VIEWCTR”)
'转换为DCS
ctr=此图纸。公用事业平移坐标(ctr、acWorld、acDisplayDCS、0)
'DCS中视口的高度
h=本图纸。GetVariable(“VIEWSIZE”)
minp=ctr:maxp=ctr
'计算DCS中视口的宽度
vph=此图纸。ActiveViewport。身高
vpw=此图纸。ActiveViewport。宽度
w=vpw*h/vph
'计算DCS中的边界视图边界
minp(0)=ctr(0)-w/2
maxp(0)=ctr(0)+w/2
minp(1)=ctr(1)-h/2
maxp(1)=ctr(1)+h/2
“证明这些点确实是我们正在寻找的
minp=此图纸。公用事业平移坐标(minp、acDisplayDCS、acWorld、0)
maxp=此图纸。公用事业平移坐标(maxp、acDisplayDCS、acWorld、0)
此图纸。模型空间。AddLine minp、maxp
MsgBox(“缩放命令已完成”)
如果结束
末端接头
#
 
当使用SendCommand进行缩放时,事件例程工作;当使用ZoomWindow时,事件例程不被调用,尽管会出现缩放窗口。我想摆脱SendCommand。
 
非常感谢。
约翰
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 06:04 , Processed in 0.421981 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表