明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1807|回复: 4

VLISP的选集问题

[复制链接]
发表于 2012-10-30 11:09:19 | 显示全部楼层 |阅读模式
我在学习VLISP中,发现可以创建选集,例如(vla-add selectionsetsel "test"),创建了一个test的选集,但是在重复使用的时候会出现错误,说我已经创建了该名的选集,于是乎我便想着何不在程序结束后,将该选集删除,仅仅保留图形而已,这样重复使用该命令就可以不需要替换选集名称了,但是找不到该条命令,选集的名称一直在CAD的图形空间中,似乎成了顽固赶不走,哪位大侠提示一下,非常感激不尽!!
发表于 2012-10-30 16:42:38 | 显示全部楼层
举一个实例看一下
发表于 2012-10-30 19:33:21 | 显示全部楼层
(setq sSet (vla-get-SelectionSets (vla-get-ActiveDocument (vlax-get-acad-object))))
(setq sSet_1 (vla-add sSet "aaa"))   ;增加一个名为"aaa"的选择集
................................................
(vla-delete sSet_1)   ;删除选择集
发表于 2012-10-30 20:13:04 | 显示全部楼层
创建选择集使用后删除是必要的,但可能出现意外操作而删除不完成(如使用该选择集过程中出现错误导致程序提前终止,删除选择集不能兑现),当然,你可以增加异常处理机制。
所以不如增加预处理机制,即创建选择集前先判断选择集合是否存在,如果存在将其删除..
当然,你可以考虑要不要“保护现场”。
发表于 2012-10-30 20:29:34 | 显示全部楼层
(setq sSet (vla-get-SelectionSets (vla-get-ActiveDocument (vlax-get-acad-object))))
如果 (vl-catch-all-error-p (vl-catch-all-apply 'vla-item (list sSet "Test1")))返回结果为真,那么选择集"Test1"不存在
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-26 03:50 , Processed in 0.160795 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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