CATIA CAA二次開發專題(九)---3DE平臺的特徵樹遍歷
因為應用開發需要移植到3DE平臺,所以又開始了新的征程。
在3DE平臺上,因為使用中心資料庫儲存設計文件和安全原因,很多V5平臺的特徵及介面做了很大的
改變,給剛剛有點熟悉V5平臺的我,很大的困擾。只有又開始昏天黑地的啃文件,摸索著解決。
搜尋特徵樹是二次開發基礎的操作之一,之前的部落格已經寫過遍歷的方法,在3DE上,有些改變,這裡
我重寫了這個方法,希望對摸索中的朋友們有所幫助。
這個函式的輸入引數是一個特徵,可以是Part或Product的任意特徵節點,遍歷就從
這個特徵開始。
函式會輸出每個特徵的名稱,至於其它處理,可以根據需要新增。
void NavigateMechanicalPart(CATIMmiMechanicalFeature_var spObject) { CATIAlias_var as; CATBaseUnknown_var base; if (spObject!=NULL_var) { as=spObject; cout<<as->GetAlias().ConvertToChar()<<endl; CATINavigateObject_var piNavi=spObject->QueryInterface("CATINavigateObject"); if (piNavi!=NULL) { CATListValCATBaseUnknown_var *childList; childList=piNavi->GetChildren(); for (int i=1;i<=childList->Size();i++) { base=(*childList)[i]; NavigateMechanicalPart(base); } } } }