不能用getxdata
本人选择一个物体,并对其set xdata,其中data为“螺丝”,现在想用get xdata方法得到“螺丝”,但msgbox 后是空的 ,请问为什么,程序如下,多谢各位
Public Sub xd()
Dim i As Integer, ssetobj As AcadSelectionSet, selobj As AcadEntity
Dim i1 As Integer, datatype(0) As Integer, data(0) As Variant, getobj As Variant, dattype As Variant, dat As Variant
i = ThisDrawing.SelectionSets.Count
While (i > 0)
If ThisDrawing.SelectionSets.Item(i - 1).Name = "xd" Then
ThisDrawing.SelectionSets.Item(i - 1).Delete
End If
i = i - 1
Wend
Set ssetobj = ThisDrawing.SelectionSets.Add("xd")
datatype(0) = 1001: data(0) = "螺丝"
For i1 = 0 To ssetobj.Count - 1
Set selobj = ssetobj.Item(i1)
selobj.SetXData datatype, data
getobj = selobj.GetXData("", dattype, dat)
Next
MsgBox getobj
End Sub
setXData中datatype, data的元素个数都要大于1,否则将把符合1001码的XData删除
1001码是程序名,不要带参数
后面可以跟一个1000码附上文本信息
斑竹,去改了一下,好象还是不行,斑竹能不能帮我修一下,只在执行时msgbox可以显示"螺丝"这两个字就行,在此先谢谢斑竹!!
Public Sub xd()
On Error Resume Next
Dim ssetobj As AcadSelectionSet
Dim selobj As AcadEntity
Dim xt, xd
Dim datatype(1) As Integer, data(1)
ThisDrawing.SelectionSets("xd").Delete
Set ssetobj = ThisDrawing.SelectionSets.Add("xd")
ssetobj.SelectOnScreen
datatype(0) = 1001: data(0) = "myapp"
datatype(1) = 1000: data(1) = "螺丝"
For i = 0 To ssetobj.Count - 1
Set selobj = ssetobj.Item(i)
selobj.SetXData datatype, data
selobj.GetXData "myapp", xt, xd
MsgBox xd(1)
Next
End Sub
顶顶!
多谢版主这样好心的人
页:
[1]