- 众所周知自定义实体需要重写一些函数,其中关于自定义实体数据存储的两个:
将自定义实体对象写入到DWG文件时调用的函数。
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const;
从DWG文件中读取自定义实体对象时需要访问的函数。
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler* pFiler);
如果自定义实体对象还要保存或读取DXF文件,则还需要重写:
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler* pFiler);
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const; 创建三角形的自定义实体的数据存储的实现如下:
实现dwgOut函数,向导生成了一些代码,我们要做的仅仅是把成员变量写入到外部:
Acad::ErrorStatus dwgOutFields (AcDbDwgFiler *pFiler) const
{
assertReadEnabled () ;
//—– Save parent class information first.
Acad::ErrorStatus es =AcDbEntity::dwgOutFields (pFiler) ;
if ( es != Acad::eOk )
return (es) ;
//—– Object version number needs to be saved first
if ( (es =pFiler->writeUInt32 (kCurrentVersionNumber)) != Acad::eOk )
ObjectARX自定义实体的数据存储
最新推荐文章于 2022-11-26 17:32:00 发布