为企业打造卓越的工具平台

creo二次开发入门之开发环境设置

发布日期:2025-08-13 16:22:50

Creo 二次开发(通常指使用 Creo Toolkit/ProToolkit)的环境配置需要系统化的步骤。以下是详细的配置指南,适用于 Windows 平台(以 Creo 7.0+ 和 Visual Studio 2019 为例):


一、核心准备工作

  1. 安装 Creo Parametric

    • 确保主程序正确安装并可用。

    • 记录安装路径(如 C:\PTC\Creo 7.0)。

  2. 安装 Visual Studio

    • 推荐 VS 2019(Creo 6.0+ 支持 VS2015~VS2022)。

    • 工作负载选择:C++ 桌面开发(必须包含 MFC 和 Windows SDK)。

  3. 获取 Creo Toolkit

    • 位置:<Creo_Install_Dir>\Common Files\<version>\toolkit
      (例如:C:\PTC\Creo 7.0\Common Files\M070\toolkit)。


二、环境配置步骤

1. 配置系统环境变量

  • PROTK_COMM_MSG_EXE → 指向 <toolkit_dir>\i486_nt\obj\protk_comm_msg.exe

  • PRO_DEVELOP → 设置为 <toolkit_dir>

  • PROTOOLKIT_DIR → 设置为 <toolkit_dir>

  • 将 Creo 的 bin 目录(如 C:\PTC\Creo 7.0\bin)添加到 PATH

2. 配置 Visual Studio 项目

  • 新建项目:选择 Windows 桌面应用程序(C++) → 动态链接库 (DLL)。

  • 设置包含目录

    plaintext
     
  • protk_dll.lib
    protkmd.lib
    wsock32.lib

3. 关键编译设置

  • 字符集:项目属性 → 高级 → 字符集 → 使用多字节字符集

  • 运行库MTMTd(静态链接运行时库)。

  • 目标平台x86(即使系统是 64 位,Creo Toolkit 仍为 32 位程序)。


三、配置文件 protk.dat

在 DLL 输出目录创建 protk.dat(示例):

ini
 
NAME YourPluginName
EXEC_FILE $PRO_DEVELOP\your_plugin.dll
TEXT_DIR $PRO_DEVELOP\text
STARTUP dll
REVISION 24.0  # 对应 Creo 版本(如 Creo 7.0=24.0)
ALLOW_STOP TRUE
END

路径说明

  • EXEC_FILE → 指向生成的 DLL 文件。

  • TEXT_DIR → 存放菜单/资源文件的目录(需手动创建)。


四、调试与加载插件

1. 调试配置

  • 将 Creo 主程序 xtop.exe 设为调试启动项:

    plaintext
     
  • 命令:C:\PTC\Creo 7.0\bin\xtop.exe
    参数:-g:no_graphics  # 可选(无图形模式加速调试)
    工作目录:$(OutDir)
  • 加载符号:在 VS 调试设置中加载 protk_dll.dll 的符号(位于 <toolkit_dir>\i486_nt\obj)。

2. 加载插件

  • protk.dat 和生成的 DLL 放在同一目录。

  • 启动 Creo → 自动加载插件(或通过 工具 > 辅助应用程序 手动注册)。


五、常见问题解决

  1. 插件未加载

    • 检查 protk.dat 路径和权限(管理员运行 Creo)。

    • 查看 proprotk.dat 日志(位于 Creo 启动目录)。

  2. DLL 初始化失败

    • 确认运行时库为 MT/MTd(避免 VS 运行时冲突)。

    • 检查 Creo 版本与 Toolkit 版本是否匹配。

  3. 函数调用崩溃

    • 确保所有 Toolkit API 调用在 UI 线程执行(用 ProUIMainActionRegister() 注册回调)。

  • $(PROTOOLKIT_DIR)\includes
    $(PROTOOLKIT_DIR)\protk_appls\includes
  • 设置库目录

    plaintext
     
  • $(PROTOOLKIT_DIR)\$(PRO_MACHINE_TYPE)\obj
  • 链接依赖项(在 附加依赖项 中添加):

    plaintext