明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1170|回复: 0

关于DXF组码的问题?困扰一年多的问题了

[复制链接]
发表于 2004-7-5 16:52:00 | 显示全部楼层 |阅读模式
我自定义开发的实体属性,
而对应于不同类型的属性(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);
......
} 不知道是不是这么用的? 请指点,多谢帮助!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 06:53 , Processed in 0.152626 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表