明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1920|回复: 7

[求助]选择集的问题?

[复制链接]
发表于 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
发表于 2005-5-31 22:03:00 | 显示全部楼层
1.块为什么写成选择集,所以显示为零并不奇怪。
2.你选择集的概念还不情况,需要多从这方面下功夫。
发表于 2005-6-1 16:41:00 | 显示全部楼层
mlyd发表于2005-5-31 18:49:00回复:(mlyd)选择集的问题? Public elem as objectPublic subelem as objectFor Each elem in ThisDrawing.blocks label1.caption = elem.namenext在上面...
Set blockRefObj = ThisDrawing.SelectionSets.Item("XXX")//很怀疑你到底写了这个程序没有?ThisDrawing.SelectionSets.Item得到的是SelectionSet对象,而不是 AcadBlockReference对象.
 楼主| 发表于 2005-6-1 21:03:00 | 显示全部楼层
如果我已知块名,该用什么方法得到块的属性呢?

发表于 2005-6-2 10:19:00 | 显示全部楼层
临时插入一个块,得到属性然后删掉。
发表于 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
 楼主| 发表于 2005-6-10 10:13:00 | 显示全部楼层
谢谢!


程序已经试过了,可以得到块属性!


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

不能.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 14:32 , Processed in 0.202415 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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