61 lines
2.0 KiB
C#
61 lines
2.0 KiB
C#
|
|
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,
|
|
}
|
|
}
|