38 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
} |