startpoint 发表于 2013-5-9 10:13:51

大神们帮帮忙啊

在模型空间不同位置重复插入同一块对象,然后建立选择集,用selectonscreen选择对象,为什么选中某一对象的时候,另一对象同时也会被选择,我是新手,求指点啊

startpoint 发表于 2013-5-9 16:46:24

为什么没有人回复啊

齐天大圣3386 发表于 2013-5-10 05:55:56

你把代码帖出来看看

startpoint 发表于 2013-5-10 09:13:34

齐天大圣3386 发表于 2013-5-10 05:55 static/image/common/back.gif
你把代码帖出来看看

Sub xiugaibianyaqi()
If mdlconnectdb.opendb = False Then
Exit Sub
End If

Dim chandle As Variant
'安全创建选择集
On Error Resume Next
Dim sset As AcadSelectionSet
If Not IsNull(ThisDrawing.SelectionSets.Item("example")) Then
Set sset = ThisDrawing.SelectionSets.Item("example")
sset.Delete
End If
Set sset = ThisDrawing.SelectionSets.Add("example")

sset.SelectOnScreen

chandle = sset.Item(0).Handle
MsgBox ("chandle=") & chandle

sset.Delete

End Sub
若是模型空间重复插入两个块对象,输出的句柄永远是最后插入对象的句柄值,为什么?

startpoint 发表于 2013-5-10 09:15:39

齐天大圣3386 发表于 2013-5-10 05:55 static/image/common/back.gif
你把代码帖出来看看

Private Sub AcadDocument_BeginDoubleClick(ByVal PickPoint As Variant)
If mdlconnectdb.opendb = False Then
Exit Sub
End If

Dim objselect As AcadBlockReference
Dim basepnt As Variant
Dim xdatatype As Variant
Dim xdatavalue As Variant
Dim strcode As String
Dim pt As Variant
Dim my(0 To 2) As Double

'选择对象并判断类型
On Error Resume Next

retry:
ThisDrawing.Utility.GetEntity objselect, basepnt, vbCrLf & "选择所要添加属性的对象:"



'处理未选择到实体的错误
If Err <> 0 Then
Err.Clear
GoTo retry
End If

'保存当前选择对象的句柄
mdlpubvariable.enthandle = objselect.Handle
MsgBox ("enthandle=") & objselect.Handle
End sub
这种方法也是?新手,好多东西刚知道个皮毛,求指教

齐天大圣3386 发表于 2013-5-10 11:47:55

chandle = sset.Item(0).Handle
这句取的是集合里的第一个元素,也就是最后插入的元素,你可以先取得集合元素数,然后循环输出所有的元素。

startpoint 发表于 2013-5-10 15:17:18

齐天大圣3386 发表于 2013-5-10 11:47 static/image/common/back.gif
chandle = sset.Item(0).Handle
这句取的是集合里的第一个元素,也就是最后插入的元素,你可以先取得集合元 ...

我试试,非常感谢啊

startpoint 发表于 2013-5-10 15:31:04

齐天大圣3386 发表于 2013-5-10 11:47 static/image/common/back.gif
chandle = sset.Item(0).Handle
这句取的是集合里的第一个元素,也就是最后插入的元素,你可以先取得集合元 ...

还有一点不懂得是,为什么我在模型空间上重复插入块对象,用selectonscreen选择单个对象时,重复插入的其它的块对象都能被选择,就是选中后,重复的块对象实线都变成虚线,我明明就是选中一个啊,这是为什么啊,求高手指点
页: [1]
查看完整版本: 大神们帮帮忙啊