cq4920 发表于 2025-5-26 23:30:26

自动多重索引标注,有没有更好的位置排序?

本帖最后由 cq4920 于 2025-5-28 20:24 编辑

写个小插件,对特定图层的矩形进行 平面转立面的操作,并对平面矩形进行索引标注。
就是这个标注的位置,并不理想。
有角度特别靠近的会重叠,
在布局视口里,并不是围绕更好。


你有种再说一遍 发表于 2025-5-27 00:37:19

本帖最后由 你有种再说一遍 于 2025-5-27 16:30 编辑

没有看到重叠啊,你得重叠一次我看看.

....
原来如此,是想做标注避让,
首先当你什么想法都没有时候,就去找找基础,
基础是不会骗人的,肯定有数据结构与算法的.

例如:解铃还须解前面一个.
表示先做什么再做什么,什么可以一起做.

那不就是表示,
如果有两个碰撞的标注,你要移动其中一个标注之前,要检查是否碰撞图纸其他标注.
如果有碰撞其他标注,是否又要移动...

这不就是妥妥的 有向无环图DAG 吗!
如果不构成DAG,那么表示有环,全部都有入度,
此时你就没有办法移动任何一个.
不一定存在DAG的,例如你图面完全被填充完成.
只是这个概率非常小.

接着就可以DAG+网格,实现平移就好了.
网格只需要把当前图纸范围想象成1000*1000的格子,
你每次对齐就X或者Y,然后左下右上得移动材质块.
最后再收缩格子,实现聚拢效果.

我建议你用C#去写,
毕竟Lisp怎么写DAG,没有一千也有几百行.

tranque 发表于 2025-5-27 09:36:16

你有种再说一遍 发表于 2025-5-27 00:37
没有看到重叠啊,你得重叠一次我看看.

....


哈哈哈哈,惊惊大佬的日常劝人学C#

sandyvs 发表于 2025-5-27 09:51:05

前几天用多重引线标注多段线坐标,也想自动避让,本来想用包围盒然后判断是否相交,但是相交了不知道怎么移动啊 。。就放弃了
页: [1]
查看完整版本: 自动多重索引标注,有没有更好的位置排序?