乐筑天下

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

[编程交流] 集中模型空间视图(

[复制链接]

46

主题

118

帖子

23

银币

后起之秀

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

铜币
291
发表于 2022-7-6 17:25:25 | 显示全部楼层 |阅读模式
你好
 
如何使用VBA将当前模型空间视图集中在屏幕上?
 
我有一个程序,它列出了所有布局或模型空间视图,当用户在列表框中单击它们时,autocad会显示该布局(显然会使该布局处于活动状态)或显示该视图,但对于该视图,它在屏幕上始终左对齐,但我更希望它处于中心位置。有办法做到这一点吗?
回复

使用道具 举报

18

主题

222

帖子

51

银币

后起之秀

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

铜币
260
发表于 2022-7-6 17:57:05 | 显示全部楼层
是的,使用缩放中心选项
抓取最小和最大坐标,计算出视图中心并使用它
回复

使用道具 举报

46

主题

118

帖子

23

银币

后起之秀

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

铜币
291
发表于 2022-7-6 18:06:11 | 显示全部楼层
你好
 
哪个对象具有该属性?我有这个示例代码,但看不出哪个对象会有缩放中心选项。。
 
  1. Dim ViewsX As AcadViews
  2. Dim ViewZ As AcadView
  3. Dim viewportObj As AcadViewport
  4. Set ViewZ = ThisDrawing.Views.Item(ListBox1.Text)
  5. Set viewportObj = ThisDrawing.ActiveViewport
  6. viewportObj.SetView ViewZ
  7. ThisDrawing.ActiveViewport = viewportObj
回复

使用道具 举报

18

主题

222

帖子

51

银币

后起之秀

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

铜币
260
发表于 2022-7-6 18:34:35 | 显示全部楼层
它不是一个对象,而是一个方法-ZoomCenter、ZoomExtents、ZoomScaled等
 
直接从帮助文件中。。。。
  1. ' ZoomCenter
  2.    MsgBox "Perform a ZoomCenter using:" & vbCrLf & _
  3.           "Center 3, 3, 0" & vbCrLf & _
  4.           "Magnification: 10", , "ZoomWindow Example"
  5.    Dim zcenter(0 To 2) As Double
  6.    Dim magnification As Double
  7.    zcenter(0) = 3: zcenter(1) = 3: zcenter(2) = 0
  8.    magnification = 10
  9.    zoomcenter zcenter, magnification
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 16:41 , Processed in 0.473536 second(s), 60 queries .

© 2020-2025 乐筑天下

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