当前您所在的位置:首页>新闻中心>公司新闻>

Rhino.Inside.Revit 入门指引二:如何创建 Revit 构件

发布时间:2021/04/04 浏览量:599

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 即可下载。

北京哲想软件有限公司