creo toolkit二开学习之模型对象(ProMdl ),模型项对象(`ProModelitem`),选择对象(`ProSelection`)、引用对象(`ProReference`)

模型对象(ProMdl )

在 Creo Parametric 模式中,模型是顶级对象。例如,在零件模式下,模型是一个零件;在装配模式下,模型是一个装配体。

因此,对象ProMdl用于所有那些其操作适用于任何类型模型的函数,例如文件管理操作和版本戳。

ProMdl的声明如下:

typedef void* ProMdl;

ProMdl对象的实例是针对更具体的 Creo Parametric 模式的对象。例如,ProSolidProMdl的一个实例,ProAssemblyProPartProSolid的实例。在 Creo Parametric TOOLKIT 中,所有这些对象类型都由不透明的句柄表示,并且你可以通过类型转换在这些类型之间进行转换。

模型项对象(ProModelitem

“模型项” 是一个通用对象,用于表示任何类型模型中包含的任何项,用于其操作适用于所有这些类型项的函数。(某些项,如 “版本戳”,保留其自己的对象类型。)

对象类型ProModelitem是一个DHandle(数据句柄),是一个结构,包含项类型、项的持久整数标识符以及对所属对象的句柄。

对象ProGeomitem,本指南后面将描述的通用几何对象,是ProModelitem的一个实例,并且是一个共享相同类型声明的DHandle,可以使用ProModelitemByNameInit进行获取模型对象的模型项对象,注意模型对象和模型项对象不是一个东西。

ProModelitem数据句柄的类型定义如下:

typedef struct pro_model_item
{
    ProType   type; //模型项对象类型
    int       id;  //模型项对象特征标识
    ProMdl    owner; //模型项所有者,对于零件或组件的所有者是它们自身,
} ProModelitem;

选择对象(ProSelection

一些 Creo Parametric TOOLKIT 函数需要 ProSelection 对象作为输入。在许多情况下,只需要程序集路径 ProAsmcomppath 和 modelitem,因此可以使用 ProSelectionAlloc() 或 ProSelectionSet()。在其他情况下,例如,当 ProSelection 需要标识特定绘图视图或几何图形项上的特定位置时,您可能还需要调用函数 ProSelectionViewSet()、ProSelectionUvParamSet() 和 ProSelectionPoint3dSet()。

ProModelitem模型项对象)类似,ProSelection对象(选择对象)在 Creo Parametric 数据库中标识一个模型项。然而,ProSelection包含比ProModelitem更多的信息,因此在需要额外信息的情况下,有时会用它来代替ProModelitemProSelection最重要的用途是作为交互式选择函数ProSelect()的输出(因此得名ProSelection)。

ProSelection被声明为一个不透明指针,严格来说,它是一个WHandle,因为尽管模型项是对 Creo Parametric 数据库项的引用,但其他信息不是。

对于 ProSelection 可以包含的每一项信息,都有一个 Creo Parametric TOOLKIT 函数来提取该信息。下表列出了这些项目。

Creo Parametric TOOLKIT 函数Creo Parametric TOOLKIT 对象意义
ProSelectionAsmcomp pathGet()ProAsmcomppath获取装配体组件路径
ProSelectionModelitem Get()ProModelitem从选择对象获取模型项
ProSelectionPoint3dGet()ProPoint3d在成员坐标系中检索所选点的坐标。
ProSelectionUvParamSet()ProUvParam将 UV 参数设置为选择对象。
ProSelectionDepthGet()double获取选择深度(以屏幕坐标为单位)
ProSelectionDistance Eval()double评估两个项目之间的距离。对象可以是曲面、实体、曲面曲线、曲面节点或点。对象上的选定点将用作初始猜测。如果出现错误,p_result 将设置为 -1.0,所有参数都将设置为 0.0。注意: 此功能不适用于基准平面和轴。
ProSelectionViewGet()ProView从选择对象获取视图的手柄。
ProSelectionWindow IdGet()int检索进行选择操作的窗口的标识符。
ProSelectionDrawingGet()ProDrawing对于表示在绘图中选择的实体的ProSelection,返回从中选择这些实体的绘图模型句柄。
ProSelectionDwgtblcell Get()several integers对于表示绘图表格单元格的 ProSelection,返回单元格的表格段、行和列。

引用对象(ProReference)

参考对象(引用对象)是在 Creo Parametric 中表示几何参考的一种替代方法。几何参考通常使用ProSelection结构来表示。由于ProSelection被设计为交互式选择项的结果,它在作为几何参考提供完整含义方面缺乏一些能力。

不透明的句柄ProReference为几何引用提供了完整的功能,包括访问多个或缺失参考的函数。

函数 ProReferenceAlloc() 分配一个引用句柄。

模型项对象,选择对象和引用对象的互相转换

模型对象转模型项:ProModelitemByNameInit、ProMdlToModelitem

模型项转模型对象:ProModelitemMdlGet

模型项转选择对象:ProSelectionAlloc

选择对象转模型项:ProSelectionModelitemGet

选择对象转引用对象:ProSelectionToReference

引用对象转选择对象:ProReferenceToSelection

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值