iCAx开思网

标题: CAA中怎么实现paste special >As result ? [打印本页]

作者: cupcake    时间: 2005-5-26 20:50
标题: CAA中怎么实现paste special >As result ?
各位高手:
      在.CATPart文件中的PartBody中有一个Pad,我想把这个Body中的实体拷贝到另外一个Body中(这个Body还不存在),用paste special >As result 来做,请问该怎么样做?
:)
作者: acoka    时间: 2005-5-26 23:58
C:\CATIAV5R14\MechanicalModeler\ProtectedInterfaces\CATMMCCPServices.h
  
// Does the whole Copy Paste transaction as in batch calls (using Clipboard)
// Parameters :
//  iContainer = Container of the copied objects
//  iFormat_name = string identifying the format :
//                  CATPrtCont = As Specified
//                  CATPrtResult = As Result With Link
//                  CATPrtResultWithOutLink = As Result With Link  
//               (see CATIASelection for a more exhaustive list)
//  iList_of_features_to_copy = the list of features to copy
//  iTargetContainer = the container of the selected destination for paste
//  iFeature_target = the feature that would be selected in interactive mode as a destination
//  oPastedFeatures = the list of pasted features returned by the copy paste transaction
ExportedByMF0CCP HRESULT CopyPaste(const CATIContainer_var& iContainer,  
                                   const char* iFormat_name,
                                   const CATListValCATISpecObject_var& iList_of_features_to_copy,
                                   const CATIContainer_var& iTargetContainer,  
                                   const CATISpecObject_var& iFeature_target,
                                   CATListValCATISpecObject_var[$ oPastedFeatures)]
作者: cupcake    时间: 2005-5-30 11:40
具体要用到那些接口阿,看了这个还是不知道怎么用。
:(
作者: bright1206    时间: 2005-5-30 13:22
我也想问这个问题呢,请高手指点,谢谢。
作者: cupcake    时间: 2005-6-1 14:01
求助,高手指点一下吧
作者: cms_nuaa    时间: 2005-6-9 17:25
实际上我使用CATICutAndPastable或者CopyPaste,这样拷贝-粘贴得到的结果和CATIA提供的SpecialPaste中的AsResultWithLink仍然有区别。我使用的format为“CATPrtResult”时候,copy得到的体尺寸与原body有关联,但是位置无法关联。(我的拷贝是从另一个零件拷贝到本零件中)。请问是否有format可以做到尺寸和位置均与原来的体存在关联?系统的这个命令是可以做到这一点的。或者,我的命令在哪里存在问题?
我的程序如下:
  
    CATISpecObject_var spIFather = _piSpecOnBody1;     
  CATIContainer_var    pcont = spIFather->GetFeatContainer();     
  CATIPrtContainer_var piPrtCont(pcont);
  
     CATISpecObject_var spIFather2 = _piSpecOnBody2;     
  CATIContainer_var    pcont2 = spIFather2->GetFeatContainer();     
  CATIPrtContainer_var piPrtCont2(pcont2);
  
  CATListValCATISpecObject_var listToCopy;
    listToCopy.Append(_piSpecOnBody2);
  CATListValCATISpecObject_var listPasted;
  
    CATISpecObject_var spTargetF = spIFather->GetFather();
  
   rc = CopyPaste(piPrtCont2,"CATPrtResult",listToCopy,piPrtCont,spTargetF, listPasted);
  
   if(listPasted.Size() == 0)
   {
     cout<<"Fail to Copy!"<<endl;
     return TRUE;
   }
   CATISpecObject_var spObjectForCut = listPasted[1];
   CATISpecObject_var spResultFather = spObjectForCut->GetRootFather();
   spResultFather ->Update();  




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3