因爲應用開發需要移植到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);
}
}
}
}