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

iCAx开思网

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

CAA中如何删除零件中的中的关系、表??

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

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

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

x
获取了零件的CATIParmPublisher指针,然后可以取得表pDeleteSheet ,已经能够对表pDeleteSheet读取数据,但是删除时 pIParmPublisher->RemoveChild(pDeleteSheet );出错!!删除关系也是出错。而在CATIA中交互操作时,这些表、关系是可以删除的。不知为什么?请高手指教!不胜感激!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 赞一下!赞一下!
16
发表于 2009-8-30 04:26:10 | 只看该作者
15
发表于 2009-6-25 09:01:04 | 只看该作者
好东西支持
14
发表于 2009-6-19 16:38:30 | 只看该作者
你好,怎么删除的呢?可以把这段代码放上来看看吗?谢谢
13
发表于 2005-9-19 14:44:25 | 只看该作者
用CCP方法确实把表删除了,非常感谢acoka兄!祝一切顺利!
12
发表于 2005-9-19 10:27:31 | 只看该作者
谢谢xyzhu :   pIParmPublisher->RemoveChild(DesignTableList[1]);我原来也试过的,行不通啊。
acoka 提供的思路我再试试!非常感谢!
11
发表于 2005-9-17 01:40:45 | 只看该作者
为什么用RemoveChild呢?把这个表和普通的feature一样用CCP或LifeCycle不能删除?

最近被借去做手机的数据库,估计下星期为止。那地方连网都上不了,干活都是unix和oracle,天天vi,

所有cad/cam的客户都很自我中心,客户的spec要求书是从使用者的角度出发的
什么都听客户的,最后自己会很被动。对不符合实际或系统逻辑的要求,必须说服客户,说请利弊,并且提出代替方案
双方都做出一定妥协后,估计工时,在开始写基础设计书,详细设计书和测试设计书
在我这里,比如一个 1个人做3个月的命令,基本上编程也就是2-3周,其他时间都是做调查,写设计书,做测试
10
发表于 2005-9-16 20:04:47 | 只看该作者
试试这样行不行:

if ( NbDesignTable >= 1 )
           pIParmPublisher->RemoveChild(DesignTableList[1]);

直接删DesignTable.

还有个小问题:
CATISpecObject_var specObj = DesignTableList[1] ;
CATIDesignTable_var  opDesignTable(NULL_var);
rc = specObj->QueryInterface(IID_CATIDesignTable,(void**)& opDesignTable);
可直接写成:
CATISpecObject_var specObj = DesignTableList[1] ;
CATIDesignTable_var  opDesignTable(specObj);

SmartPointer 就是用来省去QueryInterface的麻烦.
9
发表于 2005-9-16 18:11:55 | 只看该作者
相关代码如下:
CATISpecObject_var spSpecObjectPart = pSpecContainer1->GetPart();
    if ( NULL_var == spSpecObjectPart )
        {
                cout << "The MechanicalPart is NULL"<< endl;
                rc = E_FAIL ;
    }
        else              
        {
                CATIParmPublisher * pIParmPublisher = NULL ;                  
                rc = spSpecObjectPart->QueryInterface(IID_CATIParmPublisher,
                                                         (void **) &pIParmPublisher);                  
                if ( SUCCEEDED(rc) )                  
                {
                        CATLISTV (CATISpecObject_var) DesignTableList ;
                        pIParmPublisher->GetAllChildren("CATIDesignTable",DesignTableList);
                        NbDesignTable = DesignTableList.Size();
                        if ( NbDesignTable >= 1 )
                        {
                                CATISpecObject_var specObj = DesignTableList[1] ;
                                CATIDesignTable_var  opDesignTable(NULL_var);
                                rc = specObj->QueryInterface(IID_CATIDesignTable,(void**)& opDesignTable);
                                if(opDesignTable!=NULL_var)
                                {
                                        CATICkeSheet_var pDeleteSheet=opDesignTable->Sheet ();
                                                int ColumnNum =pDeleteSheet->Columns ();
                                                int i;
                                                for(i=1;i<=ColumnNum;i++)
                                                        opDesignTable->RemoveAssociation (pDeleteSheet->Cell(1,i));
                                                //pIParmPublisher->RemoveChild(pDeleteSheet );///删除表,有问题!!
                                }                               
                        }                       
                        pIParmPublisher->Release();                     
                        pIParmPublisher = NULL ;                  
                }              
        }


请各位高手指教!!谢谢!
8
发表于 2005-9-16 18:05:29 | 只看该作者
表是在CATIA中交互生成的,不是在CAA中用代码生成的。就是已有的包含参数表的模型(标准件),用CAA获得表,然后想在CAA中删除,主要是标准件实例化后不想在包含表了,就象CATIA的CATALOG实例化一样,实例化零件中包含了表会有一些问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-7-23 15:51 , Processed in 0.085779 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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