iCAx开思工具箱

标题: 获取当前打开的Part [打印本页]

作者: 圈圈眉    时间: 2013-5-21 15:40
标题: 获取当前打开的Part
在CATIA中打开.CATPart文件以后,如何获取到该part?

  CATFrmEditor* pEditor = CATFrmEditor::GetCurrentEditor();
if(pEditor==NULL)
  cout<<"Don't obtain the currentEditor!"<<endl;

CATDocument *pDoc = pEditor->GetDocument();
if(pDoc==NULL)
   cout<<"Don't obtain the Document!"<<endl;

CATISpaEnvironment * piSpaEnvironment = NULL;
rc = pDoc->QueryInterface(IID_CATISpaEnvironment,(void**)&piSpaEnvironment);
piSpaEnvironment->Init();

CATInit* pDocInit = NULL;
rc = pDoc->QueryInterface(IID_CATInit, (void**)&pDocInit);

CATIPrtContainer *pSpecContainer = NULL ;
pSpecContainer = (CATIPrtContainer*)pDocInit->GetRootContainer("CATIPrtContainer");
CATIPrtPart_var spPart = pSpecContainer ->GetPart();
我是打开part后运行批处理,直接pEditor返回的就是NULL了,请教一下各位!!

作者: linlily0925    时间: 2013-5-22 09:47
如果是这样的话,你可以尝试在后台打开catia,然后再打开相应的文件
作者: 圈圈眉    时间: 2013-5-23 15:19
linlily0925 发表于 2013-5-22 09:47
如果是这样的话,你可以尝试在后台打开catia,然后再打开相应的文件

能加你好友吗?我QQ是282515437
作者: slgeer    时间: 2013-5-23 20:14
很牛,不错
作者: murongjun    时间: 2015-8-11 10:52
你上面这种方式是交互式里面用的,批处理要用OPEN打开




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3