如何阅读Revit的API文档——Dynamo Python系列教程(十)

好消息:“BIM的乐趣”微信群恢复运营了,有兴趣的小伙伴可以在文章底部扫码入群哦~
Revit的API很大,其文档也很大,本次文章简单教你如何阅读它。

虽然Autodesk的官方文档Revit API可以在其SDK中找到一个.chm文件,但我建议大家访问http://APIDocs.co来了解Revit API。

这个由软件开发人员Gui Talarico创建的站点记录了Revit、Rhino、Grasshopper等api。访问APIDocs(https://apidocs.co/)以获得阅读API文档的感觉;作为一名程序员,这是你经常要做的事情。

使用http://APIDocs.Co

该网站对于想要学习Revit API的人来说是非常宝贵的资源,这里我简单截了个图:

image

一个基本的工作流程包括确保你已经为所使用的产品选择适当的API版本(在左窗格中),然后在API文档中搜索您需要的相关主题。

例如,如果要了解有关FamilyCreate类的更多信息,只需在搜索栏中搜索它,然后从自动完成选项中选择它即可。然后,有关此类的详细信息将显示在右侧的详细信息栏中。有关此窗格的更多详细信息(如上图所示):

1、这是你正在查看的页面的名称。Revit API拥有超过22,000页,尽管其中大多数你可能永远都不需要查看!

2、右上角这个<>按钮将在几个常用的Github存储库中搜索有关该类的任何代码示例。

3、“Members”按钮将带你到显示该类的所有方法、属性、接口或构造函数的整个页面。

基本术语
为了阅读Revit的API文档,您需要熟悉一些技术术语。首先,回顾一下我们在这里使用的术语,例如类和对象:

这里涉及到“面向对象编程”的一些知识,这里简单叙述下:

面向对象的编程(称为OOP)是一种非常流行的编程范式,已在软件开发中广泛使用了数十年。它由用户在其代码中定义抽象的“”组成,这些具有各种属性和功能。这些旨在表示现实生活中的特定事物,可能是汽车或个人的银行帐户。

一旦为任务定义了必要的类,程序员便会创建它们的可用实例,称为“对象”

这就是族在Revit中的工作方式。用户首先定义一个抽象族(.rfa文件),然后将其实例放置在他们的模型中。

是抽象定义,例如.rfa文件

对象是这些类的实例

一旦你掌握了面向对象的编程术语,在你凭直觉了解它们之前,学习更多的术语将会很有帮助。

Menbers:一个类的成员页就是它的所有方法、属性等集合在一个页面上。如果你不确定某个类是否具有特定功能,这将非常有用。

Methods:类方法是它可以运行的函数。这些可以被看作类似于动词——这个类的实例可以做什么?例如,FamilyInstance类型的对象具有flipHand()方法,可以让你翻转族的方向。

#示例代码
my_family_instance.flipHand()
#这将翻转类型为familyinstance的对象

请注意:对Revit文档所做的任何更改都必须在打开的Transaction中进行。

Properties:属性更像是类的“形容词”,可帮助你理解有关该类的特定对象(即实例)的更多特性。例如,FamilyInstance类具有一个“ HandFlipped”属性,你可以查询该属性,该属性将告诉你该特定实例的操作是否已翻转完成。

#示例代码
is_it_handflipped = my_family_instance.HandFlipped
#这将返回真或假取决于它是否翻转!

Contructors(构造函数)

API中的构造函数实质上是在告诉你如何创建类的实例。例如,XYZ类用于定义Revit中的一个点。我们可以使用其构造函数来创建一个新的点,如下所示:

#示例代码
my_point = XYZ(0,0,0) #在原点处创建一个新的点
#注意:Revit几何图形是不可见的,不像Dynamo几何图形

Enumerations(枚举)

这些列表也称为枚举,它们是硬编码的列表,通常不会更改,并将选择限制在一组选项中。例如:交通信号灯状态的枚举应类似于:

  1. 红色
  2. 闪烁的黄色
  3. 黄灯
  4. 绿色

因此,用户创建的任何交通信号灯对象都需要将其交通信号灯状态设置为软件供应商定义的预先编写的状态之一。你可以这样选择枚举值:

#示例代码
traffic_light_value = TrafficLightState.FlashingOrange
#这将在enum中选择一个预定义的状态

Revit API中的一些关键枚举是:

  • BuiltInCategory枚举:Revit 中每个BuiltInCategory的列表
  • BuiltInParameter枚举:Revit 中每个BuiltInParameter的列表
  • DisplayUnitType枚举:Revit支持的所有度量单位

注意:版本变更

Revit API随每个子发行版本变化。这些通常是每几个月进行的微小更改。TheBuildingCoder博客非常出色地记录了每个API版本所做的更改。

https://thebuildingcoder.typepad.com/blog/2019/04/whats-new-in-the-revit-2020-api.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容