首页 | 公司简介 | 数据恢复 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 联系我们 | 技术论坛  
 
  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  福 建 部: 0591-83300680
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

中国联通信息平台-HP-UX数据恢
中国石油管理局-Oracle数据库恢
工商银行山东分行-AIX删除LV数
濮阳市地方税务局-CHKDSK后数据
台湾HD公司-FreeBSD Nas无法启
promise乔鼎硬盘阵列数据恢复成
IBM EXP300 磁盘阵列数据恢复成
NAS 8100无法挂载数据卷

RAID损坏后 对数据的完整备份
LINUX FSCK数据出错灾难应急方
误删除、误格式化数据灾难应急
误GHOST、误一键恢复灾难应急方
磁盘未被格式化,是否格式化数据
raid磁盘阵列OFFLINE后的应急方
硬盘出现异响应急处理
您当前的位置:首页 >> 技术中心 >> 文件修复文栏 >> 正文

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版文件格式说明)
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-5880
中关村部:北京市海淀区中关村大街11号E世界A座832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室
京ICP备06061795