Revit二次开发之“PromptForFamilyInstancePlacement()函数动态拖动/鼠标跟随”效果

布置设备的时候,希望有个拖动的效果,这个函数可以实现。
//跟随鼠标拖动效果
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class DragElement : IExternalCommand
{
    
public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
    {
        UIDocument uiDoc 
= cmdData.Application.ActiveUIDocument;

        FilteredElementCollector collector 
= new FilteredElementCollector(uiDoc.Document);
        IList
<Element> collection = collector.OfClass(typeof(FamilySymbol)).OfCategory(BuiltInCategory.OST_DuctFitting).ToElements();

        FamilySymbol familySymbol 
= collection[0as FamilySymbol;

        uiDoc.PromptForFamilyInstancePlacement(familySymbol);
//重点。进入布置管件状态

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