System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于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的pc
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自动化排版结...
【专利技术属性】
技术研发人员:杨书新,王碧,易见兵,闫红生,王敬永,
申请(专利权)人:江西理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。