首页 > 其他分享 >Creo二次开发(一)

Creo二次开发(一)

时间:2024-08-08 23:05:11浏览次数:13  
标签:lib show PRO cmd Creo 二次开发 TRUE button

creo vs环境搭建

note:配置Debug,release会失败
1.安装creo要安装ptoolkit
2.vs配置
包含目录image

库目录image
预处理定义PRO_USE_VAR_ARGS
链接器
wsock32.lib
psapi.lib
netapi32.lib
mpr.lib
protk_dllmd_NU.lib
ucore.lib
udata.lib
note:忽略特定默认库库中添加“msvcrt.lib(结合自己的环境)
3.代码

开头代码
#include <ProToolkit.h>
#include "ProMenubar.h"
#include "ProMenu.h"
#include "ProUtil.h"


末尾代码
static uiCmdAccessState AccessDefault(uiCmdAccessMode access_mode)
{
	return(ACCESS_AVAILABLE);
}
void Test1()
{
	AfxMessageBox(_T("测试按钮 A"));
}
void Test2()
{
	AfxMessageBox(_T("测试按钮 B"));
}
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());
}

  1. protk.dat 文件,向文件添加如下内容:
    NAME TestForCreo
    EXEC_FILE E:/Creo/NewFile/TestForCreo.dll
    TEXT_DIR E:/Creo/NewFile/text
    STARTUP dll
    REVISION Creo4.0
    END
    5.text文件夹下文档
    IconMessage.txt
    Function
    UserFunction

FirstButton
A Button

secondbutton
B Button

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

show first button
show first button

参考(李世国 张继春 吴立军 王文波 王伟书籍)

标签:lib,show,PRO,cmd,Creo,二次开发,TRUE,button
From: https://www.cnblogs.com/timapi/p/18349925

相关文章

  • VisionPro二次开发笔记6-添加显示工具栏和状态栏
    通过CognexDisplay工具栏,您可以在CognexDisplay控件中操作图像,而CognexDisplay状态栏将显示有关该图像的信息。下图显示了CognexDisplay控件以及工具栏和状态栏:要将工具栏和状态栏添加到VisualStudio.NET应用程序,请执行以下步骤:选择“项目”->“添加引用”,然后添加......
  • Visionpro二次开发学习笔记7-使用CogToolDisplay控件
    CogToolDisplay控件可显示与视觉工具记录相关的图像,图形和其他状态信息。它使用CogRecord和ICogTool接口将图像和图形连接到CogDisplay。图片清单控件的CogComboBox列出当前记录及其子记录中的图像和图形。您可以单击列表并选择要显示的图像或图形。如果记录层次结构仅包......
  • golang sliver二次开发自定义命令(格式乱后面再调)
    准备工作sliver客户端和服务端之间命令的通信采用的grpc,服务端和和植入程序通信使用的protobuf,所以在开发之前需要了解grpc和protobuf,相关文档:https://jergoo.gitbooks.io/go-grpc-practice-guide/content/chapter2/hello-grpc.htmlhttps://jergoo.gitbooks.io/go-grpc-pra......
  • VisionPro二次开发学习笔记1-创建基于QuickBuild的C#应用程序
    创建基于QuickBuild的C#应用程序使用的QuickBuild应用程序位于%VPRO_ROOT%/Samples/Programming/QuickBuild/advancedAppOne.vpp中。在继续之前,可以在QuickBuild中运行该应用程序。QuickBuild应用程序使用PatMax查找支架的“耳朵”之一,使用CogFixture工具设置图像的......
  • Vue+cesium二次开发实例
    创建Vue3项目首先使用vue createvue-demo(自定义项目名)创建一个vue3项目接下来选择自定义配置,这里我们选择Router,其他几个按需选择选择vue3版本这里选择否(输入N),其他几项可以跳过,回车即可配置项目文件项目创建成功,接下来我们在VScode中打开这个文件夹,并新建一个终端......
  • NX二次开发(python)-创建管(一)
    用UF函数创建管,下图为NXOpenPython的参考指南:1.创建管可以用线也可以用边,以下是用线创建管的代码,先创建一个非关联线后再创建一个管importNXOpen.UFsign=NXOpen.UF.Modl.FeatureSigns.ValueOf(0)line_coords=NXOpen.UF.Curve.Line()line_coords.StartPoint=[0.0,0.0......
  • C# Solidworks二次开发------零件的打开与保存
    一、思路 针对于零件的打开与保存,我将使用API函数帮助手册,通过观看手册来进行编程。函数的名称很多都很英文相关,打开---Open,保存---Save,而且无论是零件、装配体还是工程图,都需要这两个操作,要么是他们的“领导”,都可以对三者进行操作,要么就是各自的操作方法,所以可以按照这两......
  • 若依ruoyi+AI项目二次开发
    //-------------------------//定义口味名称和口味列表静态数据constdishFlavorListSelect=ref([ {name:"辣度",value:["不辣","微辣","中辣","重辣"]}, {name:"忌口",value:["不要葱","不要蒜","不要香菜",&quo......
  • 关于珞石机器人二次开发SDK的posture函数的算法RX RY RZ纠正 C#
    在珞石SDK二次开发的函数钟,获取当前机器人位姿的函数posture函数在输出时会发现数据不正确,与示教器数据不一致。其中第一个数据正确第二三各数据为相反第四五六各数据为弧度制转换方法为(弧度/PI)*180度然后发现第四个数据还要加上180度第五六各数据要取反,,所以设计了以下......
  • 在线客服系统二次开发:访客聊天前端页面删减部分功能【唯一客服】
    前端部分想要修改前端界面,删除某些功能,或修改某些文字,可以查看下面介绍我们的前端是传统的开发模式,不是node编译后部署形式,前端没有独立的项目所有展示的页面地址,都是后端的地址,后端把前端html模板页渲染出来展示渲染前端页面的原理Gin框架引入并渲染前端页面后,前端页面就是......