【Revit二次开发】元素(Element)

article/2025/9/28 16:52:01

图元与图元类型

  • 元素

元素

元素(Element)也称图元

图元作为revit建模的基础,数量庞大,关系千丝万缕。先了解图元的分类,将会帮助我们整理思路,找到功能开发的关键点。
每一个人都可以按照自己的思路将图元进行分类。建模人员可以按照制图要求将图元分为“建筑”“结构”“钢”“系统”“注释”“分析”“体谅和场地”和“视图”几类。你也可以把图元分为“认识的”和“不认识的”的两类。然而,分类是手段不是目的,分类的目的是将具有相同特性的图元划分为一类,以便在不同应用场景下选择合适的特性或特性组合进行使用,最终方便我们开发。

图元和图元类型间存在一定的关系,Revit中允许修改图元的类型

element.GetTypeId() 方法返回当前图元的图元类型ID,当图元类型无法指定是返回ElementId.InvalidElementId
element.ChangeTypeId(ElementId) 方法可修改当前图元的图元类型ID。返回值为新创建修改类型后的图元ID或InvalidElementId(修改成功但没有创建新的图元)。
element.GetValidTypes()返回适用于当前图元的图元类型ID集合。
element.IsValidType(ElementId)判断指定图元类型是否适用于当前图元。

Revit API中派生图元和图元类型

Element类层次图描绘了Revit API中图元元素和派生子类的关系,ElementType类层次对描绘了对应图元的元素类型的类型层次关系。需要注意的是,根结点和子节点的类在类继承关系上并不一定是直接派生类。我们需要掌握的是Element和ElementType是如何一起发挥作用来表达Revit中的图元的。
选择视图中的图元后,属性窗口会显示图元的信息:其中包含它的元素类型;单击编辑类型,可以对该图元的的类型做修改。由于图元和图元类型是分开表达的,存在多个图元属于同一类型时,对图元类型的修改将会作用到所有的图元。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

模型
“模型图元表示存在于建筑项目中的物理项”,通俗的讲,凡是在设计图纸中出现的模型图元,在现实世界中必将会存在与之描述一致的物理实体。例如,当使用物理图元在revit中构件模型后,施工方将会按照图纸建造出相对应的设施和建筑。
所以,当在revit中看到一个图元后,我们都可以先鲁莽的将其归为模型图元,之后,结合尝试判断其到底是不是模型图元。

每一个模型旁边都由一个文字标注来解释图元代表什么。在我们还不清楚各个图元到底属于哪个分类。我们先全部当作模型图元,以“排烟“为例,排烟的设备是可以通过购买或者现场焊接制作出来安装在现实世界中的,而”排烟”两个字,我们是无法把这两字和最终的建筑相对应。故此,”排烟“是图元模型,而这两个字不是模型图元。
仅仅依靠“物理存在“这一原则归纳出了模型图元这一类,但其数量还是太大了,人力去记忆还是太困难。所以,人们又把模型图元中的一些特例归纳成了”FamilyInstance”和宿主图元和结构图元。
族实例: FamilyInstance
在Revit中,选择任意图元,在属性窗体中点击“编辑类型“可以看到类型属性窗口。

在“族“一栏中,会有系统族和不带系统族前缀的族。族实例一般是指按照非系统族来定义的图元。区别是,系统族的族实例在Revit中可以找到与之相关的变成类型,例如,使用系统族:基本墙绘制的图元,它的编程类型是Wall。而其他系统没有定义的族,需要BIM工程师创建族,以供建模人员使用,使用用户自定义族绘制的图元就是FamilyInstace——族实例。
宿主图元
“主体图元包含那些能容纳其他模型图元的系统族对象“,例如,墙是一种宿主图元,可在墙上开洞(洞图元Opening),也可把门、窗置于墙上。

值得注意的是,像洞,门窗等这类模型图元(多为FamilyInstance大类)与宿主图元是配套存在的,不存在不依赖于宿主的这类实例。
在Revit中,创建墙或板等宿主图元;再观察宿主图元上可以绘制的其他模型图元有哪些。

结构图元
结构图元是针对从事建筑的专业人员设计建筑模型细分出来的一类。而对于二次开发的执行者,能够区分已有模型图元是否为结构图元即可,见图元的属性参数“结构“。

注释
“注释图元标识保持图纸比例的二维组件,仅在一个视图中可见“。 这里有三个关键词:图纸比例、二维、基于视图可见。需要注意的是二维和视图可见是分开的,注释图元是二维的,但是是否能在三位中显示不是有图元决定,而是由视图决定。
注释图元和模型图元是图元中数量最多的两类。详见下图:

感兴趣的,可通过方法一:视图选项卡 —> 可见性/图形;或方法二:管理选项卡 –-> 对象样式,浏览模型和注释两类图元。

组图元是将一些图元组合成一个单一图元来进行操作。
视图
视图是图元与用户交互的接口,它也继承自Element,也是一种图元。Revit中的视图图元类型可通过视图选项卡 创建面板的子项查看; 也可通过项目浏览器中的“视图“节点的自节点来查看视图图元类型和视图图元,更细致的内容将在后续的视图一讲介绍。
基准和信息
基准图元和信息图元在视图中是可以看到的,多为属于注释图元。之所以将其与注释图元做区分,是因为基准和信息图元承载了普通注释图元无法具备的能力。例如,文字注释和标记注释他们是与一定的模型图元模型关联的。而基准图元,相当于制图过程中的参照,是现有这些基准才能将模型图元放置在正确的位置,他们具有指导模型的能力。
常见的基准图元有:标高、轴线和模型曲线。
而信息图元中包含了常规图元无法具有的过程和渲染信息。
草图
“草图图元标识二维、三维形式的草图临时项目“,它是一个在过程中存在的图元。举个例子,当我们在数学考试中答题时,往往会在草稿纸上演算计算过程,而将最终的答案或关键的步骤誊写在答卷上。在使用建模中,经常会遇到异型的图元,这种情况下使用草图可将模型的轮廓绘制和最终的模型阶段区分开来,提高设计的灵活性。否则,只能依靠现有的模型,用堆积木的方式搭出样子,而且质量不可控。


http://chatgpt.dhexx.cn/article/oUmEtCp0.shtml

相关文章

Revit二次开发——HelloRevitApp

HelloRevitApp 环境C#revit HelloRevitApp调试 环境 语言为C#,项目模板应为.Net Framework 类库,框架平台以Revit API 中的说明为准,Revit 2021 的要求选择.Net Framework 4.8。 C# Visual Studio 2019集成开发环境,框架版本.N…

【Revit二次开发】添加菜单和按钮

添加菜单和按钮 Ribbon实例 Ribbon菜单的创建以及各种不同的button Ribbon 这个类是PushButton和PulldownButton的基类。 按钮放在panel内,panel放在tab页内 在Revit API中,可以使用ExternalApplication类和ExternalCommand类来创建自定义菜单和按钮。…

【Revit二次开发】楼板、天花板、屋顶和洞口

介绍代码 介绍 Creates a slab within the project with the given horizontal profile using the default floor style. public Floor NewSlab(CurveArray profile,Level level,Line slopedArrow,double slope,bool isStructural )在Revit二次开发中,楼板、天花板…

Revit二次开发——选集

选集 选集用户选集过滤的用户选集 选集 选择图元后运行外部命令获取选择的内容 Revit API中定义了单选、多选、框选等方式的用户选集,用户可以十分方便的使用鼠标和键盘完成这三种方式的图元选择。Revit API根据三种用户选集各自的特点,封装了多种实现…

Revit二次开发——族的基础

族 族族编辑族实例 族 Revit将族分为系统族、内建族、标准构件族。 系统族:系统族是在 Autodesk Revit 中预定义的族,包含基本建筑构件,例如墙、窗和门。例如:基本墙系统族包含定义内墙、外墙、基础墙、常规墙和隔断墙样式的墙类…

Revit二次开发-CurveLoop的闭合处理

在Revit二次开发中,生成solid体块的时候,截面一般使用的CurveLoop这个数据结构。 笔者在使用CurveLoop的使用,给它Append某个几何的时候,老出异常捕获: XXXXXX. 英文不打了,就是不连续的意思。 查阅api发…

【Revit二次开发】族

族 族族实例族文档Revit API中族文档相关类族参数和族类型 族 Revit将族分为系统族、内建族、标准构件族。 Autodesk revit中的所有图元都是基于族的。 系统族:系统族是在 Autodesk Revit 中预定义的族,包含基本建筑构件,例如墙、窗和门。例…

Revit二次开发放样融合CreateSweptBlendGeometry

生成solid的放样融合接口为CreateSweptBlendGeometry&#xff0c;参数描述如下&#xff1a; 1&#xff09;Curve pathCurve&#xff1a;路径只要一个线 2&#xff09; IList<double> pathParams&#xff1a;数组大小和截面数组一样&#xff0c;作用是定位截面数组每个截…

Revit二次开发入门

Revit二次开发入门 订购并安装Autodesk Revit安装Visual Studio安装Revit AddIn-Manager 安装步骤&#xff1a; 找到安装Revit解压后的文件夹&#xff0c;找到\Utilities\SDK目录&#xff0c;并运行RevitSDK.exe&#xff1b; 指定安装目录&#xff08;安装步骤实际上只是把一个…

Revit二次开发01-开发环境的配置(Revit2018+Visual Studio 2015)

1.软件简介 1.1 Revit 2018 SDK Revit SDK包含RevitAPI的帮助文档以及带源码的案例&#xff0c;Revit SDK需要与Revit的版本保持一致。Revit SDK中的Add-In Manager是Revit的官方插件&#xff0c;用来加载revit的插件&#xff0c;RevitAPI.chm是RevitAPI的帮助文档。 1.2 Revi…

Revit二次开发有几种方式?做Revit二次开发的必看!

Revit二次开发有三种方式&#xff1a;外部命令&#xff08;IExternalCommand&#xff09;、外部应用(IExternalApplication)和宏(Macro)。下面将简要说明外部应用、宏的开发过程&#xff0c;并着重说明外部命令的开发过程。 1.宏&#xff08;Macro&#xff09; 宏是基于RevitAP…

Revit二次开发案例一(第1讲)

这期起&#xff0c;将为大家带来二次开发的小案例讲解&#xff0c;通过借助Revit建模与二次开发&#xff0c;帮助大家快速提高开发水平&#xff0c;快快参加吧&#xff01;&#xff01;&#xff01; 族实例是通过族类型创建的&#xff0c;而创建族实例是Revit二次开发尤其重要…

【REVIT二次开发教程】01-“你好,Revit”

本教程全程采用VS2022&#xff0c;Revit2022。 1.新建项目 打开VS2022&#xff0c;创建新项目&#xff0c;选择项目类型为C#&#xff0c;Windows&#xff0c;然后点击下一步。 2.添加引用 选择右上角【解决方案管理器】中的【依赖项】&#xff0c;右键点击&#xff0c;选择【…

运放的差分放大电路

该放大器的传递函数为&#xff1a;    若R1 R3 且R2 R4&#xff0c;则公式 1 简化为&#xff1a; 应用电路&#xff1a; 电路一&#xff1a; 用运放做电流采样&#xff0c;再用单片机AD采集处理。 注&#xff1a; 1、Rp10、Rp11、Cp8、Cp9&#xff0c;是对输入做的RC…

模电(十四)差分放大电路

目录 差分放大电路 双端输入双端输出 Q点分析 抑制共模信号 放大差模信号 双端输入单端输出 Q点分析 差模信号分析 共模信号分析 单端输入双端输出 单端输入单端输出 四种接法比较 具有恒流源的差分放大电路 差分放大电路的改进 差分放大电路 采用引入支流负反馈&a…

差分放大电路基础

该放大器的传递函数为&#xff1a; 若R1 R3 且R2 R4&#xff0c;则公式 1 简化为&#xff1a; 应用电路&#xff1a; 电路一&#xff1a; 用运放做电流采样&#xff0c;再用单片机AD采集处理。 注&#xff1a; 1、Rp10、Rp11、Cp8、Cp9&#xff0c;是对输入做的RC滤波&…

6.深入浅出:差分放大电路——参考《模拟电子技术基础》清华大学华成英主讲

如果你想理解差分电路共模信号和差模信号&#xff0c;共模放大倍数&#xff0c;差模放大倍数&#xff0c;共模抑制比等&#xff0c;本文或许能给你比较系统的认知&#xff0c;主要包括&#xff1a; 什么是零点漂移&#xff1f; 引入差分电路 两个共射极放大电路对称布置&…

差分放大电路的构成(零点漂移、差分放大电路是怎么构成的、共模信号、差模信号)

差分放大电路的构成 直接耦合放大电路 零点漂移现象 输入短接&#xff0c;输入为零的时候&#xff0c;输出不是一条直线&#xff0c;就是交流量不是零。 一、产生原因 温漂&#xff0c;温度变化使静态工作点发生变化&#xff0c;产生零点漂移 二、抑制温漂的方法 加射极电阻…

干货 | 教你轻松掌握差分放大电路,看完这篇不踩坑

要想掌握差分放大电路&#xff0c;首先就要知道什么是差分放大电路以及它的作用。 差分放大电路是模拟集成运算放大器输入级所采用的的电路形式&#xff0c;差分放大电路是由对称的两个基本放大电路&#xff0c;通过射极公共电阻耦合构成的&#xff0c;对称的意思就是说两个三极…

全差分运算放大器浅析

全差分放大器(Fully-Differential)是一种应用在将单端信号转换为差分信号&#xff0c;或者将差分信号转换为差分信号的芯片。 全差分放大器的配置特点&#xff0c;就是全对称匹配。即两侧输入阻抗配置完全一致&#xff08;阻抗包括源内阻&#xff09;&#xff0c;反馈配置完全…