数据读取与修改

视频连接http://v.bimcc.com/course/35/tasks
一、数据的读取

Revit提供了两种数据 数据读取与修改
文章图片

Parameters和Parameters map

一般常用的是Parameters 数据读取与修改
文章图片

下面是几种典型的方法 1.GetOrderedParameters 收集所有可见属性,并直接按照属性的顺序排列(忽略属性分组顺序)
2.GetParameterFormatOptions 获取数据格式
3.LookupParameter 一般用于版本语言切换后,查找自定义族中的自定义参数。
4.Parameter(Guid) 通过共享参数的特定Guid属性来查找
5.Parameter(BuiltInParameter) 通过自带参数的特定built in param属性来查找
下面通过代码来实现数据的读取 一般用LookupParameter和get_Parameter两个方法

UIDocument uidoc = commandData.Application.ActiveUIDocument; Document doc = uidoc.Document; Reference refer = uidoc.Selection.PickObject(ObjectType.Element, "请选择墙"); Wall awall = doc.GetElement(refer) as Wall; //Parameter para = awall.get_Parameter(BuiltInParameter.CURVE_ELEM_LENGTH); //方式一 Parameter para = awall.LookupParameter("长度"); //方式二 double lenght1 = para.AsDouble(); //as..获取值 string length2 = para.AsValueString(); TaskDialog.Show("长度", lenght1.ToString() + "\r\n" +length2); return Result.Succeeded;

数据读取与修改
文章图片
墙的长度信息
数据读取与修改
文章图片
点击一面墙,即可获得属性
//其中length1 length2对应不同单位下的数值
二、数据的修改 直接上步骤
比如这里要修改墙的底部偏移这个属性

数据读取与修改
文章图片

在墙的parameter属性中 找到definition 点进去找到built in parameter 复制
UIDocument uidoc = commandData.Application.ActiveUIDocument; Document doc = uidoc.Document; Reference refer = uidoc.Selection.PickObject(ObjectType.Element, "请选择墙"); Wall awall = doc.GetElement(refer) as Wall; Parameter para = awall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET); //一般在using里创建新事务 using (Transaction trans = new Transaction(doc, "修改墙的底部偏移")) { trans.Start(); para.Set( 1000 / 304.8); trans.Commit(); }return Result.Succeeded;

数据读取与修改
文章图片
修改后的效果
【数据读取与修改】其他的属性可以参照api中的修改函数,类似地修改

    推荐阅读