Creo二次开发:模型项
模型项(Model Items)分类
模型项ProModelitem是数据句柄,包含类型type,一个整数标识id和父项句柄owner。
其中ProGeomitem是ProModeLitem的一种实例,用来表示几何的数据句柄DHandle。
其中ProModelitem数据结构如下
typedef struct pro_model_item
{
ProType type;
int id;
ProMdl owner;
} ProModelitem,ProGeomitem, ProExtobj, ProFeature, ProProcstep,
ProSimprep, ProExpldstate, ProLayer, ProDimension, ProDtlnote,
ProDtlsyminst, ProGtol, ProCompdisp, ProDwgtable, ProNote,
ProAnnotationElem, ProAnnotation, ProAnnotationPlane,
ProSymbol, ProSurfFinish, ProMechItem, ProMaterialItem, ProCombstate,
ProLayerstate
从以上定义可以看出,模型项可以是几何项,外部对象,特征,工艺步,简化表示,爆炸状态,层,几何,二维注释,符号实例,几何公差,模型显示,表格,模型注释,注释项,注释,注释平面,符号,表面粗糙度,机构项,材料,组合状态层状态等。
模型项的初始化
- 通过id初始化:ProModelitemInit()
- 通过名称初始化:ProModelitemByNameInit()
- 通过交互选择初始化:ProSelectionModelitemGet
- 通过具体实例转化: ProCsysToGeomitem();
ProPointToGeomitem();
ProSurfaceToGeomitem();
… - 通过模型项遍历获取:ProSolidSurfaceVisit();
ProSolidCsysVisit();
ProMdlLayerVisit();
ProMdlLayersCollect();
ProSolidFeatVisit();
ProFeatureGeomitemVisit();
…
模型项的创建
模型项的方式有多种
-
直接创建ProFeatureCreate()
通过构建ProElementTree特征元素树创建特征,通过这种方式创建的特征有很多,相应的头文件如下
ProAnalysis.h
ProAsmcomp.h
ProBeltFeat.h
ProChamfer.h
ProContact3dFeat.h
ProDamperFeat.h
ProDesignatedArea.h
ProDraft.h
ProDtmAxis.h
ProDtmCrv.h
ProDtmCsys.h
ProDtmPln.h
ProDtmPnt.h
ProElemId.h
ProExtrude.h
ProFeatIntr.h
ProFixture.h
ProFlatSrf.h
ProForeignCurve.h
ProHole.h
ProMfgoper.h
ProMerge.h
ProMirror.h
ProMove.h
ProNcseq.h
ProNcseqElem.h
ProPattern.h
ProProcstep.h
ProReplace.h
ProRevolve.h
ProRib.h
ProRound.h
ProShell.h
ProSmtFlangeWall.h
ProSmtFlatWall.h
ProSmtForm.h
ProSolidify.h
ProSmtPunchQuilt.h
ProStdSection.h
ProSurfReg.h
ProSweep.h
ProThicken.h
ProTrim.h
ProToolElem.h
ProValue.h
ProWcell.h
其中有些就是模型几何项,创建时要深刻理解要创建的特征元素树具体构成是什么,如果不知道要创建的