Browse Source

添加 StopParamArea 参数

CXS 3 years ago
parent
commit
48db28d17c

+ 4 - 3
Bin/x64/Debug/Resources/XMLData/ResourceForMeasureSourceGrid-EN.xml

@@ -25,14 +25,15 @@
 			<member itemKey="20078" itemName="" itemText="spare"/>
 			<member itemKey="20079" itemName="" itemText="spare"/>
 		</collection>
-		<collection RegName="ResGrp" grpKey="1" text="ImageScan" description="">
+		<collection RegName="ResGrp" grpKey="1" text="ScanParams" description="">
 			<member itemKey="20010" itemName="" itemText="GetImageMode"/>
 			<member itemKey="20011" itemName="" itemText="StopMode"/>
 			<member itemKey="20012" itemName="" itemText="ParticalNum"/>
 			<member itemKey="20013" itemName="" itemText="FieldNum"/>
 			<member itemKey="20014" itemName="" itemText="MeasureTime(s)"/>
-			<member itemKey="20015" itemName="" itemText="ScanResolution"/>
-			<member itemKey="20016" itemName="" itemText="MeasureImageResolution"/>
+			<member itemKey="20015" itemName="" itemText="MeasureStopArea(um2)"/>
+			<member itemKey="20016" itemName="" itemText="ScanResolution"/>
+			<member itemKey="20017" itemName="" itemText="MeasureImageResolution"/>
 			<member itemKey="20160" itemName="" itemText="Center"/>
 			<member itemKey="20161" itemName="" itemText="FromTopToBottom(Meander)"/>
 			<member itemKey="20162" itemName="" itemText="FromBottomToTop(Meander)"/>

+ 4 - 3
Bin/x64/Debug/Resources/XMLData/ResourceForMeasureSourceGrid-ZH.xml

@@ -25,14 +25,15 @@
 			<member itemKey="20078" itemName="" itemText="spare"/>
 			<member itemKey="20079" itemName="" itemText="spare"/>
 		</collection>
-		<collection RegName="ResGrp" grpKey="1" text="图像扫描参数" description="">
+		<collection RegName="ResGrp" grpKey="1" text="扫描参数" description="">
 			<member itemKey="20010" itemName="" itemText="取图方式" description="选择从测量区域中心开始取图,或自上而下、自下而上取图,或随机取图。"/>
 			<member itemKey="20011" itemName="" itemText="终止方式" description="选择颗粒数、帧图数、测量时间,或覆盖测量区域。"/>
 			<member itemKey="20012" itemName="" itemText="颗粒数" description="输入测量颗粒数。"/>
 			<member itemKey="20013" itemName="" itemText="帧图数" description="输入测量帧图数。"/>
 			<member itemKey="20014" itemName="" itemText="测量时间(秒)" description="输入测量时间。"/>
-			<member itemKey="20015" itemName="" itemText="扫描精度" description="选择扫描精度。"/>
-			<member itemKey="20016" itemName="" itemText="测量图精度" description="选择扫描图精度(尺寸)。"/>
+			<member itemKey="20015" itemName="" itemText="测量结束面积(um2)" description="输入测量结束面积。"/>
+			<member itemKey="20016" itemName="" itemText="扫描精度" description="选择扫描精度。"/>
+			<member itemKey="20017" itemName="" itemText="测量图精度" description="选择扫描图精度(尺寸)。"/>
 			<member itemKey="20160" itemName="" itemText="中心" description=""/>
             <member itemKey="20161" itemName="" itemText="自上而下" description=""/>
             <member itemKey="20162" itemName="" itemText="自下而上" description=""/>

+ 11 - 0
OTSIncAMeasureApp/0-OTSModel/Measure/3-MeasureFlow/CSmplMeasure.cs

@@ -378,8 +378,11 @@ namespace OTSModelSharp
             int nSec = timeSpan.Seconds;
             int nUsedTime = nSec + nMin * 60 + nHour * 3600 + nDay * 86400;
 
+            int NMeasArea = (int)pMsrResults.GetMeasuredArea();
+
             int nParticlAim = a_pScanParam.GetStopParamParticles();
             int nMeasTimeAim = a_pScanParam.GetStopParamMeasTime();
+            int NMeasAreaAim = a_pScanParam.GetStopParamArea()*1000000 ;
 
             bool bRet = false;
 
@@ -419,6 +422,14 @@ namespace OTSModelSharp
                             bRet = true;
                         }
                         break;
+                    case (int)OTS_MEASURE_STOP_MODE.AreaMode:
+
+                        if (NMeasArea >= NMeasAreaAim)
+                        {
+
+                            bRet = true;
+                        }
+                        break;
                     default:
                         break;
                 }

+ 15 - 2
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSImageScanParam.cs

@@ -14,6 +14,7 @@ namespace OTSDataType
         private int m_nStopParamMeasTime;
         private int m_nStopParamFields;
         private int m_nStopParamParticles;
+        private int m_nStopParamArea;
         private OTS_GET_IMAGE_MODE m_nSatrtImageMode;
         private OTS_IMAGE_SCANSPEED_OPTIONS m_nScanImageSpeed;
         private OTS_IMAGE_RESULOTION_OPTIONS m_nImageResulotion;
@@ -32,9 +33,10 @@ namespace OTSDataType
          const int DEFUALT_PARAM_FIELD = 500;
          const int DEFUALT_PARAM_TIME = 300;
          const int DEFUALT_PARAM_PARTICLE = 5000;
+        const int DEFUALT_PARAM_AREA = 100;
 
         // image mode
-         const OTS_GET_IMAGE_MODE DEFAULT_IMAGEMODE = OTS_GET_IMAGE_MODE.FROM_CENTER;
+        const OTS_GET_IMAGE_MODE DEFAULT_IMAGEMODE = OTS_GET_IMAGE_MODE.FROM_CENTER;
 
         // scan speed
          const OTS_IMAGE_SCANSPEED_OPTIONS DEFAULE_SCAN_SPEED = OTS_IMAGE_SCANSPEED_OPTIONS.meddium;
@@ -51,6 +53,7 @@ namespace OTSDataType
             m_nSatrtImageMode = DEFAULT_IMAGEMODE;                              //取图方式
             m_nScanImageSpeed = DEFAULE_SCAN_SPEED;
             m_nImageResulotion = DEFAULE_IMAGE_SIZE;
+            m_nStopParamArea = DEFUALT_PARAM_AREA;
 
             m_nFieldStopMode = OTS_MEASURE_FIELD_STOP_MODE.ParticlesPercentage;
             m_nFieldAreaPercentage = 100;
@@ -75,6 +78,7 @@ namespace OTSDataType
 		m_nStopParamMeasTime = a_oSource.m_nStopParamMeasTime;
 		m_nStopParamFields = a_oSource.m_nStopParamFields;
 		m_nStopParamParticles = a_oSource.m_nStopParamParticles;
+        m_nStopParamArea = a_oSource.m_nStopParamArea;
 		m_nSatrtImageMode = a_oSource.m_nSatrtImageMode;
 		m_nImageResulotion = a_oSource.m_nImageResulotion;
 		m_nScanImageSpeed = a_oSource.m_nScanImageSpeed;
@@ -103,7 +107,8 @@ namespace OTSDataType
 			(m_nStopParamMeasTime == a_oSource.m_nStopParamMeasTime) &&
 			(m_nStopParamFields == a_oSource.m_nStopParamFields) &&
 			(m_nStopParamParticles == a_oSource.m_nStopParamParticles) &&
-			(m_nSatrtImageMode == a_oSource.m_nSatrtImageMode) &&
+            (m_nStopParamArea == a_oSource.m_nStopParamArea) &&
+            (m_nSatrtImageMode == a_oSource.m_nSatrtImageMode) &&
 			(m_nImageResulotion == a_oSource.m_nImageResulotion));
 
 	}
@@ -125,6 +130,10 @@ namespace OTSDataType
         public int GetStopParamParticles() { return m_nStopParamParticles; }
         public void SetStopParamParticles(int a_nStopParamParticles) { m_nStopParamParticles = a_nStopParamParticles; }
 
+        //测量面积
+        public int GetStopParamArea() { return m_nStopParamArea; }
+        public void SetStopParamArea(int a_nStopParamArea) { m_nStopParamArea = a_nStopParamArea; }
+
         //测量帧终止方式
         //no longer consider the field stop mode ,for we can get the same result by regulate the min size of particle to filter  the too small particles.
         public OTS_MEASURE_FIELD_STOP_MODE GetFieldStopMode() { return m_nFieldStopMode; }
@@ -169,6 +178,7 @@ namespace OTSDataType
             xInt xnStopParamMeasTime=new xInt();
             xInt xnStopParamFields = new xInt();
             xInt xnStopParamParticles = new xInt();
+            xInt xnStopParamArea = new xInt();
             xString xnSatrtImageMode = new xString();
             xString xnScanImageSpeed = new xString();
             xString xnImageSize = new xString();
@@ -188,6 +198,7 @@ namespace OTSDataType
             slo.Register("StopParamMeasTime", xnStopParamMeasTime);
             slo.Register("StopParamFields", xnStopParamFields);
             slo.Register("StopParamParticles", xnStopParamParticles);
+            slo.Register("StopParamArea", xnStopParamArea);
             slo.Register("SatrtImageMode", xnSatrtImageMode);
             slo.Register("ScanImageSpeed", xnScanImageSpeed);
             slo.Register("ImageResolution", xnImageSize);
@@ -214,6 +225,7 @@ namespace OTSDataType
                 xnStopParamMeasTime.AssignValue( m_nStopParamMeasTime);
                 xnStopParamFields.AssignValue(m_nStopParamFields);
                 xnStopParamParticles.AssignValue(m_nStopParamParticles);
+                xnStopParamArea.AssignValue(m_nStopParamArea);
                 xnSatrtImageMode.AssignValue((int)m_nSatrtImageMode+":"+m_nSatrtImageMode.ToString());
                 xnScanImageSpeed.AssignValue((int)m_nScanImageSpeed+":"+ m_nScanImageSpeed.ToString());
                 xnImageSize.AssignValue( (int)m_nImageResulotion+":"+m_nImageResulotion.ToString());
@@ -240,6 +252,7 @@ namespace OTSDataType
                 m_nStopParamMeasTime = xnStopParamMeasTime.value();
                 m_nStopParamFields = xnStopParamFields.value();
                 m_nStopParamParticles = xnStopParamParticles.value();
+                m_nStopParamArea = xnStopParamArea.value();
                 m_nSatrtImageMode = (OTS_GET_IMAGE_MODE)Convert.ToInt32(xnSatrtImageMode.value().Split(':')[0]);
                 m_nScanImageSpeed = (OTS_IMAGE_SCANSPEED_OPTIONS)Convert.ToInt32(xnScanImageSpeed.value().Split(':')[0]);
                 m_nImageResulotion = (OTS_IMAGE_RESULOTION_OPTIONS)Convert.ToInt32(xnImageSize.value().Split(':')[0]);

+ 38 - 0
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSSample.cs

@@ -509,6 +509,12 @@ namespace OTSDataType
                     }
                     break;
 
+                case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA:
+                    {
+                        a_nValue = m_poMsrParams.GetImageScanParam().GetStopParamArea();
+                    }
+                    break;
+
 
                 case OTS_SAMPLE_PROP_GRID_ITEMS.BG_GRAY_MIN:
                     {
@@ -669,6 +675,21 @@ namespace OTSDataType
                             m_Status.SetStatus(OTS_MSR_SAMPLE_STATUS.UNMEASURED);
                         }
 
+                    }
+                    break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA:
+                    {
+                        if (STOP_PARAM_MSR_TINE_MIN >= a_nValue || a_nValue > STOP_PARAM_FIELD_MAX)
+                        {
+                            return false;
+                        }
+
+                        if (m_poMsrParams.GetImageScanParam().GetStopParamArea() != a_nValue)
+                        {
+                            m_poMsrParams.GetImageScanParam().SetStopParamArea(a_nValue);
+                            m_Status.SetStatus(OTS_MSR_SAMPLE_STATUS.UNMEASURED);
+                        }
+
                     }
                     break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.BG_GRAY_MIN:
@@ -962,6 +983,14 @@ namespace OTSDataType
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_TIME;
                             poPropItem.SetSmplParameter(modelResource, nItemId, OTS_ITEM_TYPES.INT, true, false);
                             a_listPropItems.Add(poPropItem);
+
+                            // area
+
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA;
+                            poPropItem.SetSmplParameter(modelResource, nItemId, OTS_ITEM_TYPES.INT, true, bShow);
+                            a_listPropItems.Add(poPropItem);
+
                             // scan speed
 
                             poPropItem = new CPropItem();
@@ -1399,6 +1428,13 @@ namespace OTSDataType
                             a_listPropItems.Add(poPropItem);
 
 
+                            // area
+
+                            poPropItem = new CPropItem();
+                            nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA;
+                            poPropItem.SetSmplParameter(modelResource, nItemId, OTS_ITEM_TYPES.INT, true, false);
+                            a_listPropItems.Add(poPropItem);
+
                             // scan speed
 
                             poPropItem = new CPropItem();
@@ -1738,6 +1774,7 @@ namespace OTSDataType
                 case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_PARTICLE:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_FIELD:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_TIME:
+                case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.SCAN_SPEED:
                     {
                         a_nRelatedPropId = OTS_SAMPLE_PROP_GRID_ITEMS.INVALID;
@@ -1856,6 +1893,7 @@ namespace OTSDataType
                 case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_PARTICLE:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_FIELD:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_TIME:
+                case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA:
                 case OTS_SAMPLE_PROP_GRID_ITEMS.SCAN_SPEED:
                     {
                         groupID = OTS_SAMPLE_PROP_GRID_ITEM_GROUPS.IMAGE_PROCESS;

+ 2 - 1
OTSIncAMeasureApp/0-OTSModel/OTSDataType/otsdataconst.cs

@@ -164,7 +164,8 @@ namespace OTSDataType
             CoverMode = 0,
             FieldMode = 1,
             ParticleMode = 2,
-            TimeMode = 3
+            TimeMode = 3,
+            AreaMode=4
         }
         public enum DOMAIN_SHAPE
         {

+ 55 - 8
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/MeasureStopMode.Designer.cs

@@ -38,6 +38,10 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             this.cB_CoverMode = new System.Windows.Forms.CheckBox();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
             this.bt_ok = new System.Windows.Forms.Button();
+            this.cB_AreaMode = new System.Windows.Forms.CheckBox();
+            this.tB_AreaMode = new System.Windows.Forms.TextBox();
+            this.label1 = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
             this.groupBox1.SuspendLayout();
             this.SuspendLayout();
             // 
@@ -53,14 +57,14 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             // 
             // tB_FieldMode
             // 
-            this.tB_FieldMode.Location = new System.Drawing.Point(218, 82);
+            this.tB_FieldMode.Location = new System.Drawing.Point(247, 78);
             this.tB_FieldMode.Name = "tB_FieldMode";
             this.tB_FieldMode.Size = new System.Drawing.Size(164, 25);
             this.tB_FieldMode.TabIndex = 1;
             // 
             // tB_ParticleMode
             // 
-            this.tB_ParticleMode.Location = new System.Drawing.Point(218, 127);
+            this.tB_ParticleMode.Location = new System.Drawing.Point(247, 123);
             this.tB_ParticleMode.Name = "tB_ParticleMode";
             this.tB_ParticleMode.Size = new System.Drawing.Size(164, 25);
             this.tB_ParticleMode.TabIndex = 3;
@@ -77,7 +81,7 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             // 
             // tB_TimeMode
             // 
-            this.tB_TimeMode.Location = new System.Drawing.Point(218, 173);
+            this.tB_TimeMode.Location = new System.Drawing.Point(247, 169);
             this.tB_TimeMode.Name = "tB_TimeMode";
             this.tB_TimeMode.Size = new System.Drawing.Size(164, 25);
             this.tB_TimeMode.TabIndex = 5;
@@ -87,9 +91,9 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             this.cB_TimeMode.AutoSize = true;
             this.cB_TimeMode.Location = new System.Drawing.Point(50, 175);
             this.cB_TimeMode.Name = "cB_TimeMode";
-            this.cB_TimeMode.Size = new System.Drawing.Size(136, 19);
+            this.cB_TimeMode.Size = new System.Drawing.Size(105, 19);
             this.cB_TimeMode.TabIndex = 4;
-            this.cB_TimeMode.Text = "4.终止时间(秒)";
+            this.cB_TimeMode.Text = "4.终止时间";
             this.cB_TimeMode.UseVisualStyleBackColor = true;
             // 
             // cB_CoverMode
@@ -104,6 +108,10 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             // 
             // groupBox1
             // 
+            this.groupBox1.Controls.Add(this.label2);
+            this.groupBox1.Controls.Add(this.label1);
+            this.groupBox1.Controls.Add(this.cB_AreaMode);
+            this.groupBox1.Controls.Add(this.tB_AreaMode);
             this.groupBox1.Controls.Add(this.bt_ok);
             this.groupBox1.Controls.Add(this.cB_FieldMode);
             this.groupBox1.Controls.Add(this.cB_CoverMode);
@@ -114,14 +122,14 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             this.groupBox1.Controls.Add(this.tB_ParticleMode);
             this.groupBox1.Location = new System.Drawing.Point(12, 12);
             this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(458, 252);
+            this.groupBox1.Size = new System.Drawing.Size(495, 319);
             this.groupBox1.TabIndex = 7;
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "测量结束方式";
             // 
             // bt_ok
             // 
-            this.bt_ok.Location = new System.Drawing.Point(340, 213);
+            this.bt_ok.Location = new System.Drawing.Point(375, 271);
             this.bt_ok.Name = "bt_ok";
             this.bt_ok.Size = new System.Drawing.Size(112, 33);
             this.bt_ok.TabIndex = 7;
@@ -129,11 +137,46 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             this.bt_ok.UseVisualStyleBackColor = true;
             this.bt_ok.Click += new System.EventHandler(this.bt_ok_Click);
             // 
+            // cB_AreaMode
+            // 
+            this.cB_AreaMode.AutoSize = true;
+            this.cB_AreaMode.Location = new System.Drawing.Point(50, 220);
+            this.cB_AreaMode.Name = "cB_AreaMode";
+            this.cB_AreaMode.Size = new System.Drawing.Size(165, 19);
+            this.cB_AreaMode.TabIndex = 8;
+            this.cB_AreaMode.Text = "5.终止测量区域面积";
+            this.cB_AreaMode.UseVisualStyleBackColor = true;
+            // 
+            // tB_AreaMode
+            // 
+            this.tB_AreaMode.Location = new System.Drawing.Point(247, 219);
+            this.tB_AreaMode.Name = "tB_AreaMode";
+            this.tB_AreaMode.Size = new System.Drawing.Size(164, 25);
+            this.tB_AreaMode.TabIndex = 9;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(419, 176);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(22, 15);
+            this.label1.TabIndex = 10;
+            this.label1.Text = "秒";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(419, 222);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(67, 15);
+            this.label2.TabIndex = 11;
+            this.label2.Text = "平方毫米";
+            // 
             // MeasureStopMode
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(482, 276);
+            this.ClientSize = new System.Drawing.Size(516, 340);
             this.ControlBox = false;
             this.Controls.Add(this.groupBox1);
             this.MaximizeBox = false;
@@ -159,5 +202,9 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
         private System.Windows.Forms.CheckBox cB_CoverMode;
         private System.Windows.Forms.GroupBox groupBox1;
         private System.Windows.Forms.Button bt_ok;
+        private System.Windows.Forms.CheckBox cB_AreaMode;
+        private System.Windows.Forms.TextBox tB_AreaMode;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.Label label1;
     }
 }

+ 31 - 2
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/MeasureStopMode.cs

@@ -17,6 +17,7 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
         int m_FieldMode = 100;
         int m_ParticleMode = 5000;
         int m_TimeMode = 1000;
+        int m_AreaMode = 100;
         public string StopMode
         {
             set
@@ -63,6 +64,18 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
                 return m_TimeMode;
             }
         }
+
+        public int AreaMode
+        {
+            set
+            {
+                m_AreaMode = value;
+            }
+            get
+            {
+                return m_AreaMode;
+            }
+        }
         public MeasureStopMode()
         {
             InitializeComponent();
@@ -102,7 +115,11 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             {
                 m_StopMode += (int)OTS_MEASURE_STOP_MODE.TimeMode+1 + " + ";
             }
-            
+            if (cB_AreaMode.Checked)
+            {
+                m_StopMode += (int)OTS_MEASURE_STOP_MODE.AreaMode + 1 + " + ";
+            }
+
             m_StopMode = m_StopMode.Substring(0, m_StopMode.Length -3);
 
 
@@ -132,7 +149,13 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
                     return false;
                 }
             }
-            
+            if (cB_AreaMode.Checked)
+            {
+                if (!int.TryParse(tB_AreaMode.Text, out m_AreaMode))
+                {
+                    return false;
+                }
+            }
             return true;
         }
 
@@ -141,6 +164,7 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
             tB_FieldMode.Text = m_FieldMode.ToString();
             tB_ParticleMode.Text = m_ParticleMode.ToString();
             tB_TimeMode.Text= m_TimeMode.ToString();
+            tB_AreaMode.Text = m_AreaMode.ToString();
             string[] st = m_StopMode.Replace(" ", "").Split('+');
             for (int k = 0; k < st.Length; k++)
             {
@@ -166,6 +190,11 @@ namespace OTSMeasureApp._3_OTSDisplaySourceGridData
                             cB_CoverMode.Checked = true;
                             break;
                         }
+                    case OTS_MEASURE_STOP_MODE.AreaMode:
+                        {
+                            cB_AreaMode.Checked = true;
+                            break; ;
+                        }
                     default:
                         break;
                 }

+ 9 - 1
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSDisplaySampleGrid.cs

@@ -56,7 +56,7 @@ namespace OTSMeasureApp
         public int m_PropWindow_Y = 0;
 
      //   int Cur_Grid_Rows = 0;           //临时用于计算用的grid行号
-        public static int Const_Grid_Row = 48;    //总行数
+        public static int Const_Grid_Row = 49;    //总行数
         public static int Const_Grid_Column = 3;   //总列数
 
 
@@ -966,6 +966,14 @@ namespace OTSMeasureApp
                         return false;
                     }
                     break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA:            //测量时间,秒(正整数,不含0)
+                    if (false == rg_zzs_bhl.Match(in_str.Trim()).Success)
+                    {
+                        m_SampleGrid.m_PropWindow.PropGrid[m_SampleGrid.m_ClickRow, 2].Value = "100";
+                        MessageBox.Show("The measurement time of sample is wrong, please input again!", "Error Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
+                        return false;
+                    }
+                    break;
 
                 case OTS_SAMPLE_PROP_GRID_ITEMS.PARTICLE_AREA_MIN:          //颗粒直径最小值(正浮点数,不含0)
                     if (in_str.Trim() == "0")

+ 14 - 4
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSPropertyWindow.cs

@@ -209,6 +209,18 @@ namespace OTSMeasureApp
                         DisplaySampleMeasureInfo(SMInfo);
                         return;
                     }
+                    if (!m_DataMgr.SetSampleParamVal(OTS_SAMPLE_PROP_GRID_ITEMS.STOP_PARAM_AREA, OTS_ITEM_TYPES.INT, StopModeDialog.AreaMode))    // Prop值变化,修改样品值成功
+                    {
+                        string sLog = "SampleId = " + SampleId.ToString() + "," + "ValType = " + ValType.ToString() + "," + "ObjVal = " + ObjVal.ToString();
+                        //重新获取原来工作样品值重新设置
+                        if (!m_DataMgr.GetWorkSamplePerameter(m_DataMgr.GetWorkSample(), ref SMInfo))
+                        {
+                            return;
+                        }
+                        //Prop重新获显示工作样品的原来值
+                        DisplaySampleMeasureInfo(SMInfo);
+                        return;
+                    }
                 }
             }
             //更新GROUPID和ITEMID的变化
@@ -285,14 +297,11 @@ namespace OTSMeasureApp
                 if(m_SampleGrid.m_ClickRow==9&& m_SampleGrid.m_ClickColumn==2)
                 {
                     StopModeDialog = new MeasureStopMode();
-                    //if (StopModeDialog == null)
-                    //{
-                        
-                    //}
                     StopModeDialog.FieldMode = int.Parse(PropGrid[m_SampleGrid.m_ClickRow + 2, m_SampleGrid.m_ClickColumn].Value.ToString());
                     StopModeDialog.TimeMode = int.Parse(PropGrid[m_SampleGrid.m_ClickRow + 3, m_SampleGrid.m_ClickColumn].Value.ToString());
                     StopModeDialog.ParticleMode = int.Parse(PropGrid[m_SampleGrid.m_ClickRow + 1, m_SampleGrid.m_ClickColumn].Value.ToString());
                     StopModeDialog.StopMode = PropGrid[m_SampleGrid.m_ClickRow, m_SampleGrid.m_ClickColumn].Value.ToString();
+                    StopModeDialog.AreaMode = int.Parse(PropGrid[m_SampleGrid.m_ClickRow+4, m_SampleGrid.m_ClickColumn].Value.ToString());
                     DialogResult result = StopModeDialog.ShowDialog();
 
                     if (result == DialogResult.OK)
@@ -301,6 +310,7 @@ namespace OTSMeasureApp
                         PropGrid[m_SampleGrid.m_ClickRow + 2, m_SampleGrid.m_ClickColumn].Value = StopModeDialog.FieldMode;
                         PropGrid[m_SampleGrid.m_ClickRow + 3, m_SampleGrid.m_ClickColumn].Value = StopModeDialog.TimeMode;
                         PropGrid[m_SampleGrid.m_ClickRow + 1, m_SampleGrid.m_ClickColumn].Value = StopModeDialog.ParticleMode;
+                        PropGrid[m_SampleGrid.m_ClickRow + 4, m_SampleGrid.m_ClickColumn].Value = StopModeDialog.AreaMode;
                     }
                 }
             }

+ 5 - 0
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.cs

@@ -720,6 +720,9 @@ namespace OTSMeasureApp
             //终止夹杂物数
             m_cotsimgscanprm.SetStopParamParticles(Convert.ToInt32(IDC_EDIT_STOP_INCA_NUM.Text));
 
+            //终止面积
+            m_cotsimgscanprm.SetStopParamArea(Convert.ToInt32(IDC_EDIT_STOP_INCA_AREA.Text));
+
             //取图方式
             ComboBoxItem enum_fetchimgmode = (ComboBoxItem)IDC_COMBO_FETCHIMGMODE.SelectedItem;
             m_cotsimgscanprm.SetStartImageMode((otsdataconst.OTS_GET_IMAGE_MODE)Convert.ToInt32(enum_fetchimgmode.Value));
@@ -2049,6 +2052,7 @@ namespace OTSMeasureApp
                 StopModeDialog.FieldMode = m_cotsimgscanprm.GetStopParamFields();
                 StopModeDialog.TimeMode = m_cotsimgscanprm.GetStopParamMeasTime();
                 StopModeDialog.ParticleMode = m_cotsimgscanprm.GetStopParamParticles();
+                StopModeDialog.AreaMode = m_cotsimgscanprm.GetStopParamArea();
                 StopModeDialog.StopMode = tB_StopMode.Text;
             }
             DialogResult result = StopModeDialog.ShowDialog();
@@ -2065,6 +2069,7 @@ namespace OTSMeasureApp
                 IDC_EDIT_STOP_TIME.Text = StopModeDialog.TimeMode.ToString();
                 IDC_EDIT_STOP_FIELD_NUM.Text = StopModeDialog.FieldMode.ToString();
                 IDC_EDIT_STOP_INCA_NUM.Text = StopModeDialog.ParticleMode.ToString();
+                IDC_EDIT_STOP_INCA_AREA.Text = StopModeDialog.AreaMode.ToString();
             }
         }
     }

+ 98 - 49
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.designer.cs

@@ -53,19 +53,19 @@
             this.groupBox3 = new System.Windows.Forms.GroupBox();
             this.tB_StopMode = new System.Windows.Forms.TextBox();
             this.btn_StopMode = new System.Windows.Forms.Button();
-            this.IDC_EDIT_STOP_INCA_NUM = new System.Windows.Forms.TextBox();
-            this.IDC_EDIT_STOP_FIELD_NUM = new System.Windows.Forms.TextBox();
-            this.IDC_EDIT_STOP_TIME = new System.Windows.Forms.TextBox();
             this.label13 = new System.Windows.Forms.Label();
             this.IDC_COMBO_IMGSIZE = new System.Windows.Forms.ComboBox();
             this.IDC_COMBO_IMGSCANSPEED = new System.Windows.Forms.ComboBox();
             this.IDC_COMBO_FETCHIMGMODE = new System.Windows.Forms.ComboBox();
             this.label12 = new System.Windows.Forms.Label();
             this.label11 = new System.Windows.Forms.Label();
+            this.label7 = new System.Windows.Forms.Label();
+            this.IDC_EDIT_STOP_INCA_NUM = new System.Windows.Forms.TextBox();
+            this.IDC_EDIT_STOP_FIELD_NUM = new System.Windows.Forms.TextBox();
+            this.IDC_EDIT_STOP_TIME = new System.Windows.Forms.TextBox();
             this.label10 = new System.Windows.Forms.Label();
             this.label9 = new System.Windows.Forms.Label();
             this.label8 = new System.Windows.Forms.Label();
-            this.label7 = new System.Windows.Forms.Label();
             this.IDC_IMAGE_SIZE_SWITCH = new System.Windows.Forms.CheckBox();
             this.IDC_SCAN_SPEED_SWITCH = new System.Windows.Forms.CheckBox();
             this.IDC_FETCH_IMAGE_SWITCH = new System.Windows.Forms.CheckBox();
@@ -155,6 +155,8 @@
             this.lbModelSel = new System.Windows.Forms.Label();
             this.IDC_COMBO_Model = new System.Windows.Forms.ComboBox();
             this.groupBox7 = new System.Windows.Forms.GroupBox();
+            this.IDC_EDIT_STOP_INCA_AREA = new System.Windows.Forms.TextBox();
+            this.label48 = new System.Windows.Forms.Label();
             this.groupBox1.SuspendLayout();
             this.groupBox2.SuspendLayout();
             this.groupBox3.SuspendLayout();
@@ -439,39 +441,6 @@
             this.btn_StopMode.UseVisualStyleBackColor = true;
             this.btn_StopMode.Click += new System.EventHandler(this.btn_StopMode_Click);
             // 
-            // IDC_EDIT_STOP_INCA_NUM
-            // 
-            this.IDC_EDIT_STOP_INCA_NUM.Location = new System.Drawing.Point(955, 647);
-            this.IDC_EDIT_STOP_INCA_NUM.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.IDC_EDIT_STOP_INCA_NUM.MaxLength = 10;
-            this.IDC_EDIT_STOP_INCA_NUM.Name = "IDC_EDIT_STOP_INCA_NUM";
-            this.IDC_EDIT_STOP_INCA_NUM.Size = new System.Drawing.Size(155, 25);
-            this.IDC_EDIT_STOP_INCA_NUM.TabIndex = 310;
-            this.IDC_EDIT_STOP_INCA_NUM.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
-            this.IDC_EDIT_STOP_INCA_NUM.TextChanged += new System.EventHandler(this.IDC_EDIT_STOP_INCA_NUM_TextChanged);
-            // 
-            // IDC_EDIT_STOP_FIELD_NUM
-            // 
-            this.IDC_EDIT_STOP_FIELD_NUM.Location = new System.Drawing.Point(955, 617);
-            this.IDC_EDIT_STOP_FIELD_NUM.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.IDC_EDIT_STOP_FIELD_NUM.MaxLength = 10;
-            this.IDC_EDIT_STOP_FIELD_NUM.Name = "IDC_EDIT_STOP_FIELD_NUM";
-            this.IDC_EDIT_STOP_FIELD_NUM.Size = new System.Drawing.Size(155, 25);
-            this.IDC_EDIT_STOP_FIELD_NUM.TabIndex = 290;
-            this.IDC_EDIT_STOP_FIELD_NUM.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
-            this.IDC_EDIT_STOP_FIELD_NUM.TextChanged += new System.EventHandler(this.IDC_EDIT_STOP_FIELD_NUM_TextChanged);
-            // 
-            // IDC_EDIT_STOP_TIME
-            // 
-            this.IDC_EDIT_STOP_TIME.Location = new System.Drawing.Point(955, 589);
-            this.IDC_EDIT_STOP_TIME.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
-            this.IDC_EDIT_STOP_TIME.MaxLength = 10;
-            this.IDC_EDIT_STOP_TIME.Name = "IDC_EDIT_STOP_TIME";
-            this.IDC_EDIT_STOP_TIME.Size = new System.Drawing.Size(155, 25);
-            this.IDC_EDIT_STOP_TIME.TabIndex = 270;
-            this.IDC_EDIT_STOP_TIME.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
-            this.IDC_EDIT_STOP_TIME.TextChanged += new System.EventHandler(this.IDC_EDIT_STOP_TIME_TextChanged);
-            // 
             // label13
             // 
             this.label13.AutoSize = true;
@@ -532,6 +501,51 @@
             this.label11.TabIndex = 320;
             this.label11.Text = "取图方式";
             // 
+            // label7
+            // 
+            this.label7.AutoSize = true;
+            this.label7.Location = new System.Drawing.Point(7, 26);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(97, 15);
+            this.label7.TabIndex = 240;
+            this.label7.Text = "测量终止方式";
+            // 
+            // IDC_EDIT_STOP_INCA_NUM
+            // 
+            this.IDC_EDIT_STOP_INCA_NUM.Location = new System.Drawing.Point(955, 647);
+            this.IDC_EDIT_STOP_INCA_NUM.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.IDC_EDIT_STOP_INCA_NUM.MaxLength = 10;
+            this.IDC_EDIT_STOP_INCA_NUM.Name = "IDC_EDIT_STOP_INCA_NUM";
+            this.IDC_EDIT_STOP_INCA_NUM.Size = new System.Drawing.Size(155, 25);
+            this.IDC_EDIT_STOP_INCA_NUM.TabIndex = 310;
+            this.IDC_EDIT_STOP_INCA_NUM.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            this.IDC_EDIT_STOP_INCA_NUM.Visible = false;
+            this.IDC_EDIT_STOP_INCA_NUM.TextChanged += new System.EventHandler(this.IDC_EDIT_STOP_INCA_NUM_TextChanged);
+            // 
+            // IDC_EDIT_STOP_FIELD_NUM
+            // 
+            this.IDC_EDIT_STOP_FIELD_NUM.Location = new System.Drawing.Point(955, 617);
+            this.IDC_EDIT_STOP_FIELD_NUM.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.IDC_EDIT_STOP_FIELD_NUM.MaxLength = 10;
+            this.IDC_EDIT_STOP_FIELD_NUM.Name = "IDC_EDIT_STOP_FIELD_NUM";
+            this.IDC_EDIT_STOP_FIELD_NUM.Size = new System.Drawing.Size(155, 25);
+            this.IDC_EDIT_STOP_FIELD_NUM.TabIndex = 290;
+            this.IDC_EDIT_STOP_FIELD_NUM.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            this.IDC_EDIT_STOP_FIELD_NUM.Visible = false;
+            this.IDC_EDIT_STOP_FIELD_NUM.TextChanged += new System.EventHandler(this.IDC_EDIT_STOP_FIELD_NUM_TextChanged);
+            // 
+            // IDC_EDIT_STOP_TIME
+            // 
+            this.IDC_EDIT_STOP_TIME.Location = new System.Drawing.Point(955, 589);
+            this.IDC_EDIT_STOP_TIME.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.IDC_EDIT_STOP_TIME.MaxLength = 10;
+            this.IDC_EDIT_STOP_TIME.Name = "IDC_EDIT_STOP_TIME";
+            this.IDC_EDIT_STOP_TIME.Size = new System.Drawing.Size(155, 25);
+            this.IDC_EDIT_STOP_TIME.TabIndex = 270;
+            this.IDC_EDIT_STOP_TIME.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            this.IDC_EDIT_STOP_TIME.Visible = false;
+            this.IDC_EDIT_STOP_TIME.TextChanged += new System.EventHandler(this.IDC_EDIT_STOP_TIME_TextChanged);
+            // 
             // label10
             // 
             this.label10.AutoSize = true;
@@ -540,6 +554,7 @@
             this.label10.Size = new System.Drawing.Size(97, 15);
             this.label10.TabIndex = 300;
             this.label10.Text = "终止夹杂物数";
+            this.label10.Visible = false;
             // 
             // label9
             // 
@@ -549,6 +564,7 @@
             this.label9.Size = new System.Drawing.Size(82, 15);
             this.label9.TabIndex = 280;
             this.label9.Text = "终止帧图数";
+            this.label9.Visible = false;
             // 
             // label8
             // 
@@ -558,15 +574,7 @@
             this.label8.Size = new System.Drawing.Size(98, 15);
             this.label8.TabIndex = 260;
             this.label8.Text = "终止时间(秒)";
-            // 
-            // label7
-            // 
-            this.label7.AutoSize = true;
-            this.label7.Location = new System.Drawing.Point(7, 26);
-            this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(97, 15);
-            this.label7.TabIndex = 240;
-            this.label7.Text = "测量终止方式";
+            this.label8.Visible = false;
             // 
             // IDC_IMAGE_SIZE_SWITCH
             // 
@@ -577,6 +585,7 @@
             this.IDC_IMAGE_SIZE_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_IMAGE_SIZE_SWITCH.TabIndex = 539;
             this.IDC_IMAGE_SIZE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_IMAGE_SIZE_SWITCH.Visible = false;
             this.IDC_IMAGE_SIZE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_IMAGE_SIZE_SWITCH_CheckedChanged);
             // 
             // IDC_SCAN_SPEED_SWITCH
@@ -588,6 +597,7 @@
             this.IDC_SCAN_SPEED_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_SCAN_SPEED_SWITCH.TabIndex = 538;
             this.IDC_SCAN_SPEED_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_SCAN_SPEED_SWITCH.Visible = false;
             this.IDC_SCAN_SPEED_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_SCAN_SPEED_SWITCH_CheckedChanged);
             // 
             // IDC_FETCH_IMAGE_SWITCH
@@ -599,6 +609,7 @@
             this.IDC_FETCH_IMAGE_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_FETCH_IMAGE_SWITCH.TabIndex = 537;
             this.IDC_FETCH_IMAGE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_FETCH_IMAGE_SWITCH.Visible = false;
             this.IDC_FETCH_IMAGE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_FETCH_IMAGE_SWITCH_CheckedChanged);
             // 
             // IDC_STOP_PARTICAL_SWITCH
@@ -610,6 +621,7 @@
             this.IDC_STOP_PARTICAL_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_STOP_PARTICAL_SWITCH.TabIndex = 536;
             this.IDC_STOP_PARTICAL_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_PARTICAL_SWITCH.Visible = false;
             this.IDC_STOP_PARTICAL_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_PARTICAL_SWITCH_CheckedChanged);
             // 
             // IDC_STOP_FIELD_SWITCH
@@ -621,6 +633,7 @@
             this.IDC_STOP_FIELD_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_STOP_FIELD_SWITCH.TabIndex = 535;
             this.IDC_STOP_FIELD_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_FIELD_SWITCH.Visible = false;
             this.IDC_STOP_FIELD_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_FIELD_SWITCH_CheckedChanged);
             // 
             // IDC_STOP_TIME_SWITCH
@@ -632,6 +645,7 @@
             this.IDC_STOP_TIME_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_STOP_TIME_SWITCH.TabIndex = 534;
             this.IDC_STOP_TIME_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_TIME_SWITCH.Visible = false;
             this.IDC_STOP_TIME_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_TIME_SWITCH_CheckedChanged);
             // 
             // IDC_STOP_MODE_SWITCH
@@ -643,6 +657,7 @@
             this.IDC_STOP_MODE_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_STOP_MODE_SWITCH.TabIndex = 533;
             this.IDC_STOP_MODE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_STOP_MODE_SWITCH.Visible = false;
             this.IDC_STOP_MODE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_STOP_MODE_SWITCH_CheckedChanged);
             // 
             // groupBox4
@@ -1103,6 +1118,7 @@
             this.IDC_PART_GRAY_MIN_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_PART_GRAY_MIN_SWITCH.TabIndex = 812;
             this.IDC_PART_GRAY_MIN_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_GRAY_MIN_SWITCH.Visible = false;
             this.IDC_PART_GRAY_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_GRAY_SWITCH_CheckedChanged);
             // 
             // IDC_BACK_MIN_SWITCH
@@ -1114,6 +1130,7 @@
             this.IDC_BACK_MIN_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_BACK_MIN_SWITCH.TabIndex = 811;
             this.IDC_BACK_MIN_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_BACK_MIN_SWITCH.Visible = false;
             this.IDC_BACK_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_BACK_MIN_SWITCH_CheckedChanged);
             // 
             // IDC_PART_MIN_SWITCH
@@ -1125,6 +1142,7 @@
             this.IDC_PART_MIN_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_PART_MIN_SWITCH.TabIndex = 810;
             this.IDC_PART_MIN_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_MIN_SWITCH.Visible = false;
             this.IDC_PART_MIN_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_MIN_SWITCH_CheckedChanged);
             // 
             // IDC_PART_GRAY_MAX_SWITCH
@@ -1136,6 +1154,7 @@
             this.IDC_PART_GRAY_MAX_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_PART_GRAY_MAX_SWITCH.TabIndex = 692;
             this.IDC_PART_GRAY_MAX_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_GRAY_MAX_SWITCH.Visible = false;
             this.IDC_PART_GRAY_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_GRAY_MAX_CheckedChanged);
             // 
             // IDC_BACK_MAX_SWITCH
@@ -1147,6 +1166,7 @@
             this.IDC_BACK_MAX_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_BACK_MAX_SWITCH.TabIndex = 691;
             this.IDC_BACK_MAX_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_BACK_MAX_SWITCH.Visible = false;
             this.IDC_BACK_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_BACK_MAX_SWITCH_CheckedChanged);
             // 
             // IDC_PART_MAX_SWITCH
@@ -1158,6 +1178,7 @@
             this.IDC_PART_MAX_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_PART_MAX_SWITCH.TabIndex = 540;
             this.IDC_PART_MAX_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_PART_MAX_SWITCH.Visible = false;
             this.IDC_PART_MAX_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_PART_MAX_SWITCH_CheckedChanged);
             // 
             // groupBox6
@@ -1438,6 +1459,7 @@
             this.IDC_XRAY_COUNT_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_XRAY_COUNT_SWITCH.TabIndex = 809;
             this.IDC_XRAY_COUNT_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_XRAY_COUNT_SWITCH.Visible = false;
             this.IDC_XRAY_COUNT_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_COUNT_SWITCH_CheckedChanged);
             // 
             // IDC_XRAY_TIME_SWITCH
@@ -1449,6 +1471,7 @@
             this.IDC_XRAY_TIME_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_XRAY_TIME_SWITCH.TabIndex = 808;
             this.IDC_XRAY_TIME_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_XRAY_TIME_SWITCH.Visible = false;
             this.IDC_XRAY_TIME_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_TIME_SWITCH_CheckedChanged);
             // 
             // IDC_XRAY_MODE_SWITCH
@@ -1460,6 +1483,7 @@
             this.IDC_XRAY_MODE_SWITCH.Size = new System.Drawing.Size(18, 17);
             this.IDC_XRAY_MODE_SWITCH.TabIndex = 693;
             this.IDC_XRAY_MODE_SWITCH.UseVisualStyleBackColor = true;
+            this.IDC_XRAY_MODE_SWITCH.Visible = false;
             this.IDC_XRAY_MODE_SWITCH.CheckedChanged += new System.EventHandler(this.IDC_XRAY_MODE_SWITCH_CheckedChanged);
             // 
             // btnok
@@ -1521,11 +1545,34 @@
             this.groupBox7.TabStop = false;
             this.groupBox7.Text = "模式选择";
             // 
+            // IDC_EDIT_STOP_INCA_AREA
+            // 
+            this.IDC_EDIT_STOP_INCA_AREA.Location = new System.Drawing.Point(955, 680);
+            this.IDC_EDIT_STOP_INCA_AREA.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.IDC_EDIT_STOP_INCA_AREA.MaxLength = 10;
+            this.IDC_EDIT_STOP_INCA_AREA.Name = "IDC_EDIT_STOP_INCA_AREA";
+            this.IDC_EDIT_STOP_INCA_AREA.Size = new System.Drawing.Size(155, 25);
+            this.IDC_EDIT_STOP_INCA_AREA.TabIndex = 824;
+            this.IDC_EDIT_STOP_INCA_AREA.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            this.IDC_EDIT_STOP_INCA_AREA.Visible = false;
+            // 
+            // label48
+            // 
+            this.label48.AutoSize = true;
+            this.label48.Location = new System.Drawing.Point(842, 683);
+            this.label48.Name = "label48";
+            this.label48.Size = new System.Drawing.Size(97, 15);
+            this.label48.TabIndex = 823;
+            this.label48.Text = "终止测量面积";
+            this.label48.Visible = false;
+            // 
             // ProgMgrInfoForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(834, 742);
+            this.ClientSize = new System.Drawing.Size(1047, 941);
+            this.Controls.Add(this.IDC_EDIT_STOP_INCA_AREA);
+            this.Controls.Add(this.label48);
             this.Controls.Add(this.IDC_IMAGE_SIZE_SWITCH);
             this.Controls.Add(this.groupBox7);
             this.Controls.Add(this.IDC_EDIT_STOP_INCA_NUM);
@@ -1560,9 +1607,9 @@
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
             this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.MaximizeBox = false;
-            this.MaximumSize = new System.Drawing.Size(852, 789);
+            this.MaximumSize = new System.Drawing.Size(852, 790);
             this.MinimizeBox = false;
-            this.MinimumSize = new System.Drawing.Size(852, 789);
+            this.MinimumSize = new System.Drawing.Size(852, 790);
             this.Name = "ProgMgrInfoForm";
             this.ShowIcon = false;
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
@@ -1716,5 +1763,7 @@
         private System.Windows.Forms.Label label47;
         private System.Windows.Forms.TextBox tB_StopMode;
         private System.Windows.Forms.Button btn_StopMode;
+        public System.Windows.Forms.TextBox IDC_EDIT_STOP_INCA_AREA;
+        private System.Windows.Forms.Label label48;
     }
 }

+ 4 - 3
OTSIncAMeasureApp/ResourceManage/ResourceData.cs

@@ -25,9 +25,10 @@ namespace OTSModelSharp.ResourceManage
         STOP_PARAM_PARTICLE = 12,
         STOP_PARAM_FIELD = 13,
         STOP_PARAM_TIME = 14,
-        SCAN_SPEED = 15,
-        IMAGE_RESOLUTION = 16,
-        IMAGE_GRP_MAX = 16,
+        STOP_PARAM_AREA = 15,
+        SCAN_SPEED = 16,
+        IMAGE_RESOLUTION = 17,
+        IMAGE_GRP_MAX = 17,
         IMAGE_PROC_MIN = 20,
         PARTICLE_AREA_MIN = 20,
         PARTICLE_AREA_MAX = 21,