动态块的参数读写
动态块的参数读写
' 查询动态块的自定义特性
Public Sub DynamicBlock()
Dim ent As AcadEntity
Dim blk As IAcadBlockReference
Dim pnt As Variant
On Error Resume Next
ThisDrawing.Utility.GetEntity ent, pnt, "GetBlock:"
Debug.Print ent.ObjectName
If ent.ObjectName = "AcDbBlockReference" Then
Set blk = ent
Else
Exit Sub
End If
Dim dyBlkPropCol As Variant ' 自定义特性的集合
Dim dyBlkProp As AcadDynamicBlockReferenceProperty ' 自定义特性
Dim i As Long
Dim j As Long
Dim v As Variant ' 参数值的范围
If blk.IsDynamicBlock Then
' 获得动态块的自定义特性
dyBlkPropCol = blk.GetDynamicBlockProperties
For i = 0 To UBound(dyBlkPropCol)
Set dyBlkProp = dyBlkPropCol(i)
Debug.Print "-----------------"
Debug.Print "名称:" & dyBlkProp.PropertyName
Debug.Print "说明:" & dyBlkProp.Description
Debug.Print "显示:" & dyBlkProp.show
Debug.Print "只读:" & dyBlkProp.ReadOnly
Debug.Print "类型:" & dyBlkProp.UnitsType
Debug.Print "值:" & dyBlkProp.Value
'注意写入值的类型、允许值要对应,否则不接受
dyBlkProp.Value=XXX
If IsArray(v) And UBound(v) >= 0 Then
Debug.Print "值范围"
For j = 0 To UBound(v)
Debug.Print v(j)
Next
End If
Next
End If
End Sub
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示