关于DXF组码的问题?困扰一年多的问题了
我自定义开发的实体属性,<BR>而对应于不同类型的属性(int16,int32,text等)<BR>为了后台lisp可以更改,需要将属性分别与相应的DXF组码唯一对应<BR>但由于我text的属性较多,而其组码范围经测试只有300~309,410~419段可用<BR>还不够!<BR>对于DXF组码的用途我不是很清楚,也不知道是不是这么用的,<BR>怎么才能解决问题,请大虾指点一二!代码片断:<BR>我重载了函数dxfInFields(AcDbDxfFiler* pFiler)<BR>Acad::ErrorStatus AcDbDouSpan::dxfInFields(AcDbDxfFiler* pFiler)<BR>{<BR> ...<BR> pFiler->readItem(&rb);<BR> if (rb.restype == AcDb::kDxfText) {<BR> if (m_firColumNo != NULL)<BR> free(m_firColumNo);<BR> m_firColumNo = strdup(rb.resval.rstring);<BR> } else {<BR> pFiler->pushBackItem();<BR> pFiler->setError(Acad::eInvalidDxfCode,<BR> "nError: expected group code %d",<BR> AcDb::kDxfText);<BR> return pFiler->filerStatus();<BR> }<BR> pFiler->readItem(&rb);<BR> if (rb.restype == AcDb::kDxfText + 410) {<BR> if (m_firNo != NULL)<BR> free(m_firNo);<BR> m_firNo = strdup(rb.resval.rstring);<BR> } else {<BR> pFiler->pushBackItem();<BR> pFiler->setError(Acad::eInvalidDxfCode,<BR> "nError: expected group code %d",<BR> AcDb::kDxfText + 410);<BR> return pFiler->filerStatus();<BR> }<BR> 以下我一次加到对应的范围418(AcDb::kDxfText初始值是1) <BR> <BR>}<BR>Acad::ErrorStatus AcDbDouSpan::dxfOutFields(AcDbDxfFiler* pFiler) const<BR>{<BR> //与dxfin中一一对应<BR> ......<BR> pFiler->writeItem(AcDb::kDxfText, m_firColumNo);<BR> pFiler->writeItem(AcDb::kDxfText + 410, m_firNo);<BR> pFiler->writeItem(AcDb::kDxfText + 411, m_firNFNo);<BR> pFiler->writeItem(AcDb::kDxfText + 412, m_firGWNo);<BR> ......<BR>}
不知道是不是这么用的?
请指点,多谢帮助!!!
页:
[1]