Creo二次开发中遍历封装技术详解
需积分: 47 133 浏览量
更新于2024-07-18
4
收藏 33KB DOCX 举报
"Creo二次开发中遍历封装详解"
在Creo二次开发中,遍历封装是非常重要的技术之一。它可以帮助开发者快速地访问和操作ProSolid下的面、点、轴等几何元素。今天,我们将详细介绍Creo二次开发中各种遍历封装的技术,包括ProSolid下的遍历访问封装代码、数组的封装(仿vector)和常用的封装有ProSolid、ProFeature、ProPoint、ProCsys、ProAxis等。
ProSolid下的遍历访问封装代码
在ProE二次开发中,时常需要遍历ProSolid下的面、点、轴等几何元素。我们知道,ProToolkit下的遍历函数还是有点小麻烦的,而ProWebLink中就简单很多。例如要遍历某ProSolid下的所有Group,代码如下:
```c
vargroupList = sld.ListGroups();
for (vari = 0; i < groupList.Count; ++i)
{
// 对每个Group执行操作
}
```
那么,ProToolkit下是否可以封装类似的代码呢?当然可以。下面是一个遍历访问ProSolid下所有DatumPoint的代码:
```c
ProError err;
ProMdl mdl_curr;
err = ProMdlCurrentGet(&mdl_curr);
try
{
// 利用当前Model构造CProSolid对象,并遍历访问其下的所有DatumPoint
CProSolid sld((ProSolid)mdl_curr);
CProList<ProPoint> pntList = sld.ListPoints();
CString cstr;
cstr.Format(TEXT("%d"), pntList.size());
AfxMessageBox(cstr);
// 对每个DatumPoint执行操作
for (int i = 0; i < pntList.size(); ++i)
{
ProPoint pnt = pntList[i];
int id;
err = ProPointIdGet(pnt, &id);
CString cstr;
cstr.Format(TEXT("PointId:%d."), id);
AfxMessageBox(cstr);
}
}
catch (exception& e)
{
AfxMessageBox(TEXT("exception."));
}
```
数组的封装(仿vector)
在Creo二次开发中,我们经常需要使用数组来存储大量的数据。为此,我们可以封装一个类似于vector的数组类CProArray。下面是一个CProArray的实现:
```c
#ifndef C_PRO_ARRAY_H_
#define C_PRO_ARRAY_H_
#include <ProToolkit.h>
template <typename T>
class CProArray
{
public:
CProArray();
~CProArray();
void push_back(T element);
T operator[](int index);
int size();
private:
T* data_;
int size_;
};
#endif // C_PRO_ARRAY_H_
```
常用的封装
在Creo二次开发中,我们经常需要使用一些常用的封装,例如ProSolid、ProFeature、ProPoint、ProCsys、ProAxis等。这些封装可以帮助我们快速地访问和操作ProSolid下的面、点、轴等几何元素。
例如,我们可以封装一个CProSolid类,用于遍历访问ProSolid下的所有DatumPoint:
```c
class CProSolid
{
public:
CProSolid(ProSolid solid);
~CProSolid();
CProList<ProPoint> ListPoints();
private:
ProSolid solid_;
};
CProSolid::CProSolid(ProSolid solid) : solid_(solid) {}
CProSolid::~CProSolid() {}
CProList<ProPoint> CProSolid::ListPoints()
{
CProList<ProPoint> pntList;
// 遍历访问ProSolid下的所有DatumPoint
return pntList;
}
```
Creo二次开发中遍历封装是非常重要的技术之一。它可以帮助开发者快速地访问和操作ProSolid下的面、点、轴等几何元素。通过封装数组和常用的封装,我们可以更方便地进行二次开发。
2018-12-09 上传
2023-06-19 上传
2023-08-09 上传
2023-06-25 上传
2023-11-19 上传
2023-05-11 上传
2023-12-30 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
金舵主
- 粉丝: 21
- 资源: 2
最新资源
- Lombok 快速入门与注解详解
- SpringSecurity实战:声明式安全控制框架解析
- XML基础教程:从数据传输到存储解析
- Matlab实现图像空间平移与镜像变换示例
- Python流程控制与运算符详解
- Python基础:类型转换与循环语句
- 辰科CD-6024-4控制器说明书:LED亮度调节与触发功能解析
- AE particular插件全面解析:英汉对照与关键参数
- Shell脚本实践:创建tar包、字符串累加与简易运算器
- TMS320F28335:浮点处理器与ADC详解
- 互联网基础与结构解析:从ARPANET到多层次ISP
- Redhat系统中构建与Windows共享的Samba服务器实战
- microPython编程指南:从入门到实践
- 数据结构实验:顺序构建并遍历链表
- NVIDIA TX2系统安装与恢复指南
- C语言实现贪吃蛇游戏基础代码