xj6019 发表于 2022-5-20 15:04:01

取出所选图形中的闭合区域 取封闭轮廓

本帖最后由 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)))) ;选择集->图元列表

lxl217114 发表于 2022-5-20 16:50:41

xj6019 发表于 2022-5-20 16:46
大佬 您的级别都这么高了肯定是老手了,加个分组加个循环就行了 ,不过测试感觉速度可能不会太快,G ...

我只是热忠于看论坛,找能提升工作效率的工具。
目前只会改Defunn C:后面的快捷命令   哈哈。

xj6019 发表于 2022-5-23 12:38:41

flowerson 发表于 2022-5-23 12:25
圆弧的试过了不行,不知什么原因!提示是: “第二点:; 错误: 无效的参数数目”

圆弧不支持,我用不到圆弧的,没做处理,自己如果确实需要就想法再自己扩展一下,G版的代码是支持圆弧的,我处理的部分不支持,我用不到, 我是不折腾了,累脑袋

lxl217114 发表于 2022-5-20 16:35:29

给力,谢谢分享。
可以批量么,就是把演示当前窗口可以看到的一次选中。

xj6019 发表于 2022-5-20 16:41:56

lxl217114 发表于 2022-5-20 16:35
给力,谢谢分享。
可以批量么,就是把演示当前窗口可以看到的一次选中。

不可以只能单次

lxl217114 发表于 2022-5-20 16:42:30

xj6019 发表于 2022-5-20 16:41
不可以只能单次

好的   晓得了

xj6019 发表于 2022-5-20 16:46:41

lxl217114 发表于 2022-5-20 16:42
好的   晓得了

大佬 您的级别都这么高了肯定是老手了,加个分组加个循环就行了 ,不过测试感觉速度可能不会太快,G版函数决定的

世井 发表于 2022-5-20 17:53:53

有圆弧的可不可以取

bai2000 发表于 2022-5-20 18:36:07

仅对直线、弧线有用,对多义线无效

自贡黄明儒 发表于 2022-5-20 18:50:47

两天到达这效果不错了,我写了20天,有时图形还判断失误

XGZS1234 发表于 2022-5-20 19:24:37

大师你好
第一点:
第二点:; 错误: no function definition: SS2LIST
页: [1] 2 3 4 5
查看完整版本: 取出所选图形中的闭合区域 取封闭轮廓