如何解码 .dxf 文件?

2023-12-14

我想将 .dxf 文件内的绘图转换为 g 代码。有一些工具可以做到这一点,但我想自己编写代码。因此,第一部分是解码 .dxf 格式。然而,.dxf 文件的内容看起来并不容易破译。

我下载了一个 .dxf 文件here并在文本编辑器中打开它。

我也指的是这个manual。看起来 .dxf 文件中的内容主要是样式和配置信息,我倾向于忽略几乎所有内容。所以,1. 如果有不应该省略的属性,您能指定一下吗?

As far as I know the figures are divided into multiple ENTITIES in a .dxf file. Therefore, I am only copy pasting the SECTION of ENTITIES. Note that there are 6 SECTIONS in the file and the last section (BLOCKS OBJECTS) is the longest one although I don't know what that part represents (Would be nice if you could explain).

在下面的代码中,10 和 20 应代表 X 和 Y 位置,42 应代表凸起。跟踪折线是可能的。我考虑使用 TITLES 作为导航点以及 10、20 和 42 等数字来从文件中提取信息。但是下面有两条折线。所以,2. 我应该考虑哪条折线,另一条折线的目的是什么?

  0
SECTION
  2
ENTITIES
  0
LWPOLYLINE
  5
72    # What
330   # are
1F    # these
100   # numbers?
AcDbEntity
  8
Layer 1
100
AcDbPolyline
 90
       12
 70
     1
 43    # Constant width (optional; default = 0)
0.0
 10
11.7511418685121
 20
14.9867256637168
 42
1.0
 10
3.31114186851211
 20
14.9867256637168
 10
-0.0132743362831871
 20
14.9867256637168
 10
-0.0132743362831871
 20
11.72
 42
1.0
 10
-0.0132743362831871
 20
3.28
 10
-0.0132743362831871
 20
0.0398230088495577
 10
3.28
 20
0.039823008849557
 42
1.0
 10
11.72
 20
0.0398230088495577
 10
15.0132743362832
 20
0.0398230088495577
 10
15.0132743362832
 20
3.28
 42
1.0
 10
15.0132743362832
 20
11.72
 10
15.0132743362832
 20
14.9867256637168
  0
LWPOLYLINE
  5
73
330
1F
100
AcDbEntity
  8
Layer 1
100
AcDbPolyline
 90
       12
 70
     1
 43
0.0
 10
12.6544611051008
 20
15.9867256637168
 10
16.0132743362832
 20
15.9867256637168
 10
16.0132743362832
 20
12.6233192365887
 42
-0.823684764724874
 10
16.0132743362832
 20
2.37668076341128
 10
16.0132743362832
 20
-0.960176991150442
 10
12.6233192365887
 20
-0.960176991150442
 42
-0.823684764724874
 10
2.37668076341128
 20
-0.960176991150443
 10
-1.01327433628319
 20
-0.960176991150442
 10
-1.01327433628319
 20
2.37668076341128
 42
-0.823684764724874
 10
-1.01327433628319
 20
12.6233192365887
 10
-1.01327433628319
 20
15.9867256637168
 10
2.40782263192339
 20
15.9867256637168
 42
-0.823684764724874
  0
ENDSEC

相关问题

  • 为了获得准确的 G 代码,需要考虑 .dxf 文件中的哪些字段?

最后一节(BLOCKS)是最长的,虽然我不知道 该部分代表什么(如果你能解释一下就好了)。

目的BLOCKS您参考的手册中总结了该部分:

The BLOCKS部分包含图形中每个块参考的条目。

将块视为一组实体,这些实体组合在一起作为一个元素。该块具有:

  • Origin
  • Rotation
  • Scale

这样的块是引用的在图画本身和每个instance该块的被称为INSERT.

所以当你走路时ENTITIES部分,然后您点击了INSERT实体,然后你必须找到它的handle in the BLOCK表并相应地处理元素。


有一些 DXF 代码对于许多实体来说都是通用的,并且它们并不总是与特定实体类型的信息一起列出(例如LWPOLYLINE).

看这个完整列表对于这些数字:

  • 5:实体句柄;最多 16 个十六进制数字的文本字符串(固定)

  • 330:软指针手柄;指向同一 DXF 文件或图形中其他对象的任意软指针。翻译期间INSERT and XREF运营

  • 100:子类数据标记(派生类名称为字符串)。对于派生自的所有对象和实体类都是必需的 另一个具体的类。子类数据标记隔离数据 由继承链中的不同类定义相同的 目的。这是对每个 DXF 名称的要求的补充 从 ObjectARX 派生的不同具体类(请参阅子类标记)

This page也很有用。


为什么有2个LWPOLYLINES首先,为什么它不仅仅是一个BLOCK-ENDBLK pair?

如果您阅读了有关的部分BLOCKS你会看到的:

模型空间和图纸空间块定义

三个空定义总是出现在BLOCKS部分。他们是 标题为*Model_Space, *Paper_Space and *Paper_Space0。这些定义 表现出以下的表征模型空间 and 纸张空间作为块 内部定义。第一个图纸空间的内部名称 布局是*Paper_Space,第二个是*Paper_Space0,第三个是 *Paper_Space1,等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解码 .dxf 文件? 的相关文章

  • 自动解码 TRESTResponse 中的 GZIP?

    似乎不可能为 TRESTClient 分配压缩器或拦截 如果我将 TRESTRequest AcceptEncoding 设置为 gzip deflate 我会收到来自支持 gzip 的服务器的 gzip 编码响应 然而 在 TIdHTTP
  • 它是什么意思,或者Cg==是什么

    有人可以告诉我什么吗Cg 意思是 我只知道它与 Base64 有关 我已经搜索过 但我仍然没有正确的答案或不知道它是什么 而且我对base64没有太多了解 Cg 是最新位置的换行符的base64编码 所以如果你想编码ABC你会得到QUJD
  • DXF图像实体组代码解释

    我正在开发一个 Delphi 类来从 DXF 文件导入 导出某种实体 我想添加对图像实体的支持 但我不明白一些组代码 我正在使用官方 DXF 指南参考 2002 http www autodesk com techpubs autocad
  • UnicodeEncodeError:“charmap”编解码器无法编码 - 字符映射到<未定义>,打印函数[重复]

    这个问题在这里已经有答案了 我正在编写一个 Python Python 3 3 程序 使用 POST 方法将一些数据发送到网页 主要用于调试过程 我获取页面结果并将其显示在屏幕上使用print 功能 代码是这样的 conn request
  • HTML5 视频 MEDIA_ERR_DECODE 随机发生

    我正在开发一个包含 6 个音频和视频元素的项目 这些元素依次播放 发出前的代码顺序是这样的 预加载所有媒体资源直到 canplaythrough 播放视频 1 停止 video 1 并播放 audio 1 停止音频 1 并再次播放视频 1
  • 如何在 Rust 中解码和编码浮点数?

    我想在 Rust 中解码 存储和编码浮点数 我知道关于num Float integer decode https docs rs num 0 1 36 num trait Float html tymethod integer decod
  • 在 python 中将某些字符串(utf-8 或其他)转换为简单的 ASCII 字符串的简单方法是什么

    在我的 python 脚本中 我从一个我没有编写的函数中返回了一些字符串 它的编码各不相同 我需要将其转换为 ascii 格式 有没有一些万无一失的方法可以做到这一点 我不介意用空格或其他字符替换非 ASCII 字符 如果您想要一个明确代表
  • BitmapImage解码速度性能wpf

    我有 5 张图像 像素高度和像素宽度都相同 2481 3508 但是 一张是 gif 一张是 jpeg 一张是 png 一张是 bmp 现在 我将它们渲染到 BitmapSource 中 其中 1 DecodePixelHeight 原始像
  • 如何在android中将字节数组(.h264格式)解码为视频?

    在我的应用程序中 我必须将字节数组 即 h264 格式 解码为视频和来自直播的字节数组 代码如下 static final int VIDEO BUF SIZE 100000 static final int FRAME INFO SIZE
  • ObjectARX、RealDWG 还是 Teigha? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划开发一款读取和操作 dwg 文件中的数据的软件 我决定使用 RealDWG 或 Teigha 而不是编写自己的库来处理数据文件的 读取 但
  • InputStreamReader缓冲问题

    不幸的是 我正在从一个具有两种字符编码类型的文件中读取数据 有一个标题和一个正文 标头始终采用 ASCII 格式 并定义正文编码所用的字符集 标头不是固定长度 必须通过解析器运行以确定其内容 长度 该文件也可能非常大 因此我需要避免将整个内
  • 使用 jQuery / AJAX 解码 JSON

    我正在尝试使用 jQuery 解码 JSON 这是我得到的结果 例如一个班级 这里有一个学生 Students Name John Grade 17 TotalClass 17 TotalCount 1 这就是我所做的 j ajax typ
  • 重写和url解码

    似乎有一个网站以错误的方式链接到我的网站 从谷歌网站管理员工具我看到一些 404 错误 domain com file php id 1 404 Not found Date 这个 url 工作正常 但由于浏览器页面解码 真实的 404 u
  • 如何解码包含 \x3c 等的 Feedburner 结果

    Feed Burner 更改了他们的博客服务返回结果 它返回类似于以下内容的 JavaScript 块 文档 write x3cdiv 类 x3d x22feedburnerFeedBlock x22 id x3d x22RitterIns
  • 如何在 Swift 5 中解码像“\xc3\xa6”这样的 utf8 文字?

    我正在从蓝牙特性中获取 WiFi SSID 列表 每个 SSID 都表示为一个字符串 有些具有 UTF8 文字 例如 xc3 xa6 我尝试了多种方法来解码这个像 let s xc3 xa6 let dec s utf8 由此我期望 pri
  • PHP:帮助解码恶意代码[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 eval gzuncompress base64 decode eF5Tcffxd3L0CY5WjzcyNDG2NDc3MLGMV4 1d
  • WPF 中的 2D CAD 应用

    我正在尝试在 WPF NET 4 0 中编写一个类似 CAD 的应用程序 它需要能够显示大量 2D 点 线 它将用于通过鼠标悬停时的缩放 平移 旋转和点捕捉来显示整个城市的 CAD 平面图 现在我纯粹使用WPF 我从 CAD 文件中读取对象
  • 在 Swift 中解码 JSON 中的 base64_encode 图像

    我有一个 mysql 数据库 其中包含一些图像 我从 php 文件接收数据 php result key image based64 encode resultArray key image 现在有了 Json 文件 我得到如下内容 Jso
  • AutoCAD 插件开发示例

    我对开发 AutoCAD 插件感兴趣 并试图了解几种不同类型的 AutoCAD 插件文件之间的关系 随 AutoCAD 插件一起提供的托管 DLL ARX 文件 https fileinfo com extension arx附带 Auto
  • 在Python中从字节串创建zip文件对象?

    我有一个字节串 保证它是 zip 文件的字节表示形式 知道这个字节串后 如何在 Python 中创建 zip 文件对象 Use io BytesIO https docs python org 3 library io html io By

随机推荐

  • 使用 SAR 与 SHR 进行汇编时将二进制数右移

    我们知道 当我们将一个二进制数右移时 它会被2除 对于号码 1001 0001 我们假设存储在AX登记 如果我们将其视为无符号数 等于145十进制 SHR AX 1将使AX等于0100 1000这等于72十进制 这是正确的 但如果我们将其视
  • 调整 CSS 自定义鼠标光标的大小

    是否可以调整使用自定义图像 URL 的 CSS 鼠标光标的大小 例如 cursor url resources images custom cursor png auto 图像太大 我无法找到通过设置图像 URL 来设置其样式的方法 我知道
  • fftw3 逆变换不起作用

    我正在使用 fftw3 库在 c 中编写复杂到复杂的 DFT 的简单代码 我已经编写了一个包含输入数组双数据的文件 以便我可以与 matlab fft 函数进行比较 我尝试从变换数组执行反向变换 但结果和第一个输入数组不同 这是我的结果 F
  • 使 JSON Web 令牌失效

    对于我正在开发的一个新的 node js 项目 我正在考虑从基于 cookie 的会话方法进行切换 我的意思是 将 id 存储到包含用户浏览器中的用户会话的键值存储中 使用 JSON Web 令牌 jwt 的基于令牌的会话方法 无键值存储
  • 在 UNIX 中重命名批量文件

    我有一组文件如下 旧名称 1 txt 旧名称 1 pdf 旧名称 1 bak 等等 每个都有不同的扩展名 我需要将 oldname 重命名为 newname 所以我尝试了 rename v s oldname newname oldname
  • CURLOPT_FOLLOWLOCATION 不起作用

    我正在尝试通过此链接抓取数据 http www treasurydirect gov NP BPDLogin application np 其中包含元刷新 我正在使用curl exec 并将CURLOPT FOLLOWLOCATION 设置
  • 删除 StringBuilder 的最后一个字符?

    当您必须循环遍历集合并使用分隔符分隔每个数据的字符串时 最后总会有一个额外的分隔符 例如 for String serverId serverIds sb append serverId sb append 给出类似的东西 服务器Id 1
  • PHP JavaScript?当用户关闭页面或浏览器时执行某些操作[重复]

    这个问题在这里已经有答案了 可能的重复 如果用户关闭浏览器窗口或离开 php 页面 如何销毁会话 基本上我想通过更新我的 MySQL 数据库将我的用户设置为 离线 并可能在他们关闭浏览器或页面时结束他们的会话 我见过一个网站是这样做的 谁能
  • 如何消除不透明褪色中未使用的参数?

    element被调用但从未使用过 它们只是被传递回另一个函数调用 这看起来有点浪费 有更好的方法吗 初次通话 fadeUp document getElementById test 3000 将元素的不透明度淡化 3000 毫秒 funct
  • 主干模型中如何处理“更改”事件?

    我正在尝试构建一个动态更新 Meteor 项目中的会话变量的模型 我知道纯 JSON 不应该存储在骨干模型中 所以我设置了一个特殊模型 如下所示 initialize function Log the changed properties
  • Android中Thread.currentThread().getId()和Process.myTid()的区别

    据了解 myTid 返回调用线程的标识符 与 setThreadPriority int int 一起使用 但我发现Thread currentThread getId 不等于Process myTid 所以 我猜测前者是 JVM 版本的线
  • 生成字母表中的字母数组

    有没有一种简单的方法可以在 C 中生成包含字母表字母的数组 手工完成并不难 但我想知道是否有内置的方法可以做到这一点 我不认为有内置的方法 但我认为最简单的方法是 char alpha ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • MongoDB 不会使用 Mongoid 连接到 MongoHQ

    我刚刚开始一个全新的 Rails 项目 我想要完成的第一个任务是创建一个对象并将其保存在我的数据库中 我通过自动方式生成了一个对象 在本例中是一个 URL 对象 如下所示 rails generate scaffold Url domain
  • 如何在Mac上设置PYTHON_EGG_CACHE环境变量?

    我正在尝试设置 Django 以使用 MySQL 当我输入时出现以下错误localhost mysite ExtractionError at Can t extract file s to egg cache The following
  • Google Maps IOS SDK 1.2 需要地图视图快照

    在 1 1 中 GMSScreenshot 类提供了一种将整个屏幕的快照获取到 UIImage 中的基本方法 在 1 2 中 该类丢失了 在发行说明中 它是这样说的 在 GMSMapView 图层上调用 renderInContext 现在
  • 声明一个引用并稍后初始化?

    我有一些课程的参考MyObject 但确切的对象取决于条件 我想做这样的事情 MyObject ref if condition ref MyObject something else ref MyObject something else
  • Julia:使用许多不同但相关的算法选择来构建代码

    我正在寻找一种优雅的方式来重新安排我的代码 对于开发求解器 您可能会拥有许多具有相同设置的不同选项 例如 从高层次来看 代码看起来像这样 function solver Start by assigning a bunch of varia
  • REQUEST_DENIED 响应 Google Places API 请求 (sensor=true)

    我正在尝试使用 Google Places API 获取我所在位置周围的地点 以下是用于点击 URL 进行地点搜索的代码 NSString URL NSString stringWithFormat https maps googleapi
  • 在哪里/如何从 Google Maps API 获取多边形数据?

    我真的很想简短地回答这个问题 所以 我想知道谷歌地图是否拥有详细信息 在这种情况下我需要多边形 坐标数组 对于城市内的特定市政府 即Envigado在城市Medellin Co 有没有办法获取这种类型的数据 编辑 我不确定谷歌地图是否显示我
  • 如何解码 .dxf 文件?

    我想将 dxf 文件内的绘图转换为 g 代码 有一些工具可以做到这一点 但我想自己编写代码 因此 第一部分是解码 dxf 格式 然而 dxf 文件的内容看起来并不容易破译 我下载了一个 dxf 文件here并在文本编辑器中打开它 我也指的是