上次教程,我们创建了一个随机的三角形(一个小例子,告诉你什么是衍生式设计),用来给大家简单介绍了下啥是衍生式设计,但是三角形是在Dynamo里做的,似乎和Revit没啥关系,那么本次呢,我们来做个与Revit相关的,就是本次文章的主题——随机删除Revit幕墙网格。

首先,我们随便在Revit里画一片幕墙,然后设置他的网格,我们用Select Model Element节点将其选中。

然后,利用Rhythm节点包中的CurtainGrid.ByWallElement节点,获取幕墙UV网格。

revit三角网绘制mesh revit画三角形的墙_Dynamo

我们这次呢,就从V向网格里,随机删除一些,但是呢,我又想让随机存在一定的可控性,比如我们想每列随机删除三段V向网格。
 

然后在用Rhythm节点包中的CurtainGridLine.AllSegmentCurves节点,获取V网格,每条有多少段。

revit三角网绘制mesh revit画三角形的墙_Dynamo_02

然后我们根据V网格的数量,创建一个序列,作为网格随机的种子。

之后根据前一步,重新随机排序的每条V网格,提取随机列表的前三项。
 

revit三角网绘制mesh revit画三角形的墙_python_03

然后我们删除这三条网格,并统计删除的网格总数。

revit三角网绘制mesh revit画三角形的墙_衍生式设计_04

然后我们设置种子为输入,删除网格的总数为输出,就可以创建衍生式设计了。

revit三角网绘制mesh revit画三角形的墙_衍生式设计_05

revit三角网绘制mesh revit画三角形的墙_衍生式设计_06

运行导出命令:
 

revit三角网绘制mesh revit画三角形的墙_python_07

然后就可以创建分析了,方法我们选择随机:

revit三角网绘制mesh revit画三角形的墙_衍生式设计_08

点击生成后,会自动跳转浏览结果界面:

revit三角网绘制mesh revit画三角形的墙_自动跳转_09

之后就可以在浏览结果中随机选择一个结果,点击右下角的“在Dynamo中打开”按钮,结果会在Revit中显示:

revit三角网绘制mesh revit画三角形的墙_Dynamo_10

其中最后的统计删除的网格总数,其实没啥用处,只是为了程序能够正常运行,这里大家可以忽略哈~
 

好了,今天的分享就到这里了,主要是想给大家简单介绍一下衍生式设计如何与Revit图元交互,当然还需要大家自行尝试,有不对的地方,请指正哈!