几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】dxf fields basics - reading (http://www.dimcax.com/hust/showthread.php?t=16006)

yang686526 2009-05-05 08:48 AM

【转帖】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.


所有的时间均为北京时间。 现在的时间是 10:59 PM.