添加 MX-PD-盘古 项目文件

将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
Shi.Ji
2026-05-18 11:43:09 +08:00
parent 03632a379d
commit e31d3560bb
739 changed files with 99783 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
using MwFramework.ManagerService;
using Stylet;
using System.Collections.ObjectModel;
using System.Linq;
namespace MainShell.Recipe.Models.SubstrateParameter
{
public class MarkCoordinateGenerationState : PropertyChangedBase, IParameterItem
{
private int _rows;
public int Rows
{
get { return _rows; }
set { SetAndNotify(ref _rows, value); }
}
private int _cols;
public int Cols
{
get { return _cols; }
set { SetAndNotify(ref _cols, value); }
}
private double _pitchX;
public double PitchX
{
get { return _pitchX; }
set { SetAndNotify(ref _pitchX, value); }
}
private double _pitchY;
public double PitchY
{
get { return _pitchY; }
set { SetAndNotify(ref _pitchY, value); }
}
private ObservableCollection<MarkCoordinatePoint> _points = new ObservableCollection<MarkCoordinatePoint>();
public ObservableCollection<MarkCoordinatePoint> Points
{
get { return _points; }
set { SetAndNotify(ref _points, value); }
}
public IParameterItem Clone()
{
return new MarkCoordinateGenerationState
{
Rows = Rows,
Cols = Cols,
PitchX = PitchX,
PitchY = PitchY,
Points = new ObservableCollection<MarkCoordinatePoint>(Points.Select(point => point.Clone() as MarkCoordinatePoint))
};
}
}
}

View File

@@ -0,0 +1,63 @@
using MwFramework.ManagerService;
using Stylet;
namespace MainShell.Recipe.Models.SubstrateParameter
{
public class MarkCoordinatePoint : PropertyChangedBase, IParameterItem
{
private int _index;
public int Index
{
get { return _index; }
set { SetAndNotify(ref _index, value); }
}
private string _pointName;
public string PointName
{
get { return _pointName; }
set { SetAndNotify(ref _pointName, value); }
}
private int _row;
public int Row
{
get { return _row; }
set { SetAndNotify(ref _row, value); }
}
private int _col;
public int Col
{
get { return _col; }
set { SetAndNotify(ref _col, value); }
}
private double _theoryX;
public double TheoryX
{
get { return _theoryX; }
set { SetAndNotify(ref _theoryX, value); }
}
private double _theoryY;
public double TheoryY
{
get { return _theoryY; }
set { SetAndNotify(ref _theoryY, value); }
}
public IParameterItem Clone()
{
return new MarkCoordinatePoint
{
Index = Index,
PointName = PointName,
Row = Row,
Col = Col,
TheoryX = TheoryX,
TheoryY = TheoryY,
};
}
}
}

View File

@@ -0,0 +1,56 @@
using MainShell.Models;
using MwFramework.ManagerService;
using Stylet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainShell.Recipe.Models.SubstrateParameter
{
public class MarkData : PropertyChangedBase, IParameterItem
{
private string _templateName;
private bool _isEnabled = true;
public string TemplateName
{
get { return _templateName; }
set { SetAndNotify(ref _templateName, value); }
}
public bool IsEnabled
{
get { return _isEnabled; }
set { SetAndNotify(ref _isEnabled, value); }
}
private MPoint _basePos;
public MPoint BasePos
{
get { return _basePos; }
set { SetAndNotify(ref _basePos, value); }
}
private MPoint _cameraPos;
public MPoint CameraPos
{
get { return _cameraPos; }
set { SetAndNotify(ref _cameraPos, value); }
}
public IParameterItem Clone()
{
return new MarkData
{
IsEnabled = this.IsEnabled,
TemplateName = this.TemplateName,
BasePos = this.BasePos?.Clone(),
CameraPos = this.CameraPos?.Clone()
} as IParameterItem;
}
}
}

View File

@@ -0,0 +1,78 @@
using MainShell.Models;
using Stylet;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace MainShell.Recipe.Models.SubstrateParameter
{
public enum SubstrateHeightMeasureMode
{
[Description("标准示教位置")]
StandardTeachPosition = 0,
[Description("行列坐标+偏移补偿")]
RowColumnOffset = 1,
}
public class SubstrateHeightMeasurePoint : PropertyChangedBase
{
private string _pointName;
public string PointName
{
get { return _pointName; }
set { SetAndNotify(ref _pointName, value); }
}
private MPoint _teachPosition = new MPoint();
public MPoint TeachPosition
{
get { return _teachPosition; }
set { SetAndNotify(ref _teachPosition, value); }
}
private int _rowIndex;
public int RowIndex
{
get { return _rowIndex; }
set { SetAndNotify(ref _rowIndex, value); }
}
private int _columnIndex;
public int ColumnIndex
{
get { return _columnIndex; }
set { SetAndNotify(ref _columnIndex, value); }
}
private MPoint _offsetCompensation = new MPoint();
public MPoint OffsetCompensation
{
get { return _offsetCompensation; }
set { SetAndNotify(ref _offsetCompensation, value); }
}
}
public class SubstrateHeightMeasureSetting : PropertyChangedBase
{
private SubstrateHeightMeasureMode _mode = SubstrateHeightMeasureMode.StandardTeachPosition;
public SubstrateHeightMeasureMode Mode
{
get { return _mode; }
set { SetAndNotify(ref _mode, value); }
}
private MPoint _commonOffsetCompensation = new MPoint();
public MPoint CommonOffsetCompensation
{
get { return _commonOffsetCompensation; }
set { SetAndNotify(ref _commonOffsetCompensation, value); }
}
private ObservableCollection<SubstrateHeightMeasurePoint> _points = new ObservableCollection<SubstrateHeightMeasurePoint>();
public ObservableCollection<SubstrateHeightMeasurePoint> Points
{
get { return _points; }
set { SetAndNotify(ref _points, value); }
}
}
}

View File

@@ -0,0 +1,103 @@
using MainShell.Models;
using MwFramework.ManagerService;
using Stylet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainShell.Recipe.Models
{
public class SubstrateInfo : PropertyChangedBase, IParameterItem
{
private MxSize _substrateSize = new MxSize();
public MxSize SubstrateSize
{
get { return _substrateSize; }
set { SetAndNotify(ref _substrateSize, value); }
}
private MxSize _padSize;
public MxSize PadSize
{
get { return _padSize; }
set { SetAndNotify(ref _padSize, value); }
}
private double _thickness;
public double ThickNess
{
get { return _thickness; }
set { SetAndNotify(ref _thickness, value); }
}
private double _pitchX;
public double PitchX
{
get { return _pitchX; }
set { SetAndNotify(ref _pitchX, value); }
}
private double _pitchY;
public double PitchY
{
get { return _pitchY; }
set { SetAndNotify(ref _pitchY, value); }
}
private int _rowNumber;
public int RowNumber
{
get { return _rowNumber; }
set { SetAndNotify(ref _rowNumber, value); }
}
private int _colNumber;
public int ColNumber
{
get { return _colNumber; }
set { SetAndNotify(ref _colNumber, value); }
}
private double _recheckPitch;
public double RecheckPitch
{
get { return _recheckPitch; }
set { SetAndNotify(ref _recheckPitch, value); }
}
public IParameterItem Clone()
{
// 1. 首先执行浅拷贝,复制所有值类型字段(如 Thickness, PitchX 等)
var clone = this.MemberwiseClone() as SubstrateInfo;
// 2. 手动深拷贝引用类型对象 (MxSize)
// 如果不这样做clone 和原对象将指向内存中的同一个 MxSize 实例
if (this.SubstrateSize != null)
{
clone.SubstrateSize = new MxSize
{
Width = this.SubstrateSize.Width,
Height = this.SubstrateSize.Height
};
}
if (this.PadSize != null)
{
clone.PadSize = new MxSize
{
Width = this.PadSize.Width,
Height = this.PadSize.Height
};
}
return clone;
}
}
}

View File

@@ -0,0 +1,32 @@
using MainShell.Models;
using MwFramework.ManagerService;
using Stylet;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainShell.Recipe.Models.SubstrateParameter
{
public class SubtrateMarkPars : PropertyChangedBase, IParameterItem
{
public CameraConfig MarkVisionConfig { get; set; } = new CameraConfig();
public UpCamLightConfig MarkLightConfig { get; set; } = new UpCamLightConfig();
public ObservableCollection<MarkData> MarkDatas { get; set; } = new ObservableCollection<MarkData>();
public MarkCoordinateGenerationState CoordinateGenerationState { get; set; } = new MarkCoordinateGenerationState();
public IParameterItem Clone()
{
var clone = this.MemberwiseClone() as SubtrateMarkPars;
if (clone != null)
{
clone.MarkVisionConfig = this.MarkVisionConfig.Clone() as CameraConfig;
clone.MarkLightConfig = this.MarkLightConfig.Clone() as UpCamLightConfig;
clone.MarkDatas = new ObservableCollection<MarkData>(this.MarkDatas.Select(md => md.Clone() as MarkData));
clone.CoordinateGenerationState = this.CoordinateGenerationState?.Clone() as MarkCoordinateGenerationState ?? new MarkCoordinateGenerationState();
}
return clone;
}
}
}

View File

@@ -0,0 +1,43 @@
using Stylet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainShell.Recipe.Models.SubstrateParameter
{
public class WaferSelectInfo : PropertyChangedBase
{
private string _waferRecipeName;
public string WaferRecipeName
{
get { return _waferRecipeName; }
set { SetAndNotify(ref _waferRecipeName, value); }
}
private double _offsetX;
public double OffsetX
{
get { return _offsetX; }
set { SetAndNotify(ref _offsetX, value); }
}
private double _offsetY;
public double OffsetY
{
get { return _offsetY; }
set { SetAndNotify(ref _offsetY, value); }
}
private bool _isUse;
public bool IsUse
{
get { return _isUse; }
set { SetAndNotify(ref _isUse, value); }
}
}
}