Files
SzmediTools/Szmedi.RvKits/InfoManager/EAMTools/EAMFacilityCodeCmd.cs
2025-12-23 21:37:02 +08:00

38 lines
1.2 KiB
C#

using System.Reflection;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Nice3point.Revit.Toolkit.External;
namespace Szmedi.RvKits.InfoManager.EAMTools
{
/// <summary>
/// Revit执行命令
/// </summary>
[Transaction(TransactionMode.Manual)]
public class EAMFacilityCodeCmd : ExternalCommand
{
public override void Execute()
{
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
WinDialogAssists.ShowOrActivate<EAMFacilityCodeWin, EAMFacilityCodeViewModel>();
}
public static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
var dllName = args.Name.Split(',')[0];
var collection = Directory.GetFiles(GlobalVariables.DirAssembly, "*.dll", SearchOption.AllDirectories);
foreach (var f in collection)
{
if (Path.GetFileNameWithoutExtension(f) == dllName)
{
return Assembly.LoadFrom(f);
}
}
return null;
}
}
}