iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25000|回复: 0
打印 上一主题 下一主题

CAA: 和CATIA v5 R11 CATIA v5 R13中Draft的复制问题

[复制链接]
跳转到指定楼层
楼主
发表于 2005-11-11 15:45:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

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

x
本人做了一个程序,在CATIA v5 R11中可以进行复制视图,但到了CATIA v5 R13就不行了,总是提示我 command interruput,请高手指点!!!
主要代码如下:
CATListValCATISpecObject_var  spViewToPasteList=spSheet1->GetViewList();
        CATICutAndPastable_var        spSrcCCP(CATISpecObject_var(spSheet1)->GetFeatContainer());
        CATICutAndPastable_var        spTarCCP(CATISpecObject_var(spSheet2)->GetFeatContainer());

        IdFormat MyFmy ="CATDrwCont" ;
        const CATFormat* pFmt = CATFormat::GetRegisteredFormat(MyFmy);

                ListOfVarBaseUnknown newListToCopy;
                ListOfVarBaseUnknown listFromCopy;
for ( int j = 1; j<=spViewToPasteList.Size(); j++)
        {               
                  CATIView_var(spViewToPasteList[j])->SetViewType(Main_View);
                  listFromCopy.Append(spViewToPasteList[j]);
listPastedObjects= spTarCCP -> Paste (extractedListToCopy,&listTargetObjects ,pFmt);
CATISketch_var  spSkech =(CATIView_var(spViewToPasteList[j]))->GetSketch();
                          CATIDescendants_var  spDes(spSkech);
if (!spDes)
                         {
                                 cout << "No CATIDecendants Interface." << endl;
                         }
                         else
                         {
                                CATListValCATISpecObject_var  listChildren;
                                spDes->GetAllChildren("CATIDrwText", listChildren); //"CATISpecObject"
                                int c = listChildren.Size();
                                for (int i = 1; i<=c; i++)         ((CATIDrwText_var)listChildren[i])->SetOrientationReference(1);
                         }
HRESULT rc = spSrcCCP -> BoundaryExtract (newListToCopy, &listFromCopy,pFmt);
        ListOfVarBaseUnknown extractedListToCopy;
        CATICutAndPastable_var spSrcCCPExt = spSrcCCP -> Extract (newListToCopy, pFmt);
int    r = 0;
    if (!!spSrcCCPExt) r = spSrcCCPExt->BoundaryExtract(extractedListToCopy, NULL,pFmt);
for(  j=1;j<=extractedListToCopy.Size();j++)
        {
                double ox,oy;
                CATIDftViewMakeUp *ViewMU =NULL;
rc=extractedListToCopy[j]->QueryInterface(IID_CATIDftViewMakeUp, (void **)&ViewMU);
                if(SUCCEEDED(rc))
                       {                                                           ViewMU->GetPosition(&ox,&oy);
                                ViewMU->SetPosition(ox,oy);
}
ListOfVarBaseUnknown listPastedObjects ;
    ListOfVarBaseUnknown listTargetObjects ;

    listTargetObjects.Append(spSheet2);
    listPastedObjects= spTarCCP -> Paste (extractedListToCopy,&listTargetObjects ,pFmt);
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-16 08:51 , Processed in 0.016824 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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