|
@@ -0,0 +1,164 @@
|
|
|
|
+//时间:20200608
|
|
|
|
+//作者:郝爽
|
|
|
|
+//功能:测量数据类
|
|
|
|
+using System;
|
|
|
|
+using System.Collections.Generic;
|
|
|
|
+using System.Linq;
|
|
|
|
+using System.Text;
|
|
|
|
+using System.Threading.Tasks;
|
|
|
|
+
|
|
|
|
+namespace MeasureData
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ //六轴坐标系统
|
|
|
|
+ struct SemPosition
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ private float _x, _y, _z, _r, _t, _m;
|
|
|
|
+
|
|
|
|
+ #region X
|
|
|
|
+ //限定范围
|
|
|
|
+ const float Xmax = 100;
|
|
|
|
+ const float Xmin = 10;
|
|
|
|
+
|
|
|
|
+ public float X
|
|
|
|
+ {
|
|
|
|
+ get { return this._x; }
|
|
|
|
+ set => this._x = rangeCheckedX(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static float rangeCheckedX(float x)
|
|
|
|
+ {
|
|
|
|
+ if (x > Xmax) x = Xmax;
|
|
|
|
+ else if (x < Xmin) x = Xmin;
|
|
|
|
+
|
|
|
|
+ return x;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region Y
|
|
|
|
+ //限定范围
|
|
|
|
+ const float Ymax = 100;
|
|
|
|
+ const float Ymin = 10;
|
|
|
|
+
|
|
|
|
+ public float Y
|
|
|
|
+ {
|
|
|
|
+ get { return this._y; }
|
|
|
|
+ set => this._y = rangeCheckedY(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static float rangeCheckedY(float y)
|
|
|
|
+ {
|
|
|
|
+ if (y > Ymax) y = Ymax;
|
|
|
|
+ else if (y < Ymin) y = Ymin;
|
|
|
|
+
|
|
|
|
+ return y;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region Z
|
|
|
|
+ //限定范围
|
|
|
|
+ const float Zmax = 100;
|
|
|
|
+ const float Zmin = 10;
|
|
|
|
+
|
|
|
|
+ public float Z
|
|
|
|
+ {
|
|
|
|
+ get { return this._z; }
|
|
|
|
+ set => this._z = rangeCheckedZ(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static float rangeCheckedZ(float z)
|
|
|
|
+ {
|
|
|
|
+ if (z > Zmax) z = Zmax;
|
|
|
|
+ else if (z < Zmin) z = Zmin;
|
|
|
|
+
|
|
|
|
+ return z;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region R
|
|
|
|
+ //限定范围
|
|
|
|
+ const float Rmax = 100;
|
|
|
|
+ const float Rmin = 10;
|
|
|
|
+
|
|
|
|
+ public float R
|
|
|
|
+ {
|
|
|
|
+ get { return this._r; }
|
|
|
|
+ set => this._r = rangeCheckedR(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static float rangeCheckedR(float r)
|
|
|
|
+ {
|
|
|
|
+ if (r > Rmax) r = Rmax;
|
|
|
|
+ else if (r < Rmin) r = Rmin;
|
|
|
|
+
|
|
|
|
+ return r;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region T
|
|
|
|
+ //限定范围
|
|
|
|
+ const float Tmax = 100;
|
|
|
|
+ const float Tmin = 10;
|
|
|
|
+
|
|
|
|
+ public float T
|
|
|
|
+ {
|
|
|
|
+ get { return this._t; }
|
|
|
|
+ set => this._t = rangeCheckedT(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static float rangeCheckedT(float t)
|
|
|
|
+ {
|
|
|
|
+ if (t > Tmax) t = Tmax;
|
|
|
|
+ else if (t < Tmin) t = Tmin;
|
|
|
|
+
|
|
|
|
+ return t;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region M
|
|
|
|
+ //限定范围
|
|
|
|
+ const float Mmax = 100;
|
|
|
|
+ const float Mmin = 10;
|
|
|
|
+
|
|
|
|
+ public float M
|
|
|
|
+ {
|
|
|
|
+ get { return this._m; }
|
|
|
|
+ set => this._m = rangeCheckedM(value);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static float rangeCheckedM(float m)
|
|
|
|
+ {
|
|
|
|
+ if (m > Mmax) m = Mmax;
|
|
|
|
+ else if (m < Mmin) m = Mmin;
|
|
|
|
+
|
|
|
|
+ return m;
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //切割孔
|
|
|
|
+ class CutHole
|
|
|
|
+ {
|
|
|
|
+ #region 样品名
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 样品名
|
|
|
|
+ /// </summary>
|
|
|
|
+ private string _SampleName;
|
|
|
|
+
|
|
|
|
+ public string SampleName
|
|
|
|
+ {
|
|
|
|
+ get { return this._SampleName; }
|
|
|
|
+ set { this._SampleName = value; }
|
|
|
|
+ }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+ #region 坐标位置
|
|
|
|
+ private SemPosition _Position;
|
|
|
|
+ public SemPosition Position { get; set; }
|
|
|
|
+ #endregion
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|