//由于arx本身沒有與使用者互動的函數,是以在arx中與使用者的互動工作都是用ads函數來實作的。
ads_name en;
ads_point pt;
//ads_entsel函數得到實體的名字
int rtn = ads_entsel("\n選擇實體: ", en, pt);
AcDbObjectId eId;
if(rtn==RTNORM){
acdbGetObjectId(eId, en); //擷取實體id
AcDbEntity * pEnt;
if(Acad::eOk!=acdbOpenObject(pEnt, eId, AcDb::kForRead)){
return ;//打開實體失敗,傳回
}
if(pEnt->isKindOf(AcDbLine::desc())){ // 判斷實體是否是AcDbLine
AcDbLine * pLine = (AcDbLine*&)pEnt;
ads_printf("\n你選擇了一條直線");
ads_printf("\n直線的起點是:%f,%f,%f",pLine->startPoint());
ads_printf("\n直線的終點是:%f,%f,%f",pLine->endPoint());
}// end if
else{
ads_printf("\n你選擇不是直線");
}
pEnt->close();
}
acedSSFree(en); //釋放選擇