标注的尺寸避让lisp_Revit二次开发——标记/标注自动避让思路分享

在【注释】选项卡中,Revit提供了“全部标记”这个快速标记对象的方法

梁墙板柱、常规模型等都可以实现快速标注

配合之前开发的“直墙标注”功能,对于解决装配式应用中内隔墙、砌体墙的平面表达的效率,有极大的提升

设计师使用后也反馈良好,但也遇到问题,自动创建的标注及标记会存在遮挡打架的情况,影响了平面阅读效果,仍需手动移开

需求比较明确,即判断尺寸标注、标记族之间的碰撞,并移开

本文分享标记/标记自动检测碰撞避让的插件开发思路

开发环境 visual studio2017 + revit2016

界面

由于带引线的标记族,其BoundingBoxXYZ是包含引线范围的,不适合用于碰撞检查,所以我这里是用标记族的插入点为原点,根据字高及文字内容来构筑一个矩形框来进行碰撞对于尺寸注释的碰撞检查范围,也可根据此方法

实现思路:

检查碰撞的方法,简化成判断矩形范围是否有重叠的问题:判断矩形的关系是否重叠循环判断模型中是否仍有碰撞的标记/标注随机移动标记族

需要注意的尺寸标注是倾斜的情况时,需要将计算包围框及检测碰撞的方法进行优化

本次需求比较简单,如果遇到平面视图大规模标记碰撞的情况,可以使用爬山算法:将碰撞的某元素移动,再计算当下碰撞的数量,如果碰撞情况降低,则执行此次移动,若碰撞的标记数量相同或增加,则不执行此次移动,循环......(或者有没有矩形碰撞挤开算法)

总结

对于一个功能需求的实现,会有很多方案,简单轻便,复杂运算都有。对开发工作来说,只要满足需求预期即可,但也降低了拓展应用的可能

点击加入歌手插件交流群​jq.qq.com

快速弹夹已经发布一段时间,交流群小伙伴也反馈了很多优化建议,想要和歌手一起交流学习开发知识,或者对快速弹夹有优化建议的朋友都可以加群(只想要使用插件的话,可以不加群私聊群主获取安装包,也可在插件官网http://www.kuaisudanjia.cn自行下载)

关于歌手

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值