iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24444|回复: 5
打印 上一主题 下一主题

请教交互式工程图元的拷贝问题

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

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

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

x
想把工程图中一个SHEET的内容拷到另一个SHEET里,现通过spcurrenView=spcurrentSheet->GetCurrentView();
然后把spcurrentView拷贝到spNewSheet.实现过程如下.

此程序可实现自己画的工程图的拷贝及图框的拷贝。但对于由CATIA的3维图直接生成的2维工程图却不能拷贝,编译可通过,但运行出错“检测到空指针”,请教各位高手,如何入手解决呢?
问题可能是处在,交互产生的工程图,和PART文档之间的连接问题。对否?

请各位指点,多谢了!:)


   ListOfVarBaseUnknown newListToCopy;
    ListOfVarBaseUnknown listFromCopy;

    CATIView_var spView=spSheet1->GetCurrentView();
   CATISpecObject_var spViewToPaste(spView);   
  listFromCopy.Append(spViewToPaste);

   result = piCutAndPastableOnSourceCont -> BoundaryExtract (newListToCopy,      &listFromCopy,NULL);
         if (NULL != result)
           {
                    cout<<"........."<<endl;
            }
                       
    else
    {
        cout << "BoundaryExtract failed" << endl << flush;
        piCutAndPastableOnSourceCont -> Release();
                piCutAndPastableOnTargetCont -> Release();
        return 10;
    }

  VarBaseUnknown pExtractedList;
  pExtractedList = piCutAndPastableOnSourceCont -> Extract (newListToCopy, NULL);
  piCutAndPastableOnSourceCont -> Release();
  piCutAndPastableOnSourceCont = NULL;
  CATICutAndPastable *piCutAndPastableOnExtractedList = NULL;
    rc = pExtractedList -> QueryInterface(IID_CATICutAndPastable,
                                                  (void**) &piCutAndPastableOnExtractedList);
    if (FAILED(rc))
        {
        cout << "ERROR in QueryInterface on CATICutAndPastable on Target Container" << endl ;      
                       return 3;
        }
    if(piCutAndPastableOnExtractedList)cout<<"piCutAndPastableOnExtractedList!=0"<<endl;
    ListOfVarBaseUnknown extractedListToCopy;

    result = NULL;
    result = piCutAndPastableOnExtractedList -> BoundaryExtract (extractedListToCopy,
                                                                 NULL,
                                                                 NULL);
        if (NULL != result)
        {
                cout << "BoundaryExtract from Clipboard succeeded" << endl << flush;
                cout << "Number of objects extractedListToCopy= " << extractedListToCopy.Size() << endl;
        }
    else
    {
        cout << "BoundaryExtract failed" << endl << flush;
       piCutAndPastableOnTargetCont -> Release();
        return 10;
    }

        piCutAndPastableOnExtractedList -> Release();
        piCutAndPastableOnExtractedList = NULL;

        if(piCutAndPastableOnTargetCont!=NULL)cout<<"piCutAndPastableOnTargetCont!=0"<<endl;
        else cout<<"piCutAndPastableOnTargetCont==0"<<endl;

        cout << "Number of objects extractedListToCopy= " << extractedListToCopy.Size() << endl;
    ListOfVarBaseUnknown listPastedObjects ;
        listPastedObjects= piCutAndPastableOnTargetCont -> Paste (extractedListToCopy,NULL,NULL)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
 楼主| 发表于 2005-9-16 09:12:56 | 只看该作者

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

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

x
板凳
发表于 2005-9-16 09:26:30 | 只看该作者

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

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

x
地板
 楼主| 发表于 2005-9-16 14:10:47 | 只看该作者

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

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

x
5
发表于 2005-9-16 17:00:02 | 只看该作者

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

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

x
6
 楼主| 发表于 2005-9-17 09:22:08 | 只看该作者

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

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

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:58 , Processed in 0.023538 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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