#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;
}
}
}