Revit二次开发之“取得内参BuiltIn名称的方法”

有时候你需要知识某个元素类别对应的内参名称是什么,是取得名称的方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using WinForm = System.Windows.Forms;

using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;

using Autodesk.Revit.DB.Mechanical;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;

using Autodesk.Revit.DB.Structure;

using System.Xml;

namespace RevitCodes
{
    [Transaction(TransactionMode.Manual)]
    [Regeneration(RegenerationOption.Manual)]
    
public class cmdBuiltIn : IExternalCommand
    {
        
public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
        {
            UIDocument uiDoc 
= cmdData.Application.ActiveUIDocument;

            Transaction ts 
= new Transaction(uiDoc.Document, "delete");
            ts.Start();

            Element selectedElement 
= null;
            
//需要首先选择一个元素
            foreach (Element e in uiDoc.Selection.Elements)
            {
                selectedElement 
= e;
                
break;//取得一个测试
            }
            Category category 
= selectedElement.Category;
            
//取得类别内参名的方法
            BuiltInCategory enumCategory = (BuiltInCategory)category.Id.IntegerValue;
            TaskDialog.Show(
"builtin", enumCategory.ToString());//风管对应OST_DuctCurves

            ts.Commit();

            
return Result.Succeeded;
        }
    }
}
from:http://revit.5d6d.com/thread-1261-1-1.html
posted @ 2011-09-21 08:11  大气象  阅读(1672)  评论(0编辑  收藏  举报
http://www.tianqiweiqi.com