Revit和Rhino两个平行并进的专业软件一直是行业的巨星;使用 NURBS建模功能的Rhino能极为流畅的建出复杂的曲面模型,基于Rhino平台的Grasshopper能高效的使用参数建模,其数据流通主要体现在模型的形式上;Revit为建筑信息模型而生,目标是帮助建筑师设计、建造和维护更好、更高效的建筑,基于Revit平台的Dynamo能将Revit中的建筑模型信息无缝链接,使用编程思维进行批量修改和管理。一直认为Revit和Rhino是平行并进的原因是他们追求的目标是截然不同的,一个是为了实现参数化炫酷的建筑形式,一个是为了能整合建筑全生命周期的设计、建造和运营。但2019年底发布的Rhino.inside for Autodesk Revit 使得两者之间出现了交集,Rhino.inside是作为Grasshopper插件的形式,将Revit和Rhino链接到一起,两者之间的模型和数据可以实时同步,无需导入导出成第三方格式文件。Rhino.inside能将Grasshopper参数化建模的优势整合到Revit中,当然也满足了大部分不熟悉Dynamo的小伙伴,可以用Grasshopper来处理Revit模型信息和修改模型。
目前Rhino.inside只支持RhinoWIP版本,所以首先要保证你的电脑已经安装了RhinoWIP,并下载Rhino.inside安装到Grasshopper。安装Rhino.inside之后打开Revit会弹出对话框提示载入插件。Revit中安装的Rhinoceros主要包括了三个功能调动按键:Rhino、Grasshopper、Python,三者均可单独调用打开。打开Rhino之后,两个软件内的模型不会自动同步,其同步的方法是将Rhino 和Revit中的模型拾取(set) / 挑选(pick)到Grasshoper,然后传递到彼此,模型数据信息的传递也是同理。整个工作流的运行很依赖Grasshopper,如果不是在Revit中运行RhinoWIP,则Grasshopper 不会自动加载Rhino.inside插件栏目。
Rhino模型导入Revit中实时修改
Rhino.inside中的大部分功能电池都是从Revit中接入到Grasshopper的,因为Revit中对模型的构件做了很详细的分类和信息管理。DirecrShape栏目内是将Rhino中的物体导入到Revit的电池,其流程很简单,先拾取(set)要导入Revit的物体到Grasshopper,给这个物体赋予相应的类别(category),然后通过Add Geometry DirectShape导入到Revit。导入之后,模型只能单向从Rhino中同步到Revit。下面是一个简单的案例:将自由曲面导入到Revit并根据需要调整曲面的形式,然后在Grasshopper中利用LunchBox细分制作框架和划分玻璃,根据需要调整细分方式和数量以达到设计需求。
Revit模型导入Rhino并自动bake
将Revit中的模型导入到Rhino中的方法是:先从Revit模型中挑选(pick)出来导入到Grasshopper中,然后bake到Rhino中。常规的工作流程是按类(categories)、类型(type)、层(level)等将模型筛选出来,然后分别导入到Rhino各图层中,为了更高效便捷,使用LunchBox插件的Object Bake 来bake模型到Rhino,并提取Revit模型的Name自动设置为Rhino中的图层名。这样导出的模型可以分门别类的进行管理,修改和上材质等。
Grasshopper提取Revit模型数据信息及修改
Revit模型最大的优势和作用是其模型本身集成了非常详细的数据信息,这些信息对辅助设计,现场施工以及后期建筑运营使用都具有重要的意义和价值。Rhino.inside不仅能在建模上综合Revit和Rhino的优点,还能读取和可视化Revit中模型的数据信息,并且能够修改模型的部分参数和设置。先在Grasshopper中按照类和元素筛选出想要提取数据的模型构件,然后使用Get Element Paramenter 得到模型数据。如果需要修改模型参数则使用Set Element Parameter 通过设置参数的关键字来修改对应的参数值。注意设置参数的名称需要与Revit中模型参数的名称完全一致。
Grasshopper VS Dynamo
Grasshopper能协同Rhino 进行参数化建模,可调试、多样化以和高性能的运算广受学生党喜爱和追捧。Dynamo能协调Revit进行建筑模型信息管理,批量化修改模型和生成表格等,广受一线BIM项目工作者的青睐。二者各自开发的主要功能都是服务于主体软件,孰优孰劣并不好评判,各自都有优点和缺点,而且在过去也不会形成“对手”。但是现在不同了,Rhino.inside开发的革命性意义并不是插件本身,而是其打破了原有的壁垒,让Grasshopper能在Revit平台自由运行了,这就使得用户会在二者之间进行选择,毕竟Dynamo不能在Rhino平台使用,就算能使用应该也没啥实用性。我分别用Grasshopper 和Dynamo在Revit中搭建了一个自动生成标准轴网的程序,以对比二者在基础工作性能上的对比。当然,如果对比二者生成复杂形体或者处理Revit中复杂的建筑信息数据是没有很大意义的,因为结果明确。两者生成轴网的逻辑相似,都是先生成轴网的网格线,然后链接Revit中轴网进行生成,并使用对应的参数设置轴网的轴号。但是Grasshopper中在修改轴号的小功能上不如Dynamo稳定,在Grasshopper中如果多次修改参数之后轴网的编号会乱。通过对其它参数的设置和修改也具有少数这样的小Bug,这样的问题很可能是有两方面的原因,一是Rhino.inside本来还是在持续开发的阶段,需要进一步的完善和修改;二是Dynamo是完全贴合Revit平台开发,在信息提取和处理方面是其最稳定擅长的事情。
总结
Grasshopper能在Revit中使用是一件令人激动和惊讶的事情,Revit与Rhino 二者之间的强强联通也非常适应当下开源的大背景。功力浅薄的我当然无法评价Grasshopper与Dynamo孰优孰劣,并且也不需要。更为重要的是我们应该清楚不论选择何种工具,它仅仅是工具而已,正真的目的是做出完美的设计。对于工具我们只需要合理的选择,熟知工具的优缺点,判断哪个工具能更为简洁高效的实现目标。
福利获取:
文章中提到的案例程序和文件均可以在公众号回复 " RFR " 免费获得
相关插件可以在公众号回复 " RL "( RhinoInside、LunchBox)获得或者登录www.food4rhino.com/下载
案例和观点仅供参考,不具权威性,阅读RhinoInside®、Dynamo等官方信息和支持请参考以下网站:
https://dynamobim.org/
https://www.rhino3d.com/inside/revit/beta/
https://github.com/mcneel/rhino.inside-revit/
欢迎关注CrossSpace
往期文章推荐: