關於Revit API修改元素參數的問題?


>ADN: DEVR3894 
>ADN service level: Professional 
>產品:Revit MEP 2012 
>版本:2012 
>語言:中文 
>操作系統:window7 64bit 
>聯系電話:137xxxx1960
>問題標題:關於修改元素參數的問題?
>問題內容: 
上次提問,關於遍歷鏈接文檔創建空間的問題。
最終解決辦法是:在鏈接文檔的時候選擇“原點到原點”
失敗的原因就是坐標系沒有對正。
這次的問題如下:
我希望在風管連接彎頭之前,設置好首選的彎頭類型。
1.元素參數如果是int或者double可以直接修改。
如果是ElementId如何知道從哪里得到這些Id
2.如圖所示,編輯風管類型。
如何改變T形三通,接頭,這樣的參數的值。
參考代碼:
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public  class cmd : IExternalCommand
{
     public Result Execute(ExternalCommandData cmdData,  ref  string msg, ElementSet elements)
    {
        UIDocument uiDoc = cmdData.Application.ActiveUIDocument;
        UIApplication uiApp = cmdData.Application;
        Document doc = uiDoc.Document;
        Selection selection = uiDoc.Selection;

        Transaction ts =  new Transaction(doc,  " www ");
        ts.Start();
         // 找個風管類型
        FilteredElementCollector collector =  new FilteredElementCollector(doc);
        collector.OfClass( typeof(Duct)).OfCategory(BuiltInCategory.OST_DuctCurves);
        Duct duct =  null;
         foreach (Element el  in collector)
        {
            duct = el  as Duct;
             break;
        }
         // 找個彎頭類型
        FilteredElementCollector collectorFitting =  new FilteredElementCollector(doc);
        collectorFitting.OfClass( typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_DuctFitting);
        FamilyInstance fitting =  null;
         foreach (Element el  in collectorFitting)
        {
            fitting = el  as FamilyInstance;
             break;
        }
         //
         foreach (Parameter p  in duct.DuctType.Parameters)
        {
             if (p.Definition.Name ==  " 首選連接類型 ")
            {
                p.Set( 1); // p.StorageType為Intger所以用此法修改
            }
             if (p.Definition.Name ==  " 接頭 ")
            {
                p.Set(fitting.Category.Id); // p.StorageType為ElementId
            }
        }

        ts.Commit();

         return Result.Succeeded;
    }
}
url:http://greatverve.cnblogs.com/archive/2012/02/29/revit-api-parameter.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM