Rhino.Inside.Revit 入门指引
创建 Revit 构件
前面示范如何利用 Grasshopper 中的 Revit 组件来转换 Revit 几何对象为 Rhino 几何物件,Grasshopper 中还内置了很多专门为 Revit 定制的运算器,下面将示范如何利用这些运算器来创建 Revit 构件。
提示:
在 Revit 中创建一个简单的墙体会需要用到下面这些运算器:
1. 首先从 Revit 中打开 Rhino,并绘制一条直线。
2. 从 Revit 中打开 Grasshopper,使用 Curve 运算器将前面的直线载入 Grasshopper。
3. 请准备好下面这些运算器:
您可以分别从这些位置找到这些运算器,如下图所示:
4.把这些运输连接起来即可,如下图所示,同时您会发现 Rhino 7 与 Revit 的视窗会同时出现。
提示:
如果您还需要使用 Grasshopper 的其他非 Revit 运算器进行其他的一些计算,建议 Wall 后面增加 Element Geometry 来进行转换为 Brep,以方便非 Revit 运算器能有效识别。
Grasshopper 动态交互
对于 Grasshopper 这样的图形化编程工具来说,其最大特色就是动态交互,RIR 将这一特色完全带入 Revit 运行环境中,这样可以让建筑师、工程师更加有效的探索设计空间并找到更多新颖的解决方案。
打开我们前面做的小练习,您现在可以动态调整一些参数,如下图所示。
GHPython in Revit
Rhino.Inside.Revit 是让 Rhino 在 Revit 内部运行,因而 Rhino 和 Grasshopper 的插件也都可以访问 Revit API。因此 Python 的脚本可以同时使用 Rhino API、Grasshopper API 与 Revit API,进而会让 Rhino 与 Grasshopper 中的 Python 脚本功能成倍提高。除了这些 API 之外,Rhino.Inside.Revit 的附加模块还提供了很多额外的功能,主要用于将 Rhino/Grasshopper 的数据离线转换为 Revit, 或是将 Revit 的数据转换为 Rhino/Grasshopper.
来看看下面这个 Python 脚本范例, 它会把前面提到的所有 API 的符号导入脚本。
# adding references to the System, RhinoInside
import clr
clr.AddReference(‘System.Core’)
clr.AddReference(‘RevitAPI’) clr.AddReference(‘RevitAPIUI’)
clr.AddReference(‘RhinoInside.Revit’)
# now we can import symbols from various APIs
from System import Enum
# rhinoscript
import rhinoscriptsyntax as rs
# rhino API
import Rhino
# grasshopper API
import Grasshopper
# revit API
from Autodesk.Revit import DB
# rhino.inside utilities
import RhinoInside API
from RhinoInside.Revit import Revit, Convert
# add extensions methods as well
# this allows calling .ToXXX() convertor methods on Revit objects
clr.ImportExtensions(Convert.Geometry)
# getting active Revit document
doc = Revit.ActiveDBDocument
如果要使用上面这个脚本范例,我们还需要还需要增加下面这行代码:
G = [x.ToBrep() for x in E.Geometry[DB.Options()]]
使用 Revit API 【.Geometry[DB.Options()])】来读取输入的 Revit 构件 E, 然后经由 RIR API 提供的功能程序将 Revit 的几何物件转换为 Rhino【Convert.ToRhon()】,最后由 Grasshopper 输出 Rhino几何物件。
提示:
Rhino.Inside.Revit 已经是一个非常强大的工具,但使用 Python 与 C# 可以扩展无限可能…
注意事项
Rhino.Inside.Revit 是作为 Revit 的一个附加模块在 Revit 内部运行,它和众多其他 Revit 的附加模块一样,首次加载会需要一些时间来运行,它需要把整个 Rhino 与 Grasshopper 加载至 Revit 内部。
RIR 目前目前处于 Beta 阶段,可能会存在一些我们未曾发现的错误,如果发现请来信告诉我们。
文件下载:本文中用到的部分测试文件请至 Rhino 原厂微信公众号 [ Rhino3D ] 中回复 RIR01 即可下载。