CAD VBA 二次开发过程中经常会遇到对象类型的判断与筛选,typename 是vba中类名,objectname(多一个i)和entityname是CAD中对象类名,通过typename和objectname可实现此功能,代码如下:
'2024年3月6日19:09:26 by qq443440204
Sub getentity函数获取typename和objectname类名()
On Error GoTo error_control
Dim ent As AcadObject, pt(2) As Variant, a As String, b, c
pt(0) = 3#: pt(1) = 3#: pt(2) = 0#
MsgBox "请回CAD界面选择图元"
RETRY:
Do
ThisDrawing.Utility.GetEntity ent, pt, "请选择图元" 'getentity函数,ent可引用窗选对象,pt为窗选点坐标
a = a & TypeName(ent) & " , "
b = b & ent.ObjectName & " , "
c = c & ent.EntityName & " , "
Loop
error_control: '用户按esc键或右键退出循环选择
If Err <> 0 Then Err.Clear
MsgBox "VBA中类名typename是:" _
& a & vbCr & vbCr & "CAD中类名objcetname是:" _
& b & vbCr & vbCr & "CAD中entityname是:"