美文网首页BIM的乐趣
最短路径——通过Dynamo批量创建行进路线

最短路径——通过Dynamo批量创建行进路线

作者: 九哥BIMer | 来源:发表于2020-03-22 09:25 被阅读0次

今天我们来聊聊Revit2020新增的一个功能——布线分析,这个功能还是挺有意思的,只是需要”桌子“以后多开放点API就好了,今天我们就简单的试用一下这个功能。

打开Revit2020我们在分析选项卡下,最右侧可以找到布线分析功能栏,里面有行进路径功能,我们点击这命令,随便在两个房间点两个点,他会自动生成两点间的最短行进路线。

image image

从上图我们看到,他会自动穿过房间的门,连接点击的两个点,并计算最短路径。因为在布线分析的默认设置里,不考虑门作为障碍物,是可以穿过的,而其他类别的图元,都作为障碍物,必须躲避。

image

由上图,我们可以看到,默认是勾选了门类别不作为障碍物,并且这里可以设置障碍物高度的影响范围,在上图最底部。

————华丽的分割线—————

前面我们介绍的是Revit2020新增的功能,这样一个一个点,肯定是满足不了我们的需求的,所以嘛,重复操作,当然是通过Dynamo来完成。

第一步,我们要查下API手册,看看这个新增的功能,有哪些可用的API。

打开前几次文章介绍的http://apidocs.co页面,搜索pathoftravel,我们可以快速找到PathOfTravel Class类,在它下面的Member里展示了他的所有Methods,如下图:

image

这里我们看到有个"S"图标的,就是创建的方法,这里我们选择一个最简答的方法来介绍,就是Create Method (View, XYZ, XYZ),在视图中通过两个点来创建行进路线。

image

第二步,我们看下他的基本语法:

image

由上图可以看到,语法也很简单,PathOfTravel .Creat(View, XYZ, XYZ)。

第三步,我们创建一个Python Script节点,给两个点的输入,然后获取当前打开的Document就行了。

第四步,获取两个点作为输入点就行,我选个房间中点,然后在放置一个人,分别获取他俩的location即可。

如下图:

image

运行结果如下图:

image

到这里,我们实现了Revit2020工具栏中一样的功能,下面展示的是核心代码,如果需要获取完整代码,可以关注我的公众号:“BIM的乐趣”,付费阅读完整文章,在文章最底部获取哦~

# Copyright(c) 2010, 九哥BIMer
doc = DocumentManager.Instance.CurrentDBDocument
firstPoint = IN[0].ToXyz()
roomPoints = IN[1].ToXyz()
TransactionManager.Instance.EnsureInTransaction(doc)
path = PathOfTravel.Create(doc.ActiveView,firstPoint,roomPoints)
TransactionManager.Instance.TransactionTaskDone()
OUT = path

至于如何批量操作,只需要在代码里加一个for循环即可,这里我就不再赘述了,作为大家自己练习的内容吧,有不明白的,小伙伴们可以给我留言哦~~

接下来给大家展示下最终效果:

image image

如上图,大家可以看到,我这里生成的行进路线是彩色,因为我们可以对它添加过滤器,我是根据路径的长短设置了不同的颜色,这里大家可以根据需求设置,如下图:

image

接下来,我们还可以制作行进路线的明细表,它在线类别下面,可以选择的属性目目前还比较少,如下图:

image

我这里随便选择了几个,生成了一个明细表,如下图:

image

*好了,我今天的就分享就到这里了~

相关文章

  • 最短路径——通过Dynamo批量创建行进路线

    今天我们来聊聊Revit2020新增的一个功能——布线分析,这个功能还是挺有意思的,只是需要”桌子“以后多开放点A...

  • 通过Dynamo批量打印PDF图纸

    最近有小伙伴留言,希望写一篇关于批量打印PDF图纸的教程,于是呢,这次就简单介绍一下批量打印pdf。 首先我在我的...

  • 通过Dynamo批量打印PDF图纸

    最近有小伙伴留言,希望写一篇关于批量打印PDF图纸的教程,于是呢,这次就简单介绍一下批量打印pdf。首先我在我的D...

  • A星寻路算法-过程可视化

    A*是啥? A*搜索算法,俗称A星算法。通过全局路径节点,求解起始点到目标点的最短路径 ,如果存在最短路径,无论在...

  • 图的应用-最短路径求解

    图的最短路径   图的最短路径是一个起点到一个终点之间最短的路径。  用于解决最短路径问题的算法被称做“最短路径算...

  • 2018-07-22

    最短路径算法之Dijkstra算法 基本思想 通过Dijstra计算图G中的最短路径时,需要指定起点s(即从顶点s...

  • 单源最短路径算法——Dijkstra

    一、相关概念 单源最短路径 图中某一顶点到其他各顶点的最短路径,可通过经典的Dijkstra算法求解,此算法是基于...

  • Yen的K条最短路径算法(KSP)

    一、问题介绍 1.求K条最短路径的必要性 最短路径问题分为: 单源最短路径 所有顶点对间的最短路径 共同的缺陷:这...

  • 开工啦!批量向PDF文件添加中文水印...

    可以通过设置批量PDF文件所在的路径及需要添加的水印名称可以实现批量添加PDF水印的效果。 实现思路是这样的,通过...

  • 最短路径算法

    最短路径算法可以分为两类:单源最短路径问题:从某固定源点出发,求其到所有其他顶点的最短路径。多源最短路径问题:求任...

网友评论

    本文标题:最短路径——通过Dynamo批量创建行进路线

    本文链接:https://www.haomeiwen.com/subject/xdopyhtx.html