|
大家好,太离奇了!我遍历每个图纸空间布局,每遍历一次就建一个视口,但实际上只有一个布局的视口创建成功了,其它的都没见到有视口出现,是怎么回事啊?按理是要么都不成功,要么全部成功的啊!
我用的以下代码:
///创建视口
AcDbViewport* vport=new AcDbViewport();
vport->setCenterPoint(AcGePoint3d(30,30,0);
vport->setWidth(100);
vport->setHeight(150);
///启用视口
AcDbObjectId viewportid;
acdbOpenObject(pBTR,pLayout->getBlockTableRecordId(),AcDb::kForWrite);
pBTR->appendAcDbEntity(viewportid,vport);
pBTR->close();
vport->close();
AcDbViewport* vport2=NULL;
acdbOpenObject(vport2,viewportid,AcDb::kForWrite);
es=vport->setOn();
if(es!=Acad::eOk) AfxMessageBox(_T("set on():")+(CString)acadErrorStatusText(es));//此处显示的是:"enotinpaperspace"错误
es=::acedSetCurrentVPort(vport2);
if(es!=Acad::eOk) AfxMessageBox(_T("setcurrent():")+(CString)acadErrorStatusText(es));/此处显示的是:"eoutofrange"错误
vport2->close();
::AfxMessageBox(_T("新建视口成功")); |
|