首页 | 公司简介 | 数据恢复 | 备份服务 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 数据恢复软件 | 联系我们 | 北亚博客  
 
  北京总部: 4006-505-646
  天 津 部: 4006-505-646
  上 海 部: 4006-505-646
  深 圳 部: 4006-505-646
  广 州 部: 4006-505-646
  重 庆 部: 4006-505-646
  南 京 部: 4006-505-646
  其它地区: 4006-505-646
北亚数据恢复软件Windows专业版
三星手机数据恢复软件V1.0
北亚苹果手机数据恢复软件V2.0
北亚硬盘录像机数据恢复软件 V
北亚vmware虚拟机数据恢复软件
北亚照片数据恢复软件
北亚摄像机数据恢复软件 v2.1
北亚Sybase数据库修复软件 V2.
raid磁盘阵列应急方案
HP EVA4400/6400/8400/P6000
iphone 通讯录丢失如何恢复?
xen server 存储库(sr)损坏后
RAID6结构原理详解(北亚数据
AIX下删除LV后的现场保护和数
RAID损坏后 对数据的完整备份
您当前的位置:首页 >> 技术中心 >> 文件修复文栏 >> 正文

dwg file format(AutoCAD DWG 文件格式说明)

layers :=
  ( [size](
      byte : flag,
      char[32] : name,
      word : used,
      word : color,
      word : style,
      check_2
    )
  )[nr] : layer_info,
  check_32.
the style table
styles :=
  ( [size](
      byte : flag,
      char[32] : name,
      word, double[3], byte, double, char[128],
      check_2
    )
  )[nr] : style_info,
  check_32.
the line-type table
ltypes :=
  ( [size](
      byte : flag,
      char[32] : name,
      word,  char[48],  byte,
      byte,  double[13],
      check_2
    )
  )[nr] : ltype_info,
  check_32 .
the application identifier table
appids :=
  ( [size](
      byte : flag,
      char[32] : name,
      word,
      check_2
    )
  )[nr] : appid_info,
  check_32 .
the other tables
table :=
  ( [size](
      byte : flag,
      [size - 3]byte*,
      check_2
    )
  )[nr],
  check_32 .
the entities
(experimental)
entities :=
  ( byte : kind,
    byte : flag,
    word : length,
    [length - 4](
      word : layer,
      word : opts,
      if (flag & 1) then byte : color else color = 0 fi,
      if (flag & 0x40) then byte : extra else extra = 0 fi,
      if (extra & 2) then xdata fi,
      if (flag & 2) then word : type fi,
      if (flag & 4 && kind > 2 && kind != 22) then double : z fi,
      if (flag & 8) then double : th fi,
      if (flag & 0x20) then handle fi,
      if (extra & 4) then word : paper fi,
      switch (kind)
      case 1:  /* line */
        point(!(flag & 4)) : l10,
        point(!(flag & 4)) : l11,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi,
      case 2:  /* point */
        point(!(flag & 4)) : l10,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi,
      case 3:  /* circle */
        point(false) : l10,
        double : l40,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi,
      case 4:  /* shape */
        point(false) : l10,
        word : l2,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi,
      case 7: /* text */
        point(false) : l10,
        double : l40,
        string : l1,
        if (opts & 1) then double : l50 fi,
        if (opts & 2) then double : l41 fi,
        if (opts & 4) then double : l51 fi,             /*?*/
        if (opts & 8) then byte : l7 fi,
        if (opts & 0x10) then byte : l71 fi,
        if (opts & 0x20) then byte : l72 fi,
        if (opts & 0x40) then point(false) : l11 fi,
        if (opts & 0x100) then byte : l73 fi,
      case 8:  /* arc */
        point(false) : l10,
        double : l40,
        double : l50,
        double : l51,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi,
      case 9:   /* trace */
        point(false) : l10,
        point(false) : l11,
        point(false) : l12,
        point(false) : l13,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi,
      case 11:   /* solid */
        point(false) : l11,
        point(false) : l12,
        point(false) : l13,
        point(false) : l14,
        if (opts & 1) then point(true) : l210 fi,
        if (opts & 2) then double : l38 fi
      case 12:   /* block */
        point(false) : l10,                /*?*/
        string : l1,                       /* if (opts & 1) then ? */
        if (opts & 2) then string : l3 fi
      case 13:  /* endblk */
      case 14:   /* insert */
        word : l1,
        point(false) : l10,
        if (opts & 1) then double : l41 fi,
        if (opts & 2) then double : l42 fi,
        if (opts & 4) then double : l43 fi,
        if (opts & 8) then double : l50 fi,
        if (opts & 0x10) then byte : l70 fi,                /*?*/
        if (opts & 0x20) then byte : l71 fi,                /*?*/
        if (opts & 0x40) then double : l44 fi,              /*?*/
        if (opts & 0x80) then double : l45 fi              /*?*/
      case 15:    /* attdef */
        point(false) : l10,
        double : l40,
        string : l1,
        string : l3,
        string : l2,
        byte : l70,
        if (opts & 1) then byte : l73 fi,           /*?*/
        if (opts & 2) then double : l50 fi,         /*?*/
        if (opts & 4) then double : l41 fi,
        if (opts & 8) then double : l42 fi,
        if (opts & 0x10) then byte : l7 fi,
        if (opts & 0x20) then byte : l71 fi,
        if (opts & 0x40) then byte : l72 fi,
        if (opts & 0x80) then point(false) : l11 fi,   /*?*/
        if (opts & 0x100) then point(true) : l210 fi,
        if (opts & 0x200) then double : l38 fi        /*?*/
      case 16:   /* attrib */
        point(false) : l10,
        double : l40,
        string : l1,
        string : l2,
        byte : l70,
        if (opts & 1) then byte : l73 fi,           /*?*/
        if (opts & 2) then double : l50 fi,         /*?*/
        if (opts & 4) then double : l41 fi,
        if (opts & 8) then double : l42 fi,
        if (opts & 0x10) then byte : l7 fi,
        if (opts & 0x20) then byte : l71 fi,
        if (opts & 0x40) then byte : l72 fi,
        if (opts & 0x80) then point(false) : l11 fi,   /*?*/
        if (opts & 0x100) then point(true) : l210 fi,
        if (opts & 0x200) then double : l38 fi        /*?*/
      case 17:   /* s/bend */
        long
      case 19:   /* pline */
        if (opts & 1) then byte : l70 fi,
        if (opts & 2) then double : l40 fi,                   /*?*/
        if (opts & 4) then byte : l71 fi,         /*?*/
        if (opts & 8) then byte : l72 fi,         /*?*/
        if (opts & 0x10) then byte : l73 fi,         /*?*/
        if (opts & 0x20) then byte : l74 fi,         /*?*/
        if (opts & 0x40) then byte : l75 fi         /*?*/
      case 20:   /* vertex */
        point(false) : l10,
        if (opts & 1) then double : l40 fi,           /*?*/
        if (opts & 2) then double : l41 fi,           /*?*/
        if (opts & 4) then byte : l70 fi,             /*?*/
        if (opts & 8) then double : l50 fi           /*?*/
      case 22:   /* 3dface */
        point(!(flag & 4)) : l10,
        point(!(flag & 4)) : l11,
        point(!(flag & 4)) : l12,
        point(!(flag & 4)) : l13
      case 23:   /* dim */
        word : l1,
        point(true) : l10,
        point(false) : l11,   /*?*/
        if (opts & 2) then byte : l70 fi,
        if (opts & 1) then point(true) : l12 fi,    /*?*/
        if (opts & 4) then string : l1 fi,
        if (opts & 8) then point(true) : l13 fi,
        if (opts & 0x10) then point(true) : l14 fi,
        if (opts & 0x20) then point(true) : l15 fi,
        if (opts & 0x40) then point(true) : l16 fi,
        if (opts & 0x80) then double : l40 fi,
        if (opts & 0x100) then double : l50 fi,
        if (opts & 0x200) then double : l51 fi,
        if (opts & 0x400) then double : l52 fi,
        if (opts & 0x800) then double : l53 fi
      case 24:   /* vport */
        point(true) : l10,
        double : l40,
        double : l41,
        word : l68
      endswitch
      check_2
    )
  )* : entities.

本新闻共3页,当前在第2页  1  2  3  

上一篇:位图文件内部初探
下一篇:drawing interchange and file formats(AutoCAD DXF 10.0版文件格式说明)
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚宸星科技有限公司
全国统一客服热线:4006-505-646
北京总部:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
京ICP备09039053号

�9