CN102081596B - 电路板观视程序的文件格式的转换方法 - Google Patents

电路板观视程序的文件格式的转换方法 Download PDF

Info

Publication number
CN102081596B
CN102081596B CN200910225758A CN200910225758A CN102081596B CN 102081596 B CN102081596 B CN 102081596B CN 200910225758 A CN200910225758 A CN 200910225758A CN 200910225758 A CN200910225758 A CN 200910225758A CN 102081596 B CN102081596 B CN 102081596B
Authority
CN
China
Prior art keywords
data
file
circuit board
visual range
physical storage
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.)
Expired - Fee Related
Application number
CN200910225758A
Other languages
English (en)
Other versions
CN102081596A (zh
Inventor
刘玉乐
陈玄同
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN200910225758A priority Critical patent/CN102081596B/zh
Publication of CN102081596A publication Critical patent/CN102081596A/zh
Application granted granted Critical
Publication of CN102081596B publication Critical patent/CN102081596B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种电路板观视程序的文件格式的转换方法,将电路板观视程序导出的原有版本二进制数据文件转换为新版本的电路板观视程序支持的文件。转换方法包括:因新增功能模块及元件数据逻辑组织,物理存储结构变化,将匹配后的数据逻辑结构与数据物理储存结构绑定成动态连结文件;加载具有数据逻辑结构与数据物理储存结构的二进制数据文件;通过中间层的数据逻辑、物理结构映像自动匹配相适应逻辑结构,若二进制数据文件物理存储结构与当前版本逻辑结构不一致,从相应版本号动态连结文件中结构与数据物理储存结构匹配的逻辑结构实现文件数据加载与呈现,产生观看文件。

Description

电路板观视程序的文件格式的转换方法
技术领域
本发明涉及一种文件的转换方法,特别有关于一种电路板观视程序的文件格式的转换方法。
背景技术
在开发电子产品的过程中,都需要频繁处理电路板数据文件。厂区通常使用文本格式电路板数据文件(Computer-aided design,简称CAD),但由于使用资源耗费庞大(例如绘图计算器需要高等级的处理器或大容量的内存,大尺寸文本数据导致网络传输效率低下),对于频繁上传,下载,高频度使用文本数据CAD的厂区实在是一大负担。所以为达到高效,快捷、可持续性平滑处理电路板文件的目的,另有厂商提出电路板观视程序(Board Viewer)。由于电路板观视程序不需大量处理资源,所以许多生产厂商多会采用电路板观视程序。
电路板观视程序可以将文本格式电路板数据文件进行加密、循环冗余校验(CRC)与压缩为二进制数据档(binary data)。这样一来,可大幅度降低文本格式数据大小,可以方便在因特网上传输。
虽然二进制数据文件具有上述优点,但在每次导出二进制数据文件时,电路板观视程序会根据所使用的数据逻辑结构重新组织数据,再生成固定数据结构。电路板观视程序会将固定数据结构存放转换后二进制数据文件中。
在二进制数据文件中的数据逻辑结构与物理存储结构之间的强绑定关会严重阻碍新版的电路板观视程序对原有二进制数据文件加载。使得每一次电路板观视程序数据结构的升级都需要对原有二进制数据文件重新转换,这严重影响了二进制数据文件的易用性和可维护性,极有可能成为基于二进制数据应用的电路板观视程序及相关衍生系统全面推广的绊脚石。
发明内容
鉴于以上的问题,本发明的主要目的在于提供一种电路板观视程序的文件格式的转换方法,其将电路板观视程序(Board viewer)加载的二进制数据文件转换为新版本的电路板观视程序所支持的观看文件,实现电路板数据加载的向下兼容性。
为达上述目的,本发明所揭露的电路板观视程序的文件格式的转换方法包括下列步骤:
步骤a.由电路板观视程序加载二进制数据文件,在二进制数据文件中的每一元件数据电路模块包括数据逻辑结构与数据物理储存结构;
步骤b.取得元件数据电路模块修改后的数据逻辑结构与数据物理储存结构;
步骤c.对步骤b所产生的数据逻辑结构与数据物理储存结构运行调配脚本,将数据逻辑结构与数据物理储存结构绑定(Bound)成动态连结文件;
步骤d.将二进制数据文件加载至新版本的电路板观视程序;
步骤e.检查二进制数据文件所属版本是否与新版本的电路板观视程序一致;
步骤f.若二进制数据文件与新版本的电路板观视程序的版本不一致时,则新版本的电路板观视程序运行调配脚本并调用调配脚本中定义的一数据结构操作接口,通过数据结构操作接口从动态连结文件中取出步骤b所修改的元件数据电路模块与相应的数据逻辑结构与数据物理储存结构;以及
步骤g.根据步骤f所取出的元件数据电路模块与相应的数据逻辑结构与数据物理储存结构加入二进制数据文件中,藉以产生观看文件。
本发明提供一种电路板观视程序的文件格式的转换方法,用以将电路开发软件所能读取的二进制数据文件转换成电路板观视程序所支持的观视文件。并且根据二进制数据文件在各修改元件数据电路模块的期间,输出相应的动态连结文件,使得电路板观视程序在进行观看时可以分别的加载不同修改期间的元件数据电路模块。
有关本发明的特征与实作,兹配合图示作最佳实施例详细说明如下。
附图说明
图1为本发明的运作流程示意图;
图2为本发明的档案结构示意图;
图3为本发明的运作示意图。
【主要元件符号说明】
211    数据逻辑结构
212    数据物理储存结构
311    二进制数据文件
312    动态连结文件
313    观看文件
具体实施方式
诚如前述所言二进制输出的二进制数据文件虽然可以提供高效、便捷与安全的数据应用,但是电路板观视程序而言无法支持不同版本所输出的二进制数据文件。为能解决前述问题,本发明应用在电路板观视程序(board viewer)在观看不同新旧版本的电路开发软件(Computer-aided design,CAD)所输出的二进制数据文件。请参考「图1」所示,其为本发明的运作流程示意图。本发明包括下列步骤:
步骤a.由电路板观视程序加载具有多个元件数据电路模块的二进制数据文件,二进制数据文件的每一元件数据电路模块均包括数据逻辑结构与数据物理储存结构;
步骤b.取得元件数据电路模块修改后的数据逻辑结构与数据物理储存结构;
步骤c.对修改后的数据逻辑结构与数据物理储存结构运行调配脚本,通过调配脚本将数据逻辑结构与数据物理储存结构绑定成动态连结文件;
步骤d.将二进制数据文件加载至新版本的电路板观视程序;
步骤e.检查二进制数据文件所属版本是否与新版本的电路板观视程序一致;
步骤f.若二进制数据文件与新版本的电路板观视程序的版本一致时,则由二进制数据文件中取出元件数据电路模块的数据逻辑结构与数据物理储存结构;
步骤g.若二进制数据文件与新版本的电路板观视程序的版本不一致时,则新版本的电路板观视程序运行调配脚本并调用调配脚本中定义的一数据结构操作接口,通过数据结构操作接口从动态连结文件中取出元件数据电路模块与相应的数据逻辑结构与数据物理储存结构;以及
步骤h.根据所取出的元件数据电路模块与相应的数据逻辑结构与数据物理储存结构加入二进制数据文件中,藉以产生观看文件。
为能清楚说明二进制数据文件的转换过程,请同时配合参考「图2」与「图3」所示,其分别为本发明的档案结构与运作示意图。二进制数据文件311的每一元件数据电路模块均包括数据逻辑结构211与数据物理储存结构212,在「图2」中所示的GraphAtom用于描述基础图形元素,如“点”、“线”或“矩形”等。在「图2」中是以描述线段的其中一部份。
Figure GSB00000783465900041
在GraphAtom中各数据成员如下定义:
GraphAtomType atomType:用以自定的枚举类型变量,藉以说明该元素种类;
LONG values[4]:4个长整形变量用存放构成元素数据如点:(X,Y)线:端点1(X,Y),端点2(X,Y);
Short width:元素线体有效宽度(逻辑单位如:um,mm,inch)。
在「第=图2」中是以二进制数据文件311中构成线段的数据结构作为说明。在二进制数据文件311中的元件数据电路模块为设计电路中的各项元件,在每个元件数据电路模块中除了元件外亦包括有连接线。以微观而言,线段的显示为连续的区段所组成的,而每一个区段可以对应到如「图2」中的每一个数据结构。换言之,由「图2」中可看中总共需要22个byte,一个由直线段围成的多边形由若干个此类数据结构所构成。多边形数据结构在二进制数据文件311中将以连续字节密集存储。导出的二进制的二进制数据文件311中将包含上千个甚至更多的此类数据结构。
在加载二进制的二进制数据文件311的过程中,先根据多边形特征数据(Feature Data)中记录成员特征数据在内创建多边形结构体变量。接着,根据特征数据中记录的GraphAtomBlock个数在多边形结构体变量创建一组GraphAtom变量并将其视为多边形数据成员。使用文件块读取指令以GraphAtom占用字节(22byte)大小从档中以块(block)为单位读出整体的二进制二进制数据文件311并强制转换存放在GraphAtom变量内存空间。
因此,在每一次修改元件数据电路模块时,本发明将修改处所相应的数据逻辑结构211与数据物理储存结构212取出(对应步骤b)。接着,对修改后的数据逻辑结构211与数据物理储存结构212运行调配脚本,使得在物理存储结构与数据逻辑组织结构两者之间引入一中间层。本发明利用中间层对物理存储结构与数据逻辑组织结构在不同时期,从底层解决了加载观视文件时向下兼容的问题,弱化数据存储结构与数据逻辑结构间的强绑定。其中,调配脚本可以通过Python脚本程序所实现。在经过中间层的转换后,将物理存储结构、数据逻辑组织与二进制数据文件311输出为动态连结文件312(dynamic linklibrary,DLL)。弱化逻辑组织结构与物理存储结构间的绑定关系发生在电路板观视程序运行时,电路板观视程序是基于微软公司所推出的C/C++及MFC。C/C++及MFC采用静态链接编译方式创建的。本发明使用调配脚本来代替动态链接库形式的插件,这样可以方便地根据需求的变化改写脚本代码,而不是必须重新编译链接二进制的动态链接库。
将二进制数据文件311加载至新版本的电路板观视程序,并检查二进制数据文件311所属版本是否与新版本的电路板观视程序一致。由于新旧版本的电路板开发软件所输出的二进制数据文件311会影响电路板观视程序的开启。因此,在新版本的电路板观视程序加载二进制数据文件311时,需检查开启的版本是否一致。若是二进制数据文件311与新版本的电路板观视程序的版本一致时,则由二进制数据文件311中取出元件数据电路模块的数据逻辑结构211与数据物理储存结构212。换言之,二进制数据文件311不需转换可直接加载于新版本的电路板观视程序。
若二进制数据文件311与新版本的电路板观视程序的版本不一致时,则新版本的电路板观视程序运行调配脚本并调用一操作接口,通过操作接口从动态连结文件312中取出元件数据电路模块与相应的数据逻辑结构211与数据物理储存结构212。根据所取出的元件数据电路模块与相应的数据逻辑结构211与数据物理储存结构212加入二进制数据文件311中,藉以产生观看文件313。
在此以下述例子作为说明,但其中相关参数并非本发明的限制。假设在二进制数据文件311进行修改时分别于第一时间与第二时间产生相应的“A1161.BDB”,“A1172.BDB”二进制的观看文件313。
Figure GSB00000783465900061
通过调配脚本将新修改数据结构打包成为PYTHON脚本程序可调用的文件形式,其创建动态链接库扩展接口项目如Bdv24_DataStruct,并在项目中指定”BOOST.PYTHON”命名空间以实现引入包装库存空间中指令(请参考下述档头所示)。
#include<Bdv24_DataStruct>
#include<boost/python.hpp>//包含Boost.Python的头文件
usingnamespace boost::python;//引入名字空间
#progma comment(lib,“boost_python.lib”)
在建动态链接库扩展接口的项目中,在同一个二进制二进制数据文件311中可将不同新增版本的数据结构定义创建在不同的命名空间,自定义命名空间名称前缀,如DataStruct,包装时可用以下格式完成对命名空间包装。在C++中对于自定义结构体而言可转换为标准类GraphAtom,并定义为:
Figure GSB00000783465900071
包装命名空间及GraphAtom结构体类,以下为对类别与命名空间进行设定的设定:
class DataStruct{};//声明空类,用以包装成新命名空间名。当前设定目标命名空间名为BOOST_PYTHON_MODULE(BDV24)//用″BDV24″做模块前缀。
Figure GSB00000783465900081
Figure GSB00000783465900091
在新生成的”Bdv24DataStruct.dll”动态连结文件312中包含两组不同成员声明的同名数据结构类。如果当前的观看文件313内部已更新为新的GraphAtom数据结构。所以在导入”A1172.BDB”档时,会在核对该文件记录的结构版本信息与观看文件313的版本产生不一致,因此会在新版本的电路板观视程序启动时调用中间层的调配脚本。
调配脚本中定义了观看文件313操作所需的对应数据结构操作接口,并可调用操作接口以接收数据值,进而实现中调用指定版本DLL中C/C++描述的数据结构并创建”1172.bdb”数据块所需要结构体类型变量以保存数据值。同时提供数据结构操作接口以供观看文件313层面使用.最终实现了观看文件313在运行时动态创建”A1172.BDB”所需要的自定义结构体类型变量构成的底层数据结构,这样一来可以提高电路板观视程序对异构数据结构导出的二进制二进制数据文件311向下的兼容性。
本发明提供一种电路板观视程序的文件格式的转换方法,用以将电路开发软件所能读取的二进制数据文件311转换成电路板观视程序所支持的观视文件。并且根据二进制数据文件311在各修改元件数据电路模块的期间,输出相应的动态连结文件312,使得电路板观视程序在进行观看时可以分别的加载不同修改期间的元件数据电路模块。
虽然本发明已以一较佳实施例揭露如上,然其并非用以限定本发明,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (3)

1.一种电路板观视程序的文件格式的转换方法,将一电路板观视程序加载的一二进制数据文件转换为一新版本的电路板观视程序所支持的一观看文件,其特征在于,该转换方法包括下列步骤:
步骤a.由该电路板观视程序加载具有多个元件数据电路模块的该二进制数据文件,该二进制数据文件的每一该元件数据电路模块均包括一数据逻辑结构与一数据物理储存结构;
步骤b.取得该元件数据电路模块修改后的该数据逻辑结构与该数据物理储存结构;
步骤c.对修改后的该数据逻辑结构与该数据物理储存结构运行一调配脚本,通过该调配脚本将该数据逻辑结构与该数据物理储存结构绑定成一动态连结文件;
步骤d.将该二进制数据文件加载至该新版本的电路板观视程序;
步骤e.检查该二进制数据文件所属版本是否与该新版本的电路板观视程序一致;
步骤f.若该二进制数据文件与该新版本的电路板观视程序的版本不一致时,则该新版本的电路板观视程序运行该调配脚本并调用该调配脚本中定义的一数据结构操作接口,通过该数据结构操作接口从该动态连结文件中取出该元件数据电路模块与相应的该数据逻辑结构与该数据物理储存结构;以及
步骤g.根据所取出的该元件数据电路模块与相应的该数据逻辑结构与该数据物理储存结构加入该二进制数据文件中,藉以产生该观看文件。
2.如权利要求1所述的电路板观视程序的文件格式的转换方法,其特征在于,该调配脚本为Python脚本程序。
3.如权利要求1所述的电路板观视程序的文件格式的转换方法,其特征在于,若该二进制数据文件与该新版本的电路板观视程序的版本一致时,则由该二进制数据文件中取出该元件数据电路模块的该数据逻辑结构与该数据物理储存结构。
CN200910225758A 2009-11-30 2009-11-30 电路板观视程序的文件格式的转换方法 Expired - Fee Related CN102081596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910225758A CN102081596B (zh) 2009-11-30 2009-11-30 电路板观视程序的文件格式的转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910225758A CN102081596B (zh) 2009-11-30 2009-11-30 电路板观视程序的文件格式的转换方法

Publications (2)

Publication Number Publication Date
CN102081596A CN102081596A (zh) 2011-06-01
CN102081596B true CN102081596B (zh) 2012-09-05

Family

ID=44087565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910225758A Expired - Fee Related CN102081596B (zh) 2009-11-30 2009-11-30 电路板观视程序的文件格式的转换方法

Country Status (1)

Country Link
CN (1) CN102081596B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992992B (zh) * 2017-11-07 2021-12-21 中国银行股份有限公司 银联ic卡交易数据分析系统及方法
CN111142934B (zh) * 2019-11-28 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种可受加载的文件格式设计方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740405A (en) * 1992-12-17 1998-04-14 Microsoft Corporation Method and system for providing data compatibility between different versions of a software program
CN101008894A (zh) * 2007-01-26 2007-08-01 华为技术有限公司 实现系统新旧版本兼容的方法及装置
CN101388018A (zh) * 2007-09-13 2009-03-18 英业达股份有限公司 电脑辅助设计文件的管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740405A (en) * 1992-12-17 1998-04-14 Microsoft Corporation Method and system for providing data compatibility between different versions of a software program
CN101008894A (zh) * 2007-01-26 2007-08-01 华为技术有限公司 实现系统新旧版本兼容的方法及装置
CN101388018A (zh) * 2007-09-13 2009-03-18 英业达股份有限公司 电脑辅助设计文件的管理方法

Also Published As

Publication number Publication date
CN102081596A (zh) 2011-06-01

Similar Documents

Publication Publication Date Title
Brown et al. Graphics file formats: reference and guide
CN111367886B (zh) 数据库中数据迁移的方法及装置
Virding et al. Concurrent programming in ERLANG
Gavish et al. A universal identifier for computational results
CN104360865A (zh) 一种序列化方法、反序列化方法及相关设备
Smith On vertex-vertex systems and their use in geometric and biological modelling
CN102981941A (zh) 一种告警处理方法及告警处理装置
CN106843842B (zh) 一种应用程序配置文件的更新方法及装置
CN103389992A (zh) 一种结构化数据存储方法及装置
CN105045631A (zh) 一种升级客户端侧应用程序的方法和装置
CN110275861A (zh) 数据存储方法及装置、存储介质、电子装置
CN104102489A (zh) 一种第三方数据库app构建系统及构建方法
CN104216961A (zh) 一种数据处理方法和装置
US7013468B2 (en) Method and apparatus for design and manufacturing application associative interoperability
CN105224309A (zh) 一种调取函数的方法和装置
CN104267966A (zh) 软件的程序代码的生成方法及装置
CN108762767A (zh) 应用发布方法、装置及计算机可读存储介质
CN106326129A (zh) 一种程序异常信息生成方法及装置
CN101154227A (zh) 一种基于asn类型对象的代码生成方法
CN109491962A (zh) 一种文件目录树管理方法及相关装置
CN112181432A (zh) ReactNative框架中实现bundle的模块化打包处理的系统
CN102081596B (zh) 电路板观视程序的文件格式的转换方法
CN104375814A (zh) 接口文档的生成方法及装置
CN103501341A (zh) 一种Web服务的创建方法及装置
CN105512039A (zh) 一种软件测试申请单的生成方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Fan Dongxue

Inventor before: Liu Yule

Inventor before: Chen Xuantong

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170919

Address after: Three village of Huanan County of Jiamusi city in Heilongjiang Province Ming Yi Xiang 2 Group No. 143

Patentee after: Fan Dongxue

Address before: Taipei City, Taiwan, China

Patentee before: Inventec Corporation

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: Xinyi Road Xiufeng District, Guilin city 541001 No. 93 the Guangxi Zhuang Autonomous Region

Patentee after: Fan Dongxue

Address before: Three village of Jiamusi city in Heilongjiang Province Ming Yi 154400 Huanan County Township 2 Group No. 143

Patentee before: Fan Dongxue

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Three village of Jiamusi city in Heilongjiang Province Ming Yi 154400 Huanan County Township 2 Group No. 143

Patentee after: Fan Dongxue

Address before: Xinyi Road Xiufeng District, Guilin city 541001 No. 93 the Guangxi Zhuang Autonomous Region

Patentee before: Fan Dongxue

CP02 Change in the address of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20171130

CF01 Termination of patent right due to non-payment of annual fee