当前位置: 首页 > 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.lryc.cn/news/626839.html

相关文章:

  • 车载软件架构 --- 赢得汽车软件开发竞赛
  • 好家园房产中介网后台管理完整(python+flask+mysql)
  • Scikit-learn 预处理函数分类详解
  • 【Task02】:四步构建简单rag(第一章3节)
  • 第R6周:LSTM实现糖尿病探索与预测
  • 深度学习核心技巧与实战指南
  • 机器学习中的数据处理技巧
  • Node.js中的Prisma应用:现代数据库开发的最佳实践
  • 关联规则挖掘3:Eclat算法——等价类转换(Equivalence Class Transformation)
  • Simulink实现RELS递推最小二乘算法
  • 【机器学习】什么是损失景观(Loss Landscape)?
  • 漏扫 js 里面包含一些敏感内容 利用二进制加密 保持原始内容不变 又能过漏扫
  • 亚马逊蓝海掘金:以需供比为锚点的精准选品策略
  • 高压柜无线测温:给智能化配电室装上“智能体温监测仪”
  • Leetcode 深度优先搜索 (11)
  • C语言---分隔符、常量、注释、标识符、关键字、空格
  • 笔试——Day44
  • 域名加白怎么做
  • 实战:本地大模型+function Calling,获取北京天气
  • 保姆级Debezium抽取SQL Server同步kafka
  • JSON::Value 功能详解:从三目运算符到高级用法
  • Pytest项目_day20(log日志)
  • PyTorch API 2
  • GPT-5 上线风波深度复盘:从口碑两极到策略调整,OpenAI 的变与不变
  • C++开发/Qt开发:单例模式介绍与应用
  • 拓扑排序判断环 P1347 排序题解
  • 第二十七天:游戏组队问题
  • 跨平台 RTSP/RTMP 播放器工程化实践:低延迟与高稳定性的挑战与突破
  • Redisson最新版本(3.50.0左右)启动时提示Netty的某些类找不到
  • pip 安装常见错误及实例化解决办法大全