Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions BCFExpress.sln
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "build\Build.csproj
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Installer|Any CPU = Installer|Any CPU
Debug R22|Any CPU = Debug R22|Any CPU
Release R22|Any CPU = Release R22|Any CPU
Debug R23|Any CPU = Debug R23|Any CPU
Release R23|Any CPU = Release R23|Any CPU
Debug R24|Any CPU = Debug R24|Any CPU
Debug R25|Any CPU = Debug R25|Any CPU
Installer|Any CPU = Installer|Any CPU
Release R22|Any CPU = Release R22|Any CPU
Release R23|Any CPU = Release R23|Any CPU
Release R24|Any CPU = Release R24|Any CPU
Release R25|Any CPU = Release R25|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Debug R22|Any CPU.ActiveCfg = Debug R22|Any CPU
Expand All @@ -25,6 +27,8 @@ Global
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Debug R23|Any CPU.Build.0 = Debug R23|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Debug R24|Any CPU.ActiveCfg = Debug R24|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Debug R24|Any CPU.Build.0 = Debug R24|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Debug R25|Any CPU.ActiveCfg = Debug R25|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Debug R25|Any CPU.Build.0 = Debug R25|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Installer|Any CPU.ActiveCfg = Release R24|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Installer|Any CPU.Build.0 = Release R24|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Release R22|Any CPU.ActiveCfg = Release R22|Any CPU
Expand All @@ -33,12 +37,16 @@ Global
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Release R23|Any CPU.Build.0 = Release R23|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Release R24|Any CPU.ActiveCfg = Release R24|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Release R24|Any CPU.Build.0 = Release R24|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Release R25|Any CPU.ActiveCfg = Release R25|Any CPU
{6E90E68F-336D-4EA9-8999-7076C3ACBD70}.Release R25|Any CPU.Build.0 = Release R25|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R22|Any CPU.ActiveCfg = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R22|Any CPU.Build.0 = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R23|Any CPU.ActiveCfg = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R23|Any CPU.Build.0 = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R24|Any CPU.ActiveCfg = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R24|Any CPU.Build.0 = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R25|Any CPU.ActiveCfg = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Debug R25|Any CPU.Build.0 = Debug|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Installer|Any CPU.ActiveCfg = Release|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Installer|Any CPU.Build.0 = Release|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Release R22|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -47,12 +55,16 @@ Global
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Release R23|Any CPU.Build.0 = Release|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Release R24|Any CPU.ActiveCfg = Release|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Release R24|Any CPU.Build.0 = Release|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Release R25|Any CPU.ActiveCfg = Release|Any CPU
{BEAB6AD1-084E-4AF0-B5BE-F95A468AE803}.Release R25|Any CPU.Build.0 = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R22|Any CPU.ActiveCfg = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R22|Any CPU.Build.0 = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R23|Any CPU.ActiveCfg = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R23|Any CPU.Build.0 = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R24|Any CPU.ActiveCfg = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R24|Any CPU.Build.0 = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R25|Any CPU.ActiveCfg = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Debug R25|Any CPU.Build.0 = Debug|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Installer|Any CPU.ActiveCfg = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Installer|Any CPU.Build.0 = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Release R22|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -61,6 +73,8 @@ Global
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Release R23|Any CPU.Build.0 = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Release R24|Any CPU.ActiveCfg = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Release R24|Any CPU.Build.0 = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Release R25|Any CPU.ActiveCfg = Release|Any CPU
{57877EDE-8358-4D99-A3BB-BE47BE1B5EDB}.Release R25|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
219 changes: 113 additions & 106 deletions BCFExpress/Application.cs
Original file line number Diff line number Diff line change
@@ -1,106 +1,113 @@
using Autodesk.Revit.UI;
using BCFExpress.Handlers;
using BCFExpress.Models;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace BCFExpress
{
internal class Application:IExternalApplication
{
static readonly string tabName = "BCF Express";


public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}

public Result OnStartup(UIControlledApplication app)
{
try
{
RevitModel.MdlExternalEventHandler = new MdlExternalEventHandler();
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(AssemblyResolve);
app.ViewActivated += App_ViewActivated;

app.CreateRibbonTab(tabName);

var panel = app.GetOrCreateRibbonPanel(tabName, "BCF Express");

var textbtndata = new PushButtonDataModel()
{
BtnName = "Open",
Panel = panel,
Tooltip = "This addin helps you to \n Export data to exel sheet",
IconImageName = "bcf.png",
// TooltipImageName = "5.PNG",
CommandNameSpacePath = Command.GetPath(),

};
var textbtndata2 = new PushButtonDataModel()
{
BtnName = "Setting",
Panel = panel,
Tooltip = "This addin helps you to \n Export data to exel sheet",
IconImageName = "setting.png",
// TooltipImageName = "5.PNG",

CommandNameSpacePath = CommandSetting.GetPath(),

};

_ = RevitPushButton.CreatePushButton(textbtndata);
_ = RevitPushButton.CreatePushButton(textbtndata2);

return Result.Succeeded;

}
catch (Exception m)
{

TaskDialog.Show("Error", m.Message);

return Result.Failed;
}


}

private void App_ViewActivated(object sender, Autodesk.Revit.UI.Events.ViewActivatedEventArgs e)
{

RevitModel.UIApplication = sender as UIApplication;
}

private Assembly AssemblyResolve(object sender, ResolveEventArgs args)
{
int position = args.Name.IndexOf(",");
if (position > -1)
{
try
{
string assemblyName = args.Name.Substring(0, position);
string assemblyFullPath = string.Empty;

//look in main folder
assemblyFullPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + assemblyName + ".dll";
if (File.Exists(assemblyFullPath))
return Assembly.LoadFrom(assemblyFullPath);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
return null;
}


}
}
using Autodesk.Revit.UI;
using BCFExpress.Handlers;
using BCFExpress.Models;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace BCFExpress
{
internal class Application:IExternalApplication
{
static readonly string tabName = "BCF Express";


public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}

public Result OnStartup(UIControlledApplication app)
{
try
{
RevitModel.MdlExternalEventHandler = new MdlExternalEventHandler();
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(AssemblyResolve);
app.ViewActivated += App_ViewActivated;

try
{
app.CreateRibbonTab(tabName);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}

var panel = app.GetOrCreateRibbonPanel(tabName, "BCF Express");

var textbtndata = new PushButtonDataModel()
{
BtnName = "Open",
Panel = panel,
Tooltip = "This addin helps you to \n Export data to exel sheet",
IconImageName = "bcf.png",
// TooltipImageName = "5.PNG",
CommandNameSpacePath = Command.GetPath(),

};
var textbtndata2 = new PushButtonDataModel()
{
BtnName = "Setting",
Panel = panel,
Tooltip = "This addin helps you to \n Export data to exel sheet",
IconImageName = "setting.png",
// TooltipImageName = "5.PNG",

CommandNameSpacePath = CommandSetting.GetPath(),

};

_ = RevitPushButton.CreatePushButton(textbtndata);
_ = RevitPushButton.CreatePushButton(textbtndata2);

return Result.Succeeded;

}
catch (Exception m)
{

TaskDialog.Show("Error", m.Message);

return Result.Failed;
}


}

private void App_ViewActivated(object sender, Autodesk.Revit.UI.Events.ViewActivatedEventArgs e)
{

RevitModel.UIApplication = sender as UIApplication;
}

private Assembly AssemblyResolve(object sender, ResolveEventArgs args)
{
int position = args.Name.IndexOf(",");
if (position > -1)
{
try
{
string assemblyName = args.Name.Substring(0, position);
string assemblyFullPath = string.Empty;

//look in main folder
assemblyFullPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + assemblyName + ".dll";
if (File.Exists(assemblyFullPath))
return Assembly.LoadFrom(assemblyFullPath);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
return null;
}


}
}
Loading
Loading