获取 dwg 中,名字为 D 或 M 开头的标注点位置。


Private Sub getData()
'获取 dwg 中,名字为 D 或 M 开头的标注点位置。
'MsgBox ThisDrawing.Utility.get .GetString("D222")
Dim varData As Variant
Dim oName As Variant
Dim txt As AcadText
Dim ss As String

Dim idx As Integer
Dim i As Integer
On Error GoTo ErrorHandler

'varData = ThisDrawing
'varData = ThisDrawing.ModelSpace
varData = ThisDrawing.ModelSpace.Item(1).ObjectName

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("D:\fsti\地市部署\新设备\福州\福州联网_0308\福州联网\琴亭\位置点.txt", True)


For i = 0 To ThisDrawing.ModelSpace.Count - 1 Step 1
idx = i
oName = ThisDrawing.ModelSpace.Item(i).ObjectName
If oName = "AcDbText" Then
Set txt = ThisDrawing.ModelSpace.Item(i)
ss = Str(txt.insertionPoint(0))

ss = ThisDrawing.ModelSpace.Item(i).textString

If Left(ss, 1) = "D" Or Left(ss, 1) = "M" Then
'MsgBox ss & Str(txt.insertionPoint(0))
'Exit For
a.WriteLine (ss & " " & Str(txt.insertionPoint(0)) & " " & Str(txt.insertionPoint(1)))
End If
End If

Next i

a.Close

'MsgBox varData

ErrorHandler: ' 错误处理程序。
If Err.Number <> 0 Then

MsgBox Str(idx) & ": Err.Number:" & Str(Err.Number) & ": Err.Description:" & Err.Description
End If
'Resume ' 将控制返回到产生错误的语句。
Exit Sub

End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值