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);
     }
   }
  }
}

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章