dxfReader

介绍

用来解析,提取CAD中的dxf文件格式所保存的图像信息

环境

python36(在python35中会失效, 其他环境未测试)

软件架构

主要采用简单工厂模式:

SectionFactory

TableFactory

EntityFactory

方便扩展还未解析的类型

安装教程

python3.X

使用说明

最简单的用法:

#提取圆弧 返回一个包含字典的数组

DxfReader.GetShapeData("DxfReader/test/test.dxf", Entity.ARC)

#提取直线

DxfReader.GetShapeData("DxfReader/test/test.dxf", Entity.LINE)

#提取圆

DxfReader.GetShapeData("DxfReader/test/test.dxf", Entity.CIRCLE)

#提取椭圆

DxfReader.GetShapeData("DxfReader/test/test.dxf", Entity.ELLIPSE)

#提取所有的图层名

DxfReader.GetLayers("DxfReader/test/坡口图-2004版.dxf")

基本用法:

dxfReader = DxfReader("DxfReader/test/坡口图-2004版.dxf")

sections = dxfReader.ParseSections()

for section in sections:

if isinstance(section, HeaderSection):

vars = section.ParseVars()#解析出一个 cad 变量的 字典

if isinstance(section,EntitiesSection):

entities = section.ParseEntities()#解析出各种类型的实体,圆形,直线,弧形,椭圆

for entity in entities:#每种实体都可调用parse解析出一个带有实际数据的字典

print(entity.parse())#如直线的{'type': 'line', 'layer': '0', 'x0': -111.6999999999999, 'y0': -6.0, 'z0': 0.0, 'x1': -101.7, 'y1': -6.0, 'z1': 0.0, 'tensile_x': '0', 'tensile_y': '0', 'tensile_z': '1'}

if isinstance(section, TablesSection):

tables = section.ParseTables()

for table in tables:

entries = table.ParseEntries()

for entry in entries:

print(entry.parse())#可以解析出dxf中的表段,现在只实现了提取图层的

#如{'type': 'layer', 'name': '轮廓'}

参与贡献

Fork 本仓库

新建 Feat_xxx 分支

提交代码

新建 Pull Request

python读取dxf文件_GitHub - XUIgit/dxfReader: dxf文件解析 用来提取CAD中的dxf文件格式所保存的图像信息...相关推荐

  1. vb如何实现在cad中打开dxf文件_CDR转CAD方法

    在CDR文档中又是如何将文档转换为CAD格式的呢?其实只要简单几步就能搞定,下面系统天地小编就来给大家分享cdr(CorelDRAW)文档转换为CAD格式的方法,供大家参考. cdr文档转换为CAD格 ...

  2. CAD中的dxf文件解析(二):dxflib的使用

    1.前言 上一篇中对dxf文件及文件中常见的需要解析的直线,圆,圆弧,椭圆,多段线的说明,对dxf文件有了初步的了解,并做好了下载dxflib,dxf帮助文档的准备(没有准备的可以回到上一篇). CA ...

  3. CAD中的dxf文件解析(三):多段线篇

    1.前言 在前面的CAD中的dxf文件解析(二)中讲到了一些CAD的dxf文件解析点.线.圆弧.圆.块等的思路.下面提供链接: (二): CAD中的dxf文件解析(二):dxflib的使用_不爱学习 ...

  4. python读取、写入、移动、复制文件(夹)以及其他关于文件(夹)的操作

    文章目录 基础操作 判断文件或者目录是否存在 创建目录 连接两个路径成为一个路径 读取文件 写入文件 移动文件(夹) 复制文件(夹) 突然发现,经常需要进行文件操作,因为如果程序运行时间很长,我们需要 ...

  5. python提取cad中的文字_[python]提取PPT中的文字(包括图片中的文字)

    python是一门很强大的语言,因为有着丰富的第三方库,所以可以说Python是无所不能的. 很多人都知道,Python可以操作Excel,PDF·还有PPT,这篇文章就围绕Python提取PPT中的 ...

  6. python提取cad坐标_怎么提取cad中坐标?CAD批量提取坐标点的三种方法

    经常有一些小伙伴问,CAD中怎么批量提取坐标点,今天给大家总结三种方法. 方法一:多段线顺序连接并提取. 1.多段线pl连接点: 2.li命令提取坐标: 3.将点位粘贴至excel,利用数据,分列,最 ...

  7. python 读取csv带表头_python读csv文件时指定行为表头或无表头的方法

    pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置header参数(默认)时: df1 = pd.read_c ...

  8. python读取tiff影像_python+tifffile之tiff文件读写方式

    背景 使用python操作一批同样分辨率的图片,合并为tiff格式的文件. 由于opencv主要用于读取单帧的tiff文件,对多帧的文件支持并不好. 通过搜索发现了两个比较有用的包:TiffCaptu ...

  9. python 读取json为list及向json文件追加数据

    """ 读取json数据到list """ def read_json_list(json_file):if not (os.path.ex ...

最新文章

  1. Http 协议 常用消息头
  2. str与dict与eval的结合妙用
  3. 这公司需要再利用CPU热能:于是淘汰i7换AMD Ryzen
  4. mysql select查询语句_mysql的select查询语句
  5. 如何用for循环出数据库的数据
  6. IDEA将项目打包为指定class文件的jar
  7. SpringBoot2.1.15(26) WebFlux快速上手——响应式Spring的道法术器
  8. 【基础】弹出框的处理(五)
  9. Python之if语句
  10. Android查询 每个进程的权限
  11. SMOTE算法(人工合成数据)
  12. 如何打印计算机文档目录,word怎么把目录显示出来
  13. C4D模型工具—连接点/边
  14. LED MEO GTO GEO IGSO SSO概念
  15. 女人喝酸奶要注意什么
  16. 基于Java毕业设计在线答题系统源码+系统+mysql+lw文档+部署软件
  17. 22东南网安专硕上岸经验贴
  18. 《微波原理与技术》学习笔记1绪论-微波的概念
  19. AcWing 122. 糖果传递【贪心】【《算法竞赛进阶指南》,微软面试题 , HAOI2008】
  20. 跳槽——找马时,我被驴发现了 1

热门文章

  1. 搭建公众号微商城+小程序微商城 企业商城系统一条龙 拖拽可视化装修模板
  2. oracle支持utf8字符集,AL32UTF8/UTF8(Unicode)数据库字符集含义
  3. CAD打印线条太粗、线条颜色设置
  4. c语言 aligned,“__attribute __((packed,aligned(4)))”的含义是什么意思?
  5. 时序数据预测:Holt-Winters
  6. 笔记本升级--固态硬盘安装双系统win10-CentOS
  7. java 计算组合_java – 计算所有可能的组合
  8. lanyu 激活idea
  9. 2022中元节前后几天不出门?前三天后三天不能出门是真的吗?
  10. 为什么毕业后五年,你们的贫富差距越拉越大