批量生成面域并按包含关系分别求差集
本帖最后由 gaics 于 2020-4-17 11:47 编辑目标:将若干图元(包括面域、直线、多段线、弧线等,只要能够生成面域)批量生成面域,并按照各个对象的包含关系分别求差集。
开始没有好的思路,前后写了4版代码。经对100组对象测试,四版代码的运行时间分别约为55秒、45秒、40秒和“1秒”,最后一版的效率简直是天差地别!
厉害了,谢谢你! 呼呼se 发表于 2021-4-3 11:37
你好 我用生成面积并差集为什么其他图形会消失 能处理吗???
利用的最小包围框,框内图形会被差集。特殊形状的图形可能会存在这个问题。建议把不相干的图形挪开。 有的时候会出错,例如:百分号%,如果圆圈在包围斜线的框里,圆圈就会被删除。
(if (setq ssb (ssget "_w" (car pta) (cadr pta)))
(command "subtract" a "" ssb "")
有没有办法优化? 加吧油,能把差集的截面特征提出了更好 bai2000 发表于 2020-4-17 11:32
加吧油,能把差集的截面特征提出了更好
可以的,已经实现了。只是还没有跟速度最快这版整合 本帖最后由 bai2000 于 2020-4-17 11:57 编辑
列个表更好
bai2000 发表于 2020-4-17 11:55
列个表更好
没弄那么复杂,只列出几个主要的参数 路过支持一下 有难度,新手来学习了 新手来学习咯 zwwen 发表于 2020-5-9 12:59
有的时候会出错,例如:百分号%,如果圆圈在包围斜线的框里,圆圈就会被删除。
(if (setq ssb (ssget "_w" ...
确实有这个问题,暂时没想到好办法解决