首页
塑胶模具 塑料原料 塑料助剂 塑料加工 ProE学习 solidworks教程 catia v5教程

首页->ProE学习->正文

Pro/E二次开发使用toolkit开发trigger的程序

作者:  来源:hot mold 

上篇: 利用Pro/MECHANICA提高ANSYS求解有限元问题的能力
下篇: PTC开发系统环境下的产品模块化与系列化设计研究

 


使用toolkit开发trigger的程序时,往往需要能够连续通过trigger来触发dll中的函数.
我碰到的问题:
1.配置trigger:
Name: CimDll
Event: Create PIV
Time: POST
RequireNO
DLL:Cim.dll
Function:PDMTPIVCreatePostOperation

2.源代码:
int PDMDLLInit()
{
PTCERROR pdm_status;
FILE *g_pfileLog;

g_pfileLog =fopen("test.dat","w");
setbuf(g_pfileLog,NULL);
fprintf(g_pfileLog,"begin test\n");
pdm_status = PDMTriggerRegister("PDMTPIVCreatePostOperation", PDMTPIVCreatePostOperation);
if (pdm_status != PDM_SUCCESS)
{
printf("Failed to Register Trigger PIV Create Post.\n");
}
return (pdm_status);
}

int PDMTPIVCreatePostOperation(int argc, void **argv)
{
fprintf(g_pfileLog,"test\n");
.....
fprintf(g_pfileLog,"end test\n");
fclose(g_pfileLog);

}

结果:以上代码存在的问题:如果我们在第一次checkin到C/S中后,删除test.dat文件,然后再进行checkin时,发现没有再生成test.dat,在函数PDMTPIVCreatePostOperation()中所进行的对文件的操作都无效.
原因:我们使用trigger触发时,真正起作用的是函数:PDMTPIVCreatePostOperation(),而PDMDLLInit()只是在第一次checkin时起作用,所以在第一次调用PDMTPIVCreatePostOperation()后,我就fclose(g_pfileLog),所以出现了上面的情况.所以注意的是:不要把一些重要的东西放在函数PDMDLLInit()中.


相关资料:
 Pro/E下螺旋扫描所生成弹簧的力学性能分析  使用Pro/ENGINEER进行注塑模具设计 
 用Pro/ENGINEER软件进行汽车平衡悬架机构分析  Catia,UG,Pro/e的比较与前景 
 Pro/E如何做两条c2(曲率相连)的曲线  Pro/E 2001下一个阵列的技巧 
 Pro/E 带有挠性零件的BOM  [原创教程]Pro/E简单的模拟装配动画 
 Pro/Engineer 方向盘教程(二)  Pro/Engineer 方向盘教程(一) 
 基于Pro/E平台上的固体火箭发动机装药CAD软件设计  Pro/E和ANSYS软件在天线结构设计分析中的应用 
 Pro/ENGINEER在成形车刀设计与制造中的应用  Pro/ENGINEER在数控编程中的应用技巧 
 Pro/E在印刷机械的应用实例分析  Pro/E二次开发使用toolkit开发trigger的程序 


网站地图 | 联系我们 | 免责声明 | 招聘信息 | 友情链接
Copyright © 2005 - 2006 cad制图教程网