数据读取与修改

视频连接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中的修改函数,类似地修改

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.数据读取 1.1属性读取 属性分为类型属性和实例属性,可以通过Parametes或者ParametersMap...
    Karel_阅读 1,714评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,186评论 19 139
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,775评论 0 4
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,263评论 6 13
  • 亲子日记第七十天,今天还是很热,一如既往地送给孩子们去了学校,回家收拾家务,刚吃完中午饭朋友打电话让我陪她...
    AA稳稳阅读 168评论 0 1