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

iCAx开思网

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

[求助] CATProcess中如何获得Product以及Resource的container?

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

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

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

x
在Process中可以通过GetRootContainer()获得process的container。
请问如何获得ProductList和ResourceList的container呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2008-6-11 12:34:59 | 只看该作者
CATISpecObject::GetFeatContainer()
3
发表于 2008-6-11 16:10:25 | 只看该作者
可是如何获得CATISpecObject的指针呢?
是需要在CATProcess中获取。
4
发表于 2008-6-12 07:56:14 | 只看该作者
请把问题详细说明,最好有参照代码
5
发表于 2008-6-12 09:50:05 | 只看该作者
问题就是:如何在CATProcess文件中,遍历ProductList和ResourceList?
我没有这方面的代码,因为没有找到接口函数。
在CATProcess文件中,可以遍历ProcessList,用函数CATInit::GetRootContainer()
6
发表于 2008-6-12 10:07:57 | 只看该作者
CATIDocRoots *piDocRootsOnDoc = NULL;
rc = pDoc->QueryInterface(IID_CATIDocRoots,
                          (void**) &piDocRootsOnDoc);
...
       
// the root product is the first element of root elements
CATListValCATBaseUnknown_var *pRootProducts = piDocRootsOnDoc->GiveDocRoots();
CATIProduct_var spRootProduct = NULL_var;
if (NULL != pRootProducts && pRootProducts->Size() > 0) {  
      spRootProduct = (*pRootProducts)[1];
...
// Get CATIProduct handle on the root product.
CATIProduct *piProductOnRoot = NULL;
rc = spRootProduct->QueryInterface(IID_CATIProduct,
                                   (void**) &piProductOnRoot);


spRootProduct  是Top Product
CATIProduct::GetAllChildren()
为子Product List
CATISpecObject_var = CATIProduct_var

pDoc 为CATProcess的CATDocument
7
发表于 2008-6-12 10:08:51 | 只看该作者
未测试!!!
8
发表于 2008-6-12 16:53:43 | 只看该作者
原帖由 wangnai1116 于 2008-6-12 10:07 发表
CATIDocRoots *piDocRootsOnDoc = NULL;
rc = pDoc->QueryInterface(IID_CATIDocRoots,
                          (void**) &piDocRootsOnDoc);
...
        
// the root product is the first element of root elem ...


我已经调试过了,语句spRootProduct = (*pRootProducts)[1];之后
指针spRootProduct 为空。
说明 (*pRootProducts)[1] 不是CATIProduct类型的,我想它是和Process相关的类型
9
发表于 2008-6-13 08:01:10 | 只看该作者
CATISpecObject_var = (*pRootProducts)[1];

CATISpecObject::GetType()
看看就知道了
CATBaseUnknown都得到了
CATISpecObject也可以query到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-24 13:45 , Processed in 0.031003 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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