ToB企服应用市场:ToB评测及商务社交产业平台
标题:
c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
[打印本页]
作者:
莱莱
时间:
7 天前
标题:
c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
原文作者:aircraft
原文地点:
https://www.cnblogs.com/DOMLX/p/18729664
第一 简介
又是好久没更新了,本日先容个半导体/led行业天生晶圆片map图的小demo程序。
在半导体和led中经常必要对下图中的一个个晶圆片上的一个个die(晶圆)天生一个总体的map图,不管是检测中用来表现晶圆片上各个Die的优劣分布,还是用作于点击晶圆移动查看都是有必要的。
像正常在半导体大概LED装备公司中工作过的人基本都有完整的map的表现控件的封装代码,但是如果你是刚跨行过来,大概是自己想研究学习,那么基本就要自己开辟一个MAP控件。比如下图那样的就是
工业公司开辟的MAP控件led软件上表现的效果。
第二 demo布局
工具环境是在VS2015下 c#6.0以下的语法环境 基于c#和winfrom的对话框程序
mainFrom.cs就是个表现作用的窗体
waferDie.cs里只定义了Die类内里存放每个Die的行列坐标和颜色信息以及一些其他信息比如检测优劣等
WaferMapControl.cs就是创建个用户控件类,在上面实现绘制MAP功能,外部只要把晶圆的队列数组传入就可以直接利用
非常简单的三个文件,只要自己创建一下名字相同的三个代码文件,然后复制我下面的代码进去就可以运行利用了。注意:WaferMapControl是个用户控件,可以点添加,选择用户控件,然后改一下名字。
第三 代码
mainFrom界面图:
中间添加了一个panel的控件,属性为填充
mainFrom.cs代码:
[code]using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace waferMpingTest1{ public partial class mainFrom : Form { public mainFrom() { InitializeComponent(); InitializeWaferMap(); //GenerateTestData(1000000); // 天生测试数据 GenerateTestData2(10); // 天生测试数据 } WaferMapControl waferMap = new WaferMapControl { Dock = DockStyle.Fill, BorderStyle = BorderStyle.FixedSingle }; private void InitializeWaferMap() { waferMap.DieClicked += (s, e) => MessageBox.Show($"Clicked Die: ({e.Die.Row}, {e.Die.Column})"); panel1.Controls.Add(waferMap); //Controls.Add(waferMap); } private void GenerateTestData(int count) { var random = new Random(); var dies = new List(count); for (int i = 0; i < count; i++) { dies.Add(new WaferDie { Row = random.Next(-100, 100), Column = random.Next(-100, 100), DieColor = Color.FromArgb( random.Next(256), random.Next(256), random.Next(256)) }); } //WaferMapControl map = new WaferMapControl(); waferMap.LoadData(dies); //if (Controls[0] is WaferMapControl map) //map.LoadData(dies); } private void GenerateTestData2(int count) { var random = new Random(); var dies = new List(count); for (int i = -count; i < count; i++) { for(int j = -count;j
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4