明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 268|回复: 3

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

[复制链接]
发表于 前天 23:30 | 显示全部楼层 |阅读模式
本帖最后由 cq4920 于 2025-5-27 02:26 编辑

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


本帖子中包含更多资源

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

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

使用道具 举报

发表于 昨天 00:37 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-5-27 16:30 编辑

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

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

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

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

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

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

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

使用道具 举报

发表于 昨天 09:36 | 显示全部楼层
你有种再说一遍 发表于 2025-5-27 00:37
没有看到重叠啊,你得重叠一次我看看.

....

哈哈哈哈,惊惊大佬的日常劝人学C#
回复 支持 反对

使用道具 举报

发表于 昨天 09:51 | 显示全部楼层
前几天用多重引线标注多段线坐标,也想自动避让,本来想用包围盒然后判断是否相交,但是相交了不知道怎么移动啊 。。就放弃了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-28 11:26 , Processed in 0.247772 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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