- UID
- 71826
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-8-12
- 最后登录
- 1970-1-1
|
发表于 2004-9-17 17:25:12
|
显示全部楼层
可以使用ActiveX plot API将dwg文件转换成dwf文件,我就不太清楚dwf怎么转换成dwg了,下面的一段代码是将dwg存为dwf的样例,我没有测试过,希望对你有用。
TRY
{
//global autocad com objects
IAcadApplication IApp;
IAcadDocument IDoc;
IAcadPlot IPlot;
IAcadLayout ILayout;
IDispatch *pDisp = acedGetAcadWinApp()->GetIDispatch(TRUE);
IApp.AttachDispatch(pDisp);
pDisp=IApp.GetActiveDocument();
IDoc.AttachDispatch(pDisp);
IDoc.Regen(0);
pDisp = IDoc.GetPlot();
IPlot.AttachDispatch(pDisp);
pDisp = IDoc.GetActiveLayout();
ILayout.AttachDispatch(pDisp);
CString mcstrConfigName=ILayout.GetConfigName();
CString mcstrStyleSheet=ILayout.GetStyleSheet();
ads_printf("About To set stylesheet dwf.ctb
current=%s\n",mcstrStyleSheet);
mcstrStyleSheet.MakeUpper();
if(mcstrStyleSheet!="DWF.CTB"){
ILayout.SetStyleSheet("dwf.ctb");
}
ads_printf("About To set stylesheet dwf Classic.pc3
current=%s\n",mcstrConfigName);
mcstrConfigName.MakeUpper();
if(mcstrConfigName!="DWF CLASSIC.PC3"){
ILayout.SetConfigName("DWF Classic.pc3");
}
ads_printf("About To set Plot Type\n");
if(ILayout.GetPlotType()!=1){
ILayout.SetPlotType(1);
}
if(ILayout.GetCenterPlot()==FALSE){
ILayout.SetCenterPlot(TRUE);
}
ILayout.SetStandardScale(.1);
//Pass an Output filename.
_variant_t var("DWF Classic.pc3");
IPlot.PlotToFile(pchDwfName,var);
}
CATCH(CException,pExc) //catch all kind of exceptions and
{
pExc->ReportError(); //report them
}
END_CATCH |
|