VC++2010下使用MFC+托管代码访问Revit

来源:互联网 发布:js打野出装 编辑:程序博客网 时间:2024/05/03 12:27

一、新建MFC DLL项目;

二、插入托管代码:

 

#using "System.dll"#using "System.Windows.Forms.dll" #using "D:\\Program Files\\Autodesk\\Revit 2013\\Program\\revitapi.dll"#using "D:\\Program Files\\Autodesk\\Revit 2013\\Program\\revitapiui.dll"using namespace System;//using namespace System::Windows::Forms;using namespace System::Collections::Generic;using namespace System::Linq;using namespace System::Text;using namespace Autodesk;using namespace Autodesk::Revit;using namespace Autodesk::Revit::DB;using namespace Autodesk::Revit::UI;using namespace Autodesk::Revit::ApplicationServices;using namespace Autodesk::Revit::Attributes;using namespace Autodesk::Revit::UI::Selection;using namespace Autodesk::Revit::DB::Mechanical;using namespace Autodesk::Revit::DB::Structure;using namespace Autodesk::Revit::DB::ExtensibleStorage;using namespace Autodesk::Revit::DB::Plumbing;namespace myvc {    [Transaction(TransactionMode::Automatic)]    [Regeneration(RegenerationOption::Manual)]public ref class Class1:IExternalCommand{public:virtual Autodesk::Revit::UI::Result Execute(ExternalCommandData ^commandData, String ^%messages, ElementSet ^elements)        {AFX_MANAGE_STATE(AfxGetStaticModuleState( ));AfxMessageBox("Hello World, created from DevTV");CMyDlg ld;ld.DoModal();            return Result::Succeeded;        }        };}

三、说明:AfxMessageBox即是标准的MFC对话框。

为了测试更多的功能是否能加进Revit,再新建一个对话框,生成类CMyDlg。

在Revit中运行的结果如下图:

 


原创粉丝点击