找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

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

如何用CAA查询Catia中已经打开的document?

[复制链接]
跳转到指定楼层
1
发表于 2005-10-26 11:31:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
只找到get_ActiveDocument.
以前用automation 可以获得,代码如下,但是不知道用c++ API如何获得?


INFITF:ocuments* m_oDocuments = NULL;

HR_CHECK( m_oApplication->get_Documents( &m_oDocuments ));
HR_CHECK( m_oDocuments->get_Count( &nCount ));
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2005-10-26 11:38:57 | 只看该作者
CATFrmEditor* pEditor = GetEditor();
...
                CATILinkableObject_var spILinkableOnActive = pEditor ;
...
                CATDocument* pDocument = spILinkableOnActive ->GetDocument();
3
发表于 2005-10-26 12:18:59 | 只看该作者
谢谢acoka

可是这样得到的是不是当前的document?

如果要得到所有打开的document,也就是在catia-〉windows中可以看到的所有打开的document,该如何获得?
4
发表于 2005-10-26 14:43:44 | 只看该作者
试试这个,应该得到是当前编辑的document

CATFrmEditor * pEditor =CATFrmEditor::GetCurrentEditor();
CATPathElement spPath = pEditor->GetUIActiveObject( );
CATBaseUnknown* pcurrbase = spPath.CurrentElement( );
CATILinkableObject *piLinkableObject = NULL;
HRESULT rc = pcurrbase->QueryInterface( IID_CATILinkableObject,
                               (void**)& piLinkableObject );
if ( SUCCEEDED(rc) )
{
CATDocument * pDocument = NULL ;
pDocument = piLinkableObject->GetDocument();
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-24 08:42 , Processed in 0.022246 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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