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

iCAx开思网

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

用VC启动CATIA

[复制链接]
跳转到指定楼层
1
发表于 2006-8-24 10:27:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有两种方法来操纵CATIA,楼上的朋友介绍过的方法:1.CAA C++ ;2.COM技术,组件服务器程序。下面给出实例代码:

1.COM技术

::CoInitialize(NULL);

ApplicationPtr myCatiaApp;
HRESULT Result=NOERROR;  
CLSID AppClsid;
IUnknown *pAppUnk=NULL;
Result = ::CLSIDFromProgID (L"CATIA.Application", &AppClsid);
  
Result = ::GetActiveObject (AppClsid, NULL, &pAppUnk);
if (FAILED (Result))
{
  if ((CoCreateInstance(AppClsid,NULL,CLSCTX_SERVER ,IID_IUnknown,(void**)&pAppUnk)) != S_OK)
   return;
}

Result = pAppUnk->QueryInterface (__uuidof(Application), (void **) &myCatiaApp);
pAppUnk->Release();
pAppUnk = NULL;
   
myCatiaApp.GetInterfacePtr();
myCatiaApp->put_Visible(TRUE);
//Cleanup COM...
CoUninitialize();

2.CAA C++环境

// Opens a session
  CATSession * pSampleSession = NULL;
  Create_Session("SampleSession",pSampleSession);

  // Opens a CATPart document and initializes the data
  CATDocument * pDoc= NULL;
  CATDocumentServices::New("CATPart",pDoc);
  if(NULL == pDoc) return 2;

  CATInit_var spInitOnDoc(pDoc);
  if(NULL_var == spInitOnDoc) return 2;

...................

...................

// Closes the session   
:elete_Session("SampleSession");
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2008-8-7 16:50:11 | 只看该作者

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

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

x
3
发表于 2009-5-31 16:52:56 | 只看该作者

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

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

x
4
发表于 2009-6-2 12:56:43 | 只看该作者

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

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

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

本版积分规则

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

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

GMT+8, 2024-11-19 19:32 , Processed in 0.026098 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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