- UID
- 127364
- 积分
- 19
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-4-19
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我自定义开发的实体属性,
而对应于不同类型的属性(int16,int32,text等)
为了后台lisp可以更改,需要将属性分别与相应的DXF组码唯一对应
但由于我text的属性较多,而其组码范围经测试只有300~309,410~419段可用
还不够!
对于DXF组码的用途我不是很清楚,也不知道是不是这么用的,
怎么才能解决问题,请大虾指点一二!
代码片断:
我重载了函数dxfInFields(AcDbDxfFiler* pFiler)
Acad::ErrorStatus AcDbDouSpan::dxfInFields(AcDbDxfFiler* pFiler)
{
...
pFiler->readItem(&rb);
if (rb.restype == AcDb::kDxfText) {
if (m_firColumNo != NULL)
free(m_firColumNo);
m_firColumNo = strdup(rb.resval.rstring);
} else {
pFiler->pushBackItem();
pFiler->setError(Acad::eInvalidDxfCode,
"nError: expected group code %d",
AcDb::kDxfText);
return pFiler->filerStatus();
}
pFiler->readItem(&rb);
if (rb.restype == AcDb::kDxfText + 410) {
if (m_firNo != NULL)
free(m_firNo);
m_firNo = strdup(rb.resval.rstring);
} else {
pFiler->pushBackItem();
pFiler->setError(Acad::eInvalidDxfCode,
"nError: expected group code %d",
AcDb::kDxfText + 410);
return pFiler->filerStatus();
}
以下我一次加到对应的范围418(AcDb::kDxfText初始值是1)
}
Acad::ErrorStatus AcDbDouSpan::dxfOutFields(AcDbDxfFiler* pFiler) const
{
//与dxfin中一一对应
......
pFiler->writeItem(AcDb::kDxfText, m_firColumNo);
pFiler->writeItem(AcDb::kDxfText + 410, m_firNo);
pFiler->writeItem(AcDb::kDxfText + 411, m_firNFNo);
pFiler->writeItem(AcDb::kDxfText + 412, m_firGWNo);
......
}
不知道是不是这么用的?
请指点,多谢帮忙!!!! |
|