|
经典图书 先贴点代码,大家多讨论!
//connect solidworks
CoInitialize(NULL);
HRESULT hResult = m_swApp.CoCreateInstance(__uuidof(SldWorks), NULL, CLSCTX_LOCAL_SERVER);
if (hResult != S_OK)
{
AfxMessageBox("Cannot connect SolidWorks", MB_OK | MB_ICONSTOP);
m_swApp = NULL;
CoUninitialize();
return;
}
//open file
BSTR bstrTemplate = m_strTemplate.AllocSysString();
BSTR strOpt = CString("").AllocSysString();
long lErrors, lWarnings;
hResult = m_swApp->OpenDoc6(bstrTemplate, swDocPART, swOpenDocOptions_LoadModel,
strOpt, &lErrors, &lWarnings, &m_swModel);
if(hResult != S_OK)
{
AfxMessageBox("Cannot open files!");
}
//retrieve DesignTable
CComPtr<IDesignTable> swTable = NULL;
m_swModel->IGetDesignTable(&swTable);
VARIANT_BOOL retval;
swTable->Attach(&retval);
long lStart;
swTable->GetStartRowNumber(&lStart);
for(i = 1; i < m_nCount; i++)
{
swTable->SetEntryText(lStart, i, strRow<i>);
}
swTable->SetRowChanged(lStart);
swTable->Detach();
m_swModel->ShowConfiguration2(CString("Default").AllocSysString(), &retval);
BSTR str;
m_swModel->GetTitle(&str);
CString strNewPartName(str == NULL ? L"" : str);
BSTR strName = strNewPartName.AllocSysString();
m_swModel->SaveAs2(strName, 0, FALSE, FALSE, (long*)&retval);
m_swModel = NULL; //release COM references
m_swApp = NULL;
CoUninitialize(); |
|