|  | @@ -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
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |