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

iCAx开思网

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

如何实现CATIA中的拆解命令

[复制链接]
跳转到指定楼层
1
发表于 2012-12-4 14:11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接合.1是由不同的线段组合在一起的,如何实现创成式外形设计中的拆解命令,将其拆分为不同的线段。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2012-12-4 14:39:20 | 只看该作者
这个木有对应的接口,需要用拓扑分解,然后再将分解后的元素转化为特征挂到结构树上~~
3
发表于 2012-12-4 14:51:00 | 只看该作者
怎样实现拓扑分解呢,是用CATBody吗?
4
发表于 2012-12-4 15:23:45 | 只看该作者
lansehaiyu 发表于 2012-12-4 14:51
怎样实现拓扑分解呢,是用CATBody吗?

恩恩 是的  CATBody   CATCell~~~
5
发表于 2012-12-4 16:26:49 | 只看该作者
还想请问下,怎么在CAA中更改草图的支撑平面呢
6
发表于 2012-12-4 16:43:33 | 只看该作者
lansehaiyu 发表于 2012-12-4 16:26
还想请问下,怎么在CAA中更改草图的支撑平面呢

CATISketch->AttachToPlane ()或者CATISketch->SetAxisData()
7
发表于 2012-12-14 09:28:48 | 只看该作者
CATIGeometricalElement_var spGeoElem(CopySelectArrange);
        if(spGeoElem==NULL_var)
        {
                cout<<"得到GeometricalElement失败!"<<endl;
                return FALSE;
        }

        CATBody_var spBody = spGeoElem->GetBodyResult();

        CATLISTP(CATCell) LISTCell;
        int nCellType = 1; //取vertex是0, 取edge是1, 取face是2, 取volumn是3
        spBody->GetAllCells(LISTCell, nCellType);
        cout<<"列表LISTCell的几何体个数:"<<LISTCell.Size()<<endl;

        CATIFeaturize_var spIFEdgeElem = NULL_var;

        for( int index = 1; index <= LISTCell.Size(); index++ )
        {
                CATCell *pEdgeCell = LISTCell[index];
                if(!pEdgeCell)
                {
                        continue;
                }
                CATCell_var spEdgeCell = pEdgeCell;
                if(!spEdgeCell)
                {
                        continue;
                };
                CATIBRepAccess_var BRepEdge1 = CATBRepDecode(spEdgeCell,spGeoElem);
                spIFEdgeElem = BRepEdge1;
                cout<<index<<endl;
                if (NULL_var == spIFEdgeElem)
                {
                        cout<<"未识别出一条边!"<<endl;
                        return FALSE;
                }

                CATISpecObject_var spEdgeElem = NULL_var;
                spEdgeElem = spIFEdgeElem->FeaturizeF(MfDuplicateFeature | MfPermanentBody | MfSelectingFeatureSupport | MfFunctionalFeaturization);
                if (NULL_var == spEdgeElem)
                {
                        cout<<"特征化失败!"<<endl;
                        return FALSE;
                }
               CATISpecObject_var spSpecTmp = spEdgeElem;                        CATISpecObject_var ispInputParent = spGsmTool;
        InsertInProceduralView(spSpecTmp,ispInputParent);

        }
这样怎么添加不到结构树上
8
发表于 2012-12-14 11:16:25 | 只看该作者
你判断一下你的spSpecTmp 和ispInputParent 对象是否为空,如果不为空,应该会显示的~~~试试CATIDescendents->Append()方法~~~
9
发表于 2012-12-14 16:00:18 | 只看该作者
spSpecTmp 和ispInputParent 对象不为空,但是显示不出来,CATIDescendents->Append()方法也显示不出来
10
发表于 2012-12-24 09:02:21 | 只看该作者
在逆向里面有这个命令

本帖子中包含更多资源

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

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

本版积分规则

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

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

GMT+8, 2025-1-3 19:49 , Processed in 0.029365 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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