乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 15|回复: 0

无法在cms中绘图

[复制链接]

6

主题

16

帖子

1

银币

初来乍到

Rank: 1

铜币
40
发表于 2010-6-15 22:32:57 | 显示全部楼层 |阅读模式
嗨,
我有一个打印问题。我想以厘米(厘米)打印绘图,我有两个选择
1.我可以使用标准比例,在AcDbPlotSettings中设置单位::kMillimeters并使用比例类型作为AcDbPlotSettings::k10_1,10mm = 1cm
2.我可以使用自定义比例,在AcDbPlotSettings中设置单位::kMillimeters或英寸,并正确转换1单位= 10(mm)或1单位= 2.54(对于英寸)
我无法打印 10 厘米的线条。我觉得我错过了设置更多的配置。
我附上了可编译的win32项目。只需将示例\testline_10cms.dwg复制到 c:\temp。该项目将文件名作为输入并转换为文件名.pdf
有人可以帮忙吗?
  1. void CPlotApi2::setPlotConfiguration()
  2. {
  3.         Acad::ErrorStatus es;
  4.         double xOrigin,yOrigin;
  5.         PlotPaperUnits units;
  6.         xOrigin = 0.0;
  7.         yOrigin = 0.0;
  8.         if(requestedPlotType == FIT_TO_PAPER_STANDARD_SCALE)//without scale
  9.         {
  10.                 m_iPlotType = AcDbPlotSettings::kExtents;
  11.                 m_Landscape=true;
  12.         }
  13.         else //ACTUAL_SIZE_CUSTOM_SCALE_IN_CMS
  14.         {
  15.                 //part print, full extent, proper scale
  16.                 m_iPlotType = AcDbPlotSettings::kExtents;
  17.         //        m_Landscape=true;
  18.         }
  19.        
  20.         es = pPSV->setPlotType(pPlotSettings, (PlotType) m_iPlotType);
  21.         if(m_Landscape)
  22.                 es=pPSV->setPlotRotation(pPlotSettings,AcDbPlotSettings::k90degrees);
  23.         else
  24.                 es=pPSV->setPlotRotation(pPlotSettings,AcDbPlotSettings::k0degrees);
  25.         es = pPSV->setPlotCentered(pPlotSettings, Adesk::kTrue);
  26.         switch(requestedPlotType)
  27.         {
  28.         case ACTUAL_SIZE_CUSTOM_SCALE_IN_CMS:
  29.                 //in case don't wanted centered
  30. //                es = pPSV->setPlotCentered(pPlotSettings, Adesk::kFalse);
  31. //                es = pPSV->setPlotOrigin(pPlotSettings, xOrigin, yOrigin);
  32.                 //set units
  33. //                units = AcDbPlotSettings::kInches;
  34.                 units = AcDbPlotSettings::kMillimeters;
  35.                 es = pPSV->setPlotPaperUnits(pPlotSettings,(PlotPaperUnits) units);
  36.                 //set custome scaled 1unit=10mm(mms), or 1unit=2.54cms(inches)
  37.                 m_Scale = 10; //2.54;
  38. //                es = pPSV->setUseStandardScale(pPlotSettings,Adesk::kFalse);
  39.                 //use custom scale
  40. //                es = pPSV->setCustomPrintScale(pPlotSettings,m_Scale, 1);
  41.                
  42.                 //in case use standard scale with k10_1
  43.                 es = pPSV->setUseStandardScale(pPlotSettings,Adesk::kTrue);
  44.                 //set scale type
  45.                 es = pPSV->setStdScaleType(pPlotSettings,AcDbPlotSettings::k10_1);
  46.                 break;
  47.         case FIT_TO_PAPER_STANDARD_SCALE: // Choose to use this custom scale...
  48.         default:
  49.                 es = pPSV->setUseStandardScale(pPlotSettings,Adesk::kTrue);
  50.                 es = pPSV->setStdScaleType(pPlotSettings,AcDbPlotSettings::kScaleToFit);
  51.                 break;
  52.         }
  53. }

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-5-1 14:03 , Processed in 1.234369 second(s), 59 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表