高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】dxf fields basics - reading
dxf fields basics - reading
dxf fields basics - reading
hi,
in my application i need to retreive and store dxf 70 value. is there another, simplier way to do this except creting new class implementing oddbdxffiler ?
in case not, i have created a class derived from odrxobjectimpl<oddbdxffiler> :
code:
class custfiller: public odrxobjectimpl<oddbdxffiler>
{
public:
int m_n70;
custfiller(){m_n70 = 0;}
filertype filertype() const {return oddbfiler::kcopyfiler;}
void wrstring(int groupcode, const odchar *string){}
/*..............*/
void wrint16(int groupcode, odint16 val){
if (70 == groupcode) m_n70 = val;
}
/*...........*/
};
player->dxfout( &filer );
but when i try to use it, i have values like 0,1,4,5 set ot m_n70 ( 1 - frozen layer, 4 - locked layer), while when i run odamfcapp, i see 1008,1009,1010,1016 etc.
where is my mistake?
btw as far as i remember, the groupcode column at the right of the odamfcapp was filled in dd1.07,1.08 , what has happend in 1.09 ?
nickolay gurov
to get layer flags stored in dxf gc 70 use oddblayertablerecord functions
isfrozen() - bit 1
vpdflt() - bit 2
islocked() - bit 4
and oddbsymboltablerecord functions
isdependent() - bit 16
isresolved() - bit 32
sergey slezkin
sergey, thank you for your reply.
the problem was that i need to store dxf 70 not only for layers. but anyway i have handled it another specific way.
nickolay gurov.
|