Dynamo For Revit: 创建墙门窗

前言

本文通过 Revit 来创建 Revit 的基本元素,墙、门、窗。

步骤

为了创建墙、门、窗,还是从模型线出发:

  1. 选中一条模型线,创建一堵墙,可参考:Dynamo For Revit: 如何通过选中一些模型线,来创建一堵墙
  2. 找到墙可以放置门和窗的面
  3. 用 Python Node 来放置门和窗

可控制的输入

可控参数:

  1. 门和窗的类型
  2. 墙的高度
  3. 墙所在的楼层
  4. 墙的类型
  5. 模型线
  6. 窗或门的UV坐标
    Dynamo For Revit: 创建墙门窗_第1张图片

创建墙

Dynamo For Revit: 创建墙门窗_第2张图片

找到可以放窗或门的面

可以放窗或门的面的特点:

  1. 它的方向肯定不是往上或者往下的
  2. 它的方向和位置线的方向一定不是平行的
  3. 任选一个用条件1和2过滤出来的面来放置门或窗
    Dynamo For Revit: 创建墙门窗_第3张图片

放置门或窗

门或窗是 FamilyInstance,但是 Dynamo 没有合适的节点来创建它们,Revit API 是可以完成这个工作的,那么Python 节点可以完成这个工作。
Dynamo For Revit: 创建墙门窗_第4张图片
参考:Revit API: 创建族实例 FamilyInstance
Python 节点:

instance = document.Create.NewFamilyInstance(location, familyType, host, level, Structure.StructuralType.NonStructural)

Dynamo For Revit: 创建墙门窗_第5张图片

总图

Dynamo For Revit: 创建墙门窗_第6张图片

效果图

Dynamo For Revit: 创建墙门窗_第7张图片

注意事项

在使用 Python 的时候,实际上你使用的就是 Revit API,API 的单位和 Dynamo 给你的单位可能是不同的,需要自己去转化,如果不想做转化,要去把单位设置成英尺。
调整参数,原来的门或窗不会移动,而是创建新的实例,如果写成原生的 C# 节点,可以避免这个问题。

你可能感兴趣的:(Dynamo,For,Revit)