明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5112|回复: 29

[源码] 批量生成面域并按包含关系分别求差集

  [复制链接]
发表于 2020-4-17 10:28:43 | 显示全部楼层 |阅读模式
本帖最后由 gaics 于 2020-4-17 11:47 编辑

目标:将若干图元(包括面域、直线、多段线、弧线等,只要能够生成面域)批量生成面域,并按照各个对象的包含关系分别求差集。

开始没有好的思路,前后写了4版代码。经对100组对象测试,四版代码的运行时间分别约为55秒、45秒、40秒和“1秒”,最后一版的效率简直是天差地别!












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2021-4-2 21:06:48 | 显示全部楼层
厉害了,谢谢你!
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2021-4-5 10:55:57 | 显示全部楼层
呼呼se 发表于 2021-4-3 11:37
你好   我用生成面积并差集  为什么其他图形会消失   能处理吗???

利用的最小包围框,框内图形会被差集。特殊形状的图形可能会存在这个问题。建议把不相干的图形挪开。
发表于 2020-5-9 12:59:23 | 显示全部楼层
有的时候会出错,例如:百分号%,如果圆圈在包围斜线的框里,圆圈就会被删除。
(if (setq ssb (ssget "_w" (car pta) (cadr pta)))
(command "subtract" a "" ssb "")
有没有办法优化?
发表于 2020-4-17 11:32:35 | 显示全部楼层
加吧油,能把差集的截面特征提出了更好
 楼主| 发表于 2020-4-17 11:45:30 | 显示全部楼层
bai2000 发表于 2020-4-17 11:32
加吧油,能把差集的截面特征提出了更好

可以的,已经实现了。只是还没有跟速度最快这版整合
发表于 2020-4-17 11:55:29 | 显示全部楼层
本帖最后由 bai2000 于 2020-4-17 11:57 编辑

列个表更好

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2020-4-17 13:13:16 | 显示全部楼层

没弄那么复杂,只列出几个主要的参数
发表于 2020-4-18 15:36:08 | 显示全部楼层
路过支持一下
发表于 2020-5-8 10:16:53 | 显示全部楼层
有难度,新手来学习了
发表于 2020-5-8 19:52:11 | 显示全部楼层
新手来学习咯
 楼主| 发表于 2020-5-22 09:02:52 | 显示全部楼层
zwwen 发表于 2020-5-9 12:59
有的时候会出错,例如:百分号%,如果圆圈在包围斜线的框里,圆圈就会被删除。
(if (setq ssb (ssget "_w" ...

确实有这个问题,暂时没想到好办法解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-29 17:31 , Processed in 0.213116 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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