BuildingCoder.CmdPlaceFamilyInstance.Execute C# (CSharp) Method

Execute() public method

public Execute ( ExternalCommandData commandData, string &message, ElementSet elements ) : System.Result
commandData ExternalCommandData
message string
elements ElementSet
return System.Result
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            _revit_window
            = new JtWindowHandle(
              ComponentManager.ApplicationWindow );

              UIApplication uiapp = commandData.Application;
              UIDocument uidoc = uiapp.ActiveUIDocument;
              Application app = uiapp.Application;
              Document doc = uidoc.Document;

              FilteredElementCollector collector
            = new FilteredElementCollector( doc );

              collector.OfCategory( BuiltInCategory.OST_Doors );
              collector.OfClass( typeof( FamilySymbol ) );

              FamilySymbol symbol = collector.FirstElement()
            as FamilySymbol;

              _added_element_ids.Clear();

              app.DocumentChanged
            += new EventHandler<DocumentChangedEventArgs>(
              OnDocumentChanged );

              //PromptForFamilyInstancePlacementOptions opt
              //  = new PromptForFamilyInstancePlacementOptions();

              uidoc.PromptForFamilyInstancePlacement( symbol );

              app.DocumentChanged
            -= new EventHandler<DocumentChangedEventArgs>(
              OnDocumentChanged );

              int n = _added_element_ids.Count;

              TaskDialog.Show(
            "Place Family Instance",
            string.Format(
              "{0} element{1} added.", n,
              ( ( 1 == n ) ? "" : "s" ) ) );

              return Result.Succeeded;
        }
CmdPlaceFamilyInstance