首页/技术分享

DynamoPrimer解析之Custom Nodes - Revit-StructuralFraming

发布于:2020-02-10 14:00:05
4224人 分享

1、在项目文件中绘制两条模型线作为结构框架放置的基准。

0101_绘制模型线.png

2、调出一个PythonScript节点,对其进行编辑。通过点击节点面板上的加号,将输入端增加至5个。

0201_调用PythonScript节点.png

3、双击PythonScript的节点面板,进入编辑模式。修改以下内容:

3.1 第1行至第10行的内容是引用需要用到的库。

3.2 第13行和第14行是定义节点中的输入端,IN[0]和IN[1]就是节点输入端的IN[0]和IN[1]。IN[0].Curves表示获取该输入端的曲线,由于获取的结果是一个列表,因此通过IN[0].Curves[0]获取列表中索引项为0的元素。crvA和crvB是变量的名称,用来储存输入端装化的结果。

3.3 第17行和第18行的内容也是定义输入端数据,framingType和designLevel分别接入IN[3]和IN[4]。

3.4 第21行是将输出端OUT定义为一个列表。方便后期数据填入。

3.5 从第23行开始创建一个循环。

3.5.1 第23行的for val in IN[2]:表示如果数据存在与输入端IN[2]中。

3.5.2 第25行和第26行是通过节点Curve.PointAtParameter获取指定曲线上参数处的点。参数由变量val控制。

3.5.3 第28行是通过节点Line.ByStartPointEndPoint两两连接步骤3.5.2中的点生成直线。

3.5.4 第30行是通过节点StructuralFraming.BeamByCurve生成结构框架,该节点所需的定位线、定位标高和族类型。

3.5.5 第32行首先是通过beam.Faces获取结构框架的各个曲面,然后通过python中列表的函数append将数据一一填入列表OUT中。

0301_PythonScript的内容.png

4、为PythonScript准备输入端的数据。

4.1 输入端IN[0]需要曲线,通过节点Select Model Element拾取Revit中的曲线,拾取的结果是模型线。

4.2 输入端IN[1]需要曲线,通过节点Select Model Element拾取Revit中的曲线,拾取的结果是模型线。

4.3 输入端IN[2]需要数值,图中是通过代码块创建了一个从0到1均分为11个对象的数值列表。

4.4 输入端IN[1]需要输入结构框架的族类型,通过节点Structural Framing Types指定。

4.5 输入端IN[1]需要输入具体的标高,通过节点Levels指定。

0401_准备输入端.png

5、最终的效果就是沿着拾取的两条曲线放置结构框架。

0501_最终的结果.png

转载请注明来源本文地址:https://www.tuituisoft/blog/3802.html

上一篇:

Revit如何做一个带盖板的排水沟族(投稿/文/李呈伟)

下一篇:

DynamoPrimer解析之Packages - MapToSurface-PanelingWithPolygons(上)