- 积分
- 1401
- 明经币
- 个
- 注册时间
- 2003-7-23
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2004-11-17 20:26:00
|
显示全部楼层
多谢了,应该不成问题,可以弄出来了。附上我的另外一段代码,请斑竹看看,为什么只能读出第一个数据。
Dim returnobj As Object Dim prjname As String Dim ss As Object Dim gpcode(1) As Integer Dim datavalue(1) As Variant Dim xdtype As Variant Dim xdata As Variant Dim p As Variant Dim ent As Object
'On Error Resume Next Call acadopen AppActivate "Autocad" Set acadutil = acadobj.ActiveDocument.Utility Call acadutil.GetEntity(returnobj, , "..选择任意井") prjname = returnobj.layer
Set ss = acadobj.ActiveDocument.SelectionSets.Add("*TEST*") gpcode(0) = 8: gpcode(1) = 1001 datavalue(0) = prjname: datavalue(1) = "cj_gx_10" ss.Select 5, , , gpcode, datavalue 'ss.selectonscreen gpcode, datavalue If ss.Count = 0 Then ss.Delete Exit Sub Else: grid.Rows = 1 For Each ent In ss '逐个加入表格 grid.AddItem (grid.Rows) returnobj.GetXData "cj_gx_10", xdtype, xdata grid.TextMatrix(grid.Rows - 1, 1) = xdata(4) grid.TextMatrix(grid.Rows - 1, 2) = ent.Handle grid.TextMatrix(grid.Rows - 1, 5) = xdata(3) Next ent End If ss.Delete
上面是vb代码,可以读出当前图形中所有的含某特定扩展数据的物体,我看了一下,实体的句饼是不同的也就是确实把各个实体读了出来,但是用returnobj.GetXData "cj_gx_10", xdtype, xdata
获取实体的扩展数据的时候,第一次是能获得的,到第二次的时候好像是不能获得的,所以写出来的数据都是和第一次相同的。我想是可能xdtype, xdata不为空的原因,不知道是不是这个?又需要如何处理?
谢谢了。 |
|