FME:模型桩号计算

BIM模型属性生产过程中需要填写桩号,里面包括起点桩号,终点桩号 , 定位桩号 。填写方式为从中心线起点开始量取,不同的桩号量取方式如下:
由于试验段自己参与了生产,在结合中心线手动量取了几十个构件的起终点桩号后,当时的心情:
通过分析,人工手动量取填写有两个难点:(1)构件数量多 , 一段5公里的模型构件数量就多达几千个,且部分模型形状不规则,纯手工填写效率低;(2)在道路转弯处,采用量取工具无法准确沿着道路中心进行量取,想要量取准确难度很大 。

FME:模型桩号计算

文章插图
在此背景下,结合软件的特性,利用FME,在迭代了无数版本后,终于达到了想要的效果,不仅比人工量取快数倍,并且更准确 。
实现功能重点用到以下转换器:、、、tor、
FME:模型桩号计算

文章插图
(官方详细手册值得拥有,密码:2020)
核心思路其实很简单 , 直接生成模型的外包平面多边形(),将多边形上的点都投影到中心线上(、) , 计算每个点到中心线起点的距离(tor),再进行统计分类统计() , 计算每个模型到中心线起点的最小值(对应起点桩号)、最大值(对应终点桩号)、平均值(对应定位桩号) 。
使用C#给工具做了个界面方便使用,让我们来一起看看最终的效果吧(看图片水?。?欢迎关注公众号,里面有演示视频) 。
当然,这里面还涉及到了很多其他情况影响正确性和效率,比如,模型外包矩形的节点,碰巧最小值或最大值的那个点投影到中心线上时 , 中心线上该位置刚好有个节点,就会出现这个点无法投影到中心线上,后续计算出来的桩号就不够准确 。
或者,不同种类的构件,又碰巧A构件的最小值或最大值和B构件的最小值或者最大值投影到中心线上的位置相同,那么就只有一个能投影上,甚至同一类构件也存在这种情况(例如,一杆多牌的标志牌,版面大小和方向完全一样,只是高度不同,两者的顶视图平面外包多边形完全一致) 。
又比如 , 一条路由于太长,被拆分成了4段由不同人生产 , 你手里拿到的是第3段,你就需要知道前2段结束时的里程 , 你模型对应的中心线起点就不是从0开始的 , 需要从第2段的结束里程开始,怎么灵活的传递这个参数,让不同起点的人都可以直接算出最终的里程 , 也都是需要考虑的环节 。
【FME:模型桩号计算】同时,模型体量大、构件多,操作起来异常复杂,如何操作更快速,更准确也是非常值得研究和提升,这也是迭代无数版本的原因,如果大家感兴趣,以上多种情况的解决方式可以继续深入的讲解 。