AcDbEntity添加到数据库如何实时显示?
AcDbEntity* pEnt = new AcDbEntity();
常规的PostToModelSpace函数中,里面有pEnt->close();有此语句,在pEnt的生命周期没有结束时,CAD也会将其绘制出来。若没有close,等pEnt生命周期结束后,CAD才会将其绘制出来。
使用下面的语句,也可使之在生命周期没有结束前也可显示出来。
pHatch_->recordGraphicsModified();//刷
pHatch_->draw();
总结,CAD只在对象的生命周期结束后才会显示(前提时加入了数据库),若想在生命周期未结束前显示,可使用close函数或draw函数。若使用close(),请先添加到database,然后再close,
ACDBCORE2D_PORT Acad::ErrorStatus close();
描述
关闭对象。自打开以来对对象所做的所有更改都将提交到database, 对象被标记为可分页, 以及“已关闭”通知(以及任何其他适当的通知, 例如“已修改”, “已擦除”等) ) 已发送。
如果成功则返回Acad::eOk。
如果该对象尚未在AcDbDatabase中, 则返回Acad::eNoDatabase。
如果对象正在发送通知, 则返回Acad::eCloseWasNotifying。
如果在close()方法中进行的subClos~~e()调用返回除Acad::eOk之外的任何内容, 则返回该ErrorStatus