Creo 4.0二次開發工具框架搭建


一、新建MFC DLL工程

 

 二、配置項目屬性

附加依賴項中輸入:netapi32.lib;psapi.lib;mpr.lib;wsock32.lib;protk_dll_NU.lib;protk_dllmd_NU.lib;protkmd_NU.lib;protoolkit_NU.lib;pt_asynchronous.lib;ptasyncmd.lib;ucore.lib;udata.lib;

 嘗試編譯工程,如果編譯失敗,檢查上面的配置項是否都正確,編譯成功,會生成對應dll,打開dll所在的路徑,進行下面的菜單創建。

三、添加菜單文件

工程路徑下新建CreoDLL.dat文件,其內容如下:

NAME CreoDLL
STARTUP dll
EXEC_FILE E:\Code\CreoDLL\x64\Release\CreoDLL.dll
TEXT_DIR E:\Code\CreoDLL\x64\Release\text
ALLOW_STOP TRUE
REVISION 1.0
END

在dll同級目錄,新建text文件夾,並在里面添加menu.txt(命名自定義),保存的格式為ANSI,否則顯示中文菜單為亂碼。如下圖

 

menu.txt的內容如下:

 四、添加代碼

在CreoDLL.cpp中添加頭文件

#include <ProMenuBar.h>
#include <ProUtil.h>

並添加下列代碼,編譯工程

//動作1函數
void btn1Action()
{
    return;
}

uiCmdAccessState access_func(uiCmdAccessMode access_mode)
{
    return ACCESS_AVAILABLE;
}

// 函數入口,Creo與Visual Studio的接口
extern "C" int user_initialize()
{
    ProError status;
    ProFileName MsgFile;
    ProStringToWstring(MsgFile, "menu.txt");
    //聲明按鈕
    uiCmdCmdId btn1;
    //添加菜單
    status = ProMenubarMenuAdd("Menu1", "Menu1_Label", NULL, PRO_B_TRUE, MsgFile);//菜單標簽名(第二個參數)與menu.txt的菜單標簽名對應
    //添加動作
    status = ProCmdActionAdd("rewrite_button_action", (uiCmdCmdActFn)btn1Action, uiProeImmediate, access_func, PRO_B_TRUE, PRO_B_TRUE, &btn1);
    //添加按鈕
    status = ProMenubarmenuPushbuttonAdd("Menu1", "btn1Name", "Button_Label", "Button_Label", NULL, PRO_B_TRUE, btn1, MsgFile);//按鈕標簽名(第三個參數)和幫助名(第四個參數)都要與menu.txt的按鈕標簽名一致

    return status;
}

extern "C" void user_terminate()
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
}

 

五、Creo中添加dat文件

 

 

六、效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM