乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 51|回复: 3

基于块名称、属性值的块计数

[复制链接]

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2007-9-7 09:46:09 | 显示全部楼层 |阅读模式
本人'我们有一个程序,可以使用不同的选择类型计算不同的块 现在,我'我们得到了它,因此它将根据属性标记的值计算块数 现在我想将块名添加到混合中,因为一些块可能与其他块具有相同的属性值
现在代码中出现了这样的内容…
我想添加块名,这样计数看起来更像这样,以显示哪个块与属性值相关
此处'到目前为止,这是我的代码 本人'我已经获得了创建字典的MS脚本运行时的参考
  1. Private Sub GetAttributeCount()
  2.     Dim objAttKeys As Variant
  3.     Dim objAttItems As Variant
  4.     Dim objAttDict As Dictionary
  5.     Dim varAtts() As AcadAttributeReference
  6.     Dim objBlock As AcadBlockReference
  7.     Dim obj As AcadEntity
  8.     Dim i, x As Integer
  9.    
  10.     Set objAttDict = New Dictionary
  11.    
  12.     x = 1
  13.     For Each obj In SSet
  14.         Set objBlock = obj
  15.         If obj.HasAttributes Then
  16.             varAtts = obj.GetAttributes
  17.             For i = LBound(varAtts) To UBound(varAtts)
  18.                 If UCase$(varAtts(i).TagString) = "DATATYPE" Then
  19.                     If objAttDict.Exists(varAtts(i).TextString) = False Then
  20.                         objAttDict.Add varAtts(i).TextString, 1
  21.                     Else
  22.                         objAttDict.item(varAtts(i).TextString) = objAttDict.item(varAtts(i).TextString) + 1
  23.                     End If
  24.                 End If
  25.                 On Error GoTo 0
  26.             Next i
  27.         End If
  28.     Next obj
  29.    
  30.     i = 0
  31.    
  32.     objAttKeys = objAttDict.Keys
  33.     objAttItems = objAttDict.Items
  34.     For x = 0 To UBound(objAttKeys)
  35.         Debug.Print objAttKeys(x) & vbTab & objAttItems(x)
  36.         i = i + objAttItems(x)
  37.     Next
  38. End Sub


回复

使用道具 举报

0

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2007-9-9 09:43:14 | 显示全部楼层
嗨,马特,看这条线http://discussion.autodesk.com/thread.jspa?threadID=606029希望能有所帮助;J#039~
回复

使用道具 举报

0

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
7
发表于 2007-9-9 12:00:45 | 显示全部楼层
字典可能不是最好的容器
在我看来,你可以有Block1 A 3和Block1 B 2。通过解析逗号,你可以用;区块1,A“;3;和“;区块1,B“;2但它'在集合中使用变体数组通常更容易
尺寸Bc(2)
Bc(0)=块。名称:Bc(1)=附件。textstring:Bc(2)=计数现在您按名称为每个blockref建立一个选择集,对该块的Bc进行排序;添加到集合
回复

使用道具 举报

0

主题

9

帖子

4

银币

初来乍到

Rank: 1

铜币
10
发表于 2007-9-10 08:33:23 | 显示全部楼层
谢谢大家
这会给我一些思考的东西。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 00:43 , Processed in 0.664769 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表