取出所选图形中的闭合区域 取封闭轮廓
本帖最后由 xj6019 于 2022-8-4 20:55 编辑水平不咋地,折腾两天了,终见成效,分享其中这个还可以的版本。
对闭合或者不闭合的图形直接取出第一个所能构成的封闭轮廓,文字晦涩,效果见图片。
其中改造引用了G版的函数,在此表示感谢,引用帖子如下:
http://bbs.mjtd.com/forum.php?mo ... %DF&_dsign=f1163335
用的是对每条直线逐渐延长的办法,少有缺陷吧,凑合能用。
这种问题感觉相对复杂(大佬请忽略,还没到你们的层次),对于边数太多,或者构造太另类的图形,可能处理上会出现好多或少的不如意,没办法的哦。
缺的简单函数补齐到这里了,下载附件后,将这句代码复制到附件中即可!!
(defun ss2list (SS)(vl-remove-if-not '(lambda(x)(= 'ENAME (type x))) (mapcar 'cadr (ssnamex SS)))) ;选择集->图元列表
xj6019 发表于 2022-5-20 16:46
大佬 您的级别都这么高了肯定是老手了,加个分组加个循环就行了 ,不过测试感觉速度可能不会太快,G ...
我只是热忠于看论坛,找能提升工作效率的工具。
目前只会改Defunn C:后面的快捷命令 哈哈。 flowerson 发表于 2022-5-23 12:25
圆弧的试过了不行,不知什么原因!提示是: “第二点:; 错误: 无效的参数数目”
圆弧不支持,我用不到圆弧的,没做处理,自己如果确实需要就想法再自己扩展一下,G版的代码是支持圆弧的,我处理的部分不支持,我用不到, 我是不折腾了,累脑袋 给力,谢谢分享。
可以批量么,就是把演示当前窗口可以看到的一次选中。 lxl217114 发表于 2022-5-20 16:35
给力,谢谢分享。
可以批量么,就是把演示当前窗口可以看到的一次选中。
不可以只能单次 xj6019 发表于 2022-5-20 16:41
不可以只能单次
好的 晓得了 lxl217114 发表于 2022-5-20 16:42
好的 晓得了
大佬 您的级别都这么高了肯定是老手了,加个分组加个循环就行了 ,不过测试感觉速度可能不会太快,G版函数决定的 有圆弧的可不可以取 仅对直线、弧线有用,对多义线无效 两天到达这效果不错了,我写了20天,有时图形还判断失误 大师你好
第一点:
第二点:; 错误: no function definition: SS2LIST