iCAx开思工具箱

标题: 复制partbody问题 [打印本页]

作者: Joyce_小希    时间: 2016-10-24 14:00
标题: 复制partbody问题
如何复制实例化过的part文件中的partbody,到同一个新的part中,位置也要正确。。。我用断链接复制,由于是同一个part文件,所以每次去获取part中的partbody的时候都是获取的同一个,导致我所有的实例part复制出来都在同一个位置
spPartOnProduct是每个实例化的product文件获得的part


                CATIPartRequest * pPartAsRequest = NULL;
                spPartOnProduct->QueryInterface(IID_CATIPartRequest,(void**)&pPartAsRequest);
                CATListValCATBaseUnknown_var ListSolidBodies;
                pPartAsRequest->GetSolidBodies("",ListSolidBodies);
                CATIABase *piCATIABaseTarget=NULL;
                rc = spPartOnIntersectDoc -> QueryInterface (IID_CATIABase, (void **)&piCATIABaseTarget);
                CATUnicodeString usResultWithOutLink="CATPrtResultWithOutLink";
                CATBSTR BSTRResultWithOutLink;
                usResultWithOutLink.ConvertToBSTR(&BSTRResultWithOutLink);
                for(int m=1;m<=ListSolidBodies.Size();m++)
                {
                        CATBaseUnknown_var spBody1 = (ListSolidBodies)[m];
                        CATIABase *piCATIABaseSource=NULL;
                        rc = spBody1 ->QueryInterface (IID_CATIABase, (void **)&piCATIABaseSource);
                        rc=piCATIASelection->Add(piCATIABaseSource);
                        rc=piCATIASelection->Copy();
                        piCATIASelection->Clear();
                        piCATIASelection->Add(piCATIABaseTarget);
                        rc=piCATIASelection->PasteSpecial(BSTRResultWithOutLink);
                        piCATIASelection->Clear();
                }







欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3