设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

用VBA通过查找坐标的方法获取CAD中多行文本内容

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-26 08:44:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
知道该Autocad中该某多行文本的坐标,如何用VBA获得该文本的文字显示出来?
用下面的函数可以实行,其中 x = 230#: y = 542#    '这是假定要显示的多行文本的坐标为(230,542)

Private Sub Test()

    Dim objEnt As AcadEntity
    Dim nCount As Long
    Dim i As Long
    Dim x, y As Double
    Dim minPoint As Variant
    Dim maxPoint As Variant
    Dim objText As AcadMText
   
    x = 230#: y = 542#    '假设为指定点
   
    nCount = ThisDrawing.ModelSpace.Count
    For i = 1 To nCount
        Set objEnt = ThisDrawing.ModelSpace.Item(i - 1)
        Call objEnt.GetBoundingBox(minPoint, maxPoint)
        Debug.Print "MinPoint:" & minPoint(0) & "   " & minPoint(1) & "    " & minPoint(2) & vbCr & "maxPoint:" & maxPoint(0) & "   " & maxPoint(1)
        
        If x >= minPoint(0) And y >= minPoint(1) And x <= maxPoint(0) And y <= maxPoint(1) Then
            If objEnt.ObjectName = "AcDbMText" Then
                Set objText = objEnt
                MsgBox objText.TextString
            End If
        End If
    Next
End Sub
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-15 06:19 , Processed in 0.198971 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表