自动多重索引标注,有没有更好的位置排序?
本帖最后由 cq4920 于 2025-5-28 20:24 编辑写个小插件,对特定图层的矩形进行 平面转立面的操作,并对平面矩形进行索引标注。
就是这个标注的位置,并不理想。
有角度特别靠近的会重叠,
在布局视口里,并不是围绕更好。
本帖最后由 你有种再说一遍 于 2025-5-27 16:30 编辑
没有看到重叠啊,你得重叠一次我看看.
....
原来如此,是想做标注避让,
首先当你什么想法都没有时候,就去找找基础,
基础是不会骗人的,肯定有数据结构与算法的.
例如:解铃还须解前面一个.
表示先做什么再做什么,什么可以一起做.
那不就是表示,
如果有两个碰撞的标注,你要移动其中一个标注之前,要检查是否碰撞图纸其他标注.
如果有碰撞其他标注,是否又要移动...
这不就是妥妥的 有向无环图DAG 吗!
如果不构成DAG,那么表示有环,全部都有入度,
此时你就没有办法移动任何一个.
不一定存在DAG的,例如你图面完全被填充完成.
只是这个概率非常小.
接着就可以DAG+网格,实现平移就好了.
网格只需要把当前图纸范围想象成1000*1000的格子,
你每次对齐就X或者Y,然后左下右上得移动材质块.
最后再收缩格子,实现聚拢效果.
我建议你用C#去写,
毕竟Lisp怎么写DAG,没有一千也有几百行. 你有种再说一遍 发表于 2025-5-27 00:37
没有看到重叠啊,你得重叠一次我看看.
....
哈哈哈哈,惊惊大佬的日常劝人学C# 前几天用多重引线标注多段线坐标,也想自动避让,本来想用包围盒然后判断是否相交,但是相交了不知道怎么移动啊 。。就放弃了
页:
[1]