乐筑天下

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

[求助]选择集的问题?

[复制链接]

15

主题

27

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
87
发表于 2005-5-31 18:49:00 | 显示全部楼层 |阅读模式
Public elem as object
Public subelem as object
For Each elem in ThisDrawing.blocks
                         label1.caption = elem.name
next
在上面的程序中,我可以得到全部块名,但在
label2.caption.caption=ThisDrawing.SelectionSets.count中却显示块为零,这是为什么呢?
另外,如果我已知块名为“XXX”,要得到其中的属性,用一下程序行吗?
Dim blockRefObj As AcadBlockReference
Dim varAttributes As Variant
Dim con(26) as string                                                              
                                                                                        
                                                                                         '
块中总数已知
Dim don(26) as string
Dim I as integer
    varAttributes = blockRefObj.GetAttributes
Set blockRefObj = ThisDrawing.SelectionSets.Item("XXX")
For I = LBound(varAttributes) To UBound(varAttributes)
                         con(26) = varAttributes(I).TagString
                         don(26) = varAttributes(I).textString
next
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-5-31 22:03:00 | 显示全部楼层
1.块为什么写成选择集,所以显示为零并不奇怪。
2.你选择集的概念还不情况,需要多从这方面下功夫。
回复

使用道具 举报

8

主题

127

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2005-6-1 16:41:00 | 显示全部楼层

Set blockRefObj = ThisDrawing.SelectionSets.Item("XXX")//很怀疑你到底写了这个程序没有?ThisDrawing.SelectionSets.Item得到的是SelectionSet对象,而不是 AcadBlockReference对象.
回复

使用道具 举报

15

主题

27

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
87
发表于 2005-6-1 21:03:00 | 显示全部楼层
如果我已知块名,该用什么方法得到块的属性呢?

回复

使用道具 举报

6

主题

60

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2005-6-2 10:19:00 | 显示全部楼层
临时插入一个块,得到属性然后删掉。
回复

使用道具 举报

4

主题

27

帖子

3

银币

初来乍到

Rank: 1

铜币
43
发表于 2005-6-9 17:52:00 | 显示全部楼层
Private Sub CommandButton6_Click()
        ' Begin the selection
                         
                         Dim basePnt As Variant
                         Dim objatts As Variant
                         Dim i As Integer
                 On Error Resume Next
                 
                         '隐藏对话框
                                 Me.Hide
                                 '以点选方式获取图元
                         ThisDrawing.Utility.GetEntity returnObj, basePnt, "Select an object"
                                                 
                                 If returnObj.ObjectName = "AcDbBlockReference" Then
                                                         'returnObj.color = acRed
                                                         'returnObj.Update
                                                         'returnObj.color = acByLayer
                                                         'returnObj.Update
                                                         
                                                         ComboBox5.Clear
                                                         ComboBox6.Clear
                                                         ComboBox7.Clear
                                                         ComboBox5.AddItem returnObj.Name
                                                         ComboBox5.ListIndex = 0
                                                         objatts = returnObj.GetAttributes
                                                         For i = LBound(objatts) To UBound(objatts)
                                                         ComboBox6.AddItem objatts(i).TagString
                                                         'ComboBox5.AddItem objatts(i).PromptString
                                                         ComboBox7.AddItem objatts(i).TextString
                                                         Next i
                                         Else
                                         x = MsgBox("你选择的不是图块,请从新选择", vbOKOnly, "提示")
                                         
                         End If
                         
                         Me.Show
End Sub
回复

使用道具 举报

15

主题

27

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
87
发表于 2005-6-10 10:13:00 | 显示全部楼层
谢谢!
程序已经试过了,可以得到块属性!
但如果已知块名,是否能不用选择得到属性呢?
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2005-6-10 10:31:00 | 显示全部楼层

不能.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-3 18:06 , Processed in 0.513889 second(s), 69 queries .

© 2020-2025 乐筑天下

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