明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1592|回复: 5

如何去除扩展属性?

[复制链接]
发表于 2015-11-23 21:32:23 | 显示全部楼层 |阅读模式
例如:  用 ent.SetXData Ty, v 添加的属性,其中Ty(0)="aaa"
    我想把这个属性去掉,用 ent.GetXData "aaa", Ty, v 得不到返回值
发表于 2015-12-1 22:12:03 | 显示全部楼层
  1. Public Sub DeleteAllObjXData()             '删除多个对象的所有扩展数据                       
  2.    
  3.     Dim SSet As AcadSelectionSet
  4.     For Each SSet In ThisDrawing.SelectionSets
  5.         If SSet.name = "SS1" Then
  6.             ThisDrawing.SelectionSets.Item("SS1").Delete
  7.             Exit For
  8.         End If
  9.     Next
  10.     Set SSet = ThisDrawing.SelectionSets.Add("SS1")
  11.     SSet.SelectOnScreen
  12.     ' 定义扩展数据变量以保存扩展数据信息
  13.     Dim XdataType As Variant
  14.     Dim xdata     As Variant
  15.     Dim xd        As Variant
  16.    
  17.     Dim DataType(0) As Integer
  18.     Dim Data(0)      As Variant
  19.    
  20.     '定义索引计数器
  21.     Dim xdi       As Integer
  22.     xdi = 0
  23.     ' 遍历选择集中的对象
  24.     ' 并检索对象的扩展数据
  25.     Dim strAppName As String
  26.     Dim objEnt        As AcadEntity
  27.     strAppName = ""
  28.     For Each objEnt In SSet
  29.         xdi = 0
  30.         ' 检索 appName 扩展数据类型和值
  31.         objEnt.GetXData strAppName, XdataType, xdata
  32.         ' 如果未初始化 xdataType 变量,
  33.         ' 则没有可供该图元检索的 appName 扩展数据
  34.         If VarType(XdataType) <> vbEmpty Then
  35.             For Each xd In XdataType
  36.                 If StrComp(XdataType(xdi), "1001", vbTextCompare) = 0 Then
  37.                     DataType(0) = 1001
  38.                     Data(0) = xdata(xdi)
  39.                     objEnt.SetXData DataType, Data
  40.                 End If
  41.                 xdi = xdi + 1
  42.             Next xd
  43.         End If
  44.         ThisDrawing.Utility.Prompt "消除扩展数据成功!" & vbCrLf

  45.     Next objEnt
  46. End Sub

评分

参与人数 1明经币 +1 金钱 +50 收起 理由
szj612 + 1 + 50 很给力!

查看全部评分

 楼主| 发表于 2015-12-7 17:01:26 | 显示全部楼层
谢谢楼上的热心解答!

点评

光嘴上说,加分呀  发表于 2015-12-7 22:08
 楼主| 发表于 2019-3-25 00:07:56 | 显示全部楼层
好久没有登录了,真的没有看到楼上的回复,不知zzyong00大侠还在吗?顺便请教一下加分如何操作?
 楼主| 发表于 2019-3-25 00:13:44 | 显示全部楼层
szj612 发表于 2015-12-7 17:01
谢谢楼上的热心解答!

分已加,但愿你能看到,很惭愧,在论坛上问了很多问题,从来没有给谁加过分,我一直以为那是管理员的事
发表于 2019-4-8 16:32:39 | 显示全部楼层
szj612 发表于 2019-3-25 00:13
分已加,但愿你能看到,很惭愧,在论坛上问了很多问题,从来没有给谁加过分,我一直以为那是管理员的事

开个玩笑,当真了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 07:55 , Processed in 0.191008 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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