iCAx开思网

标题: caa 求助: 怎樣用CAA來檢測product是否有clash [打印本页]

作者: catiaNew    时间: 2006-12-8 16:40
标题: caa 求助: 怎樣用CAA來檢測product是否有clash
如題..

我找過automation是有的 在SpaceAnalysisInterface->Clash, 但caa還是找不到.

請問caa中, 有什麼function是用來check clash呢?

謝謝
作者: acoka    时间: 2006-12-8 21:25
CATIAClash等
作者: hick    时间: 2006-12-9 13:08
原帖由 acoka 于 2006-12-8 21:25 发表
CATIAClash等



唉,原来有这个接口的, 哈哈
狂郁闷,几年前知道就好了

extern ExportedBySPAPubIDL IID IID_CATIAClash;

class ExportedBySPAPubIDL CATIAClash : public CATIABase
{
    CATDeclareInterface;

public:

    virtual HRESULT __stdcall get_ComputationType(CatClashComputationType & oType)=0;

    virtual HRESULT __stdcall put_ComputationType(CatClashComputationType iType)=0;

    virtual HRESULT __stdcall get_InterferenceType(CatClashInterferenceType & oType)=0;

    virtual HRESULT __stdcall put_InterferenceType(CatClashInterferenceType iType)=0;

    virtual HRESULT __stdcall get_Clearance(double & oClearance)=0;

    virtual HRESULT __stdcall put_Clearance(double iClearance)=0;

    virtual HRESULT __stdcall get_FirstGroup(CATIAGroup *& oGroup)=0;

    virtual HRESULT __stdcall put_FirstGroup(CATIAGroup * iGroup)=0;

    virtual HRESULT __stdcall get_SecondGroup(CATIAGroup *& oGroup)=0;

    virtual HRESULT __stdcall put_SecondGroup(CATIAGroup * iGroup)=0;

    virtual HRESULT __stdcall Compute()=0;

    virtual HRESULT __stdcall get_Conflicts(CATIAConflicts *& oConflicts)=0;

    virtual HRESULT __stdcall get_AnnotatedViews(CATIAAnnotatedViews *& oAnnotatedViews)=0;

    virtual HRESULT __stdcall get_Marker3Ds(CATIAMarker3Ds *& oMarker3Ds)=0;

    virtual HRESULT __stdcall Export(CatClashExportType iType, const CATBSTR & iPath)=0;


};
作者: catiaNew    时间: 2006-12-13 11:20
謝謝你的回覆

但是怎樣才可拿到CATIAClash 的object呢,
我試過用 下面的方法, 但是只有在catia中已有Interference object, 才可拿到,
CATIParmPublisher_var spParmPublisher = spRootProduct;
CATListValCATISpecObject_var listFound;
spParmPublisher->GetDirectChildren ("CATIClash", listFound);

請問有没有其他方法可以拿到catiaclash object呢?

謝謝
作者: acoka    时间: 2006-12-13 16:41
CATIAProduct* pCATIAPrd = NULL;
          spActiveProduct->QueryInterface( IID_CATIAProduct, (void **)&pCATIAPrd );
          if( !pCATIAPrd) {
                  break;
          }
          CATIAClashes* pCATIAClashes = NULL;
      CATUnicodeString        strname = "Clashes";
      CATBSTR  BSTR;
      strname.ConvertToBSTR( &BSTR );
          CATBaseDispatch* pBaseDis = NULL;
      pCATIAPrd->GetTechnologicalObject( BSTR, pBaseDis);
          if ( !pBaseDis) {
                  break;
          }
          pBaseDis->QueryInterface( IID_CATIAClashes, (void **)&pCATIAClashes );
          if ( !pCATIAClashes) {
                  break;
          }
          CATIAClash* pCATIAClash = NULL;
      pCATIAClashes->Add( pCATIAClash);
          if ( !pCATIAClash) {
                  break;
          }
作者: catiaNew    时间: 2006-12-13 19:06
謝謝
作者: wuruixi    时间: 2009-3-18 20:25
从哪里可以查寻到3楼所列举的类头文件呀?
在online里吗?没找着
作者: charly_721070    时间: 2011-5-20 21:16
小弟不才,按照三楼的代码格式建立了一个component,结果没有出现三楼大仙代码中的虚函数,为什么呢?能否详细说明一下接口位置以及创建步骤……谢谢了!各路高手如果能够指点一二,更是感激不尽!
作者: 依古比古    时间: 2011-12-6 15:33
我也没有找打CATIAClash这个接口,请问怎样才能找到啊?




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3