Initial commit
This commit is contained in:
		
							
								
								
									
										95
									
								
								Handler/CapCleaningControl/Loader/Draw_PickerPrinter.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								Handler/CapCleaningControl/Loader/Draw_PickerPrinter.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,95 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Drawing.Drawing2D; | ||||
| using System.Linq; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
|  | ||||
| namespace UIControl | ||||
| { | ||||
|     public partial class HMI | ||||
|     { | ||||
|         void Draw_PickerPrinter(Graphics g, RectangleF rect, | ||||
|             int motAxisY, int motAxisZ, bool reverse, | ||||
|             Boolean LockY, Boolean LockZ, Boolean ItemOn, Boolean ItemPickOK, | ||||
|             Boolean CylFW, Boolean CylBW) | ||||
|         { | ||||
|             //실제 로봇의 길이를 입력한다 (단위:mm) | ||||
|             var RealLenY = 400; | ||||
|             var RealLenZ = 250; | ||||
|  | ||||
|             g.FillRectangle(Brushes.DimGray, rect); | ||||
|             if (LockY) g.DrawRect(rect, Color.Blue, 5); | ||||
|             else g.DrawRect(rect, Color.White); | ||||
|  | ||||
|             var PXName = motAxisY == 2 ? arMotPosNameLM : arMotPosNameRM; | ||||
|             g.DrawString(PXName, this.arFont_MotPosName, Brushes.Black, rect, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center, FormatFlags = StringFormatFlags.DirectionVertical }); | ||||
|  | ||||
|             var RPosY = this.arMotorPosition[motAxisY]; | ||||
|             var RPosZ = this.arMotorPosition[motAxisZ]; | ||||
|             //RPosY = 0; | ||||
|             //RPosZ = 300; | ||||
|  | ||||
|             //모터의 실제 위치에 뭉치를 그린다. | ||||
|  | ||||
|             var PosY = (float)(rect.Top + (rect.Height - (rect.Height * RPosY / RealLenY))); | ||||
|  | ||||
|             //Y뭉치를 그린다 | ||||
|             var rectYP = new RectangleF(rect.X - 1, PosY - (rect.Width / 2.0f), rect.Width + 2, rect.Width); | ||||
|             g.FillRectangle(Brushes.Yellow, rectYP); | ||||
|             g.DrawRect(rectYP, Color.Black, 2); | ||||
|             //g.DrawLine(Pens.Red, rect.X - 30, PosY, rect.Right + 130, PosY); | ||||
|  | ||||
|  | ||||
|             //Z축을 그린다. | ||||
|             RectangleF rectZ = RectangleF.Empty; | ||||
|             var zwidth = 60; | ||||
|             if (reverse) rectZ = new RectangleF(rect.X - zwidth, PosY - 10, zwidth, 20); | ||||
|             else rectZ = new RectangleF(rect.Right, PosY - 10, zwidth, 20); | ||||
|  | ||||
|             float PosZ = 0f; | ||||
|             if (reverse) PosZ = (float)(rectZ.Left + rectZ.Width - (rectZ.Width * RPosZ / RealLenZ)); | ||||
|             else PosZ = (float)(rectZ.Left + rectZ.Width * RPosZ / RealLenZ); | ||||
|  | ||||
|             g.FillRectangle(Brushes.DimGray, rectZ); | ||||
|             if (LockZ) g.DrawRect(rectZ, Color.Blue, 5); | ||||
|             else g.DrawRect(rectZ, Color.White); | ||||
|  | ||||
|             //z축 포지션 이름 | ||||
|             var ZposName = motAxisZ == 3 ? arMotPosNameLZ : arMotPosNameRZ; | ||||
|             g.DrawString(ZposName, this.arFont_MotPosName, Brushes.Black, rectZ, new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center }); | ||||
|  | ||||
|             //var CylStr = string.Format("FW:{0},BW:{1}", CylFW, CylBW); | ||||
|             //if (CylFW == true && CylFW != CylBW) CylStr = "FW"; | ||||
|             //else if (CylBW == true && CylFW != CylBW) CylStr = "BW"; | ||||
|             //g.DrawString(CylStr, this.arFont_MotPosName, Brushes.Red, rectZ.Left, rectZ.Top - 20); | ||||
|  | ||||
|             //Z뭉치를 그린다 | ||||
|             var rectZP = new RectangleF(PosZ - (rectZ.Height / 2.0f), rectZ.Y - 1, rectZ.Height, rectZ.Height + 2); | ||||
|             if (ItemOn) | ||||
|             { | ||||
|                 g.FillRectangle(Brushes.Lime, rectZP); | ||||
|                 g.DrawRect(rectZP, Color.Black, 2); | ||||
|  | ||||
|  | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 g.FillRectangle(Brushes.SkyBlue, rectZP); | ||||
|                 g.DrawRect(rectZP, Color.Black, 2); | ||||
|             } | ||||
|             using (Font f = new Font("Consolas", 10, FontStyle.Bold)) | ||||
|                 g.DrawString((ItemPickOK ? "O" : "X"), f, Brushes.Black, rectZP, new StringFormat | ||||
|                 { | ||||
|                     Alignment = StringAlignment.Center, | ||||
|                     LineAlignment = StringAlignment.Center | ||||
|                 }); | ||||
|  | ||||
|             //g.DrawLine(Pens.Blue, PosZ, rectZ.Top - 30, PosZ, rectZ.Bottom + 100); | ||||
|  | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 ChiKyun Kim
					ChiKyun Kim