大家好,太离奇了!我遍历每个图纸空间布局,每遍历一次就建一个视口,但实际上只有一个布局的视口创建成功了,其它的都没见到有视口出现,是怎么回事啊?按理是要么都不成功,要么全部成功的啊!
我用的以下代码:
///创建视口 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("新建视口成功")); |