在利用object arx进行二次开发过程中,经常会涉及到类型判断及类型转换的操作,如在CAD中进行对象选择后,需要对选择的对象进行相应操作,就需要判断所选对象的类型,并进行相应类型转换,然后再进行后续操作。具体代码如下:
ads_name name; ads_point pt;
acedEntSel(_T("请选择多段线..."), name, pt; //在CAD选择对象
AcDbObjectId id;
acdbGetObjectId(id, name); //获取对象ID
AcDbEntity *pEn;
acdbOpenObject(pEn, id, AcDb::kForRead);// 利用对象ID,获取对象数据库实体
if(pEn->isKindOf(AcDbPolyline::desc())){
//判断对象实体类型
AcDbPolyline *polyline = AcDbPolyline::cast(pEn); //将对象实体转换为相应类型
.... //其余操作
}