h806600727 发表于 2022-2-13 13:28:41

ssget,选集问题求助

ssget,选集问题求助!!!
创建选择集会消耗 AutoCAD 的临时文件存储区,所以 AutoLISP 不允许同时创建多于 128 个选择集。
例如:画一个圆,然后执行以下代码:
(repeat 130 (setq a (cons (ssget "l") a)))
这段程序循环了 130 次,AutoCAD提示 “错误: 超出选择集数量的最大范围”,如果继续调用 (ssget) 将返回 nil;此时,只有清空选择集变量 (setq a nil) 才能继续调用 ssget。
ssget 选择时没有自定义提示,如果特别需要可用第三方函数
上面的问题,请问大佬们第三方函数有哪些,百度没有找到相似的第三方ssget函数:handshake

和尚777 发表于 2022-2-13 13:46:52

(defun lm-ssget (msg f / sel)
        (princ msg)
        (setvar 'nomutt 1)
        (setq sel (vl-catch-all-apply 'ssget f))
        (setvar 'nomutt 0)
        (if (not (vl-catch-all-error-p sel)) sel)
)
;选择集转图元表不会超出
页: [1]
查看完整版本: ssget,选集问题求助