应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值

最近遇到的问题:有一条路线,想提取里面每隔一定桩号处特定点代码在图形中的坐标值。尝试着用dynamo for civil 3d来实现。

 

路线、道路、基准线的信息如下

 

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图

我们举例,要找到装配中点代码“路拱”的具体坐标。想在桩号上每隔10米提取一个。查看dyanmo for civil 3d 的节点库后,觉得PointsbyPointCodeAtNearestStation也许能满足要求。先来看看这个节点

 

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图1

 

code 的输入值用“路拱”

Baseline,可以道路当中按照名字提取,道路可以在document 当中按名字提取。

Station的输入相对麻烦一点。但是仔细找找,我们可以在Alignment里发现有个stations的节点。

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图2

alignment.stations节点当中

alignment路线,可以从document里按名字拾取。

Interval 是指提取里程的间距,我们设定为10


最后完成后PointsbyPointCodeAtNearestStation的截图如下

 

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图3

 

 

可以看出,顺利的提取出了各个点所在的坐标值。同时也把里程桩号也提取出来了。

 

本来以为完成了任务。结果出现问了一个新的问题,假如有断链的话怎么办?我们先看看加了断链后的情况

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图4

 

我们重新运行一下dynamo脚本,发现问题来了,根本就没有考虑到断链的情况。最后提取出来的还是原始桩号

 

这里只能手动的调整了,调整的办法有很多,比如说导出到excel当中,然后通过excel的把断链的增加值给添加上。

 

我们这里还是尝试用dynamo的方法来把它们加上。

 

我设想的逻辑是:手动的比较原始桩号与断链起点的值,如果大于等于断链的起点,就把桩号的增加值手动的添加到最后输出的桩号值当中。

 

 

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图5

可以看到从第78个索引号开开始,断链开始生效了,如我们所设想的一样

因为我只是做个演示,因此,这里只考虑了一个断链的情况。道路的实际情况比较复杂,通常会有多个断链,因此,我们考虑考虑把断链的开始里程和增加值分别存储到list里去。 

 

其实最后还是有点疑问:

PointsbyPointCodeAtNearestStation里的usedstation 的值为何和左边的输入的station有些细小的差距?

 

应用Dynamo for Civil 3D提取特定桩号处特定代码的坐标值插图6

相关阅读

关于本文里的内容,欢迎交流。如果你使用Civil 3D遇到任何的问题,可以联系Autodesk技术支持,可以参考: 如何向Autodesk问技术问题?

/CAD2BIM1068/

0

评论0

请先

没有账号? 注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站
普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress