revitapi专题

RevitAPI: 如何获得链接CAD里面对象的图层信息?

当导入或者链接CAD文件之后,一般我们在Revit里面选中该CAD,点击"导入实例”的“查询”,选中某个图元,就会弹出图层信息   那么API如何实现此功能呢? 本人刚开始并没有找到如何做到,后来偶然机会发现Line/GeometryObject类有个属性叫GraphicsStyleId,试了一下,答案就出来了。 那就是,   使用Selection.PickObject或Sele

RevitAPI:获取管道的水平对正和垂直对正属性或约束

选择管道,可以看到最上面有两个属性,分别是水平对正和垂直对正 我们都知道,使用RevitLookup工具找到对应的BuiltInParameter之后,调用Element.get_Parameter(BuiltInParameter)就可以获得对应的参数了。 只不过这里的参数返回值是Integer,具体哪个数字代表那种对正方式还却没有明确说明。我查了一下,貌似没有对应的枚举类型,所以通过

RevitAPI: Document.ExportImage导出文件格式并不都是.png,即便设置了HLRandWFViewsFileType为ImageFileType.PNG

RevitAPI有导出图片的功能,那就是使用Document.ExportImage方法,一个实际的例子如下 FilteredElementCollector FEC_Views = new FilteredElementCollector(OpenDoc).OfClass(typeof(View));FEC_Views.OfCategory(BuiltInCategory.OST_Vie

RevitAPI:监听文档改变ControlledApplication/Application.DocumentChanged事件

很多时候,我想通过API获取上一次操作有哪些对象被创建、修改或者删除了。或者想监听文档的改变事件,一旦改变发生,程序就做一些特定的事情,例如,把这些改变记录在数据库中,再和其他应用进行交流。 这个时候,就要用到ControlledApplication.DocumentChanged或者Application.DocumentChanged事件了。 这里,我先推荐大家学习一个SDK里面的例子,

RevitAPI: 设置管件族的连接件的半径属性抛异常 - 如何获取关联族参数

管件族的连接件有一个属性叫“半径”,我们想使用api来修改它的值,直观的做法可能是这样的: connectorElement.Radius = 0.041;但是,Radius属性是只读的,编译不过,或者编译过了,但是抛异常。 另外一种做法是使用Parameter: var radiusPara = connectorElement.get_Parameter(BuiltInPar

RevitAPI: 获取图形显示选项 Graphic Display Options

有不少朋友问到如何使用api获取图形显示选项 (Graphic Display Options),我稍微调查了一下,发现api目前提供的功能还比较有限,能够获取到的信息如下图的1,2,3点 使用的方法分别是: ViewDisplayModel displayModel = view.GetViewDisplayModel(); //1ViewDisplaySketchyLines

RevitAPI: 如何使用API创建墙饰条

墙饰条对应的类是WallSweep,很明显在Document.Create下面没有NewWallSweep这样的函数,那么如何创建呢? 答案就是使用WallSweep的静态函数Create: public static WallSweep Create(Wall wall, ElementId wallSweepType, WallSweepInfo wallSweepInfo);

RevitAPI: PlanarFace.Normal 和 PlanarFace.FaceNormal

在Revit 2016里面PlanarFace.Normal已经被标识为Obsolete,这就意味着它在下个版本里面将被去掉,取而代之的是PlanarFace.FaceNormal属性,那么这两个有什么区别呢?我们应该用哪个呢? 一般情况下我们都是推荐使用新的方法啦,即PlanarFace.FaceNormal。 那么Normal属性有什么问题呢? 我们来看下面的图: 一个方形

RevitAPI: 如何在详图构件上创建尺寸标注

下图是两根详图构件,每个构件本身就是一条线。 我们想要做到这样: 我们知道NewDimension函数是这样的: Dimension NewDimension(View view, Line line, ReferenceArray references)前面两个参数很容易理解,一个是要创建尺寸的视图,一个是尺寸线的位置, 那么最后一个ReferenceArray当然就