如何用Dynamo进行图形导入Revit的方法及底层函数实现

2022年6月9日技巧方法2阅读模式

  Dynamo的出现使得Revit的图形创建功能得到了质的飞跃,为异形结构体的创建插上了想象的翅膀,但是作为一款核心BIM软件这还不够,我们需要的,不仅是在dynamo中可以创建任意的复杂形体,还需要这些几何形体能够完美的导入到Revit中来,并且能够如Revit本身创建的形体一般赋予材质等各种属性。因此,从Dynamo图元到Revit图元的转换就显得尤为重要。

但是,Dynamo刚刚出现的时候并没有这样的节点,小编曾经也为此头痛不已,费了老大劲做出的炫酷模型只能在dynamo里看一看,导入revit就变成一个不能添加任何信息的图形,后续的更多想法都无从下手。可喜的是,随着越来越多的开发者参与进来,功能强大的节点也不断出现,小编也从一个编程小白到如今拿起代码也能看懂一二了,今天就为大家介绍一些Dynamo图形导入Revit的方法以及底层函数的实现

这里总结了四种导入方式,其功能各有千秋:

  在分析这些导入方式之前,先来在dynamo中构建一个异形体(考虑到有的节点可能仅支持常规的几何形体,而这样的节点事实上也是无法满足我们的需求的,因此这里直接使用一个复杂的异形体来进行测试),使用多个位于不同高程,不同大小、不同角度的椭圆进行放样,得到这样一个异形体

如何用Dynamo进行图形导入Revit的方法及底层函数实现

1、ImportInstance.ByGeometry节点

如何用Dynamo进行图形导入Revit的方法及底层函数实现

  这是dynamo自带节点,也是软件最早提供的与revit交互的节点,该节点将会把几何图形变为ImportInstance导入Revit中。这样导入的模型几何形体通常支持的比较好,但是在revit项目文件中只是一个“导入符号”,无法为其添加材质等属性,也无法进一步编辑。

如何用Dynamo进行图形导入Revit的方法及底层函数实现

1、DirectShape.ByGeometry节点

如何用Dynamo进行图形导入Revit的方法及底层函数实现

  这个也是dynamo自带节点,可以指定导入revit后的类型、材质和名称,但是对复杂形体的支持比较差,甚至会完全失去形体,仅保留下一些碎片化的面,而且导入后对象表面有一系列线条,模型不够光滑。

如何用Dynamo进行图形导入Revit的方法及底层函数实现

1、Springs.DirectShape.ByGeometry节点

如何用Dynamo进行图形导入Revit的方法及底层函数实现

  这个是Springs节点包中的节点,可以指定导入revit后的类型和名称,对复杂形体的支持也比较好,唯一缺点是不能指定材质。

如何用Dynamo进行图形导入Revit的方法及底层函数实现

  这个节点的底层代码实际上是调用了RevitAPI中的Autodesk.Revit.DB.DirectShape . CreateElementInstance函数,这个函数会对输入的dynamo几何体进行引用或拷贝,作为一个DirectShape导入到revit中,这个函数原本是为了支持CAD格式- DWG块、STEP MAPPED_ITEM以及ifc格式的。

如何用Dynamo进行图形导入Revit的方法及底层函数实现

1、Springs.FamilyInstance.ByGeometry节点

如何用Dynamo进行图形导入Revit的方法及底层函数实现

  这个也是Springs节点包中的节点,需要指定族模板路径、族名称、族类型和材质,这个节点会将几何形体创建为一个族文件导入revit项目文件,不仅对复杂几何体支持较好,也可以为导入后的图元添加材质等属性。

如何用Dynamo进行图形导入Revit的方法及底层函数实现

  这个节点的底层代码并不是简单的用一个函数导入到revit,实际上这个节点会在一个临时路径下创建一个族文件,并在族文件环境下创建输入几何体的族文件,创建完成后再将族文件载入到revit项目文件,因此通过这个节点导入到revit中的图元可以通过直接双击打开其族文件并进行修改。

最后来进行一个总结:

如何用Dynamo进行图形导入Revit的方法及底层函数实现

方法1

  导入的模型几何形体通常支持的比较好,节点性能较好,但是在revit项目文件中只是一个“导入符号”,无法为其添加材质等属性,也无法进一步编辑。如果追求程序的性能且对图元的材质等属性没有要求的话,可以使用该节点。

方法2

  可以指定导入revit后的类型、材质和名称,但是对复杂形体的支持比较差,甚至会完全失去形体,仅保留下一些碎片化的面,而且导入后对象表面有一系列线条,模型不够光滑,不推荐使用

方法3

  可以指定导入revit后的类型和名称,对复杂形体的支持也比较好,性能也较好,唯一缺点是不能指定材质等属性。如果追求程序的性能且对图元的材质等属性没有要求的话,可以使用该节点。

方法4

  可以将几何形体创建为一个族文件导入revit项目,该方法不仅对复杂几何体支持较好,也可以为导入后的图元添加材质等属性,只是该节点底层代码操作较为复杂,会在一定程度上影响程序的性能,但仍是最为推荐的一种导入方法

  • BIM学习群
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信扫一扫
  • weinxin
  • 本文由 发表于 2022年6月9日
  • 1、BIM学习网为资源共享网站,大部分资源均可在线免费获取,少数资源可通过VIP会员方式获取权限。
    2、所有均资源来自于网络及网友供稿,仅作为学习研究之用,禁止用于任何商业用途。
    3、如本页侵犯到任何第三方权益,请联系QQ/微信:9-5-7-0-3-2-9-6提交相关证明后我们将及时删除。
    4、百度网盘分享内容难免有被取消情况发生,VIP会员可直接联系索取和谐内容。
    5、转载请务必保留本文链接:如何用Dynamo进行图形导入Revit的方法及底层函数实现