Arx 布局使用
来源:互联网 发布:2030年人工智能 编辑:程序博客网 时间:2024/05/18 03:43
转载:http://www.cnblogs.com/c-gis/articles/2214451.html
新建布局:
AcApLayoutManager *pLmg=(AcApLayoutManager*)acdbHostApplicationServices()->layoutManager();
AcApLayoutManager *pLmg=(AcApLayoutManager*)acdbHostApplicationServices()->layoutManager();
AcDbObjectId lyId,blkRecId;
sLyName=pLmg->getNextNewLayoutName();
pLmg->createLayout(sLyName,lyId,blkRecId);
//pLmg->setDefaultPlotConfig(blkRecId);
es = acdbOpenObject(blkRec,blkRecId,AcDb::kForWrite);
if (es != Acad::eOk)
return ;
blkRec->appendAcDbEntity(ClipId,pLine);
pLine->setClosed(TRUE);
pLine->close();
新建视口:
AcDbViewport *vp=new AcDbViewport();
AcDbViewport *vp=new AcDbViewport();
blkRec->appendAcDbEntity(pId,vp);
blkRec->close();
vp->setNonRectClipEntityId(ClipId);
vp->setNonRectClipOn();
int vpNum = vp->number();
vp->setTwistAngle(ang);
vp->setViewCenter(ptC2);
vp->setCustomScale(ppScale);
vp->setLocked();
vp->setOn();
vp->close();
pLmg->setCurrentLayoutId(lyId);
pLmg->updateCurrentPaper(Adesk::kTrue);
es = acedSetCurrentVPort(vpNum);
acedCommand(RTSTR, _T("_MSPACE"), 0);
acedCommand(RTSTR,_T("REGEN"),0);
打印设置:
1、获取系统的打印设置验证器
AcDbPlotSettingsValidator* pPSV=acdbHostApplicationServices()->plotSettingsValidator()
2、通过系统布局管理器获取当前活动布局,并基于当前布局信息创建一个打印设置
AcDbLayoutManager *pLayoutManager = acdbHostApplicationServices()->layoutManager();
AcDbObjectId btrId=pLayoutManager->getActiveLayoutBTRId();
AcDbBlockTableRecord *pBTR;
Acad::ErrorStatus es=acdbOpenObject(pBTR,btrId,AcDb::kForRead);
AcDbObjectId layoutId=pBTR->getLayoutId();
AcDbLayout *pLayout=NULL;
acdbOpenObject(pLayout,layoutId,AcDb::kForRead);
AcDbPlotSettings *pPS=new AcDbPlotSettings(pLayout->modelType()==Adesk::kTrue ? true:false);
pPS->copyFrom(pLayout);
pLayout->close();
pBTR->close();
3、通过打印设置验证器pPSV的设置函数设置各种布局参数
4、通过AutoCAD的IAcadPlot接口进行当前布局的打印控制(ARX2005以前版本)。
注意:从ARX2005开始,打印方面的ARX接口已经出现了(打印引擎API),就不需要使用IAcadDocument的IAcadPlot接口了;2000/2000i/2002只能采用上面的这种方式;AutoCAD R14只能采用完全的OLE接口了。
AcDbPlotSettingsValidator* pPSV=acdbHostApplicationServices()->plotSettingsValidator()
2、通过系统布局管理器获取当前活动布局,并基于当前布局信息创建一个打印设置
AcDbLayoutManager *pLayoutManager = acdbHostApplicationServices()->layoutManager();
AcDbObjectId btrId=pLayoutManager->getActiveLayoutBTRId();
AcDbBlockTableRecord *pBTR;
Acad::ErrorStatus es=acdbOpenObject(pBTR,btrId,AcDb::kForRead);
AcDbObjectId layoutId=pBTR->getLayoutId();
AcDbLayout *pLayout=NULL;
acdbOpenObject(pLayout,layoutId,AcDb::kForRead);
AcDbPlotSettings *pPS=new AcDbPlotSettings(pLayout->modelType()==Adesk::kTrue ? true:false);
pPS->copyFrom(pLayout);
pLayout->close();
pBTR->close();
3、通过打印设置验证器pPSV的设置函数设置各种布局参数
4、通过AutoCAD的IAcadPlot接口进行当前布局的打印控制(ARX2005以前版本)。
注意:从ARX2005开始,打印方面的ARX接口已经出现了(打印引擎API),就不需要使用IAcadDocument的IAcadPlot接口了;2000/2000i/2002只能采用上面的这种方式;AutoCAD R14只能采用完全的OLE接口了。
- Arx 布局使用
- Arx 新建布局(Creating new Paperspace)
- ARX
- 使用VisualC 创建ARX程序
- OBJECT ARX 扩展数据 使用
- 使用Visual C++创建ARX程序
- 使用Visual C++创建 Object ARX 应用程序
- 如何正确使用ARX中的CAcUiColorComboBox控件
- arx "命令不允许在模型选项卡中使用"
- ARX面试
- 什么是ARX
- ARX 简介
- ARX函数
- arx函数
- arx函数
- ARX函数
- OBJECT ARX 修改选中实体的颜色 选择集的使用
- OBJECT ARX 实体类的炸开,求交,外包矩形函数使用
- eclipse的.project .class .settings文件说明
- Top 30 Nmap Command Examples For Sys/Network Admins
- 第三届蓝桥杯java本科组预赛第7题
- 温故而知新--java的多态
- Ubuntu 下安装PAC Manager方法
- Arx 布局使用
- 64位进程调用32位dll的解决方法
- JSP生成WORD文档,EXCEL文档,PDF文档
- 老花眼
- IOS applicationWillResignActive
- 此错误通常是由宏安全性设置造成的
- 一位软件工程师的7年总结
- (转)MongoDB与内存
- UVa 196 Spreadsheet