找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 483|回复: 0

[VBA函数]:清除CAD对象的扩展实体数据

[复制链接]

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-1-9 18:38:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1.   [FONT=courier new]
  2. Direct from AcadX.com

  3. Public Sub ClearXData(Obj As AcadObject, Optional RegApp As String = "")
  4.     Const regAppKey As Integer = 1001
  5.     Const acadApp As String = "ACAD"

  6.     Dim XDType As Variant
  7.     Dim XDData As Variant
  8.     Dim NewType(0) As Integer
  9.     Dim NewData(0) As Variant
  10.     Dim i As Integer

  11.     Obj.GetXData AppName:=RegApp, XDataType:=XDType, XDataValue:=XDData

  12.     If Not IsEmpty(XDType) Then
  13.         For i = LBound(XDType) To UBound(XDType)
  14.             If XDType(i) = regAppKey Then
  15.                 If Not XDData(i) Like acadApp Then '对CAD内部的扩展实体数据不清除
  16.                     NewType(0) = regAppKey
  17.                     NewData(0) = XDData(i)
  18.                     Obj.setXdata XDataType:=NewType, XDataValue:=NewData
  19.                 End If
  20.             End If
  21.         Next i
  22.     End If
  23. End Sub

  24. 目的
  25. 删除扩展实体数据。扩展实体数据是附着于CAD对象上,如果应用程序名称没有指定,所有的扩展实体数据将删除。

  26. 参数
  27. 一个AcadObject对象和可选的应用程序名称。

  28. 示例
  29. Call ClearXData (myAcadObject, "ACADX")

  30. 注意
  31. ClearXData() 不会删除AutoCAD内部保存的扩展实体数据。
  32. --
  33. Bobby C. Jones
  34. [url]www.AcadX.com[/url]

  35.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 06:42 , Processed in 0.314123 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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