tjdxtm 发表于 2004-11-8 10:56:00

求助,关于AcadSelectionSet

求助:怎样复制AcadSelectionSet对象,
比如        :
       Dim ssetObj As AcadSelectionSet
       Dim ssetObj2 As AcadSelectionSet
       Set ssetObj = CreateSelectionSet("sk")
…………
                               : ssetObj2(I) = ssetObj(J)【这样赋值出错,应该怎么赋值呢?】
我要达到的效果是把ssetObj(J)的全部内容赋给ssetObj2(I)
谢谢了。

雪山飞狐_lzh 发表于 2004-11-8 19:46:00

用AddItem方法

小美菜 发表于 2004-11-8 20:24:00

Dim tmpObj As AcadEntity, i As Integer, xObj() As AcadEntity '合并选择集中的对象
       If InOutSet Is Nothing Or InSetX Is Nothing Then Exit Function
       If InSetX.Count = 0 Then Exit Function 'Else MsgBox InOutSet.Count
       ReDim xObj(i)
       For Each tmpObj In InSetX
                       ReDim Preserve xObj(i)
                       Set xObj(i) = tmpObj: i = i + 1
       Next
       InSetX.Delete
       If UBound(xObj) = 0 And xObj(0) Is Nothing Then Exit Function
       InOutSet.AddItems (xObj)

一只鸟243aZ 发表于 2018-6-10 22:36:00


没作用。For Each tmpObj In InSetX 报错“运行时错误'438',对象不支持该属性或方法

一只鸟243aZ 发表于 2018-6-10 22:36:00


能否给个例子?

1005100717 发表于 2018-6-11 07:09:00

Dim a As AcadSelectionSet   '假设a已经存在内容
Dim b As AcadSelectionSet
通过循环的方法,使用b.AddItem(a.item(ii))

dong20030432 发表于 2018-6-11 09:47:00

循环拷贝或者将对象加入对象数组,使用CopyObjects方法
页: [1]
查看完整版本: 求助,关于AcadSelectionSet