RevitAPI
文章平均质量分 86
BIM_er
扎根于建筑信息技术,BIM领域开拓者,拥有多年BIM应有和开发经验
QQ:985500762
展开
-
Revit API中的楼梯元素(Stairs)讲解
Stairs类表示Revit中的楼梯元素,并包含踏板、立板、楼层数量以及楼梯高度、基座和顶部高程的信息。 楼梯类的方法可用于获得楼梯相关组件,包括楼梯支撑。以下示例按组件来查找所有楼梯,并将每个楼梯上的某些信息输出到任务对话框。 请注意,此示例使用带有BuiltInCategory.OST_Stairs的类别过滤器,它将返回所有楼梯的ElementIds。private Stairs G...原创 2019-01-30 10:09:42 · 1927 阅读 · 0 评论 -
Revit二次开发用API创建拉伸体
一、Revit拉伸介绍拉伸是最容易创建的形状。可以在工作平而上绘制形状的二维轮廓,然后拉伸该轮廓使其与绘制它的平面垂直。根据描述,拉伸操作需要三个输入:①工作平面;②工作平面上的二维轮廊(必须闭合);③拉伸的长度。在界面上,如要拉伸墙到弧形屋顶,操作的大体步骤如下图。①:选择工作平面 ②:选择一个绘制屋顶的视图③:切换至北立面,确定绘制标高为“标高2”,无偏原创 2018-01-27 16:15:14 · 7450 阅读 · 2 评论 -
RevitAPI之创建文字和注释(TextNote)
Revit提供API让开发者在视图中加入文字注释,这些注释在纸空间中测量而且自动随视图一起缩放。另外,可以通过参数(Parameter)来访问和修改所需要的内容。文字注释的创建方法:通过以下方法可以创建文字注释。①Autodesk.Revit.Creation.Document NewTextNote( View pView,XYZ origin,XYZ baseVec原创 2018-01-31 22:06:05 · 4134 阅读 · 0 评论 -
RevitAPI之在机械设备和风管终端间创建风管系统
水暖电系统类MEPSystem也是Element。MEPSystem 的子类有 MechanicalSystem,PipeingSystem,ElectricalSystem,分别对应风管系统,水管系统和电器系统。风管系统通常是为了便于计算风管中送风流向和流量而设定的一个逻辑概念。只要将风道末端和机械设备放置在工程中,就可以创建补给系统、返回系统和废气系统,用于连接各个不同的部件。原创 2018-01-07 16:47:52 · 1185 阅读 · 0 评论 -
RevitAPI之创建风管
创建一般风管可以调用RevitAPI的函数Duct.Create:Duct Create(Document document,Elementld systemTypeld,Elementld ductTypeld, Elementld levelld, XYZ firstPoint, XYZ secondPoint) 参数含义见下表。参数描述原创 2018-01-07 16:34:17 · 1685 阅读 · 0 评论 -
RevitAPI 之参照平面(Referenceplane)和参照线(Reference Line)
Referenceplane是参照平面,Reference Line是参照线。它们是辅助绘图的重要工具, 在族的创建过程中经常使用。一、参照平面参照平面可以定位和驱动族模型。在大多数的族模板中,已经默认有三个参照平面,分别为X,Y和Z平面方向,其交点是坐标原点(0, 0, 0)。这三个参照平面默认被固定锁住,并且不能被删除。一般情况下不要去解锁和移动这三个参照平面,否则可能原创 2018-01-05 21:50:21 · 12065 阅读 · 1 评论 -
RevitAPI之草图及草图平面
一、草图编辑草图编辑在Revit中被广泛用于创建各种元素,包括绘制和修改模型的形状。没有用于创建元素的绘制形状的绘画也属于草图编辑,例如,用鼠标移动的操作画一根曲线,在已经创建好的楼板上绘制褶皱来修改楼板的几何形状等。草图编辑在用户界面上有专门的窗口区域,不同的元素提供不同的绘制草图的工具集,标准的工具集一•般有两种:①、绘制形状的工具:直线,曲线,圆,多边形,椭圆,样条曲线。原创 2018-01-05 22:13:20 · 4012 阅读 · 0 评论 -
Revit二次开发之编辑族并载入到项目文档里
族在Revit中是个很重要的概念。族是一种元素,它分为系统族、内建族 和构建族。·系统族是Revit内置的族,不可以自由编辑它的模型、类型和参数。·内建族和构建族允许编辑和创建自定义的模型、类型和参数,区别是内建族只能存储在当前的项目文档里,不能被其他文档使用。编辑族(EditFamily)和载入族(LoadFamily)的方法:在当前文档中,如果加载了一些构建族,并创建了这些原创 2018-01-05 21:33:30 · 10454 阅读 · 4 评论 -
RevitAPI之快速创建尺寸标注
对于尺寸标注的创建,Revit API提供了以下方法来创建线性尺寸标注和对齐尺寸标注。1) 创建线性尺寸标注• Autodesk. Revit. Creation. Document. NewDimension (View view, Line line, ReferenceArray references)其中,参数view是尺寸标注所要创建在的视图,line表示线性尺寸的直线,原创 2018-01-22 16:57:18 · 6343 阅读 · 3 评论 -
Revit API之BoundingBoxXYZ的用法和剖面框(Section Box)
BoundingBoxXYZ定义了一个三维的长方体盒。它与BoundingBoxUV不同的是,BoundingBoxXYZ继承于APIObject对象。它的Transform属性可以用来将数据从局部坐标系变换到模型系统的坐标。如果要得到模型空间的长方体盒边界数据,可以用Transform依次转换各个数据。1) 定义视图的边界 BoundingBoxXYZ可以通过视图的裁剪盒原创 2018-01-04 21:32:09 · 9069 阅读 · 0 评论 -
Revit开发之创建了一个基于标高的曲线结构梁
创建了一个基于标高的曲线要使用Curve,然后根据这个Curve创建曲线结构梁。应用到的Revit API方法是:• NewFamilylnstance ( Curve curve, FamilySymbol symbol, Level level,StructuralType structuralType)代码:void CreatCurveBeam(Level le原创 2018-01-10 19:26:18 · 1209 阅读 · 0 评论 -
Revit开发之批量高效创建模型线
一、创建模型线创建模型线可以使用 Document.Create.NewModelCurve(Curve,SketchPlane)方法。 第一个参数是Curve,可以是任何Curve的子类,比如Line,NurbSpline,Arc,Ellipse 等,那么对应创建出来的实例就是ModelLine,ModelNurbSpline,ModelArc和 ModelEllipse。第二个参数原创 2018-01-10 19:32:53 · 1816 阅读 · 0 评论 -
RevitAPI之获取洞口边界及在墙上开洞
如果是长方形边界,使用BoundaryRect属性,其他形状边界使用BoundaryCurves属性原创 2018-01-27 16:28:54 · 2737 阅读 · 0 评论 -
Revit API之StairsPath(楼梯路径)讲解
楼梯路径(StairsPath类)可用于注释楼梯的倾斜方向和行走线。 静态方法StairsPath.Create()将为指定楼梯创建一个新的楼梯路径,并在特定平面视图中指定楼梯路径类型,其中楼梯必须可见。在Revit UI中编辑楼梯路径时,StairsPath类具有相关属性,例如用于设置向上和向下文本的属性或是否应显示文本。 另外,可以指定向上和向下文本的偏移量,以及从楼梯中心线到楼梯路径的偏...原创 2019-01-30 09:40:41 · 2023 阅读 · 0 评论 -
Revit API之创建双跑楼梯,与橄榄山功能类似
创建楼梯可以参考如下代码:private ElementId CreateStairs(Document document, Level levelBottom, Level levelTop) { ElementId newStairsId = null; using (StairsEditScope newStairsSc...原创 2019-01-29 09:32:15 · 1238 阅读 · 0 评论 -
Revit开发之创建基于面的实例
下面两个方法用来创建基于面的族实例:原创 2018-03-27 15:24:53 · 2552 阅读 · 0 评论 -
利用RevitAPI获取版本及产品信息
Revit应用类主要分为UIApplication和Application两大类。此外,Revit API中还有两类 Application,分别为 UlControlledApplication 和 ControlledApplication。这两类 Application 是对 UIApplication 和 Application 的进一步封装,用户无法通过这两个应用类访问Revit原创 2018-01-28 21:52:49 · 1470 阅读 · 0 评论 -
Revit开发之设置族参数的值
族参数的值是关联于族类型的,在每个族类型中都储存了各自类型的参数值,使用API以实现读写族参数的值,读写方法略有不同。(1)读取参数值Autodesk. Revit. DB. FamilyType 类:• double? AsDouble(FamilyParameter familyParameter)• Elementld AsElementId(FamilyParamete原创 2018-01-27 22:18:25 · 4702 阅读 · 0 评论 -
RevitAPI高效使用逻辑过滤器(ElementLogicalFilter)
Revit API有两种逻辑过滤器:LogicalOrFilter和LogicalAndFilter。1) LogicalOrFilterLogicalOrFilter是过滤器的逻辑或集合,可以查找匹配符合任意一个过滤器条件的元素。例子1:构建:墙和标高的类别过滤器,然后将这两种过滤器通过逻辑“或”组合成一个逻辑或过滤器,最后将文档中符合墙和标高类别之一的所有元素査找出来。原创 2018-01-27 22:08:24 · 2178 阅读 · 0 评论 -
Revit通过API找到门窗对应的房间
族实例和房间的关系分两种:①如桌子、床等在房间里的;②如门和窗等介于两个房间之间的。族实例跟房间相关的属性有:Room,FromRoom和ToRoom。如果想得到跟某个项目阶段(Phase)相关的房间,对应的分别使用get_Room(Phase),get_FromRoom(Phase)和 get_ToRoom( Phase)这三种方法。对应的Space(空间)都有类似的方法。原创 2018-02-03 22:29:33 · 1874 阅读 · 1 评论 -
Revit房间边界
房间的边界是一个闭合区间,房间边界可以是下面的元素:•墙•房间分隔 •建筑柱 •屋顶 •楼板 •天花板元素可以被作为房间的边界,但需满足下面的条件:•对于模型曲线的元素,它的类别必须是BuiltInCategory.OST_AreaSeparationLines。•对于其他元素,比如墙、柱或屋顶,它们的“房间边界 ”(BuihInParamete原创 2018-02-03 22:15:36 · 3969 阅读 · 0 评论 -
Revit开发如何创建模型线
创建模型线可以使用 Document.Create.NewModelCurve(Curve,SketchPlane)方法。第一个参数是Curve,可以是任何Curve的子类,比如Line,NurbSpline,Arc,Ellipse 等,那么对应创建出来的实例就是ModelLine,ModelNurbSpline,ModelArc和 ModelEllipse。第二个参数是Ske原创 2018-01-27 16:43:26 · 6390 阅读 · 1 评论 -
Revit二次开发之创建斑马线【比目鱼原创】
=========【更多高级应用请关注公众号】===========================================一系列的斑马线需要创建比较多的族实例,使用以下这个方法效率会比较高。 ICollection NewFamilyInstances2 (List dataList)给此方法传入一个的参数(Familylnstanc原创 2017-12-12 17:03:26 · 1286 阅读 · 0 评论 -
RevitAPI之Filter过滤器大全
为了方便使用,Revit提供了 —些预制的过滤器,有些同时提供了 FilteredElementCollector 的快捷方法,全部如下表:内建过滤器类型符合条件值快捷方法LogicalAndFilter逻辑过滤器必须符合两个或两个以上的过滤器的元素WherePasses原创 2018-01-13 21:47:48 · 3491 阅读 · 0 评论 -
RevitAPI之TransactionGroup和Assimilate方法【比目鱼原创】
关于TransactionGroup 类TransactionGroup用来将几个独立的事务分组,这样一个组可以同时处理许多事务。 当一个TransactionGroup撤销时,所有在这个组里的事务,哪怕已经成功提交的,都会被撤销。如果一个TransactionGroup被提交,这个组里的事务保持原来状态(提交或撤销)。如果一个TransactionGroup被吸收(Assim原创 2017-12-10 11:57:49 · 2021 阅读 · 0 评论 -
RevitAPI之创建房间方法的介绍【比目鱼原创】
创建Room的方法是Document.Create.NewRoom,它有很多重载,下面作简要介绍。原创 2017-12-10 18:15:31 · 1597 阅读 · 1 评论 -
RevitAPI之创建一个面积【比目鱼原创】
RevitAPI提供三个重载函数创建面积原创 2017-12-10 18:20:26 · 1674 阅读 · 0 评论 -
RevitAPI之创建文字和注释【比目鱼原创】
在Revit的视图中可以加入文字注释,这些注释在空间中测量而且自动随视图一起缩放原创 2017-12-11 20:33:23 · 1923 阅读 · 0 评论 -
RevitAPI之在墙上创建门(基于宿主)
如果XYZ location如果超出 了宿主本身的范围,创建可能会失败,并有错误框弹出,提示无法创建。原创 2017-12-14 16:08:03 · 1461 阅读 · 0 评论 -
Revit二次开发之移动元素【比目鱼原创】
API提供了移动元素的方法,可以把一个或者几个元素从一个地方移动到另一个地方使用起来比较简单,但是有几个需要注意的地方:原创 2017-12-15 21:30:53 · 2270 阅读 · 2 评论 -
RevitAPI获取Solid
实体类型定义了一个包含了面和边的三维几何实休Solid,如立方体和长方体原创 2017-12-23 10:28:52 · 2378 阅读 · 0 评论 -
RevitAPI之利用网格Mesh创建实体面
Revit的网格是多边形网格,每一个三维面都可以由一系列顶点以及对应的一系列三角形组成。原创 2017-12-23 10:11:06 · 4105 阅读 · 3 评论 -
RevitAPI之镜像(Mirror)一个元素
要镜像一个元素,首先判断这个元素是否支持镜像。可以使用两个辅助方法原创 2017-12-20 20:05:18 · 1563 阅读 · 0 评论 -
Revit开发之通过墙的位置线和柱子的位置点进行旋转
在旋转方法中,旋转角度是用弧度计量。正值是围绕轴线做逆时针的旋转,负值是做顺时针旋转。原创 2017-12-15 22:22:46 · 2616 阅读 · 0 评论 -
Revit中元素重要的属性和方法
Category(类别),Location(位置),LevelId(标高), GroupId(组),Id,UniqueId(唯一Id)等都是元素的几个重要属性。重要的方法:GetMaterials(),Get AnalyticalModel()原创 2017-12-25 18:52:34 · 2250 阅读 · 0 评论 -
RevitAPI之怎样在族、族类型、族实例之间相互获取
从族实例获取族类型① FamilySymbol symbol = familylnstance. Symbol② FamilySymbol symbol = RevitDoc. GetElement(familyInstance.GetTypeId()) as FamilySymbol;从族类型获取族Family family = symbol原创 2017-12-25 19:00:19 · 5167 阅读 · 2 评论 -
Revit开发之ElementLevelFilter、ElementParameterFilter、FamilylnstanceFilter、CurveElementFilter
下面几项是常用的慢速过滤器。1) ElementLevelFilterElementLevelFilter是使用关联的标高(Level)来匹配其关联或不关联的元素。void TestElementLevelFilter(Document doc) { // 找到当前所有标高对应的所有元素 FilteredElementCollector collector = n原创 2018-01-13 22:15:32 · 1274 阅读 · 0 评论 -
Revit开发之如何使用快速过滤器(ElementQuickFilter)
下面介绍一些常用的快速过滤器的用法。1) ElementCategoryFilterElementCategoryFiher是使用类别(Category)来查询元素的过滤器。比如说,使用墙的类别(OST_Walls)来查询当前文档的元素,过滤文档中所有的墙实例以及墙类型。示例代码:void TestElementCategoryFilter(Document doc原创 2018-01-13 22:02:28 · 2765 阅读 · 0 评论 -
RevitAPI之FilteredElementCollector的基本应用
收集器(FilteredElementCollector)用来迭代以及过滤元素的主要类是收集器,它有三种构造方式,见表:构造函数描述FilteredElementCollector(Document document)在一个文档构造,迭代会从文档所有的元素进行FilteredElementCollector原创 2018-01-13 21:04:01 · 2693 阅读 · 0 评论 -
RevitAPI之关于宿主元素
宿主元素是指可以被某些元素附着的元素,比如墙,墙面可以放置门窗。天花板、地板、 屋顶等,都属于宿主元素。1、获取宿主上的元素使用HostObject. FindInserts方法可以用来获取插入到宿主元素上的元素的集合:IList参数说明如表参数类型说明addRectOpenings原创 2018-01-01 11:10:25 · 1608 阅读 · 0 评论