CN108460056A - 一种dxf文件有效图元转换json数据的方法 - Google Patents
一种dxf文件有效图元转换json数据的方法 Download PDFInfo
- Publication number
- CN108460056A CN108460056A CN201710096350.6A CN201710096350A CN108460056A CN 108460056 A CN108460056 A CN 108460056A CN 201710096350 A CN201710096350 A CN 201710096350A CN 108460056 A CN108460056 A CN 108460056A
- Authority
- CN
- China
- Prior art keywords
- data
- pel
- effective
- dxf
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000000605 extraction Methods 0.000 claims abstract description 5
- 241001269238 Data Species 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 2
- 230000011218 segmentation Effects 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 239000010410 layer Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 4
- 238000007418 data mining Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
针对本地DXF文件中有效图元提取和用于网络传输的问题,实现了一种DXF文件有效图元转换JSON数据的方法,对原始DXF信息进行分块处理,利用键值对和链表来构建三层数据结构,存储有效图元信息,直接转换生成JSON数据,将有效图元信息从复杂的组码形式转换成结构清晰,含义明确的JSON数据形式,将图元的属性值从数值组码转换成实际的属性说明,提高转换后数据的可读性,适合于互联网数据的传输。
Description
技术领域
本发明涉及CAD工程制图和互联网相融合的各类技术领域。本技术实现DXF文件有效图元转换成JSON数据,有利于本地DXF文件互联网化,实现CAD图形的在线预览。
背景技术
CAD工程制图是一个传统的计算机辅助设计过程,其在工程建筑,机械制造,产品设计等诸多领域都有着广泛的应用。CAD工程制图包括DXF,DWG,DWF,SXF等多种文件格式,其中DXF文件格式是最常用的一种本地CAD文件交换格式。经过几十年的发展,CAD领域积累了海量的以DXF文件格式存在的CAD图元数据,这些文件数据可以较方便的在本地预览,但随着互联网特别是移动互联的兴起,传统CAD领域也面临转型的契机,而作为CAD领域最常用的文件交换DXF格式,其单纯的本地预览行为显然不符合互联网转型的需求,而必须能够实现在服务器端存储,在客户浏览器端在线预览的模式。DXF文件本身以组码表示各种CAD图元信息,其形式复杂难于解析,且内含较多的冗余信息,真正有效的图元信息仅占一小部分,而互联网数据传输多以高效易读的JSON数据进行封装,因此,如何将DXF文件中有效的图元信息转换成易于互联网传输的JSON数据,这是互联网时代CAD领域亟待解决的一个问题。
发明内容
本发明的目的是提供一种DXF文件有效图元转换JSON数据的方法解决本地DXF文件中有效图元提取和用于网络传输的问题。
本发明的技术解决方案是:一种DXF文件有效图元转换JSON数据的方法,包含DXF文件读取模块,DXF信息分块模块,有效图元信息提取模块,数据组织存储模块,JSON数据转换生成模块共五个主要模块;分为原始DXF文件打开和读取,DXF信息逐级分块,分离出有效图元信息,逐层按键值对和链表存储有效信息,直接转换成JSON数据共五个主要步骤进行。
本发明的具体实现流程为:
利用操作系统平台相关的文件IO接口打开和读取DXF文件,在内存中开辟一块连续的缓存区,按照整体读入的方式将原始DXF信息全部复制到缓存区。
对读入的整体DXF信息进行逐级分块操作,首先按照DXF中段的分块组码ENDSEC来划分六个主要的段,进行一级分块,得到六个段分块,分别为HEADER,CLASSES,TABLES,OBJECTS,ENTITIES和BLOCKS;然后对图元信息所在的段ENTITIES按照图元间的分块组码0来划分各个不同的图元信息块,同时对图层信息所在的段TABLES按照属性间的分块组码0来划分不同的图层信息和随层属性,进行二级分块,得到所有不同的图元块及其相应的图层和随层属性。
考虑到DXF与互联网融合以及互联网数据传输对数据容量的特殊要求,DXF原始信息中其它段的信息按照冗余信息的原则被摈弃,达到处理有效图元信息和减少数据量的目的。
处理具体的图元信息时,不再采用原始DXF格式中复杂难懂的组码形式,而是按照键值对的形式,把单个图元的各个属性按照属性和属性值一一对应的关系来组织存储第一层数据,也即单个图元数据,其中图元的属性对应键值对中的键,从原来的组码变换成代表实际意义的字符串,而图元具体的属性值对应键值对中的值,直接使用DXF中实际图元的属性值,以此,对于单个图元,其键值对的数据形式变得简单易懂。
不同的图元各自的内部属性信息按照键值对存储,而相同的一类图元则按照链表来先后排列,而不同图元之间任然按照键值对来组织,形成第二层数据,也即每一种图元对应一个键值对的键,而相应的一类图元信息组成的链表对应键值对的值,同时其它随层属性和图层分布也按照键值对数据形式并列于前述不同类的图元,存储在第二层数据中。
所有图元和图层数据链表再以键值对来组织第三层数据,形成整体的有效图元键值对和链表数据结构。
按照键值对组织的图元信息数据,与实际的JSON数据形式非常接近,可以通过手动添加JSON的分隔符来将键值对数据直接生成JSON格式的数据,或者直接转换成JSON格式文件存储到外存中。
本发明的具体实现可以在任意支持文件IO的操作系统中进行,可以使用任意编程平台,最终实现的方法即可作为独立存在的实体转换软件存在,也可以作为中间件嵌入到其它软件系统中使用。
本发明的有益效果是:本地DXF文件有效图元转换成JSON数据,可以将DXF文件中真正有效的信息提取出来,避免原始DXF文件中冗余信息的干扰;本地DXF文件有效图元信息从复杂的组码形式转换成结构清晰,含义明确的JSON数据形式,将图元的属性值从数值组码转换成实际的属性说明,可以提高转换后数据的可读性,同时更加适合于互联网数据的传输,并且能够方便的与客户端浏览器集成,实现CAD数据互联网化和在线预览。
附图说明
图1是本发明实施例一种DXF文件有效图元转换JSON数据的方法的模块框架和数据流走向的说明框图。
图2是本发明实施例中信息分块模块的实施流程的说明框图。
图3是本发明实施例中组织存储模块的实施流程的说明框图。
图4是本发明实施例应用于DXF文件网络远程显示的说明框图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
如图1所示,一种DXF文件有效图元转换JSON数据的方法,DXF文件101由文件读取模块102打开和读取转变为DXF信息103存储于内存中,DXF信息103由信息分块模块104经过逐级分块转变为两级分块信息105,分块信息105由图元提取模块106摈弃冗余信息剩下有效图元107,有效图元107由组织存储模块108按照三层键值对和链表存储109,最后经JSON转换模块110直接生成JSON数据111。
如图2所示,所述信息分块模块的实施流程为:DXF信息201按照字符串的方式进行逐行测试202;判断是否是ENDSEC203,如果不是204,返回,继续进行逐行测试202,如果是205,则进入段分块206;分别得到HEADER207,CLASSES208,BLOCKS209,TABLES210,OBJECTS211,ENTITIES212六个一级段分块;对TABLES进行二级分块,逐行测试213;判断是否是0214,如果不是215,返回,继续进行逐行测试213,如果是216,则进入图层分块217;分别得到线宽219,颜色220,以及其它各种图层属性二级分块221;对ENTITIES进行二级分块,逐行测试222;判断是否是0223,如果不是224,返回,继续进行逐行测试222,如果是225,则进入图元分块226;分别得到直线228,圆弧229,以及其它各种图元信息二级分块230。
如图3所示,所述组织存储模块的实施流程为:从图元信息301中筛选出单个图元,以直线图元为例302;直线图元的属性和属性值形成键值对303,参照说明图例304,按照(起点:起点坐标值)和(终点:终点坐标值)的键值对来组织第一层数据;单个图元的键值对数据插入链表305;判断是否处理完毕所有的图元306,如果未处理完毕307,则返回,重新筛选和处理其它图元,如果处理完毕308,则不同图元及其链表数据形成键值对309,参照说明图例310,按照(直线:直线链表)和(圆弧:圆弧链表)的键值对来组织第二层数据;
从图层信息311中筛选出单个图层属性,以线宽为例312;线宽的属性和属性值形成键值对313,参照说明图例314,按照(颜色:RGB值)的键值对来组织第一层数据;单个图层属性的键值对数据插入链表315;判断是否处理完毕所有的图层属性316,如果未处理完毕317,则返回,重新筛选和处理其它图层属性,如果处理完毕318,则不同图层属性及其链表数据形成键值对319,参照说明图例320,按照(线宽:线宽链表)和(颜色:颜色链表)的键值对来组织第二层数据;
图元数据和图层属性数据形成键值对321,参照说明图例322,按照(图元:各种图元链表)和(图层:各种图层属性链表)的键值对来组织第三层数据。
以DXF文件网络远程显示应用为例,如图4所示:服务器端401拥有一个DXF文件库403,同时实施本发明的解决方案;客户端402能够远程选取需要预览的DXF文件406,通过网络传输409反馈回服务器端405;服务器端401收到客户端的反馈后,从DXF文件库403中选择DXF文件404,经由读取DXF文件407,DXF文件有效图元转换JSON数据的方法408之后生成JSON数据411,通过网络传输409到客户端402;客户端402接收到有效图元的JSON数据后可以进行远程显示预览410。
Claims (5)
1.一种DXF文件有效图元转换JSON数据的方法,其特征在于:整体读入DXF文件,使用首尾特征组码逐步分块,提取其中有效图元信息,转换成直观的键值对数据,逐层按照链表和键值对组织数据结构,直接生成JSON格式数据。
2.如权利要求1所述的DXF文件有效图元转换JSON数据的方法,其特征在于整体读入DXF文件之后,首先使用分段的首尾特征组码值进行一级分块,获得HEADER,CLASSES,TABLES,OBJECTS,ENTITIES和BLOCKS,然后使用各个具体图元的分块首尾特征值进行二级分块,获得不同的图元块。
3.如权利要求1所述的DXF文件有效图元转换JSON数据的方法,其特征在于原始DXF数据分块之后,摈弃其中冗余的信息,只处理图元相关信息,主要包括图层分布,图元随层属性,具体图元属性,达到提取有效图元信息的目的。
4.如权利要求1所述的DXF文件有效图元转换JSON数据的方法,其特征在于提取有效图元信息之后,对于单个图元,按照图元属性和具体属性值一一对应的键值对关系来组织第一层数据,然后各个相同的图元按照链表先后排列,同时以键值对来组织第二层数据,其它随层属性和图层分布也以键值对数据形式并列于该层,最后所有图元和图层数据链表再以键值对来组织第三层数据,形成整体的有效图元键值对和链表数据结构。
5.如权利要求1所述的DXF文件有效图元转换JSON数据的方法,其特征在于有效图元信息按照链表和键值对的数据结构组织之后,直接生成可用于网络传输的JSON格式数据,或者转换成JSON格式文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710096350.6A CN108460056A (zh) | 2017-02-22 | 2017-02-22 | 一种dxf文件有效图元转换json数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710096350.6A CN108460056A (zh) | 2017-02-22 | 2017-02-22 | 一种dxf文件有效图元转换json数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108460056A true CN108460056A (zh) | 2018-08-28 |
Family
ID=63220137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710096350.6A Pending CN108460056A (zh) | 2017-02-22 | 2017-02-22 | 一种dxf文件有效图元转换json数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108460056A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209630A (zh) * | 2019-04-25 | 2019-09-06 | 广东联城住工装备信息科技有限公司 | Dxf文件信息处理方法、装置、计算机设备和存储介质 |
CN110765891A (zh) * | 2019-09-30 | 2020-02-07 | 万翼科技有限公司 | 工程图纸识别方法、电子设备及相关产品 |
CN111291438A (zh) * | 2020-01-22 | 2020-06-16 | 远景智能国际私人投资有限公司 | 文件处理方法、装置、电子设备及存储介质 |
CN111710014A (zh) * | 2020-08-20 | 2020-09-25 | 杭州品茗安控信息技术股份有限公司 | 一种双代号网络图显示方法、装置、设备及存储介质 |
CN112328552A (zh) * | 2020-11-05 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 底层数据管理方法、系统及计算机可读存储介质 |
CN112860713A (zh) * | 2021-04-23 | 2021-05-28 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
CN113282952A (zh) * | 2021-05-06 | 2021-08-20 | 范佳媛 | 一种工程系统设计文件篡改检测定位方法及装置 |
CN113792241A (zh) * | 2021-09-26 | 2021-12-14 | 上海数慧系统技术有限公司 | 在Web地图上叠加浏览DWG文件的方法及相关装置 |
US11815651B2 (en) * | 2019-05-21 | 2023-11-14 | Schlumberger Technology Corporation | Geologic model and property visualization system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944080A (zh) * | 2010-09-02 | 2011-01-12 | 北京科技大学 | 一种基于dxf文件格式的读取与xml转换的方法 |
CN102999660A (zh) * | 2012-11-14 | 2013-03-27 | 北京尔宜居科技有限责任公司 | 一种将设计数据转换为多变换拼花数据的方法 |
CN104239400A (zh) * | 2014-07-16 | 2014-12-24 | 沈阳航空航天大学 | 基本形体的dxf文件格式转换为stl文件格式的方法 |
CN105045802A (zh) * | 2015-05-22 | 2015-11-11 | 杭州亿方云网络科技有限公司 | 一种消息驱动的多类型文件预览系统 |
CN106407523A (zh) * | 2016-09-01 | 2017-02-15 | 深圳市彬讯科技有限公司 | 一种基于Tumax户型图一键生成CAD施工图的系统 |
-
2017
- 2017-02-22 CN CN201710096350.6A patent/CN108460056A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944080A (zh) * | 2010-09-02 | 2011-01-12 | 北京科技大学 | 一种基于dxf文件格式的读取与xml转换的方法 |
CN102999660A (zh) * | 2012-11-14 | 2013-03-27 | 北京尔宜居科技有限责任公司 | 一种将设计数据转换为多变换拼花数据的方法 |
CN104239400A (zh) * | 2014-07-16 | 2014-12-24 | 沈阳航空航天大学 | 基本形体的dxf文件格式转换为stl文件格式的方法 |
CN105045802A (zh) * | 2015-05-22 | 2015-11-11 | 杭州亿方云网络科技有限公司 | 一种消息驱动的多类型文件预览系统 |
CN106407523A (zh) * | 2016-09-01 | 2017-02-15 | 深圳市彬讯科技有限公司 | 一种基于Tumax户型图一键生成CAD施工图的系统 |
Non-Patent Citations (3)
Title |
---|
刘学鹏: "基于Web的CAD系统研究", 《2011 INTERNATIONAL CONFERENCE ON AGRICULTURAL AND NATURAL RESOURCES ENGINEERING》 * |
张大坤等: "《Android手机应用程序开发》", 31 August 2014, 东北师范大学出版社 * |
陈翔: "基于Android平台的CAD标准图形交换文件浏览系统", 《国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209630A (zh) * | 2019-04-25 | 2019-09-06 | 广东联城住工装备信息科技有限公司 | Dxf文件信息处理方法、装置、计算机设备和存储介质 |
US11815651B2 (en) * | 2019-05-21 | 2023-11-14 | Schlumberger Technology Corporation | Geologic model and property visualization system |
CN110765891B (zh) * | 2019-09-30 | 2022-05-17 | 万翼科技有限公司 | 工程图纸识别方法、电子设备及相关产品 |
CN110765891A (zh) * | 2019-09-30 | 2020-02-07 | 万翼科技有限公司 | 工程图纸识别方法、电子设备及相关产品 |
CN111291438A (zh) * | 2020-01-22 | 2020-06-16 | 远景智能国际私人投资有限公司 | 文件处理方法、装置、电子设备及存储介质 |
CN111291438B (zh) * | 2020-01-22 | 2023-08-04 | 远景智能国际私人投资有限公司 | 文件处理方法、装置、电子设备及存储介质 |
CN111710014A (zh) * | 2020-08-20 | 2020-09-25 | 杭州品茗安控信息技术股份有限公司 | 一种双代号网络图显示方法、装置、设备及存储介质 |
CN112328552A (zh) * | 2020-11-05 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 底层数据管理方法、系统及计算机可读存储介质 |
CN112860713B (zh) * | 2021-04-23 | 2021-08-03 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
CN112860713A (zh) * | 2021-04-23 | 2021-05-28 | 脉策(上海)智能科技有限公司 | 用于获取图层数据的方法、电子设备和存储介质 |
CN113282952A (zh) * | 2021-05-06 | 2021-08-20 | 范佳媛 | 一种工程系统设计文件篡改检测定位方法及装置 |
CN113282952B (zh) * | 2021-05-06 | 2023-06-23 | 范佳媛 | 一种工程系统设计文件篡改检测定位方法及装置 |
CN113792241A (zh) * | 2021-09-26 | 2021-12-14 | 上海数慧系统技术有限公司 | 在Web地图上叠加浏览DWG文件的方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108460056A (zh) | 一种dxf文件有效图元转换json数据的方法 | |
CN105631426B (zh) | 对图片进行文本检测的方法及装置 | |
Maher et al. | Understanding virtual design studios | |
Kim et al. | CityCraft: 3D virtual city creation from a single image | |
Li et al. | [Retracted] Multivisual Animation Character 3D Model Design Method Based on VR Technology | |
CN111681155B (zh) | 一种基于深度学习的gif动态图像水印方法 | |
CN107918646B (zh) | 一种基于协议方式的三维模型数据处理方法及装置 | |
CN110516541A (zh) | 文本定位方法、装置、计算机可读存储介质和计算机设备 | |
CN102955784B (zh) | 一种基于数字签名对多个图像进行相似判断的设备和方法 | |
CN113094533B (zh) | 一种基于混合粒度匹配的图文跨模态检索方法 | |
CN107077746A (zh) | 用于网络传输和实时渲染的3d纹理模型的自动优化的系统、方法和计算机程序产品 | |
CN112989482A (zh) | Bim模型数据的生成方法及装置和构建方法及装置 | |
CN112884758A (zh) | 一种基于风格迁移方法的缺陷绝缘子样本生成方法及系统 | |
US10943037B2 (en) | Generating a CAD model from a finite element mesh | |
JP5759187B2 (ja) | AdobeFlash(登録商標)によるSWF形式の画像表現をHTML形式の画像表現に変換するプログラム | |
Xu et al. | Blockplanner: City block generation with vectorized graph representation | |
CN109635955A (zh) | 一种特征组合方法、装置及设备 | |
CN105556570A (zh) | 生成屏幕数据 | |
CN117636131A (zh) | 一种基于Yolo-I模型的小目标识别方法及相关装置 | |
CN109063223A (zh) | Bim模型的轻量化方法和装置以及bim模型的处理方法和系统 | |
CN106021228A (zh) | 一种利用知识地形图进行文本分析的方法及系统 | |
CN107229426A (zh) | Bim模型数据压缩、还原方法及装置 | |
CN104516899B (zh) | 字库更新方法和装置 | |
CN115661340A (zh) | 一种基于源信息融合的三维点云上采样方法与系统 | |
Simoff | Towards the development of environments for designing visualisation support for visual data mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180828 |
|
WD01 | Invention patent application deemed withdrawn after publication |