hardwired 发表于 2022-7-6 17:25:25

集中模型空间视图(

你好
 
如何使用VBA将当前模型空间视图集中在屏幕上?
 
我有一个程序,它列出了所有布局或模型空间视图,当用户在列表框中单击它们时,autocad会显示该布局(显然会使该布局处于活动状态)或显示该视图,但对于该视图,它在屏幕上始终左对齐,但我更希望它处于中心位置。有办法做到这一点吗?

hendie 发表于 2022-7-6 17:57:05

是的,使用缩放中心选项
抓取最小和最大坐标,计算出视图中心并使用它

hardwired 发表于 2022-7-6 18:06:11

你好
 
哪个对象具有该属性?我有这个示例代码,但看不出哪个对象会有缩放中心选项。。
 

Dim ViewsX As AcadViews
Dim ViewZ As AcadView
Dim viewportObj As AcadViewport

Set ViewZ = ThisDrawing.Views.Item(ListBox1.Text)
Set viewportObj = ThisDrawing.ActiveViewport
viewportObj.SetView ViewZ
ThisDrawing.ActiveViewport = viewportObj

hendie 发表于 2022-7-6 18:34:35

它不是一个对象,而是一个方法-ZoomCenter、ZoomExtents、ZoomScaled等
 
直接从帮助文件中。。。。

' ZoomCenter
   MsgBox "Perform a ZoomCenter using:" & vbCrLf & _
          "Center 3, 3, 0" & vbCrLf & _
          "Magnification: 10", , "ZoomWindow Example"
   Dim zcenter(0 To 2) As Double
   Dim magnification As Double
   zcenter(0) = 3: zcenter(1) = 3: zcenter(2) = 0
   magnification = 10
   zoomcenter zcenter, magnification
页: [1]
查看完整版本: 集中模型空间视图(