CN114419282A - 电路板模型文件生成方法、可视化方法、模块、装置及介质 - Google Patents

电路板模型文件生成方法、可视化方法、模块、装置及介质 Download PDF

Info

Publication number
CN114419282A
CN114419282A CN202210082163.3A CN202210082163A CN114419282A CN 114419282 A CN114419282 A CN 114419282A CN 202210082163 A CN202210082163 A CN 202210082163A CN 114419282 A CN114419282 A CN 114419282A
Authority
CN
China
Prior art keywords
circuit board
layer
file
model
layers
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
Application number
CN202210082163.3A
Other languages
English (en)
Inventor
谢国清
邓东裕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yuncai Network Technology Co ltd
Original Assignee
Shenzhen Yuncai Network Technology Co ltd
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 Shenzhen Yuncai Network Technology Co ltd filed Critical Shenzhen Yuncai Network Technology Co ltd
Priority to CN202210082163.3A priority Critical patent/CN114419282A/zh
Publication of CN114419282A publication Critical patent/CN114419282A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种电路板三维模型的模型文件生成方法,通过将图形数据转换为网格数据而有利于借助openGL、webGL等图形API直接调用系统显卡GPU的绘图功能,在显示器上显示电路板三维图像,从而实现电路板的可视化。所述电路板三维模型包括多个电路板图层,所述模型文件生成方法包括:步骤S1:获取Gerber文件,根据所述Gerber文件的语法规则,对所述Gerber文件进行解析,得到图形数据;其中,所述图形数据包括顶点坐标、线段及曲线;步骤S2:通过三角剖分算法对所述图形数据进行三角化处理,得到所述多个电路板图层的网格数据;以及步骤S3:根据所述多个电路板图层的网格数据生成所述电路板三维模型的模型文件。

Description

电路板模型文件生成方法、可视化方法、模块、装置及介质
技术领域
本申请涉及电路板的技术领域,具体涉及一种基于Gerber文件的电路板三维模型的模型文件生成方法、模型文件生成模块、电路板可视化方法、电路板可视化装置、及存储介质。
背景技术
电路板是现代电子产品中至关重要的组成部分。随着电子产业的逐渐升级,电路板已经朝着高精密、高密度、小体积、多层数的方向快速发展;因此,无论是电路板供应方还是需求方对电路板的设计、研发、制造效率均提出越来越高的要求和期望。
由于,可视化技术使人能够在三维图形世界中直接对具有形体的信息进行操作,和计算机直接交流,把人和机器的力量以一种直觉而自然的方式加以统一,极大地提高了人们的工作效率;因此,将可视化技术应用在电路板技术领域,是行业发展的一个趋势;一个具体应用案例为可以是:通过可视化技术预先观察电路板的成品效果,提前发现生产问题,降低生产出错率。
然而,可视化技术离不开三维模型,因此,提供一种基于Gerber文件的电路板三维模型的模型文件生成方法、模型文件生成模块、基于该三维模型的电路板可视化方法,电路板可视化装置、及存储介质以提高电路板的设计、研发、制造效率,已成为目前亟待解决的问题。
发明内容
有鉴于此,本申请提供了一种基于Gerber文件的电路板三维模型的模型文件生成方法、模型文件生成模块、电路板可视化方法、电路板可视化装置、及存储介质,以实现电路板的可视化。
根据本申请的一个方面,本申请提供了一种电路板三维模型的模型文件生成方法,所述电路板三维模型包括多个电路板图层,所述模型文件生成方法包括:步骤S1:获取Gerber文件,根据所述Gerber文件的语法规则,对所述Gerber文件进行解析,得到图形数据;其中,所述图形数据包括顶点坐标、线段及曲线;步骤S2:通过三角剖分算法对所述图形数据进行三角化处理,得到所述多个电路板图层的网格数据;以及步骤S3:根据所述多个电路板图层的网格数据生成所述电路板三维模型的模型文件。
在一种可能的实现方式中,所述Gerber文件包括多个Gerber子文件,每个所述Gerber子文件对应一个所述电路板图层;所述网格数据包括多个子网格数据;其中,所述步骤S1包括:步骤S11:依次读取所述多个Gerber子文件的文本,遍历多个所述文本的所有行,解析得到所述多个电路板图层的图形数据;
所述步骤S2包括:步骤S21:通过三角剖分算法,对所述图形数据进行三角化处理,得到所述多个子网格数据;其中,所述多个子网格数据与所述多个电路板图层一一对应设置。
在一种可能的实现方式中,所述步骤S3包括:步骤S31:获取各个所述电路板图层的位置信息;步骤S32:获取各个所述电路板图层的颜色信息;以及步骤S33:根据各个所述电路板图层的子网格数据、位置信息及颜色信息,生成所述电路板三维模型的模型文件。
在一种可能的实现方式中,所述电路板包括铜层和基板层,所述多个电路板图层包括对应所述铜层设置的铜图层和对应所述基板层设置的outline图层;
所述步骤S31包括:步骤S311:根据所述Gerber子文件的文件名和\或后缀,获得对应所述Gerber子文件的电路板图层的类别信息;以及步骤S312:当所述电路板图层的类别信息表明所述电路板图层为outline图层时,将所述outline图层的图层厚度赋予设定值;步骤S313:根据所述Gerber文件,获取所述多个电路板图层中铜图层的层数;以及步骤S314:根据所述outline图层的图层厚度,所述铜图层的层数,所述电路板图层的类别信息及预设的所述电路板图层的位置显示规则,得到各个所述电路板图层的位置信息。
在一种可能的实现方式中,所述步骤S32包括:步骤S321:根据所述电路板图层的类别信息及预设的所述电路板图层的颜色显示规则,得到各个所述电路板图层的颜色信息。
在一种可能的实现方式中,所述模型文件包括多个子模型文件,其中,每个所述子模型文件对应一个所述电路板图层;所述步骤S33包括:步骤S331:根据每个所述电路板图层的子网格数据、位置信息及颜色信息,生成所述每个电路板图层对应的所述子模型文件;以及步骤S332:根据多个所述子模型文件,生成所述电路板三维模型的模型文件;其中,所述步骤S331包括:步骤S3311:将所述outline图层的图层厚度的设定值保存在与所述outline图层对应的所述子模型文件中;步骤S3312:将每个所述电路板图层的所述子网格数据、所述位置信息及所述颜色信息,保存在与所述电路板图层对应的所述子模型文件中;以及步骤S3313:根据所述电路板图层的类别信息,设置所述电路板图层对应的所述子模型文件的文件名。
在一种可能的实现方式中,所述电路板还包括阻焊层、助焊层、及丝印层;所述多个电路板图层还包括对应所述阻焊层设置的阻焊图层、对应所述助焊层设置的助焊图层、及对应所述丝印层设置的丝印图层。
在一种可能的实现方式中,所述模型文件还包括索引文件;所述索引文件用于供模型文件获取单元根据所述子模型文件的文件名,获取所述文件名对应的子模型文件。
作为本申请的第二方面,本申请提供了一种电路板三维模型的生成模块,所述电路板三维模型包括多个电路板图层,所述生成模块包括:Gerber文件解析单元,用于获取Gerber文件,根据所述Gerber文件的语法规则,对所述Gerber文件进行解析,得到图形数据;其中,所述图形数据包括顶点坐标、线段及曲线;图形数据处理单元,用于通过三角剖分算法对所述图形数据进行三角化处理,得到网格数据;以及模型文件生成单元,用于根据所述多个电路板图层的网格数据生成所述电路板三维模型的模型文件。
作为本申请的第三方面,本申请提供了一种电路板的可视化方法,所述可视化方法包括上述电路板三维模型的模型文件生成方法;在生成所述模型文件后,所述可视化方法还包括:步骤S41:解析所述模型文件,基于3D绘图接口对所述模型文件进行标准化处理,得到对应所述3D绘图接口的可绘制模型对象;步骤S42:根据所述可绘制模型对象,绘制所述电路板的三维图像;以及步骤S43:根据终端输入信号以及对应所述终端输入信号预设的浏览模式,显示所述电路板的三维图像在所述浏览模式下的视图。
在一种可能的实现方式中,所述3D绘图接口包括openGL或webGL或DirectX或Vulkan;
所述步骤S42包括:步骤S421:设置场景参数;其中,所述场景参数包括光照参数和背景参数;以及步骤S422:根据所述场景参数和所述可绘制模型对象,绘制所述电路板的三维图像以及包括所述电路板的三维图像的场景。
在一种可能的实现方式中,在所述步骤S421之后和所述步骤S422之前,所述步骤S42还包括:步骤S423:通过显示优化算法对所述场景的显示效果进行优化。
作为本申请的第五方面,本申请提供了一种电路板的可视化装置,包括:上述生成模块;以及显示模块;其中,所述显示模块包括:模型文件解析单元,用于解析所述模型文件,基于3D绘图协议对所述模型文件进行标准化处理,得到对应所述3D绘图接口的可绘制模型对象;绘制单元,用于根据所述可绘制模型对象,绘制所述电路板的三维图像;以及浏览单元,用于根据终端输入信号以及对应所述终端输入信号预设的浏览模式,显示所述电路板的三维图像在所述浏览模式下的视图。
本申请中通过获取Gerber文件,根据所述Gerber文件的语法规则,对所述Gerber文件进行解析,得到图形数据;通过三角剖分算法对所述图形数据进行三角化处理,得到所述多个电路板图层的网格数据;将图形数据转换为网格数据有利于借助openGL、webGL等图形API直接调用系统显卡GPU的绘图功能,在显示器上显示电路板三维图像,以实现电路板的可视化;进而,电路板供应方或需求方可以预先观察电路板的成品效果,提前发现生产问题,降低生产出错率。
本申请中通过解析Gerber文件生成具有多个电路板图层网格数据的电路板三维模型模型文件,其中,在电路板可视化过程中生成模型文件作为中间文件,是为了方便之后的解析,解决了现有技术中直接解析Gerber文件时因Gerber文件较大而耗时较长的技术问题。
附图说明
图1所示为本申请提供的一种电路板的可视化方法的流程示意图,其中,步骤S1~S3为本申请提供的一种电路板三维模型的模型文件生成方法;
图2为图1所示的可视化方法的步骤S4的流程示意图;
图3所示为本申请提供的一种可视化装置的结构示意图,其中,可视化装置包括生成模块和显示模块;
图4所示为本申请中多个子网格数据和多个电路板图层之间的对应关系示意图;
图5所示为本申请中多个Gerber子文件和多个子模型文件分别与多个电路板图层之间的对应关系示意图;
图6所示为本申请提供的电子设备的结构示意图。
具体实施方式
本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后、顶、底……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1所示为本申请一种可能的实现方式提供的一种基于Gerber文件A的电路板三维模型的模型文件生成方法的流程示意图。其中,电路板三维模型包括多个电路板图层。其中,Gerber文件A是电路板行业软件描述电路板(线路层、阻焊层、字符层等)图像及钻、铣数据的文档格式集合,是电路板行业图像转换的标准格式。Gerber文件通常是由电路板设计人员使用专业的电子设计自动化(EDA)或者CAD软件产生的。
如图1所示,模型文件生成方法包括如下步骤:
步骤S1:获取Gerber文件A,根据Gerber文件A的语法规则,对Gerber文件A进行解析,得到图形数据;
其中,图形数据包括顶点坐标、线段及曲线等几何形状的矢量数据。
步骤S2:通过三角剖分算法对图形数据进行三角化处理,得到多个电路板图层的网格数据;
具体地,三角剖分算法用以将图形数据转换成openGL、webGL等图形API(Application Programming Interface)能直接绘制的网格数据格式。可选地,所使用的三角剖分算法为earcut.triangulate。
步骤S3:根据多个电路板图层的网格数据生成电路板三维模型的模型文件B。
本实现方式中,将Gerber文件A解析到的图形数据转化为网格数据,有利于借助openGL、webGL等图形API直接调用系统显卡GPU(graphics processing unit)的绘图功能,以在显示器上显示电路板三维图像;进而,电路板供应方或需求方可以预先观察电路板的成品效果,提前发现生产问题,降低生产出错率。
本实现方式中通过解析Gerber文件A生成具有多个电路板图层网格数据的电路板三维模型模型文件B。
在电路板可视化过程中生成模型文件B作为中间文件,是为了方便之后能够通过快速解析模型文件B绘制三维图像,解决了现有技术中直接解析Gerber文件时因Gerber文件较大而耗时较长的技术问题。
可选地,如图5所示,Gerber文件A可以包括多个Gerber子文件a,也可以是由多个Gerber子文件a整合成一个文件。
在一种可能的实现方式中,结合图4和图5所示,Gerber文件A{a1,a2…an}包括多个Gerber子文件a,每个Gerber子文件a对应一个电路板图层;网格数据包括多个子网格数据。
具体地,步骤S1包括如下步骤:
步骤S11:依次读取多个Gerber子文件a的文本,遍历多个文本的所有行,解析得到多个电路板图层的图形数据。
具体地,步骤S2包括:
步骤S21:通过三角剖分算法,对图形数据进行三角化处理,得到多个子网格数据。
具体地,如图4所示,多个子网格数据与多个电路板图层一一对应设置,每个子网格数据表达的是对应电路板图层的形状和尺寸信息。
可选地,每一电路板图层对应有至少一个Gerber子文件a。
多个电路板图层按照预设的位置显示规则在三维空间有序分布,且每一个电路板图层按照预设的颜色显示规则显示特定颜色。
可选地,各个电路板图层的位置信息或颜色信息可以在电路板三维模型的模型文件B生成过程中,直接写入模型文件B,也可以,在获取模型文件B后、绘制电路板的三维图像之前设置各个电路板图层的位置信息或颜色信息。
在一种可能的实现方式中,结合图1、图4及图5所示,步骤S3包括如下步骤:
步骤S31:获取各个电路板图层的位置信息。
步骤S32:获取各个电路板图层的颜色信息。
执行步骤S11和步骤S21获得各个电路板图层的子网格数据,执行步骤S31和S32获得各个电路板图层的位置信息和颜色信息,根据多个子网格数据、多个位置信息以及多个颜色信息生成电路板三维模型的模型文件B;即,执行步骤S33:根据各个电路板图层的子网格数据、位置信息及颜色信息,生成电路板三维模型的模型文件B。
在一种可能的实现方式中,电路板包括铜层和基板层,多个电路板图层包括对应铜层设置的铜图层和对应基板层设置的outline图层;其中,outline图层用于定义电路板上的走线、铺铜、焊盘等物体到电路板板边的距离规则,以将走线、铺铜、焊盘等物体限制在安全区域内,防止出现DFM(Design for manufacturability,可制造性设计)的问题。
具体地,结合图1、图4及图5所示,步骤S31包括如下步骤:
步骤S311:根据Gerber子文件a的文件名和\或后缀,获得对应Gerber子文件a的电路板图层的类别信息;
比如当Gerber子文件a的文件名为outline时,获得该Gerber子文件a对应的电路板图层的类别信息为outline图层。
步骤S312:当电路板图层的类别信息表明电路板图层为outline图层时,将outline图层的图层厚度赋予设定值;
可选地,设定值为2mm。
步骤S313:根据Gerber文件,获取多个电路板图层中铜图层的层数。
步骤S314:根据outline图层的图层厚度,铜图层的层数,电路板图层的类别信息及预设的电路板图层的位置显示规则,得到各个电路板图层的位置信息。
具体地,电路板还包括阻焊层、助焊层、及丝印层;多个电路板图层还包括对应阻焊层设置的阻焊图层、对应助焊层设置的助焊图层、及对应丝印层设置的丝印图层。
可选地,由于outline图层的图层厚度为电路板基板层的厚度,因此可以根据铜层的层数均分基板层的厚度,将计算得到的厚度均值作为上铜层和下铜层的距离,而阻焊层、助焊层及丝印层的层厚设置为零。
根据电路板的制造工艺,不同类别的电路板图层在三维空间的位置是不同的,具体表现为,铜层位于电路板内部(若是多个铜层,则按照上述厚度均值间隔排布);阻焊层、助焊层、丝印层叠加于铜层的外表面。
不同类别的电路板图层显示的颜色也不同,可选地,铜图层显示为黄色,丝印图层显示为白色,阻焊图层显示为绿色;在一种可能的实现方式中,结合图1、图4及图5所示,步骤S32包括步骤S321:根据电路板图层的类别信息及预设的电路板图层的颜色显示规则,得到各个电路板图层的颜色信息。
在一种可能的实现方式中,结合图1、图4及图5所示,模型文件B{b1,b2…bn}包括多个子模型文件b,其中,每个子模型文件b对应一个电路板图层;具体地,步骤S33包括如下步骤:
步骤S331:根据每个电路板图层的子网格数据、位置信息及颜色信息,生成每个电路板图层对应的子模型文件b;以及
步骤S332:根据多个子模型文件b,生成电路板三维模型的模型文件B。
具体地,步骤S331包括如下步骤:
步骤S3311:将outline图层的图层厚度的设定值保存在与outline图层对应的子模型文件b中;
步骤S3312:将每个电路板图层的子网格数据、位置信息及颜色信息,保存在与电路板图层对应的子模型文件b中;以及
步骤S3313:根据电路板图层的类别信息,设置电路板图层对应的子模型文件b的文件名。
在一种可能的实现方式中,模型文件B还包括索引文件;索引文件用于供模型文件解析单元201根据子模型文件b的文件名,获取文件名对应的子模型文件b。
作为本申请的第二方面,本申请提供了一种基于Gerber文件A的电路板三维模型的生成模块100,其中,电路板三维模型包括多个电路板图层,图3所示为本申请一种可能的实现方式提供的一种生成模块100,包括:Gerber文件解析单元101,用于获取Gerber文件,根据Gerber文件的语法规则,对Gerber文件进行解析,得到图形数据;其中,图形数据包括顶点坐标、线段及曲线;图形数据处理单元102,用于通过三角剖分算法对图形数据进行三角化处理,得到网格数据;以及模型文件生成单元103,用于根据多个电路板图层的网格数据生成电路板三维模型的模型文件B。
可选地,模型文件B可以包括多个子模型文件b,也可以是由多个子模型文件b整合成一个文件。
作为本申请的第三方面,本申请提供了一种电路板的可视化方法,其中,可视化方法包括上述电路板三维模型的模型文件生成方法;其中,模型文件B被生成后,在显示器的文件生成界面显示文件名或其他信息,通过鼠标点击模型文件B,加载和解析模型文件B的程序被触发。
图2所示为本申请一种可能的实现方式提供的一种可视化方法,在生成模型文件B后,可视化方法还包括步骤S4:根据模型文件B,进行电路板三维模型的可视化,其中,电路板供应方或需求方利用电路板三维模型的可视化,可以预先观察电路板的成品效果,提前发现生产问题,降低生产出错率
具体地,步骤S4如下步骤:
步骤S41:解析模型文件B,基于3D绘图接口对模型文件B进行标准化处理,得到对应3D绘图接口的可绘制模型对象;
步骤S42:根据可绘制模型对象,绘制电路板的三维图像;以及
步骤S43:根据终端输入信号以及对应终端输入信号预设的浏览模式,显示电路板的三维图像在浏览模式下的视图。
可选地,各个电路板图层的位置信息或颜色信息可以在电路板三维模型的模型文件B生成过程中,即步骤S3312,直接写入模型文件B,也可以在电路板三维模型可视化的过程中,即步骤S42中设置各个电路板图层的位置信息或颜色信息。
在一种可能的实现方式中,3D绘图接口包括openGL或webGL或DirectX或Vulkan;当3D绘图接口为webGL时,在网页浏览器显示电路板的三维图像。
具体地,如图2所示,步骤S42包括如下步骤:
步骤S421:设置场景参数;
具体地,场景参数包括光照参数和背景参数。
步骤S422:根据场景参数和可绘制模型对象,绘制电路板的三维图像以及包括电路板的三维图像的场景。
具体地,场景代表整个空间和空间里的物体,本实现方式中的电路板三维模型即为场景中的物体。
在一种可能的实现方式中,如图2所示,在步骤S421之后和步骤S422之前,步骤S42还包括步骤S423:通过显示优化算法对场景的显示效果进行优化。
具体地,显示优化算法包括调整光照参数,以及设置深度缓冲参数;其中设置深度缓冲参数的目的是减轻电路板三维模型的阻焊图层、助焊图层、丝印图层之间的深度冲突问题。
在一种可能的实现方式中,如图2所示,步骤S422包括如下步骤:
步骤S4221:设置视角参数,使得电路板的三维图像以特定视角显示;
可选地,计算正面显示电路板三维模型的视角参数,以正面显示电路板的三维图像的top面。
步骤S4222:根据场景参数(步骤S421)、视角参数(步骤S4221)和可绘制模型对象(步骤S41),绘制电路板的三维图像以及包括电路板的三维图像的场景。
作为本申请的第四方面,本申请提供了一种电路板的可视化装置1000,图3所示为本申请一种可能的实现方式提供的一种可视化装置1000,包括:上述生成模块100;以及显示模块200;其中,显示模块200包括:模型文件解析单元201,用于解析模型文件B,基于3D绘图协议对模型文件B进行标准化处理,得到对应3D绘图接口的可绘制模型对象;绘制单元202,用于根据可绘制模型对象,绘制电路板的三维图像;以及浏览单元203,用于根据终端输入信号以及对应终端输入信号预设的浏览模式,显示电路板的三维图像在浏览模式下的视图。
具体地,模型文件解析单元201,还用于根据索引文件,获取目标电路板图层对应的子模型文件b,其中,索引文件包含如下信息:电路板三维模型有哪几个电路板图层,以及各个电路板图层对应的子模型文件b的路径信息。
可选地,每一电路板图层对应有至少一个子模型文件b。
在一种可能的实现方式中,终端输入信号通过人机交互界面中的按钮触发;浏览模式包括:电路板图层分层显示模式,电路板图层单独显示模式,测量模式,X-Y平面标尺显示模式,及电路板尺寸显示模式。
参考图6来描述根据本申请实施例的电子设备。图6所示为本申请一实施例提供的电子设备的结构示意图。
如图6所示,电子设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或者具有数据处理能力和\或信息执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器602可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和\或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和\或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序信息,处理器601可以运行程序信息,以实现上文的本申请的各个实施例的模型文件生成方法、可视化方法或者其他期望的功能。
在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和\或其他形式的连接机构(未示出)互连。
该输入装置603可以包括例如键盘、鼠标等等。
该输出装置604可以向外部输出各种信息。该输出装置604可以包括例如显示器、通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备600中与本申请有关的组件中的一些,省略了诸如总线、输入\输出接口等等的组件。除此之外,根据具体应用情况,电子设备600还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序信息,计算机程序信息在被处理器运行时使得处理器执行本说明书中描述的根据本申请各种实施例的模型文件生成方法、可视化方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,作为本申请的第四个方面,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序信息,计算机程序信息在被处理器运行时使得处理器执行本说明书根据本申请各种实施例模型文件生成方法或可视化方法中的步骤。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和\或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和\或重新组合的。这些分解和\或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。
上述仅为本申请创造的较佳实施例而已,并不用以限制本申请创造,凡在本申请创造的精神和原则之内,所作的任何修改、等同替换等,均应包含在本申请创造的保护范围之内。

Claims (13)

1.一种电路板三维模型的模型文件生成方法,其特征在于,所述电路板三维模型包括多个电路板图层,所述模型文件生成方法包括:
步骤S1:获取Gerber文件,根据所述Gerber文件的语法规则,对所述Gerber文件进行解析,得到图形数据;其中,所述图形数据包括顶点坐标、线段及曲线;
步骤S2:通过三角剖分算法对所述图形数据进行三角化处理,得到所述多个电路板图层的网格数据;以及
步骤S3:根据所述多个电路板图层的网格数据生成所述电路板三维模型的模型文件。
2.根据权利要求1所述的模型文件生成方法,其特征在于:
所述Gerber文件包括多个Gerber子文件,每个所述Gerber子文件对应一个所述电路板图层;所述网格数据包括多个子网格数据;
其中,所述步骤S1包括:
步骤S11:依次读取所述多个Gerber子文件的文本,遍历多个所述文本的所有行,解析得到所述多个电路板图层的图形数据;
所述步骤S2包括:
步骤S21:通过三角剖分算法,对所述图形数据进行三角化处理,得到所述多个子网格数据;其中,所述多个子网格数据与所述多个电路板图层一一对应设置。
3.根据权利要求2所述的模型文件生成方法,其特征在于,所述步骤S3包括:
步骤S31:获取各个所述电路板图层的位置信息;
步骤S32:获取各个所述电路板图层的颜色信息;以及
步骤S33:根据各个所述电路板图层的子网格数据、位置信息及颜色信息,生成所述电路板三维模型的模型文件。
4.根据权利要求3所述的模型文件生成方法,其特征在于,所述电路板包括铜层和基板层,所述多个电路板图层包括对应所述铜层设置的铜图层和对应所述基板层设置的outline图层;
所述步骤S31包括:
步骤S311:根据所述Gerber子文件的文件名和\或后缀,获得对应所述Gerber子文件的电路板图层的类别信息;以及
步骤S312:当所述电路板图层的类别信息表明所述电路板图层为outline图层时,将所述outline图层的图层厚度赋予设定值;
步骤S313:根据所述Gerber文件,获取所述多个电路板图层中铜图层的层数;以及
步骤S314:根据所述outline图层的图层厚度,所述铜图层的层数,所述电路板图层的类别信息及预设的所述电路板图层的位置显示规则,得到各个所述电路板图层的位置信息。
5.根据权利要求4所述的模型文件生成方法,其特征在于,所述步骤S32包括:
步骤S321:根据所述电路板图层的类别信息及预设的所述电路板图层的颜色显示规则,得到各个所述电路板图层的颜色信息。
6.根据权利要求5所述的模型文件生成方法,其特征在于,所述模型文件包括多个子模型文件,其中,每个所述子模型文件对应一个所述电路板图层;所述步骤S33包括:
步骤S331:根据每个所述电路板图层的子网格数据、位置信息及颜色信息,生成所述每个电路板图层对应的所述子模型文件;以及
步骤S332:根据多个所述子模型文件,生成所述电路板三维模型的模型文件;
其中,所述步骤S331包括:
步骤S3311:将所述outline图层的图层厚度的设定值保存在与所述outline图层对应的所述子模型文件中;
步骤S3312:将每个所述电路板图层的所述子网格数据、所述位置信息及所述颜色信息,保存在与所述电路板图层对应的所述子模型文件中;以及
步骤S3313:根据所述电路板图层的类别信息,设置所述电路板图层对应的所述子模型文件的文件名。
7.根据权利要求6所述的模型文件生成方法,其特征在于,所述电路板还包括阻焊层、助焊层、及丝印层;所述多个电路板图层还包括对应所述阻焊层设置的阻焊图层、对应所述助焊层设置的助焊图层、及对应所述丝印层设置的丝印图层。
8.根据权利要求6所述的模型文件生成方法,其特征在于,所述模型文件还包括索引文件;所述索引文件用于供模型文件获取单元根据所述子模型文件的文件名,获取所述文件名对应的子模型文件。
9.一种电路板三维模型的生成模块,其特征在于,所述电路板三维模型包括多个电路板图层,所述生成模块包括:
Gerber文件解析单元,用于获取Gerber文件,根据所述Gerber文件的语法规则,对所述Gerber文件进行解析,得到图形数据;其中,所述图形数据包括顶点坐标、线段及曲线;
图形数据处理单元,用于通过三角剖分算法对所述图形数据进行三角化处理,得到网格数据;以及
模型文件生成单元,用于根据所述多个电路板图层的网格数据生成所述电路板三维模型的模型文件。
10.一种电路板的可视化方法,其特征在于,所述可视化方法包括权利要求1~8任一项所述的电路板三维模型的模型文件生成方法;在生成所述模型文件后,所述可视化方法还包括:
步骤S41:解析所述模型文件,基于3D绘图接口对所述模型文件进行标准化处理,得到对应所述3D绘图接口的可绘制模型对象;
步骤S42:根据所述可绘制模型对象,绘制所述电路板的三维图像;以及
步骤S43:根据终端输入信号以及对应所述终端输入信号预设的浏览模式,显示所述电路板的三维图像在所述浏览模式下的视图。
11.根据权利要求10所述的可视化方法,其特征在于,所述3D绘图接口包括openGL或webGL或DirectX或Vulkan;
所述步骤S42包括:
步骤S421:设置场景参数;其中,所述场景参数包括光照参数和背景参数;以及
步骤S422:根据所述场景参数和所述可绘制模型对象,绘制所述电路板的三维图像以及包括所述电路板的三维图像的场景。
12.根据权利要求10所述的可视化方法,其特征在于,在所述步骤S421之后和所述步骤S422之前,所述步骤S42还包括:
步骤S423:通过显示优化算法对所述场景的显示效果进行优化。
13.一种电路板的可视化装置,其特征在于,包括:
如权利要求9所述的生成模块;以及
显示模块;
其中,所述显示模块包括:
模型文件解析单元,用于解析所述模型文件,基于3D绘图协议对所述模型文件进行标准化处理,得到对应所述3D绘图接口的可绘制模型对象;
绘制单元,用于根据所述可绘制模型对象,绘制所述电路板的三维图像;以及
浏览单元,用于根据终端输入信号以及对应所述终端输入信号预设的浏览模式,显示所述电路板的三维图像在所述浏览模式下的视图。
CN202210082163.3A 2022-01-24 2022-01-24 电路板模型文件生成方法、可视化方法、模块、装置及介质 Pending CN114419282A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210082163.3A CN114419282A (zh) 2022-01-24 2022-01-24 电路板模型文件生成方法、可视化方法、模块、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210082163.3A CN114419282A (zh) 2022-01-24 2022-01-24 电路板模型文件生成方法、可视化方法、模块、装置及介质

Publications (1)

Publication Number Publication Date
CN114419282A true CN114419282A (zh) 2022-04-29

Family

ID=81277226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210082163.3A Pending CN114419282A (zh) 2022-01-24 2022-01-24 电路板模型文件生成方法、可视化方法、模块、装置及介质

Country Status (1)

Country Link
CN (1) CN114419282A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116011399A (zh) * 2023-03-27 2023-04-25 深圳前海硬之城信息技术有限公司 Pcb板图纸的生成方法、装置、设备及存储介质
CN116011398A (zh) * 2023-03-27 2023-04-25 深圳前海硬之城信息技术有限公司 限高的pcb三维图纸生成方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116011399A (zh) * 2023-03-27 2023-04-25 深圳前海硬之城信息技术有限公司 Pcb板图纸的生成方法、装置、设备及存储介质
CN116011398A (zh) * 2023-03-27 2023-04-25 深圳前海硬之城信息技术有限公司 限高的pcb三维图纸生成方法、装置、设备及存储介质
CN116011399B (zh) * 2023-03-27 2023-06-13 深圳前海硬之城信息技术有限公司 Pcb板图纸的生成方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN114419282A (zh) 电路板模型文件生成方法、可视化方法、模块、装置及介质
JP4597691B2 (ja) 有限要素法を用いた構造解析方法
JP5639907B2 (ja) 設計支援装置、方法およびプログラム
US10013506B2 (en) Annotating real-world objects
JP4681527B2 (ja) 高さ制限領域情報作成装置、高さ制限領域情報作成方法および高さ制限領域情報作成プログラム
CN110941937B (zh) 电子设备、封装绘制图生成方法和计算机可读存储介质
JP2008084211A (ja) 形状詳細化装置、形状詳細化方法、形状詳細化プログラム、機械cad装置および3次元構造物の製造方法
JP4888013B2 (ja) 高さ制限算出装置、高さ制限算出方法および高さ制限算出プログラム
US8149239B2 (en) Image processing apparatus, image processing method, and storage medium storing a program for causing an image processing apparatus to execute an image processing method
TWI582629B (zh) 干涉檢查方法及其檢測裝置
CN109064537A (zh) 基于3d渲染引擎的图像生成方法以及装置
US8762913B2 (en) Recording medium for generation program for connection of printed circuit boards, generation method for connection of printed circuit boards, and generation apparatus for connection of printed circuit boards
JP2015133051A (ja) 基板解析プログラム、情報処理装置及び基板解析方法
JP2012003426A (ja) 設計支援装置および設計支援方法
JP2022115747A (ja) コンテンツ作成システム及び方法
JP5397901B2 (ja) 回路情報管理装置、その方法、及びプログラム
JP2001202396A (ja) プリント基板cadの3次元表示方法およびその装置
CN108305329A (zh) 一种构建模型的方法及终端
JP7484411B2 (ja) 情報処理装置及び情報処理プログラム
JP2012128609A (ja) 図面作成支援方法及び装置
JP5660604B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7251329B2 (ja) 制御プログラム、制御方法および制御装置
JP2009003900A (ja) メッシュモデル作成装置およびプログラム
CN118031773A (zh) 孔数量确定方法、装置、存储介质及电子设备
JP2008084207A (ja) 配置モデル作成装置、配置モデル作成方法、配置モデル作成プログラムおよび装置の製造方法

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