System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于OpenGL的PCB自动化排版结果检测方法技术_技高网

一种基于OpenGL的PCB自动化排版结果检测方法技术

技术编号:41325868 阅读:4 留言:0更新日期:2024-05-13 15:03
本发明专利技术公开一种基于OpenGL的PCB自动化排版结果检测方法,属于生产自动化领域,本发明专利技术通过计算机图形学知识,以OpenGL(Open Graphics Library,开放图形库)为技术手段,降低每个PCB单元外轮廓位置关系检测算法的计算复杂度,具体而言:以生产允许公差和拼板尺寸为基准,通过识别输入、抽象拼板、持久化PCB单元、根据智能算法获取候选方案、构建图像、方案评价、迭代更新等步骤,改善单元间的重叠、间距判断,优化设计方案的评价方法。

【技术实现步骤摘要】

本专利技术属于pcb生产自动化领域,特别是涉及一种基于opengl的pcb自动化排版结果检测方法。


技术介绍

1、在电子制造业中,为了提高生产效率,节约材料并减少制造成本,通常会在一块较大的pcb母板(拼板、panel)上同时布局多个重复的单元(unit),这样的做法被称为板对板(panelization)技术。通过这种方式,可以同时加工多个pcb单元,然后将它们分割成单个的pcb用于最终产品的组装。

2、目前,市场上有多款pcb设计软件提供自动化的板对板布局工具。这些工具通常允许用户设定单元间距、边距、分割线以及v-cut(一种用于后处理中分割pcb板的预切割线)的位置,从而达到优化生产流程的目的。随着pcb布局复杂度的提升和生产成本的关注,pcb设计流程迫切需要更加高效和精确的布局方法。而自动化设计软件的发展,为拼板多单元pcb布局问题提供了一种可靠的解决方案,自动化设计允许设计师高效地创建、测试和优化pcb单元的布局,进而缩短设计周期,减少人为错误,优化生产流程,并提高最终产品的质量。但是目前自动化设计仍存在着以下技术难点和局限性:传统的单元布局方式可能未能最大化材料使用效率,可能造成较多的pcb边角料浪费;v-cut与打孔的分割精度有限,且v-cut在非直线分割上存在制约,可能影响产品的整齐度和最终质量;异形pcb单元之间的距离、倾角、位置等基本条件判断,在相当程度上影响自动化布局方案的设计效率。


技术实现思路

1、为此,本专利技术提供一种基于opengl的pcb自动化排版结果检测方法,通过计算机图形学知识,以opengl(open graphics library,开放图形库)为技术手段,降低每个pcb单元外轮廓位置关系检测算法的计算复杂度。具体而言:以生产允许公差和拼板尺寸为基准,将拼板抽象为固定大小的矩阵,根据矩阵中每个元素的具体数值,用来判断是否存在pcb单元重叠问题;以opengl为技术手段,实现pcb单元布局过程的快速可视化;为后续自动化布局算法提供快速的方案检测能力。

2、为实现上述目的,一种基于opengl的pcb自动化排版结果检测方法,其特征在于,包括:

3、步骤一:识别输入;

4、步骤二:抽象拼板;

5、步骤三:持久化pcb单元;

6、步骤四:根据智能算法获取候选方案;

7、步骤五:构建图像;

8、步骤六:评价方案;

9、步骤七:迭代更新;

10、步骤八:输出布局方案。

11、步骤一具体内容为:输入包括拼板的布局约束条件和待放置pcb单元的轮廓描述,参数输入通过文件保存读取,具体如下:

12、i. 确定允许最大公差;

13、ii.确定拼板大小;

14、iii.确定pcb单元间距;

15、iv.确定拼板预留边缘;

16、v. 确定其他约束条件;

17、vi.确定pcb单元轮廓,通过标签和数值的组合方式,顺序完成异形单元轮廓描述。

18、步骤二具体内容为:步骤一中最大允许公差记作;拼板尺寸记为mmxmm,则将拼板抽象成一个矩阵:

19、

20、通过计算机图形学技术,根据矩阵大小获得一个大小为像素的纯色图像,其中4个大小的矩阵分别对应图像rgba格式的红、绿、蓝和透明度通道。中各项元素取值范围为,若大于1则重置为1,若小于0则重置为0。

21、步骤三具体内容为:根据pcb单元的轮廓输入,通过opengl绘制具体的物体对象,绘制过程则按照pcb单元轮廓文件依行读取,转换为对应的后续点坐标,pcb单元绘制为实心图形,轮廓线内填充颜色,用rgba表示。当生产需要两个pcb单元完全不重叠时,pcb单元的填充透明度为0.5,其中透明度0表示完全透明,1表示完全不透明。若可以部分叠加,则通过配置文件方式调整pcb单元对应区域的透明度和后续阈值。

22、将pcb单元绘制为具体物体对象后,通过复制方式,完成多个相同单元的创建与放置,并通过图像处理单元gpu加速这一过程。

23、步骤四具体内容为:智能算法是指一个算法,其输入是步骤一中的各项输入,其输出是具体的pcb布局方案。在自动化设计算法中,智能算法是用来产生可用方案的关键;

24、假设存在一个智能算法,能够输出任意候选方案,即所有pcb单元的布局信息,包括角度、位置中的一种,其输出表示为一个队列,其大小与放置的pcb单元数量相同:

25、

26、其中,表示pcb单元的类型或序号;和分别表示pcb单元起始点的x、y轴坐标;表示旋转的角度。

27、步骤五具体内容为:由步骤四可知一个具体的布局方案,现依次读取布局方案d中的每一个元素,记作,此时,从步骤三中完成持久化的pcb单元中检索与type相同的单元,将其放置在拼板的原点处;

28、根据和两项数据,利用opengl函数gltranslatef来实现pcb单元的具体位置改变;根据数据,利用opengl函数glrotatef实现pcb单元的旋转;

29、按照步骤二中计算的矩阵大小,在opengl中创建相同大小纯色拼板图像。当pcb单元放置在指定位置后,对应图像位置将呈现出pcb单元图形,在步骤三中,pcb单元填充颜色透明度为0.5,若pcb单元未出现叠加,则透明度保持0.5不变,若pcb单元出现叠加,则透明度经过渲染后,必然高于0.5。

30、步骤六具体内容为:在步骤五中,经opengl渲染获得大小为像素的布局图,获得对应矩阵,其中,、、、分别表示矩阵p的每一个维度分量,对应rgba格式文件中的四个通道;

31、评价板材利用率:

32、

33、若某一个位置有pcb单元放置,则记录透明度的对应位置必然大于0。反之,中元素为0则表示对应位置未放置pcb单元。

34、评价pcb单元重叠:

35、

36、其中,是指示函数,也称为谓词函数,若满足条件,则返回1,反之返回0;

37、评价其他约束:其他约束均通过矩阵运算完成满足性判断。拼板上边界预留记为,公差记为,则表明矩阵的第至行均为0,反之,则不满足。

38、

39、步骤七具体内容为:由步骤六可知,任意方案经约束满足判定后获得的评价,同时,获得该方案的板材利用率,因此,将异形pcb单元自动化排版描述为一个带约束的优化问题:

40、

41、其中,是具体的约束条件。为保证约束不满足时,具体布局方案的适应度要低于约束满足时布局方案的适应度,则将适应度函数描述为:

42、

43、其中,σ∈r+是修正参数,其中r+表示正实数,以作为智能算法的适应度函数,

44、通过迭代产生新的排版布局,获得适应度最优的布局方案。其中,智能算法是指包括遗传算法、粒子群算法在内的,通过本文档来自技高网...

【技术保护点】

1.一种基于OpenGL的PCB自动化排版结果检测方法,其特征在于,包括:

2.如权利要求1所述的一种基于OpenGL的PCB自动化排版结果检测方法,其特征在于,步骤六中所述通过矩阵运算完成满足性判断的具体方法为:拼板上边界预留记为,公差记为,则表明矩阵的第至行均为0,反之,则不满足,

【技术特征摘要】

1.一种基于opengl的pcb自动化排版结果检测方法,其特征在于,包括:

2.如权利要求1所述的一种基于opengl的pcb自动化排版结...

【专利技术属性】
技术研发人员:杨书新王碧易见兵闫红生王敬永
申请(专利权)人:江西理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1