Files
SzmediTools/Szmedi.RvKits/FamilyTools/QueryExportCmd.cs

61 lines
2.0 KiB
C#
Raw Normal View History

2025-09-16 16:06:41 +08:00

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<QueryExportWin, QueryExportViewModel>(UiDocument);
//var win = WpfSingletonHelper<QueryExportWin>.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<FamilyInstance>()
// .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,
}
}