1 前言
Pro/TOOLKIT是Pro/ENGINEER的一個應用程序接口(API),其的編程語言是C 語言,它可以對Pro/ENGINEER進行功能擴展,滿足PTC客戶的特定需求。而且,Pro/TOOLKIT提供了定制標準Pro/ENGINEER用戶界面的能力,自動執(zhí)行重復性的程序,通過Pro/ENGINEER集成的內(nèi)部程序(Dll)或外部應用程序(Exe)可以為造型用戶提供自定義的應用程序、設計規(guī)劃和繪圖自動化。
2 Pro/TOOLKIT編程條件和工具
知道如何寫C程序,就已經(jīng)具備了使用Pro/TOOLKIT的條件,應該能夠理解指針,當把數(shù)據(jù)從一個函數(shù)傳到另一函數(shù)時,將經(jīng)常使用到它。Pro/TOOLKIT幫助,包含2000多個函數(shù),并且可以通過例子代碼學習如何使用。除此之外,如果想解決幾何學問題,還需要對失量理論有一定的了解。
3 Pro/TOOLKIT程序中的結構體
Pro/TOOLKIT都是用C語言編寫的,每個對象都用結構體來描述,因此需要了解對象是如何使用的。為了使用結構體,需要定義它,Pro/TOOLKIT提供許多“typedefs”,這些typedefs只不過是Pro/ENGINEER結構體的偽指令。例如:
typedef struct entity* ProPoint;
typedef struct sld_part* ProSolid;
這些也叫做OHandles (from Opaque handles),在Pro/ENGINEER中它們直接獲得對象的內(nèi)存地址。在某些情況下,這樣做可能是危險的,因此PTC提供了另外一種結構體類型,它只包含Pro/ENGINEER的內(nèi)部數(shù)據(jù)庫中項目的必要信息。這種結構體(labeled DHandle from data handle)是一種類的結構,它包括對象的類型、ID等。許多函數(shù)命令都和下面的結構體相聯(lián)系。
typedef struct pro_model_item
{
ProType type;
int id;
ProMdl owner;
}ProModelitem,ProGeomitem,ProExtobj, ProFeature,ProProcstep,ProSimprep,ProExpldstate,
ProLayer,ProDimension,ProDtlnote,ProDtlsyminst,ProGtol,ProCompdisp
如果處理幾何問題,要用到ProModelitem、ProGeomitem 和ProFeature這幾個結構體。
4 Pro/TOOLKIT中的常用函數(shù)及使用
需要了解的第一個函數(shù)是ProMdlCurrentGet()。在Pro/TOOLKIT幫助中其描述如下。
Description
Initializes the p_handle with the current Pro/ENGINEER object.