明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1643|回复: 5

如何得到一个闭合的线段中的文本对象?

[复制链接]
发表于 2005-10-16 20:12:00 | 显示全部楼层 |阅读模式

这个闭合的线段可以是任何的形状。如果得到这个对象中的文本?

最好是VBA程序,谢谢!

发表于 2005-10-16 22:09:00 | 显示全部楼层

找出所有的文件,得出其包围的外框,做成面域,与闭合线段做的面域做比较。

发表于 2005-10-16 22:50:00 | 显示全部楼层
SelectByPolygon 方法得到
 楼主| 发表于 2005-10-17 10:53:00 | 显示全部楼层

我的程序如下,为何总找不到文本?

Sub Example_Select()
    Dim ssetObj As AcadSelectionSet
   
    Dim ent As AcadEntity
    Dim Points
    Dim n As Integer
   
    ThisDrawing.SelectionSets.item(0).Delete
    Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")
   
    Dim FilterType(0) As Integer
    Dim FilterData(0) As Variant

    FilterType(0) = 0
    FilterData(0) = "TEXT"
    Dim coor() As Double
   
    For Each ent In ThisDrawing.ModelSpace
        If ent.ObjectName = "AcDbPolyline" Then
           
            Points = ent.Coordinates
            n = UBound(Points)
           
            ReDim coor(n + (n + 1) / 2)

   '因为画的线是2D的,改变坐标为3D
            For i = 0 To n Step 2
                coor(i) = Points(i)
                coor(i + 1) = Points(i + 1)
                coor(i + 2) = 0
            Next
           
            ssetObj.SelectByPolygon acSelectionSetWindowPolygon, coor, FilterType, FilterData
           
            If ssetObj.Count > 0 Then
                MsgBox "找到" & ssetObj.item(0).TextString
            Else
                MsgBox "没找到"
            End If
       
        End If
    Next
    ssetObj.Delete
End Sub

 楼主| 发表于 2005-10-17 15:19:00 | 显示全部楼层

   '因为画的线是2D的,改变坐标为3D
            For i = 0 To n Step 2
                coor(i) = Points(i)
                coor(i + 1) = Points(i + 1)
                coor(i + 2) = 0
            Next
这段程序改为如下:

        j = 0
        For i = 0 To n Step 2
            coor(j) = Points(i)
            coor(j + 1) = Points(i + 1)
            coor(j + 2) = 0
            j = j + 3
        Next

发表于 2005-10-25 15:59:00 | 显示全部楼层
同意斑竹的话,你选择出来实体后,再过滤就可以了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 08:28 , Processed in 0.159352 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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