|
#include "stdafx.h"
#include "Namespaces.h"
namespace RevitAddinVCTest
{
[Transaction(TransactionMode::Manual)]
[Regeneration(RegenerationOption::Manual)]
public ref class ExtCmd : IExternalCommand
{
#pragma region Cached Variables
private:
static ExternalCommandData^ _cachedCmdData;
public:
static property UIApplication^ CachedUiApp
{
UIApplication^ get()
{
return _cachedCmdData->Application;
}
}
static property RvtAppSrv::Application^ CachedApp
{
RvtAppSrv::Application^ get()
{
return CachedUiApp->Application;
}
}
static property RvtDB::Document^ CachedDoc
{
RvtDB::Document^ get()
{
return CachedUiApp->ActiveUIDocument->Document;
}
}
#pragma endregion
#pragma region IExternalCommand Members
public:
virtual Result Execute(ExternalCommandData^ cmdData, String^% msg, ElementSet^ elemSet)
{
_cachedCmdData = cmdData;
try
{
//TODO: add your code below.
return Result::Succeeded;
}
catch(System::Exception^ ex)
{
ex->ToString()->Copy(msg);
return Result::Failed;
}
return Result::Succeeded;
}
#pragma endregion
};
} |
|