Pro Engineer 二次开发工程图表格绘制
2011-04-17 20:43
726 查看
int AppendParameterTable(CString *Cparameter_name,CString *Cparameter_value,int ParamNum)
{
//*===================================绘制表格===================*////
double width[PRO_TABLE_MAX_COLS], height[PRO_TABLE_MAX_ROWS];
ProHorzJust justifications[PRO_TABLE_MAX_COLS];
ProDwgtabledata table_data;
ProDrawing drawing;
ProPoint3d origin;
ProDwgtable table;
ProMouseButton btn;
ProFileName InfoFile;
int i;
//指定输入和显示的信息文件名
ProStringToWstring (InfoFile,"Info.txt");
//表格的位置设置
origin[0]=300;
origin[1]=700;
origin[2]=0;
//获得当前工程图的句柄
ProMdlCurrentGet((ProMdl*)&drawing);
ProDwgtabledataAlloc(&table_data);
ProDwgtabledataOriginSet(table_data, origin);
for (i=0; i<3; i++) justifications[i] = PROHORZJUST_LEFT;
for (i=0; i<3; i++) width[i]=20;
ProDwgtabledataColumnsSet(table_data, 3, width, justifications);
for (i=0; i<ParamNum+5; i++) height[i]=2;
ProDwgtabledataRowsSet(table_data, ParamNum+5, height);
ProDwgtabledataSizetypeSet(table_data, PRODWGTABLESIZE_CHARACTERS);
//ProDwgtabledataSizetypeSet(table_data,PRODWGTABLESIZE_SCREEN);
ProDrawingTableCreate(drawing, table_data, 0, &table);
ProDwgtableDisplay(&table);
//==========填充表格===========//
ProWstring *lines;
ProCharLine strtmp;
//分配内存
ProArrayAlloc (1, sizeof(wchar_t *),1,(ProArray*)&lines);
lines[0] = (wchar_t *)calloc(PRO_COMMENT_SIZE, sizeof(wchar_t));
strcpy(strtmp,"参数名");
ProStringToWstring(lines[0],strtmp);
ProDwgtableTextEnter(&table,1,1,lines);
strcpy(strtmp,"参数值");
ProStringToWstring(lines[0],strtmp);
ProDwgtableTextEnter(&table,2,1,lines);
strcpy(strtmp,"参数说明");
ProStringToWstring(lines[0],strtmp);
ProDwgtableTextEnter(&table,3,1,lines);
for(int m=0;m<ParamNum;m++)//将参数信息添入表格
{
lstrcpy(lines[0],Cparameter_name[m]);
ProDwgtableTextEnter(&table,1,m+2,lines);//参数名
lstrcpy(lines[0],(LPWSTR)"&");
lstrcat(lines[0],Cparameter_name[m]);
ProDwgtableTextEnter(&table,2,m+2,lines);//参数值
lstrcpy(lines[0],Cparameter_meaning[m]);
ProDwgtableTextEnter(&table,3,m+2,lines);//参数含义
}
ProArrayFree( (ProArray*)&lines);
ProMessageDisplay(InfoFile, "table creation complete.");
return TRUE;
}
{
//*===================================绘制表格===================*////
double width[PRO_TABLE_MAX_COLS], height[PRO_TABLE_MAX_ROWS];
ProHorzJust justifications[PRO_TABLE_MAX_COLS];
ProDwgtabledata table_data;
ProDrawing drawing;
ProPoint3d origin;
ProDwgtable table;
ProMouseButton btn;
ProFileName InfoFile;
int i;
//指定输入和显示的信息文件名
ProStringToWstring (InfoFile,"Info.txt");
//表格的位置设置
origin[0]=300;
origin[1]=700;
origin[2]=0;
//获得当前工程图的句柄
ProMdlCurrentGet((ProMdl*)&drawing);
ProDwgtabledataAlloc(&table_data);
ProDwgtabledataOriginSet(table_data, origin);
for (i=0; i<3; i++) justifications[i] = PROHORZJUST_LEFT;
for (i=0; i<3; i++) width[i]=20;
ProDwgtabledataColumnsSet(table_data, 3, width, justifications);
for (i=0; i<ParamNum+5; i++) height[i]=2;
ProDwgtabledataRowsSet(table_data, ParamNum+5, height);
ProDwgtabledataSizetypeSet(table_data, PRODWGTABLESIZE_CHARACTERS);
//ProDwgtabledataSizetypeSet(table_data,PRODWGTABLESIZE_SCREEN);
ProDrawingTableCreate(drawing, table_data, 0, &table);
ProDwgtableDisplay(&table);
//==========填充表格===========//
ProWstring *lines;
ProCharLine strtmp;
//分配内存
ProArrayAlloc (1, sizeof(wchar_t *),1,(ProArray*)&lines);
lines[0] = (wchar_t *)calloc(PRO_COMMENT_SIZE, sizeof(wchar_t));
strcpy(strtmp,"参数名");
ProStringToWstring(lines[0],strtmp);
ProDwgtableTextEnter(&table,1,1,lines);
strcpy(strtmp,"参数值");
ProStringToWstring(lines[0],strtmp);
ProDwgtableTextEnter(&table,2,1,lines);
strcpy(strtmp,"参数说明");
ProStringToWstring(lines[0],strtmp);
ProDwgtableTextEnter(&table,3,1,lines);
for(int m=0;m<ParamNum;m++)//将参数信息添入表格
{
lstrcpy(lines[0],Cparameter_name[m]);
ProDwgtableTextEnter(&table,1,m+2,lines);//参数名
lstrcpy(lines[0],(LPWSTR)"&");
lstrcat(lines[0],Cparameter_name[m]);
ProDwgtableTextEnter(&table,2,m+2,lines);//参数值
lstrcpy(lines[0],Cparameter_meaning[m]);
ProDwgtableTextEnter(&table,3,m+2,lines);//参数含义
}
ProArrayFree( (ProArray*)&lines);
ProMessageDisplay(InfoFile, "table creation complete.");
return TRUE;
}
相关文章推荐
- Pro Engineer Pro/Toolkit dll工程二次开发设置(Pro Engineer 3.0+Visual Studio 2005(C++))
- C# 做 Pro/ENGINEER二次开发
- AutoCAD二次开发技术在工程图纸绘制中的应用
- C# 做 Pro/ENGINEER二次开发
- Creo二次开发:查找和替换指定文件夹下的所有工程图中的注释文本
- unity3D中的工程导入eclipse做二次开发
- ProE二次开发 Creo二次开发 MCADEx Tools 工程图管理工具
- AutoCAD 二次开发学习系列【2】 - 开始第一个工程
- unity3D中的工程导入eclipse做二次开发
- CAD实例(Pro/Engineer)之CREO工程图设计(下)
- Creo二次开发:查找和替换指定文件夹下所有工程图中的符号
- PROE二次开发(protoolkit):Relations 关系式
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- Skyline软件二次开发初级——11如何在WEB页面中的三维地图上加载和保存工程文件
- nagios二次开发之“依据分组绘制服务图”
- ProE野火4.0+vs2005 Pro/Toolkit 二次开发测试详细教程
- [github项目]基于百度地图二次开发实现的车辆监管(包含车辆定位、车辆图片和方向控制,电子围栏,图形绘制等功能)前端实现(不包含后端实现)
- ProE野火4.0+vs2005 Pro/Toolkit 二次开发测试详细教程
- QGis二次开发基础 -- 属性表格
- Creo二次开发:创建工程图,生成球标和明细表