LPSLDWORKS SwApp;
LPMODELDOC2 ModelDocPart;
HRESULT hRes;
VARIANT_BOOL retval;
//定义各类指针
SwApp = TheApplication->GetSWApp();
hRes = SwApp->get_IActiveDoc2 ( &ModelDocPart );
LPASSEMBLYDOC pAssmDoc;
hRes = ModelDocPart->QueryInterface(IID_IAssemblyDoc,(LPVOID*)&pAssmDoc);
LPMODELDOCEXTENSION modelDocExt;
hRes = ModelDocPart->get_Extension ( &modelDocExt );
//更改装配体的部件
LPCALLOUT Callout=NULL; hRes = modelDocExt->SelectByID2(_T("柄1-修正-3@hong1"), _T("COMPONENT"), 0, 0, 0,false,1, Callout,0,&retval);
hRes = pAssmDoc->ReplaceComponents(_T("C://Documents and Settings//Administrator//桌面//111//柄2.SLDPRT"), _T(""), false, 0, &retval);
hRes = ModelDocPart->ClearSelection2 ( true ); //更改装配体的配合
hRes = modelDocExt->SelectByID2(_T("右视基准面@直槽铰刀-1@hong1"), _T("PLANE"), 0, 0, 0, false,1, Callout,0,&retval);
hRes = modelDocExt->SelectByID2( _T("右视基准面@柄2-1@hong1"), _T("PLANE"), 0, 0, 0, true,1, Callout,0,&retval);
hRes = modelDocExt->SelectByID2(_T("距离1"), _T("MATE"), 0, 0, 0,true,1, Callout,0,&retval); long Error;
hRes = pAssmDoc->EditMate2(5, 0, true, 0.08, 0.08, 0.08, 1, 1, 0, 0.5235987755983, 0.5235987755983, &Error);
hRes = ModelDocPart->ClearSelection2 ( true ); //另存为
hRes = SwApp->get_IActiveDoc2 ( &ModelDocPart );
long Errors;
long Warnings;
VARIANT_BOOL retval4;
ModelDocPart->SaveAs4(_T("C://Documents and Settings//Administrator//桌面//111//另存为.SLDASM"),swSaveAsCurrentVersion,swSaveAsOptions_Silent,&Errors,&Warnings,&retval4); //释放各种指针
SwApp->Release();
ModelDocPart->Release();
pAssmDoc->Release();
modelDocExt->Release();