明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1918|回复: 6

问count的用法。

[复制链接]
发表于 2005-4-8 19:53:00 | 显示全部楼层 |阅读模式
能用count获得自定义的选择集中项目的个数吗?


具体怎么样实现?
发表于 2005-4-8 21:20:00 | 显示全部楼层
ssetObj.Count
 楼主| 发表于 2005-4-8 21:47:00 | 显示全部楼层
Sub example_select()
On Error Resume Next

Dim myss As AcadSelectionSet
If Not IsNull(ThisDrawing.SelectionSets.Item("myss")) Then
Set myss = ThisDrawing.SelectionSets.Item("myss")
myss.detele
End If

Set myss = ThisDrawing.SelectionSets.Add("myss")

Dim mode As Integer
mode = acSelectionSetAll
myss.Select mode

Dim returnobj As Object

Dim re As Variant
ThisDrawing.Utility.GetEntity returnobj, "Ñ¡ÔñÒ»¸öͼÏñ:"

returnobj.color = acRed
returnobj.Update
startpoint = returnobj.startpoint
endpoint = returnobj.endpoint
re = returnobj.ObjectName
MsgBox "×ø±êÆðµã" & startpoint(0) & "," & startpoint(1) & "," & startpoint(2) & " ÖÕµã " & endpoint(0) & "," & endpoint(1) & "," & endpoint(2) & " id " & re
returnobj.color = acByLayer
returnobj.Update
myss.RemoveItems returnobj


MsgBox " ¸öÊý " & myss.count


End Sub 为什么运行后是3个,难道myss.RemoveItems returnobj没有用?
发表于 2005-4-8 21:57:00 | 显示全部楼层
returnobj必须为图元数组,而不是图元。
程序中GetEntity中的参数缺少,这样的结果是returnobj连图元都没返回
 楼主| 发表于 2005-4-8 21:59:00 | 显示全部楼层
可以帮我改一下让我看看吗?


光看书发现好多弄不懂啊。
发表于 2005-4-8 22:27:00 | 显示全部楼层
  1. Sub example_select()
  2.        On Error Resume Next
  3.       
  4.        Dim myss As AcadSelectionSet
  5.        If Not IsNull(ThisDrawing.SelectionSets.Item("myss")) Then
  6.                Set myss = ThisDrawing.SelectionSets.Item("myss")
  7.                myss.detele
  8.        End If
  9.       
  10.        Set myss = ThisDrawing.SelectionSets.Add("myss")
  11.       
  12.        Dim mode As Integer
  13.        mode = acSelectionSetAll
  14.        myss.Select mode
  15.    MsgBox "选择集数量" & myss.Count
  16.       
  17.        Dim returnobj(0) As Object
  18.        Dim returnpnt As Variant
  19.       
  20.        Dim re As Variant
  21.        ThisDrawing.Utility.GetEntity returnobj(0), returnpnt, "选择直线:"
  22.       
  23.        returnobj(0).color = acRed
  24.        returnobj(0).Update
  25.        Dim StartPoint, EndPoint
  26.        StartPoint = returnobj(0).StartPoint
  27.        EndPoint = returnobj(0).EndPoint
  28.        re = returnobj(0).ObjectName
  29.        MsgBox "起点 " & StartPoint(0) & "," & StartPoint(1) & "," & StartPoint(2) & "   终点 " & EndPoint(0) & "," & EndPoint(1) & "," & EndPoint(2) & "   id   " & re
  30.        returnobj(0).color = acByLayer
  31.        returnobj(0).Update
  32.       
  33.        myss.RemoveItems returnobj
  34.       
  35.       
  36.    MsgBox "选择集数量" & myss.Count
  37.       
  38.       
  39. End Sub
 楼主| 发表于 2005-4-8 22:30:00 | 显示全部楼层
真是太感谢了,学二次开发三个多星期了。


发现看书好多东西弄不懂。


以后希望能够多多向您请教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 18:32 , Processed in 0.173764 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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