objectarx二次开发自定义实体dwgInFields与dwgOutFields函数写入了两个int类型 分别是列数和行数,在读取两个int数据是如何区分哪个是列哪个是行的
时间: 2024-02-09 18:09:15 浏览: 23
在 ObjectARX 二次开发中,如果在 dwgOutFields 函数中写入了两个 int 类型的数据,分别表示行数和列数,那么在 dwgInFields 函数中读取这两个数据时,可以按照写入的顺序进行读取,如下所示:
```
void MyEntity::dwgOutFields(AcDbDwgFiler* pFiler) const
{
// 写入行数和列数
pFiler->writeItem(m_rows);
pFiler->writeItem(m_cols);
// ...
}
void MyEntity::dwgInFields(AcDbDwgFiler* pFiler)
{
// 读取行数和列数
pFiler->readItem(&m_rows);
pFiler->readItem(&m_cols);
// ...
}
```
在读取时,可以根据写入时的顺序来确定哪个是行数,哪个是列数。例如,假设在 dwgOutFields 函数中先写入行数再写入列数,那么在 dwgInFields 函数中就应该先读取行数再读取列数:
```
void MyEntity::dwgOutFields(AcDbDwgFiler* pFiler) const
{
// 写入行数和列数
pFiler->writeItem(m_rows);
pFiler->writeItem(m_cols);
// ...
}
void MyEntity::dwgInFields(AcDbDwgFiler* pFiler)
{
// 读取行数和列数
pFiler->readItem(&m_rows);
pFiler->readItem(&m_cols);
// ...
}
```
这样就可以正确地区分哪个是行数,哪个是列数了。