Dynamo与Revit图形数据交互的三种方式

作为一个轻量的模型引擎,Dynamo内置支持一系列图形:点、线、面和体,这些图形在Dynamo内以Dynamo图形的数据格式出现。作为完善的三维模型软件,Revit更加支持这些点、线、面和体的基本图形,但是是以Revit特有的图形数据格式保存。在Dynamo与Revit进行相互的图形数据交换时,需要时不时注意到这种区别:如Line在两种软件里都叫Line,但是在数据定义上,Dynamo的Line和Revit的Line是两种完全不同的数据。
基于基本节点的支持,Dynamo可以对两边许多对应的图形元素进行对应的解析和分解,尤其是从Revit转化入Dynamo时,原则上一个Element.Geometry或者Element.Solid已经可以将所有的Revit实体图形数据到Dynamo的交互转换一网打尽。对于特殊的一些Revit实体,如曲线类的模型线、详图线等,Dynamo也内置提供了双向的转换节点,具体可以从Revit节点下查找。
相对而言,Dynamo的图形数据是一种宽松的数据组合结构,图形数据之间的约束关系基本没有,但Revit则不同,Revit是智能的三维建筑模型软件,需要维护大量的建筑构件模型之间的逻辑约束关系,如门窗只能开在墙体上而不能开在柱子上和楼梯上,因为这不符合现实的建筑建造逻辑。因此孤立的Dynamo图形数据,是不能等同于智能的建筑构件的。从这个原理出发,我们就知道:所有Revit构件均可转换入Dynamo,但不是所有的Dynamo图形都能直接转换成遵守逻辑约束规则的Revit构件,因此在将Dynamo图形转换入Revit里面时,我们需要特殊的方式:
Dynamo与Revit图形数据交互的三种方式

ImportInstance

ImportInstance是Revit里面的导入符号,它是一种非智能建筑构件。我们将一个导入符号放在墙体中间,Revit是不会给错误或警告提示的。ImportInstance可以完整的保留Dynamo里面的图形信息,但是符号名称不能自定义,且缺乏附加其他信息的方式,导入后的管理并不方便。
Dynamo与Revit图形数据交互的三种方式

DirectShape

DirectShape是一种半拉子的智能建筑构件,就是说缺乏一些关键的智能构件构造元素导致她无法成为一个真正智能的构件参与到Revit的自动化约束进程中,但是DirectShape提供了比符号更多一些的操控和数据管理可能如可以指定其类别。
Dynamo与Revit图形数据交互的三种方式

自定义族:

比较理想的状态是构造一个用户化的族,这样就可以使用族的很多基本特性优势来组建和管理建筑模型。
将Dynamo图形转化成Revit的自定义族需要SpringNodes软件包的支持,这个节点名称为FamilyInstance.ByGeometry其内部核心Python Script代码可在GitHub页面看到。通过这个节点,可以将Dynamo转换成Revit的一个自定义族。
以上部分内容转自知乎,侵删。

欢迎您加入海南省BIM中心学习交流互动社区(加我个人微信号:xycost,拉你进海南省BIM中心专业微信群)

每一个“在看”都是鼓励

原文始发于微信公众号(海南省BIM中心):Dynamo与Revit图形数据交互的三种方式

0

评论0

请先

没有账号? 注册忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站