Revit數(shù)據(jù)讀取與修改

1.數(shù)據(jù)讀取

1.1屬性讀取

屬性分為類型屬性和實(shí)例屬性,可以通過Parametes或者ParametersMap查看 ,后者屬性較少。

Parametes
ParametersMap

GetOrderedParameters對族里面的所有可見屬性進(jìn)行排序,按照屬性順序,忽略族里的分組順序進(jìn)行排序。
GetParameterFormatOptions獲取數(shù)據(jù)格式。
LookupParameter查找自定義族中的自定義參數(shù)。
Parameter(Guid)通過共享參數(shù)的Guid屬性在指定的element中查找。
Parameter(BuiltInParameter)通過自帶參數(shù)的特定built in param屬性來查找。

BuiltInParameter

實(shí)例屬性在實(shí)例里面,類型屬性在類型里面,可載入族的類型屬性在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;

        }
測試結(jié)果

1.2其它數(shù)據(jù)讀取

Lookup不能修改的數(shù)據(jù),查看api。

2.數(shù)據(jù)的修改

大部分?jǐn)?shù)據(jù)不能直接修改,比如面積/體積(計(jì)算得到的),墻的長度(通過墻的位置確定長度的)。

測試代碼:
 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;

        }
測試結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,360評論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,227評論 0 4
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,789評論 11 349
  • 最近在思考一個問題:大學(xué)畢業(yè)之后,有多少人想要一個gap year呢?又有多少人可以選擇去gap呢? 在國內(nèi)很多人...
    燈下橙子閱讀 812評論 0 1

友情鏈接更多精彩內(nèi)容