Amsterdammed 发表于 2007-11-12 04:37:24

从Excel中缩小acad对象

大家好,我'我正忙于在excel中连接Acad绘图和dbase。因为我的拼贴,我需要在Excel中完成,他们有访问恐惧症
由于这个论坛,我已经做好了从Acad到excel的链接,将包括Acad句柄在内的信息写入excel。一个很好的功能是通过在Excel中选择对象来缩放对象,因此我必须打开dwg,并在dwg中运行宏以查找实体并缩放到它
有什么想法吗
提前谢谢,伯纳德

Amsterdammed 发表于 2007-11-12 09:11:46

如果你有手柄;您可以获取实体,然后获取边界框,然后使用边界框缩放窗口
类似于Public Sub ZoomBB(pHandle As String)
    Dim oEnt As AcadEntity
    Dim vMin As Variant
    Dim vMax As Variant
   
    Set oEnt = ThisDrawing.HandleToObject(pHandle)
   
    oEnt.GetBoundingBox vMin, vMax
   
    ThisDrawing.Application.ZoomWindow vMin, vMax
End Sub

UCS和其他各种事情可能会影响缩放,代码必须包含这一点

Amsterdammed 发表于 2007-11-12 09:19:51

Dave,
我理解这一部分,问题是我想从Excel文件中触发它,所以我知道dwg的文件名和位置以及句柄->所以我需要的是知道如何打开图纸并继续绘制代码。谢谢,伯纳德

Amsterdammed 发表于 2007-11-12 10:56:00

我从来没有(直到现在);在Excel中操作AutoCad,但我在Excel中创建了两个命令按钮 我有一些细胞中一些物体的手柄
我单击CommandButton1来创建一个正在运行的Excel实例 然后点击'手柄#039;使细胞活跃
然后单击命令按钮2以缩放到当前obejct 然后,您可以选择另一个控制柄,然后单击命令按钮2以缩放到该控制柄;我相信一些专家可以展示一种更好的方法来处理AutoCad实例的创建和控制AutoCad的关闭Option Explicit
Public acadapp As AcadApplication
Public oDwg As AcadDocument
Private Sub CommandButton1_Click()
    'Create new instance of AutoCad
   
    Dim strAcadFile As String
   
   
    Set acadapp = CreateObject("Autocad.Application")
    acadapp.Visible = True
    strAcadFile = "c:\jobs\XLtest.dwg"
   
    Set oDwg = acadapp.Documents.Open(strAcadFile)
End Sub
Private Sub CommandButton2_Click()
   'zoom to the object whose handle is in the current cell
   
    Dim strHandle As String
   
    Dim vMax As Variant
    Dim vMin As Variant
   
    Dim oEnt As AcadEntity
    If acadapp Is Nothing Then
      CommandButton1_Click
    End If
   
    strHandle = ActiveCell.Value
    Set oEnt = oDwg.HandleToObject(strHandle)
    oEnt.GetBoundingBox vMin, vMax
    acadapp.ZoomWindow vMin, vMax
End Sub

Amsterdammed 发表于 2007-11-14 04:20:29

Dave,很抱歉回复得太晚了,我当时在工地上。我遇到了一个问题Public acadapp As AcadApplication
我知道要加载库,我必须检查一些框,但是哪一个
谢谢伯纳德

Amsterdammed 发表于 2007-11-14 05:22:53

Dave,
我发现了这一点,但我现在发现了一个错误,当它对实体进行衰减时,代码13,类型;唐#039;t匹配
知道出了什么问题吗
页: [1]
查看完整版本: 从Excel中缩小acad对象