Revit数据读取与修改

1.数据读取

1.1属性读取

属性分为类型属性和实例属性,可以通过Parametes或者ParametersMap查看 ,后者属性较少。

Parametes
ParametersMap

GetOrderedParameters对族里面的所有可见属性进行排序,按照属性顺序,忽略族里的分组顺序进行排序。
GetParameterFormatOptions获取数据格式。
LookupParameter查找自定义族中的自定义参数。
Parameter(Guid)通过共享参数的Guid属性在指定的element中查找。
Parameter(BuiltInParameter)通过自带参数的特定built in param属性来查找。

BuiltInParameter

实例属性在实例里面,类型属性在类型里面,可载入族的类型属性在symbol里面。

测试代码:
 public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            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();   
            string length2 = para.AsValueString();
            TaskDialog.Show("长度", lenght1.ToString() + "\r\n" + length2);

            return Result.Succeeded;

        }
测试结果

1.2其它数据读取

Lookup不能修改的数据,查看api。

2.数据的修改

大部分数据不能直接修改,比如面积/体积(计算得到的),墙的长度(通过墙的位置确定长度的)。

测试代码:
 public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            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 (Transaction trans = new Transaction(doc, "修改墙的底部偏移"))//给名称或者在star里面给,两个都没给会报错
            {
                trans.Start();
                para.Set(1000 / 304.8);
                trans.Commit();
            }

            return Result.Succeeded;

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

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,196评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,700评论 0 4
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,378评论 11 349
  • 最近在思考一个问题:大学毕业之后,有多少人想要一个gap year呢?又有多少人可以选择去gap呢? 在国内很多人...
    灯下橙子阅读 722评论 0 1