明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1712|回复: 7

关于创建选择集的问题

  [复制链接]
发表于 2009-7-29 20:52:00 | 显示全部楼层 |阅读模式

各位高手帮帮忙,出点注意:

我用VB 编程二次开发CAD 在创建选择集时遇到问题 具体代码如下:

Public acadapp As Object    '建立Application对象
 ublic acaddoc As Object    '建立Document对象
 ublic acaddocs As Object
Dim ssetObj As Variant
On Error Resume Next
  get_statue = False
 Set acadapp = GetObject(, "AutoCAD.application.16")   '若AutoCad已启动 , 则直接得到一个 Application对象
 If Err Then
 Err.Clear
 Else
 get_statue = True
 Set acaddoc = acadapp.ActiveDocument                 '设acaddoc为当前图形文件
 Set acaddocs = acadapp.Documents
 End If
Set ssetObj = module1.acaddoc.SelectionSets.Add("TEST_SSET1") '
ssetObj.SelectOnScreen
module1.acaddoc.SelectionSets.Item("TEST_SSET1").Delete

问题:当从CAD选择晚图形后 回到VB的本地窗口察看时,找不到所选择的对象,仔细看看发现创建的选择集ssetObj 只有Application,Name,cout属性 而没有ITEM属性,所以查不

到,请问怎样解决?


而我在 CAD中的VBA编写的代码就可以看到


VBA代码:
Dim selsetCollection As AcadSelectionSets
  Dim selset1 As Variant
  Dim ent As Object
  Dim i, j As Integer

 Set selset1 = ThisDrawing.SelectionSets.Add("SS4")

 selset1 .SelectOnScreen

发表于 2009-7-29 23:45:00 | 显示全部楼层

module1.acaddoc.SelectionSets.Item("TEST_SSET1").Delete?

选完就删掉干嘛

 楼主| 发表于 2009-7-30 18:52:00 | 显示全部楼层

楼上的大侠 能否把我的代码在你机子上给我看看

Set ssetObj =acaddoc.SelectionSets.Add("TEST_SSET1") '
ssetObj.SelectOnScreen   我在这里设置了断点,后面那句还没执行能 没有关系的

发表于 2009-7-30 19:45:00 | 显示全部楼层

你应该在下一句设置断点

发表于 2009-7-30 21:45:00 | 显示全部楼层

module1是什么?应该是他的问题。把它去掉。

 楼主| 发表于 2009-7-31 08:31:00 | 显示全部楼层

对不起,Module1是我上传时书写错误,实际程序里没有?

我再次声明这段程序的目的是想从CAD屏幕上选择对象后(比如:直线,文字)然后赋值给一个变量如:obj.这里的obj一定要是直线或者文字,应为我后面还要判断

if obj = line or obj = text then

........

else

.......

end if

我琢磨了好几天,想不出解决的办法,希望斑主和各位高手帮帮我 谢谢

发表于 2009-7-31 10:55:00 | 显示全部楼层

if obj = line or obj = text then

?

应该比较obj.ObjectName

或者用过滤器就可以不用If语句

 楼主| 发表于 2009-7-31 17:26:00 | 显示全部楼层

谢谢版主的指点

我用遍历选择集的对象实现了

Dim ent As Object
 For Each ent In ssetObj
a = ent.ObjectName
 Next

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

本版积分规则

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

GMT+8, 2024-11-26 02:50 , Processed in 0.182813 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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