明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6238|回复: 15

关于SetXData的问题

  [复制链接]
发表于 2004-9-14 10:48:00 | 显示全部楼层 |阅读模式
在CAD中用SetXData方法对实体加扩展数据,第一次加进去后,然后想改变其值,想再用一次SetXData方法,可数据还是没变,不知是什么原因.
发表于 2004-9-14 14:54:00 | 显示全部楼层
代码呢?
 楼主| 发表于 2004-9-20 09:25:00 | 显示全部楼层
代码: Dim SetObj As AcadLWPolyline
Dim DataType(0 To 1) As Integer
Dim Data(0 To 1) As Variant DataType(0) = 1001: Data(0) = "glass"
DataType(1) = 1000: Data(1) = "5g"
SetObj.SetXData DataType, Data 第一次现完后用此代码加入扩展数据,没问题,在运行过程中再用HandleToObject方法再引用此对像再用上面的代码重新对实体写数据,程序是能运行,可再访问数据时,仍然没变,实在不明白?
发表于 2004-9-20 09:28:00 | 显示全部楼层
1001码在程序中值有改变么?
发表于 2004-9-20 12:55:00 | 显示全部楼层
新设的数据和原有的是相同的,当然看不出来了。DataType(1) = 1000: Data(1) = "5g",修改它的内容,比如5g-5h,再设置一次。
 楼主| 发表于 2004-9-23 12:14:00 | 显示全部楼层
1001码和1000码值在程序中有改变,但写进去后还是没变,我用Update更新后还是一样.
发表于 2004-9-23 12:29:00 | 显示全部楼层
1001码不能改,代表应用程序名
 楼主| 发表于 2004-9-23 13:40:00 | 显示全部楼层
这是完整的一段代码这样是不是不行? Sub test()
Dim Po(7) As Double
Dim LWPoLine As AcadLWPolyline
Dim DataType(0 To 1) As Integer
Dim Data(0 To 1) As Variant
Dim XTypeOut As Variant, XDateOut As Variant Po(0) = 0: Po(1) = 0
Po(2) = 20: Po(3) = 0
Po(4) = 20: Po(5) = 20
Po(6) = 0: Po(7) = 20
Set LWPoLine = ThisDrawing.ModelSpace.AddLightWeightPolyline(Po)
'第一次写入
DataType(0) = 1001: Data(0) = "5g"
DataType(1) = 1000: Data(1) = "true"
LWPoLine.SetXData DataType, Data
LWPoLine.GetXData "", XTypeOut, XDataOut
MsgBox XTypeOut(0) & ";" & XDataOut(0) & vbCr & XTypeOut(1) & ";" & XDataOut(1)
'改变值重新写入,读出的值没变
DataType(0) = 1001: Data(0) = "5g_5h"
DataType(1) = 1000: Data(1) = "true"
LWPoLine.SetXData DataType, Data
LWPoLine.Update
LWPoLine.GetXData "", XTypeOut, XDataOut
MsgBox XTypeOut(0) & ";" & XDataOut(0) & vbCr & XTypeOut(1) & ";" & XDataOut(1)
End Sub
 楼主| 发表于 2004-9-23 13:45:00 | 显示全部楼层
lzh741206发表于2004-9-23 12:29:001001码不能改,代表应用程序名

果然如此,1001码的值不能改.只能改1000的值,不知为何?
发表于 2004-9-23 22:49:00 | 显示全部楼层
1001码代表应用程序名,其他的如1000码、1002码等是这个应用程序下的值,如果你装了ET工具,调用xdlist命令就一目了然了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 20:20 , Processed in 0.195720 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表