- UID
- 774724
- 积分
- 8
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2018-3-21
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我在打印反应器中,想获取到当前设置的打印设置AcDbPlotSettings,但试了一下没成功,想请教一下各位大大,下面是我写的代码:
void CPlotReactor::beginPlot(AcPlPlotProgress* pPlotProgress,PlotType type)
{
AcApLayoutManager *pLayMan = NULL;
pLayMan = (AcApLayoutManager *) acdbHostApplicationServices()->layoutManager();
//get the active layout
AcDbLayout *pLayout = pLayMan->findLayoutNamed(pLayMan->findActiveLayout(TRUE),TRUE);
AcDbPlotSettings* pPlotSetting = (AcDbPlotSettings*)pLayout;
if(pPlotSetting->plotType()!=AcDbPlotSettings::kWindow)
{
acutPrintf(_T("打印范围只能选择窗口方式"));
pPlotProgress->setPlotCancelStatus(pPlotProgress->kPlotCanceledByCaller);
return;
}
double minX,minY,maxX,maxY;
pPlotSetting->getPlotWindowArea(minX,minY,maxX,maxY);
double window_area=(maxX-minX)*(maxY-minY);
if(window_area>1)
{
acutPrintf(_T("当前绘制面积大于1平方公里"));
pPlotProgress->setPlotCancelStatus(pPlotProgress->kPlotCanceledByCaller);
return;
} |
|