Revit二次开发之“取得所选元素的族名称”

start
//根据族实例FamilyInstance找到Family的方法:FamilyInstance.Symbol.Family
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
//[Journaling(JournalingMode.NoCommandData)]
public class cmdFamily : IExternalCommand
{
    
public Result Execute(ExternalCommandData cmdData, ref string message, ElementSet elements)
    {
        UIDocument uiDoc 
= cmdData.Application.ActiveUIDocument;
        Selection selection 
= uiDoc.Selection;

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

        Reference refelem 
= selection.PickObject(ObjectType.Element, "选择");
        Element el 
= uiDoc.Document.get_Element(refelem.ElementId);
        FamilyInstance fi 
= el as FamilyInstance;
        TaskDialog.Show(
"title", fi.Symbol.Family.Name + "|" + fi.Name + "|" + fi.Category.Name);

        ts.Commit();

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