大神们帮帮忙啊
在模型空间不同位置重复插入同一块对象,然后建立选择集,用selectonscreen选择对象,为什么选中某一对象的时候,另一对象同时也会被选择,我是新手,求指点啊为什么没有人回复啊
你把代码帖出来看看 齐天大圣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
若是模型空间重复插入两个块对象,输出的句柄永远是最后插入对象的句柄值,为什么? 齐天大圣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
这种方法也是?新手,好多东西刚知道个皮毛,求指教 chandle = sset.Item(0).Handle
这句取的是集合里的第一个元素,也就是最后插入的元素,你可以先取得集合元素数,然后循环输出所有的元素。 齐天大圣3386 发表于 2013-5-10 11:47 static/image/common/back.gif
chandle = sset.Item(0).Handle
这句取的是集合里的第一个元素,也就是最后插入的元素,你可以先取得集合元 ...
我试试,非常感谢啊 齐天大圣3386 发表于 2013-5-10 11:47 static/image/common/back.gif
chandle = sset.Item(0).Handle
这句取的是集合里的第一个元素,也就是最后插入的元素,你可以先取得集合元 ...
还有一点不懂得是,为什么我在模型空间上重复插入块对象,用selectonscreen选择单个对象时,重复插入的其它的块对象都能被选择,就是选中后,重复的块对象实线都变成虚线,我明明就是选中一个啊,这是为什么啊,求高手指点
页:
[1]