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

iCAx开思网

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

【讨论】Catia CAA(C++)难道真的不支持这样二次开发吗???

[复制链接]
跳转到指定楼层
1
发表于 2004-9-14 01:50:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
花了很长时间,还是没有搞定,快对CAA绝望了。
  
其实说起来似乎很简单:我用C++开发的能独立运行的应用程序,要求能够连接
CATIA(如果没有正在运行的Catia,就启动Catia),然后我的程序能通过CAA
API获得Catia的各种object,并且能让catia执行一些操作,比如打开零件图,
给零件图中的一些尺寸赋值,并读取另外一些尺寸值什么的。
  
对其他的CAD软件,包括SOLIDWORKS,UG,IDEAS,ADAMS等都用C++做过这样的
二次开发,按理说catia也应该提供了这样的做法,可到现在一点进展没有。
  
大家提点建议,或者来讨论讨论,看有没有可能用C++实现(我知道用automation是可以的)。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2004-9-14 11:54:28 | 只看该作者
你不需要图形界面?
那么直接开文件,改数据就好,不好用,但可以实现
只出cmd的文本屏幕
  
图形UI也要用你的想法了话,是舍近求远
3
发表于 2004-9-14 22:17:40 | 只看该作者
我说acoka,你能不能提点建设性的意见,要照你的说法,其他的CAD软件
提供这样的开发思路全都是舍近求远了。二次开发的思路和范畴远不止你
现在所作的。
4
发表于 2004-9-15 09:58:54 | 只看该作者
软件结构上不同的,开发的方法也不同,
不是说谁好谁坏,
  
如同用VC开发WINDOWS的程序,大家都会尽量利用mfc,轻松又方便
  
能用AUTOMATION做的东西,基本上用VC都可以
  
我是搞不清你的独立运行是什么意思
既然
要求能够连接
Catia(如果没有正在运行的Catia,就启动Catia)
那么就不是独立的
  
你或许要你的程序始终保持100%的前台优先,不让USER执行CATIA的原有命令,那你把CATIA的WORKBENCH都屏蔽掉,只出你的COMMAND不行?
5
发表于 2004-9-15 12:09:17 | 只看该作者
那你应该知道MFC也并不能满足所有的开发需要,有时我们也不得不跳过MFC去直接使用WINDOWS API.
  
我这里说的"独立运行"是指我的程序象其他WINDOWS应用程序一样,由操作系统启动运行,但是我需要在我的程序中设计一个接口,用来启动连接CATIA(我的程序还要完成其他功能,还要同其他CAD软件进行会话)
  
如果是用Automation,在VB中,只需要简单的:
Dim ObjCATIA As Object                                                      
Set ObjCATIA = CreateObject("CATIA.Application")                           
就可以启动CATIA,然后通过ObjCATIA就可以操纵CATIA实现一系列的操作.
实际上这就是我现在想用C++做的事.
6
发表于 2004-9-15 12:15:18 | 只看该作者
DragonSeraph wrote:
我说acoka,你能不能提点建设性的意见,要照你的说法,其他的CAD软件  
  提供这样的开发思路全都是舍近求远了。二次开发的思路和范畴远不止你  
  现在所作的。

  
说话要注意,不知道Acoka是CAA的老大吗?你还教育起人来了,不会就虚心点!
7
发表于 2004-9-15 14:18:31 | 只看该作者
CATIA_Boy wrote:
   
  
  说话要注意,不知道Acoka是CAA的老大吗?你还教育起人来了,不会就虚心点!

  
没有什么大不大的
caa内容很多,没有人能看全
我也不过知道些皮毛罢了
  
DragonSeraph有自己的实际情况,不过要和其它cadcam联动了话,的确很难
8
发表于 2004-9-15 19:52:22 | 只看该作者
既然你用script已经解决了
用c++的AutomationInterfaces::CATScriptUtilities来执行它们不行?
虽然启动速度会比较慢
  
ApplicationFrame里的interface也可以提供操作frame window的方法,你确认它们都不符合你的要求?
  
所有的catia命令都有ID,可以直接调用,但不一定都是带参数的
9
发表于 2004-9-15 22:24:53 | 只看该作者
CATIA_Boy wrote:
   
   
  说话要注意,不知道Acoka是CAA的老大吗?你还教育起人来了,不会就虚心点!

  
不好意思,不知道acoka是这里的老大,情急之下的话希望不要介意。
10
发表于 2004-9-15 22:39:20 | 只看该作者
acoka wrote:
既然你用script已经解决了  
  用c++的AutomationInterfaces::CATScriptUtilities来执行它们不行?  
  虽然启动速度会比较慢  
   
  ApplicationFrame里的interface也可以提供操作frame window的方法,你确认它们都不符合你的要求?  
   
  所有的catia命令都有ID,可以直接调用,但不一定都是带参数的

  
AutomationInterfaces::CATScriptUtilities可以启动CATIA,但它不能返回任何的CATIA OBJECT的句柄,所以我也没法操纵启动后的CATIA进行操作。
  
比如说同样一个语句:CATApplicationFrame * pFrame = CATApplicationFrame::GetFrame(); 如果是由CATIA来调用,就会返回CATIA的ApplicationFrame;但是如果在我的程序中调用,只会返回NULL,因为我的程序是在CATIA进程之外的另外一个独立的进程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-26 14:45 , Processed in 0.029357 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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