对三角形和四边形批量做线性标注,如何处理三角形的正交边和四边形的平行边情况?
本帖最后由 vbnewer 于 2023-6-18 09:20 编辑想要批量对三角形和四边形做线性标注,图形都是多义线,初步的思路是遍历多义线的顶点,逐条边进行标注。但是要处理三角形的正交边和四边形的平行边情况,以达到无冗余标注的目的。请问有什么好的思路可以实现?
如图,红色标注就是冗余标注,希望能去掉。
比如三角形,我的初步思路是按顺时针或逆时针逐条边标注,遇到水平边则下一条边不做垂直标注,遇到垂直边则下一条边不做水平标注,但如果水平边或垂直边是最后被遍历到的,则另两条边已做完全标注,无法改变了。请问大神们有什么更加巧妙的思路?
四边形的思路也类似,就是以平行边作为判断依据。
从图上看,标注分为水平和竖直两种,那么,每个标注,都会有两个关键坐标,对于水平标注来说,不管纵向坐标,记录两个水平坐标,竖直标注记录竖直坐标,相关数据计算出来之后,检查关键坐标是否已记录,如果已经记录,不标注,没记录的标注并记录 xyp1964 发表于 2023-6-25 19:36
;; 三角形标注
版主,能实现1楼图片的效果吗?不做重复标注,就是只标白色标注,不标红色标注。对于直角三角形只标注两条直角边,对于有水平边的三角形只标注一个高,对于有竖直边的三角形只标注一个宽。 vbnewer 发表于 2023-6-25 22:28
版主,能实现1楼图片的效果吗?不做重复标注,就是只标白色标注,不标红色标注。对于直角三角形只标注两 ...
加个判断删除
本帖最后由 vbnewer 于 2023-6-18 13:21 编辑
这是参考测试DWG文件,列举了上面提到的几种情形。 长久以来,想解决这个问题,但没有好办法,静等高手 考虑到实际生产应用,冗余标注有时也需要的
你这不是冗余,而是重复标注了 谢谢关注,这个思路我也考虑过,会有副作用,以上图中有水平边的那个三角形为例,两个水平标注113和63,它们的两个端点y坐标是相同的,按照这个规则,有一个会不被标注。 vbnewer 发表于 2023-6-20 12:25
谢谢关注,这个思路我也考虑过,会有副作用,以上图中有水平边的那个三角形为例,两个水平标注113和63,它 ...
每个图形开始记录清空。。。。 llsheng_73 发表于 2023-6-20 12:29
每个图形开始记录清空。。。。
我试试看,谢谢 有点类似钢结构节点板这样标注?
和求凸包差不多吧,找上边界和下边界,顺时针标注出上边界,逆时针标注下边界。
页:
[1]
2