模式对象在Creo的定义
我们在使用Creo新建对象时,系统弹出如下对话框进行选择类型和子类型选择,默认为零件和实体,如我们建立装配体或钣金件时则就需要按需去选择, 不同的选择对象在Creo中采用不同的模式对象去表达。
Toolkit中的模式定义
在开发过程中使用ProMode对各种可以选择的对象进行表示,代码结构体定义为如下:
typedef enum
{
PRO_MODE_UNUSED = PRO_VALUE_UNUSED,
PRO_MODE_SKETCHER = 0,//草绘
PRO_MODE_PART, //零件
PRO_MODE_SHEET_METAL,
PRO_MODE_COMPOSITE,
PRO_MODE_SCAN_MODEL,
PRO_MODE_ASSEMBLY, //装配体
PRO_MODE_DRAWING, //画图
PRO_MODE_MANUFACTURE,//制造
PRO_MODE_MOLD,
PRO_MODE_CAST,
PRO_MODE_DIEFACE,
PRO_MODE_LAYOUT, //布局
PRO_MODE_FORMAT,//格式
PRO_MODE_REPORT,
PRO_MODE_MARKUP, //标注
PRO_MODE_DIAGRAM,
PRO_MODE_INTERCHANGE,
PRO_MODE_LEGACY,
PRO_MODE_USER_DEFINED, /*废弃*/
PRO_MODE_VERIFY,
PRO_MODE_PROCESS,
PRO_MODE_NC_MODEL
} ProMode;
TOOLKIT中的函数说明
在TOOLKIT中通过以下函数获取当前窗口对象的模式,函数定义格式如下:
#include <ProMode.h> //需要包含的头文件信息
ProError ProModeCurrentGet (
ProMode* p_mode //输出模型的模式,参数为指针。
)
示例代码
ProMode pm ; //定义一个模式,在函数返回当前窗口的零部件模式存放在此参数中。
ProModeCurrentGet(&pm); //获取模式存放于pm参数中
if (pm == PRO_MODE_PART)
{
AfxMessageBox(_T("零件"));
}else if (pm == PRO_MODE_ASSEMBLY)
{
AfxMessageBox(_T("组件"));
}
运行结果
当窗口为零件时的运行结果显示:
当窗口文件为组件时的运行结果为: