当前位置: 首页 > news >正文

第一章:认识 CAD 图形文件 —— DXF 格式

AutoCAD 的 DXF 文件有两种存储形式:ASCII DXF和二进制DXF。

1  ASCII DXF    

  1. 形式:纯文本文件(.dxf),内容用 可读的 ASCII 字符 表示。
  2. 特点:
    1. 每个 DXF 文件由「组码(group code)」+「数据值」的形式组成。
    2. 组码是一个整数(表示该数据的含义,比如图层名、坐标、颜色等)。
    3. 数据值则是对应的数值或字符串。
    4. 人可以直接用文本编辑器(如 Notepad、VSCode)打开和阅读。
  3. 优点:可读性强,便于调试、学习 DXF 格式。
  4. 缺点:文件体积大,解析速度相对较慢。  

示例(ASCII DXF 圆)

0
CIRCLE
8
0
10
100.0
20
200.0
30
0.0
40
50.0

2  Binary DXF(二进制 DXF)

  1. 形式:扩展名仍是 .dxf,但内容采用 二进制编码存储。
  2. 特点:
    1. 仍然遵循组码/值的结构,但数值直接以二进制写入,而不是文本。
    2. 文件体积比 ASCII DXF 小很多。
    3. 解析速度更快(机器直接读数值,不需要从字符串转换)。
    4. 人类几乎无法直接阅读,必须用程序解析。
  3. 优点:效率高、文件小,适合大模型。
  4. 缺点:不可直接用文本编辑器查看,不便于调试。

为了更直观地理解 DXF 文件的组成,我们以 ASCII DXF 文件 为例,对其基本结构进行讲解和分析。

DXF文件本质上是由组码和关联值组成。每个组码和值都各占一行。同一种图元是由一个区域地组码和值构成。DXF 文件的数据结构是按区块(section)划分的。DXF完整结构如下:

  1. HEADER:存储图形的基本信息,包括数据库版本号和一些系统变量。每个系统变量都由变量名和相应的值表示。
  2. CLASSES:记录应用程序定义的类及其属性,这些类的实例可在 BLOCKS、ENTITIES 和 OBJECTS 区块中找到。类的层次结构是固定的,不可更改。
  3. TABLES:
  4. APPID
  5. BLOCK_RECORD
  6. DIMSTYLE
  7. LAYER
  8. LTYPE
  9. STYLE
  10. UCS
  11. VIEW
  12. VPORT

下面将详细介绍 DXF 文件中每个区块的结构及其组成。

HEADER区块的结构如下:

每个区块(section)的结构如下:

开头

  1) 0 —— 标记区块开始

  2) SECTION —— 区块类型

  3) 2 —— 固定组码

  4) 区块名称 —— 如 HEADER、TABLES 等

  5)9 —— 表示“接下来是变量名”

中间内容

  每组三行表示一个变量或条目:

    1) $变量名

    2) 对应的组码

    3) 变量的值

结尾

  1) 0 —— 标记区块结束

  2) ENDSEC

   

http://www.xdnf.cn/news/1331857.html

相关文章:

  • 单抗免疫原选型指南|抗体制备方案设计——常用抗原类型及制备方法
  • Spring事务源码
  • c语言多任务处理(并发程序设计)
  • 挑战极限:在256MB内存的机器上构建MySQL极简安装方案
  • 基于SpringBoot的旅游攻略系统网站【2026最新】
  • mysql-8.0.37-linux-glibc2.12-x86_64安装
  • 【shell脚本编程】-7 寻找到在5分钟内改动的文件
  • 【C++】基础:C++11-14-17常用新特性介绍
  • 【Obsidian插件】HiNote
  • ansible playbook 实战案例roles | 实现db2自动安装
  • spring第9课,spring对DAO的支持
  • 【C++】模版(初阶)
  • 【STM32】HAL库中的实现(六):DAC (数模转换)
  • wpf之ComboBox
  • uniapp学习【上手篇】
  • Ubuntu 重连usb设备(断电和不断电方案)亲测可行
  • 【科研绘图系列】R语言绘制平滑曲线折线图
  • SQL面试题及详细答案150道(41-60) --- 条件查询与分组篇
  • 【报错】Please do not run this script with sudo bash
  • 开源大模型如何选择?GPT-OSS综合评估
  • IDEA切换分支时,提示:Git Checkout Problem
  • 4位量化:常规的线性层被替换成了4位线性层(48)
  • 服务器硬件电路设计之 SPI 问答(二):SPI 与 I2C 的特性博弈及多从机设计之道
  • 基于单片机环境火灾安全检测
  • 27.语言模型
  • 3D max制作蝴蝶结详细步骤(新手可跟)♥️
  • Angular入门教程
  • Angular由一个bug说起之十八:伴随框架升级而升级ESLint遇到的问题与思考
  • 【机器学习】什么是损失景观(Loss Landscape)?
  • FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持