- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 1
PAGE
第1章 选择集与组合
灵活使用各种选择集是AutoCAD编程的关键利用程序对图形中的对象进行编辑,首先必须掌握选择集以及对象的选择方法。我们把这一章放在最前面,是因为以后每一章中都要经常用到选择集。在这一章中我们不仅要掌握选择集的创建和修改的方法,还要掌握各种不同的选择方法以及怎样利用过滤器筛选自己需要的对象。另外,我们还要介绍一种特殊的选择集:对象组合(GROUP),并利用它来实现创建和拆散组合的功能。
灵活使用各种选择集是AutoCAD编程的关键
本章所涉及的AutoCAD对象模型中的对象如表1.1所示:
表1.1 本章所涉及的AutoCAD对象模型中的对象
对象
说明
SelectionSets 集合
图形中所有选择集的集合。
SelectionSet 对象
选择集,作为单一单元处理的一个或多个 AutoCAD 对象组成的组合。
Groups 集合
图形中所有组合的集合。
Group 对象
组合,命名的 SelectionSet 对象。
本章中主要解答以下内容:
如何创建空白选择集
创建一个空白选择集看上去是个很简单的问题,但其中却包含着许多知识点。选择集的名称在当前图形中必须是唯一的,而且选择集的名称是区分大小写的,所以创建选择集时如果没有注意到这些就很有可能出错。另外,选择集还存在着一个BUG,我们在编程时必须特别注意,不然你的程序可能交给用户使用时会经常出问题。
如何通过程序选定对象
内容
如何实现交互式选定对象
内容
如果实现先选择后操作
内容
如果通过过滤器筛选需要的对象
内容
如何在选择集中添加和删减对象
内容
如何编辑选择集中的对象
内容
生成的选择集怎样与LISP交换使用
内容
如何通过程序生成和删除组合对象
内容
1.1 如何创建空白选择集
问题
我创建的选择集为什么第一次运行正常,而第二次运行就会出错?
解决思路
对于初学者,这种问题经常会遇到。因为ActiveX的选择集是一种带有名称的选择集,而选择集的名称在当前图形中必须为唯一的,也就是不能重复。如果重复,在AutoCAD2002中会出现“”的错误,而在AutoCAD2004中会出现“运行时错误‘-2145320851(8021006在)’,命名选择集已存在”的错误。
1.我们要养好良好的编程习惯,在创建完选择集并使用完毕后,使用Delete 方法把选择集删除掉。
2.我们也可以在创建选择集时检查选择集中是否有同名的选择集存在,如果存在则清空,如果不存在则创建。
3.我们也可以直接使用出错处理函数来处理,因为当有同名的选择集存在时会出错,而出现错误时我们就可以得知集合中存在着同名的选择集,这样我们就可以将其清空处理。
其实,为了保险,我们在使用第一种方法的同时,必须同时使用第2或第3种方法。
具体步骤
1.用完选择集后用Delete 方法把选择集删除掉。
以下示例是一个创建和删除选择集的过程:
创建和删除选择集示例
Sub Ch1_1_CreateSelectionSet1()
Dim SSet As AcadSelectionSet
Dim SSetName As String
定义选择集的名称
SSetName = mjtd1
创建选择集
Set SSet = ThisDrawing.SelectionSets. _
Add(SSetName)
删除选择集
SSet.Delete
删除选择集也可以这样写:
ThisDrawing.SelectionSets.Item(SSetName).Delete
MsgBox 已经创建了一个名称为 SSetName 的选择集, _
vbCrLf 并且已成功将其删除。, , 明经通道VBA示例
End Sub
在程序的最后将选择集删除掉,这样在程序第二次运行时就不会出现在同一图形中重复创建同一名称选择集的问题了。
删除选择集有两种方法,在示例中都列出了,我们可以直接通过对象来删除,也可以通过选择集名称来删除。
2.创建选择集前检查集合中是否有同名选择集存在。
Sub Ch1_1_CreateSelectionSet2()
Dim SSet As AcadSelectionSet
Dim SSetName As String
定义选择集的名称
SSetName = mjtd
遍历选择集集合中的选择集
For Each SSet In ThisDrawing.SelectionSets
如果找到选择集的名称相符,则清空选择集
您可能关注的文档
最近下载
- 医师访谈记录.pdf VIP
- Unit 4 School Life 第3-4课时Reading and Rriting 课件 中职高一学年英语高教版基础模块1.ppt
- 最新中药饮片质量标准通则(试行).doc VIP
- 医学临床三基(输血学)-输血免疫学基础(精选试题).pptx VIP
- 我们的大脑的教学课件.ppt VIP
- 洞察世间智慧:哲学伴随我成长课件.ppt VIP
- 超星网课《汽车之旅》超星尔雅答案2023章节测验答案.doc VIP
- 老年人继承法培训课件.pptx VIP
- 科学湘科版二年级上册全册课件.pptx
- 第7课全球航路的开辟和欧洲早期殖民扩张【中职专用】《世界历史》(高教版2023基础模块).pptx VIP
文档评论(0)