CREO9.0二次开发-ProMdlDataGet过时

最近由CREO8.0的代码升级到9.0,发现有些函数不能用了,其中就有ProMdlDataGet,用来获取图纸完整路径。原来是过时了,只能由其他函数来取代,在PTC官网社区看到的回复

要用这几个方法来取代。 

    ProPath ppath;
	ProMdlOriginGet(p_asm, ppath);
	char* fullname = wchar_tTOchar(ppath);
	ProPath r_path;//文件路径
	ProMdlName r_file_name;//不带扩展名的文件名
	ProMdlExtension r_extension;//扩展名,prt、asm
	int a = 0;
	int* r_version = &a;//小版本
	ProError perror = ProFileMdlnameParse(ppath, r_path, r_file_name, r_extension, r_version);
	char* name = wchar_tTOchar(r_file_name);
	char* type = wchar_tTOchar(r_extension);

我用了ProMdlOriginGet和ProFileMdlnameParse来实现之前的功能。

 wchar_tTOchar用来实现中文转码,一并奉上

char* wchar_tTOchar(const wchar_t* arg)
{
	int iSize = WideCharToMultiByte(CP_ACP, 0, arg, -1, NULL, 0, NULL, NULL);
	char* chdata = (char*)malloc(iSize * sizeof(char));
	WideCharToMultiByte(CP_ACP, 0, arg, -1, chdata, iSize, NULL, NULL);
	return chdata;
}

 

<think>好的,我需要回答用户关于如何在Creo 9.0中进行二次开发以及Visual Studio的配置方法的问题。首先,我得回顾用户提供的引用资料,看看有哪些相关信息可用。 根据引用[3],CREO5.0二次开发配置需要设置头文件,比如将代码复制到CREO1.CPP和pch.h中。这可能意味着在Creo 9.0中,头文件的配置步骤类似,但需要确认是否有变化。另外,引用[4]提到otk_cpp环境搭建,包括软件准备如Creo 3.0和VS12,但用户问的是Creo 9.0和较新的VS版本,可能需要调整步骤。 用户还提到引用[2]中ProMdlDataGetCreo 9.0过时,需要替代函数。这说明在代码迁移时需要注意API的变化,开发过程中可能需要查阅PTC的官方文档或社区回复来找到替代方法。 接下来,我需要整理配置步骤。首先,安装必要的软件,包括Creo 9.0Visual Studio。然后配置环境变量,如引用[1]提到的PRO_COMM_MSG_EXE,这在异步开发中很重要。此外,设置VS的项目属性,包含头文件和库文件路径,链接必要的库如protk_dll.lib和mpr.lib,如引用[3]和[4]所示。 可能还需要处理代码迁移的问题,比如替换过时的函数,确保代码兼容Creo 9.0。此外,编译和调试步骤需要正确配置生成规则,使用nmake工具,如引用[4]提到的。 最后,生成相关问题,帮助用户深入理解可能遇到的挑战,比如异步开发配置、函数过时处理、调试技巧等。</think>### Creo 9.0二次开发Visual Studio配置教程 #### 一、环境准备 1. **安装软件** - 安装Creo 9.0并确保Toolkit开发包已包含(通常位于`<Creo安装目录>\toolkit`)[^4] - 安装Visual Studio 2019或更高版本(推荐使用VS2019/VS2022)[^3] 2. **设置系统环境变量** - 添加`PRO_COMM_MSG_EXE`变量,值为`\Common Files\x86e_win64\obj\pro_comm_msg.exe`的绝对路径(用于异步开发调试)[^1] --- #### 二、Visual Studio项目配置 1. **创建新项目** - 选择**空项目**模板,配置为**动态链接库(DLL)**。 2. **头文件与库文件路径设置** - 包含Creo Toolkit头文件: ```text 项目属性 → C/C++ → 常规 → 附加包含目录 添加路径:<Creo安装目录>\toolkit\includes ``` - 链接库文件路径: ```text 项目属性 → 链接器 → 常规 → 附加库目录 添加路径:<Creo安装目录>\toolkit\x86e_win64\obj ``` 3. **库文件链接** - 在**链接器 → 输入 → 附加依赖项**中添加: ```text protk_dll.lib mpr.lib ``` --- #### 三、代码迁移与API适配 1. **替换过时函数** - 如`ProMdlDataGet`在Creo 9.0中已弃用,需替换为`ProMdlLocationGet`等新函数(参考PTC官方文档或社区回复)[^2]。 2. **示例代码结构** ```cpp #include "stdafx.h" #include <ProToolkit.h> extern "C" int user_initialize() { ProError status; status = ProMenubarMenuAdd("MyPlugin", "MyPlugin", "Utilities", PRO_B_TRUE, NULL); return status; } ``` --- #### 四、编译与调试 1. **生成规则配置** - 使用`nmake`工具(位于VS安装目录的`VC\bin`),需将其路径加入系统`PATH`。 - 创建`makefile`文件,确保路径与本地环境一致(参考引用[4]的目录配置)。 2. **调试技巧** - 通过`ProCommMsg`工具监控Creo与插件的通信。 - 输出日志文件定位错误(日志路径通常位于工作目录)。 --- #### 五、常见问题 1. **路径错误** - 检查环境变量和`makefile`中的短格式路径(例如`dir /x/s`获取短格式)。 2. **API兼容性** - 使用Creo 9.0的API文档替换旧版本函数(如`ProMdlDataGet`替代方案)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值