010、如何阅读Revit的API文档

Revit的API很大,其文档也很大,本次文章简单教你如何阅读它。

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

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

使用APIDocs.Co

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

一个基本的工作流程包括确保你已经为所使用的产品选择适当的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/491839.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于javaweb(springboot+mybatis)生活美食分享平台管理系统设计和实现以及文档报告

基于javaweb(springbootmybatis)生活美食分享平台管理系统设计和实现以及文档报告 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 …

什么是V R美术馆|V R互动体验店加盟|虚拟现实元宇宙

VR美术馆是利用虚拟现实&#xff08;VR&#xff09;技术构建的数字化美术馆&#xff0c;通过虚拟展厅和虚拟展览等形式展示艺术作品、举办艺术展览&#xff0c;为用户提供一种沉浸式的艺术体验。用户可以通过穿戴VR头显等设备&#xff0c;在虚拟环境中自由浏览各种艺术作品&…

利用AI技术预测未被充分监测的流域中的极端洪水事件笔记

利用人工智能&#xff08;AI&#xff09;技术预测未被充分监测的流域&#xff08;ungauged watersheds&#xff09;中的极端洪水事件 文章目录 利用人工智能&#xff08;AI&#xff09;技术预测未被充分监测的流域&#xff08;ungauged watersheds&#xff09;中的极端洪水事件…

[HackMyVM]靶场Crossbow

kali:192.168.56.104 靶机:192.168.56.136 端口扫描 # nmap 192.168.56.136 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 22:17 CST Nmap scan report for crossbow.hmv (192.168.56.136) Host is up (0.0057s latency). Not shown: 997 closed tcp…

实现ls -l 功能,index,rindex函数的使用

index();----------------------------------------------------------------- index第一次遇到字符c&#xff0c;rindex最后一次遇到字符c&#xff0c;返回值都是从那个位置开始往后的字符串地址 #include <stdio.h> #include <sys/types.h> #include <pwd.h&g…

Spring Boot | Spring Boot的“核心配置“与“注解“

目录: Spring Boot的核心配置与注解 &#xff1a;1. 全局配置文件 ( application.properties / application.yaml&#xff1a;创建项目时候自动生成&#xff0c;其会被“自动导入”到“程序”中 )application.properties配置文件application.yaml 配置文件 (推荐使用)当value值…

MAC使用Clion开发STM32

安装软件 CLion &#xff1a;略 STM32CubeMX&#xff1a;略 brew &#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"openocd &#xff1a; brew install open-ocd # 以下命令有输出说明安装成功 openocd -…

linux 系统安装php 8.0.2

1. 安装包准备 https://www.php.net/distributions/php-8.0.22.tar.gz 我下载到 /usr/local/src 这个目录了 cd /usr/local/srcwget https://www.php.net/distributions/php-8.0.22.tar.gz 2. tar 解压 然后进到解压的文件夹 tar -zxvf php-8.0.22.tar.gz cd php-8.0.2…

0101支付安全-支付模块-项目实战

文章目录 一、信息安全的基础-机密性1 相关概念2 对称加密和非对称加密 二、身份认证三 摘要算法四、数字签名五、数字证书结语 在支付过程中&#xff0c;设计多方的敏感信息&#xff0c;那么安全尤为重要。下面先简单介绍下&#xff0c;相关概念。 一、信息安全的基础-机密性 …

YOLOv8项目解析——一文搞定目标检测、语义分割、状态估计、目标追踪算法原理与模型部署

简介 Ultralytics YOLOv8是一种前沿的、最先进的&#xff08;SOTA&#xff09;模型&#xff0c;它在前代YOLO版本的成功基础上进行了进一步的创新&#xff0c;引入了全新的特性和改进&#xff0c;以进一步提升性能和灵活性。作为一个高速、精准且易于操作的设计&#xff0c;YO…

基于单片机的智能汽车防盗系统设计

摘要:本文介绍了一种以汽车专用单片机飞思卡尔MC68HC908QT4CPE 作为底层主控芯片,人体远红外热释传感器、防闯入光幕墙及振动传感器作为检测装置的汽车防盗系统。单片机将检测到的防盗传感器开关信号,通过数据分析,系统可以设置布防和解除布防模式,在布防模式下,当检测到…

【AI+编程】使用chatGPT AI工具Python语言从0到1完成pdf转docx小工具

昨天运营同学问我一个问题&#xff0c;能不能把一个pdf转换成 docx 。 我给他提供了2种方式。一是用 PDF Reader PRO软件&#xff0c; 一个是WPS会员&#xff08;普通用户只能转换3页&#xff09;。 休息间隙&#xff0c;脑海里冒出一个想法。能不能用python写一个pdf转换do…

免杀对抗-C2远控篇CC++SC转换格式UUID标识MAC物理IPV4地址减少熵值

参考文章&#xff1a; https://github.com/INotGreen/Bypass-AMSI https://mp.weixin.qq.com/s/oJ8eHdX8HGuk6dZv0kmFxg https://kyxiaxiang.github.io/2022/12/14/AMSIandEtw https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell 文章参考&#xff1a; https://www.…

SQLAlchemy模型映射提示declarative_base() takes 0 positional arguments but 1 was given

原码&#xff1a; #SQLAlchemy模型映射表结构. from sqlalchemy import create_engine,Column,Integer,String from sqlalchemy.ext.declarative import declarative_base# 数据库的变量 HOST 127.0.0.1 PORT 3306 DATA_BASE itbz USER root PWD 123456 DB_URL fmysqlpy…

deepspeed chat RLHF个人笔记(待完成)

一、linux配置 # 新的linux配置: 1. 查看linux版本 uname -a 2. linux装软件ubuntu:安装软件:sudo apt install 软件名更新软件源:sudo apt update升级已安装的软件:sudo apt upgrade3. ubuntu 查看终端类型printenv | grep TERM 3. 安装 c编译器 sudo apt-get update sudo ap…

使用Redis位图实现12306分段购票

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 很多编程语言都有位运算符,Java语言也不例外。在Java语言中,提供了7种位…

通信原理QPSK OQPSK MSK 信道编码 GMSK

通信原理 通信QPSKOQPSKMSK信道编码GMSK需要的联系qq&#xff1a;2329738917 通信 QPSK OQPSK MSK 信道编码 GMSK 需要的联系qq&#xff1a;2329738917

小黑开始了芙蓉路岔气恰巧看到芙蓉脱单,假期东方时尚的学车生活,跟尚香骑车去北大微电子学院,在雪天考科目二的leetcode之旅: 43. 字符串相乘

小黑代码1:暴力转换 class Solution:def multiply(self, num1: str, num2: str) -> str:num1 int(num1)num2 int(num2)return str(num1 * num2)小黑代码2:转化为多位数x一位数 class Solution:def multiply(self, num1: str, num2: str) -> str:# 定义多位数x一位数的…

Github简单入门教程

文章目录 使用前提查看项目内容查看项目介绍打包下载项目查看项目作者项目搜索复制项目分支项目创建向项目中添加文件对项目进行评论 使用前提 想要使用Github&#xff0c;首先需要学会科学上网&#xff0c;不然用国内的网在正规情况下是无法访问Github滴~ 查看项目内容 打开…

解决错误LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to

react native pod第三方包或者git clone的时候遇到 OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443两种解决方案 方法一 修改计算机网络配置 由于使用 IPv6 的原因&#xff0c;可能会导致这一问题的出现 系统在解析hostname时使用了ipv6 可以配…