Creo二开插件分享与代码分享

介绍

      本人从事CAD相关的效率工具开发10+年,从甲方到乙方,有丰富的Creo,中望3d,CATIA,UG/NX项目开发经验,今后会为大家分享各种CAD中的实用提质增效工具,也会从入门、熟练、精通,进阶分类梳理全方位的代码DMEO给广大二开爱好者共同学习,欢迎有共同爱好的同学们一起探讨,创新,响应国家提倡的鼓励新质生产力,数字化给企业赋能,同时也接受功能/项目定制开发,也可以有偿提问功能实现代码。

具体的分享插件目录和分享的功能demo拟定中,也欢迎大家给出宝贵的建议。

Creo二次开发

        插件功能分享

          1、基础库配置

                标准环境配置

                批量参数配置

                零件材料库

                零部件优选库CBB

                特征UDF库

        2、快速效率工具

                批量命名工具

                批量导出工具

                自动随机颜色

                零件参数化设计

                导航式模块化设计

                工程图快速标注

                模型质量检查(DFM)   

                模型干涉检查

                模型版本比较

                紧固件快速装配

                模型轻量化

                拼图工具

       3、行业工具

                钣金工程图自动标注

                三维管道快速设计

                三维线缆快速设计

                成本核算

        4、知识库

                结构化文档

        功能DEMO

        1、入门~hello

电脑win7  64位系统,安装VS2010,打了SP1补丁,使用开发VC++

配置过程如下:

一、新建MFC DLL

文件>新建>项目,选择MFC DLL,如图所示

DLL类型选择“使用共享 MFC DLL 的规则 DLL(D)”

二、开发环境配置

1、包含目录和库目录的设置(“D:\Creo 2.0”是本机Creo的安装目录)

1)包含目录的添加

操作:项目>属性>配置属性>VC++目录,选择包含目录,添加:

D:\Creo 2.0\Common Files\M010\prodevelop\includes

D:\Creo 2.0\Common Files\M010\protoolkit\protk_appls\includes

D:\Creo 2.0\Common Files\M010\protoolkit\includes

这三个目录都没有问题

2)库目录的添加,与包含目录的添加类似,添加:

D:\Creo 2.0\Common Files\M010\prodevelop\x86e_win64\obj
D:\Creo 2.0\Common Files\M010\protoolkit\x86e_win64\obj

3、进行工程属性配置

1)“项目”>属性>配置属性>常规,点击“配置管理器”,配置为Debug,平台为x64,如图

2) “预处理器”中对“预处理器定义”进行编辑,增加PRO_USE_VAR_ARGS如下图

3) “代码生成”的“运行库”选择“多线程调试DLL(/MDd),这个是默认的

4)语言,也是默认的

5)“连接器”>“输入”,编辑“附加依赖库”,添加

protk_dllmd.lib
netapi32.lib
wsock32.lib
psapi.lib
ws2_32.lib
mpr.lib

如下图

6)“忽略特定默认库”中添加“msvcrt.lib”。

三、添加实例程序

双击项目源文件中的“Hello.cpp”

1、添加头文件

#include "ProMenubar.h" 

#include "ProMenu.h"

#include "ProUtil.h" 

#include  <ProToolkit.h> 

#pragma comment(lib,"netapi32")

如图

2、尾部添加程序

static uiCmdAccessState AccessDefault(uiCmdAccessMode access_mode)
{  
return(ACCESS_AVAILABLE);


}
void Test1()
{  
AfxMessageBox(_T("轴"));
}  
void Test2()
{  
AfxMessageBox(_T("齿轮")); 
}  
extern "C" int user_initialize()
{  
ProError status;  
ProFileName  MsgFile;
ProStringToWstring(MsgFile,"IconMessage.txt");  //注意此处的IconMessage与后面的text文件夹下的IconMessage.txt文件名必须相同
uiCmdCmdId PushButton1_cmd_id,PushButton2_cmd_id; 
status=ProMenubarMenuAdd("MainMenu","Function","Help",PRO_B_TRUE,MsgFile);  
ProCmdActionAdd("PushButton1_Act",(uiCmdCmdActFn)Test1,12,AccessDefault,PRO_B_TRUE,PRO_B_TRUE,&PushButton1_cmd_id);
ProMenubarmenuPushbuttonAdd("MainMenu","PushButton","FirstButton","this button will show a message",NULL,PRO_B_TRUE,PushButton1_cmd_id,MsgFile);
ProCmdActionAdd("PushButton2_Act",(uiCmdCmdActFn)Test2,uiCmdPrioDefault,AccessDefault,PRO_B_TRUE,PRO_B_TRUE,&PushButton2_cmd_id);
ProMenubarmenuPushbuttonAdd("MainMenu","PushButton2","SecondButton","this button will show a message",NULL,PRO_B_TRUE,PushButton2_cmd_id,MsgFile);
return status; 

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

如图

3、生成Hello

“生成”>“生成Hello”

在项目Hello目录下会生成“Hello.dll”文件(E:\programming\projects\C\creoTest\Hello\x64\Debug)

4、创建protk.dat文件

在E:\programming\projects\C\creoTest\Hello目录下创建protk.dat文件,向文件添加如下内容:

NAME Hello
EXEC_FILE E:\programming\projects\C\creoTest\Hello\x64\Debug\Hello.dll
TEXT_DIR  E:\programming\projects\C\creoTest\Hello\text
STARTUP DLL
FAIL_TOL TRUE
DELAY_START FALSE
ALLOW_STOP TRUE
REVISION 2014
END

5、在E:\programming\projects\C\creoTest\Hello目录下创建“text文件夹”,在“text文件夹”下面添加“IconMessage.text”,向其中添加如下内容:

Function
UserFunction
#
#


FirstButton
Demo1
#
#


secondbutton
Demo2
#
#


this button will show a message
this button will show a message
#
#

show first button
show first button
#
#

四、测试

1、打开Creo2.o,“使用工具”>"辅助应用程序",点击“注册”,选择之前写好的“protk.dat”文件,选中“Hello”,点击“启动”,关闭“辅助应用程序”的小框,可以在工具栏的“工具”中看到实现了上述程序的功能。

2、调试

1、注册启动插件

实用工具》辅助应用程序》注册

1、附加到Creo的 xtop.exe 进程

调试》附加到进程

选择Creo的xtop.exe

打断点,执行插件功能,可以开始调试

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值