美文网首页
Revit数据读取与修改

Revit数据读取与修改

作者: Karel_ | 来源:发表于2017-09-04 12:21 被阅读87次

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;

        }
测试结果

相关文章

  • Revit数据读取与修改

    1.数据读取 1.1属性读取 属性分为类型属性和实例属性,可以通过Parametes或者ParametersMap...

  • 数据读取与修改

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

  • 数据的读取与修改

    一.数据的读取 1.属性的读取:Parameters和Parameter Map(用的偏少) Parameters...

  • Swift使用KeyedUnarchiver存取数据

    保存数据 读取数据 修改数据 删除数据

  • python操作Excel

    写入Excel 举个栗子:读取数据库数据写入Excel 读取Excel 修改Excel

  • 数据库事务的四大特性和事务的隔离级别

    脏读:读取了未提交的事务的数据;不可重复读:读了一个数据后,这个数据被另外的事务修改了,然后读取的数据与先前读的不...

  • Windows Server 共享权限

    文件权限 读取:读取文件内容、查看文件属性与权限等写入:修改文件内容,在文件后面增加数据与改变文件属性等(至少需要...

  • 「DOM 编程」数据存储

    Cookie属性作用域读取设置与修改Cookie 缺陷 Storage对象API 数据存储 Cookie 浏览器中...

  • 数据库-事务级别

    问题 脏读, 读取了未提交的数据。A事务修改,B事务读取,A事务回滚 不可重复读,B事务修改了一批数据,这时候A事...

  • CoreData - NSManagedObject(2)

    在上一节中CoreData - 数据的存储与读取(1)中, 实现了数据的存储与读取, 但是在进行数据存储与读取时...

网友评论

      本文标题:Revit数据读取与修改

      本文链接:https://www.haomeiwen.com/subject/nuosjxtx.html