前一阵在项目上做弱电的前端设备点位的深化配管建模,点位数量众多,配管数量就更大了,还需要对配管进行标注出图交至现场进行按模施工。标注出图的工作量无疑是巨大的。
线管的出图对现场师傅最主要的就是线管的尺寸和标高了,因此需要将这两个信息反映到图纸上,平面定位则可以看cad图的app进行测量定位。
程序和思路也很简单:获取到所有的线管实例,将水平线管筛选出来进行标注即可,一个核心节点Tag.ByElementAndLocation就搞定。
通过判断线管的“开始偏移”和“端点偏移”参数值是否相等来筛选出水平线管,但在实际运用过程中发现由于数据精度的问题会有漏网之鱼,于是将其优化为在此两参数值做差取绝对值放一个容差,即筛选出水平段线管。
获取到n个水平线管的LocationCurve,生成n个0-1之间的随机数(目的是让标注分散开来,避免堆集重叠在一起),将其映射到0.2-0.8之间(目的是避免标注在线管的两端部分),取LocationCurve上的参数点作为标注点。
演示效果:
需要注意的是,Tag.ByElementAndLocation这个节点并没有指定标注的类型,这里软件识别的是项目中被激活的标记的族类型,也就是上一次你手动标注的标记类型,因此想要指定标记族类型时需在程序运行前需进行将对应标记族类型拖至项目内操作。
但这个问题在Revit2019版之后便不存在了,IndependentTag类下的Create方法中已经有了标记族类型的变量可供用户输入。
好了,标注线管的方法就分享到这里。为了凑篇幅再来写一个出图时也能用得到的小程序。
有强迫症的BIMer遇到设备标高是这样的碎数想必是忍受不了的,一个小程序将其改为距其最近的5或10的倍数:
完整程序:
运行效果:
欢迎阅读,分享,交流,批评指正。
如转载请注明出处,否则追究法律责任(说说而已,全靠自觉)。
评论0