using System; using System.Linq; using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Nice3point.Revit.Toolkit.External; namespace Szmedi.RvKits.FamilyTools { [Transaction(TransactionMode.Manual)] internal class QueryExportCmd : ExternalCommand { public override void Execute() { WinDialogAssists.ShowOrActivate(UiDocument); //var win = WpfSingletonHelper.GetInstance(out var isNewCreate); //if (isNewCreate) //{ // win.DataContext = new QueryExportViewModel(doc); // win.ShowAhead(); //} //win.Activate(); //OpenFileDialog dialog = // new() { Title = "打开Revit项目文件", Filter = "Revit项目文件(*.rvt)|*.rvt", Multiselect = true }; //dialog.ShowDialog(); //foreach(var item in dialog.FileNames) //{ // var sb = new StringBuilder(); // sb.AppendLine($"元素ID,族名称,类型名称,标记,"); // var doc = Application.OpenDocumentFile(item); // var instances = doc.OfCollector() // .OfClass(typeof(FamilyInstance)) // .Cast() // .Where(e => e.Symbol.FamilyName.Contains("摄像头")); // foreach(var instance in instances) // { // var number = instance.get_Parameter(BuiltInParameter.DOOR_NUMBER); // sb.AppendLine($"{instance.Id},{instance.Symbol.FamilyName},{instance.Name},{number.AsString()},"); // } // var filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + $"\\{doc.Title}.csv"; // File.WriteAllText(filePath, sb.ToString(), Encoding.UTF8); // doc.Close(false); //} } } public enum Comparison { Equals, Contains, NoContains, StartWith, EndWith, } }