天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 127|回复: 0

arx打印dwg为pdf

[复制链接]
  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    115

    主题

    11

    回帖

    1393

    积分

    管理员

    积分
    1393
    QQ
    发表于 2024-5-26 08:48:46 | 显示全部楼层 |阅读模式
    1. void PlotDwgToPdf(PlotSettingInfo& plotSettingInfo)
    2. {
    3.     // 设置系统变量BACKGROUNDPLOT
    4.     SystemVar backgroudplot(采用T("BACKGROUNDPLOT"), 0);
    5.     // 获取原视图
    6.     BOOL bNeedRestoreView = FALSE;
    7.     AcDbViewTableRecord viewOld;
    8.     GetCurrentView(viewOld);
    9.     AcPlPlotEngine* pEngine = NULL;
    10.     if (Acad::eOk == AcPlPlotFactory::createPublishEngine(pEngine))
    11.     {
    12.         std::set<CString> setPlotFile;
    13.         // Here is the progress dialog for the current plot process...
    14.         AcPlPlotProgressDialog* pPlotProgDlg = acplCreatePlotProgressDialog(acedGetAcadFrame()->m采用hWnd, false, 1);
    15.         pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kDialogTitle, L"Plot API Progress");
    16.         pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kCancelJobBtnMsg, L"Cancel Job");
    17.         pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kCancelSheetBtnMsg, L"Cancel Sheet");
    18.         pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kSheetSetProgressCaption, L"Job Progress");
    19.         pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kSheetProgressCaption, L"Sheet Progress");
    20.         pPlotProgDlg->setPlotProgressRange(0, 100);
    21.         pPlotProgDlg->onBeginPlot();
    22.         pPlotProgDlg->setIsVisible(true);
    23.         int nDwgCount = plotSettingInfo.m采用vecBlockInfo4Plot.size();
    24.         for (int num = 0; num < plotSettingInfo.m采用vecBlockInfo4Plot.size(); num++)
    25.         {
    26.             if (pPlotProgDlg->isPlotCancelled() || pPlotProgDlg->isSheetCancelled())
    27.             {
    28.                 break;
    29.             }
    30.             CString csFilePathWithoutExt = plotSettingInfo.m采用csSaveLocation + 采用T("\") + CString(plotSettingInfo.m采用vecBlockInfo4Plot[num].m采用sPlotFileName.data());
    31.             CString csDstPdf = GetNextFilePath(csFilePathWithoutExt, 采用T(".pdf"), 0, plotSettingInfo.m采用bOverride);
    32.             CString csStatus;
    33.             csStatus.Format(采用T("正在打印%d/%d..."), num + 1, nDwgCount);
    34.             pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kSheetName, csDstPdf);
    35.             pPlotProgDlg->setPlotMsgString(AcPlPlotProgressDialog::PlotMSGIndex::kStatus, csStatus);
    36.             AcPlPlotInfo plotInfo;
    37.             SetPlotInfo(plotSettingInfo.m采用vecBlockInfo4Plot[num], plotSettingInfo.m采用idLayout, plotInfo);
    38.             DoPlot(pPlotProgDlg, pEngine, plotInfo, true, csDstPdf);
    39.             setPlotFile.insert(csDstPdf);
    40.             //int nProgressPercent = (num + 1) * 100 / nDwgCount;
    41.             pPlotProgDlg->setPlotProgressPos(100);
    42.         }
    43.         // Destroy the engine
    44.         pEngine->destroy();
    45.         pEngine = NULL;
    46.         // and the progress dialog.
    47.         pPlotProgDlg->destroy();
    48.         pPlotProgDlg = NULL;
    49.     }
    50.     else
    51.     {
    52.         // Ensure the engine is not already busy...
    53.         AfxMessageBox(L"Plot Engine is Busy...");
    54.     }
    55.     // 恢复视图
    56.     if (bNeedRestoreView)
    57.     {
    58.         // 将视图对象设置为当前视图
    59.         acedSetCurrentView(&viewOld, NULL);
    60.     }
    61. }
    复制代码

     

     

     

     

    arx打印dwg为pdf
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-5 12:25 , Processed in 0.146579 second(s), 29 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表