|
|
发表于 2026-9-1 09:25
|
显示全部楼层
来自: 中国广东湛江
这个闭环思路可以实现,但如果能够在模型层取得板对象,最好不要在二维展开图里重新猜“哪个闭环属于哪张板”。更稳妥的是先建立“板对象→边界→展开图元素”的对应关系,并在生成展开图时把 COMP_ID 或自定义板号一起传递过去。
能够读取模型对象时,建议:
1、逐张取得板对象及其 COMP_ID;
2、读取该板自身的 LIMIT、SEAM、BUTT 等边界关系;
3、展开时保存模型对象与图纸元素的对应表;
4、根据对应关系直接在该板展开轮廓内部写入板号。
不要依赖图元生成顺序,因为图纸重生成后顺序可能变化。
如果目前只能取得二维线段,可以按下面处理:
1、将直线、圆弧和样条统一为可求交的曲线段;
2、在交点处打断,并按与图纸尺度匹配的容差合并端点;
3、建立半边图或类似的拓扑结构,按节点处方向角排序;
4、遍历有界面,而不是用简单 DFS 搜索任意闭合路径;
5、区分外轮廓和孔洞,过滤面积过小的伪闭环;
6、使用板对象的种子点做 point-in-polygon,将有界面分配给对应 COMP_ID。
简单搜索闭环在 T 形接头、重复焊缝、开孔和多条 seam 交汇处很容易得到错误结果。建议再检查轮廓是否自交、每条边的相邻面数量,以及所有板面并集是否覆盖目标外板区域。无法唯一映射的轮廓单独列出来人工确认,不要强行自动分配。 |
|