#region Namespaces
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using System;
using System.IO;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Windows.Controls;
using Autodesk.Revit.UI.Events;
using System.Windows.Forms;
using System.Windows.Media.Animation;
using IronPython.Compiler.Ast;
#endregion
 
namespace AutoPanel
{
    [Transaction(TransactionMode.Manual)]
    public class Place : IExternalCommand
    {
 
 
 
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            string path = @"C:\Users\EGrigoryan\Documents\CROC SKS\AutoPluginRevit\AutoPanel\list.txt";
            string[] CB_List = File.ReadAllLines(path);
 
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
            Document doc = uidoc.Document;
 
 
            //Retrieve elements from database
           FilteredElementCollector col = new FilteredElementCollector(doc);
            IList<Element> symbols = col.OfClass(typeof(FamilySymbol)).WhereElementIsElementType().ToElements();
            FamilySymbol symbol = null;
 
            string Content = "Фильтр 1";
            try
            {
                foreach (Element ele in symbols)
                {
                    for (int j = 0; j < 6; j++)
                    {
                        if (CB_List[j].Contains(Content))
                        {
                            symbol =  as FamilySymbol;
                            break;
                        }
                    }
                }
 
                using (Transaction tx = new Transaction(doc))
                {
                    tx.Start("Делаю");
                    FamilyInstance instance = doc.Create.NewFamilyInstance(new XYZ(0, 0, 0), symbol, doc.ActiveView);
                    MessageBox.Show("Сделано, босс");
                    tx.Commit();
                }
                return Result.Succeeded;
            }
 
            catch
            {
                var s = "ОшибОчка";
                MessageBox.Show(s);
            }
            return Result.Failed;
        }
    }
}