找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?在线3D打印服务,一键上传,自动报价 
查看: 17489|回复: 4
打印 上一主题 下一主题

CAA: COM接口

[复制链接]
跳转到指定楼层
1
发表于 2007-3-16 22:35:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
我想用C++通过COM获得正在运行的CATIA:

       ::CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);

        HRESULT Result = NOERROR;  
        CLSID AppClsid;
        IUnknown *pAppUnk=NULL;
        Result = ::CLSIDFromProgID (L"CATIA.Application", &AppClsid);
          
        Result = ::GetActiveObject (AppClsid, NULL, &pAppUnk);
        if (FAILED (Result))
        {
                return ;
        }

        CATIAApplication* pAppl = NULL;
        pAppUnk->QueryInterface(IID_CATIAApplication, (void**)&pAppl);
        pAppUnk->Release(); pAppUnk = NULL;
        if(NULL == pAppl)
                return;

       CATIADocument* pDoc = NULL;
       pAppl->get_ActiveDocument(pDoc);

        CATIAPartDocument* pPartDoc = NULL;
        pDoc->QueryInterface(IID_CATIAPartDocument, (void**)&pPartDoc);
        if(NULL == pPartDoc)
        {
                return;
        }
       
        CATIAPart* pPart = NULL;
        pPartDoc->get_Part(pPart);

到这儿为止, 都没问题, 但是

        CATISpecObject* pSpecOnPart = NULL;
        pPart->QueryInterface(IID_CATISpecObject, (void**)&pSpecOnPart);

pSpecOnPart 是空指针. 我只能用Automation的API. 是不是程序错了?或漏了什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2007-3-17 18:05:45 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
3
发表于 2007-3-19 10:04:51 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
4
发表于 2008-8-7 16:53:08 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
5
发表于 2008-8-11 13:24:54 | 只看该作者

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-10-2 01:28 , Processed in 0.023433 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表