Browse Source

calculate the particle's property of all the watershed particles.

gsp 11 months ago
parent
commit
6bbb408f5b

+ 4 - 5
Bin/x64/Debug/Config/ReportTemplate/TCleannessA_Template/ReportTemplateConfig.xml

@@ -32,7 +32,7 @@
     <index_cb_jzwfl_klfw>0</index_cb_jzwfl_klfw>
     <str_cb_klcc_jsfs>DMAX</str_cb_klcc_jsfs>
     <b_ck_klcc_xsddt>True</b_ck_klcc_xsddt>
-    <b_ck_klcc_dfl>True</b_ck_klcc_dfl>
+    <b_ck_klcc_dfl>False</b_ck_klcc_dfl>
     <b_ck_klcc_xfl>True</b_ck_klcc_xfl>
     <str_cb_klcc_ljb>j4.psf</str_cb_klcc_ljb>
     <ParticleSizeGraphicSelection>0</ParticleSizeGraphicSelection>
@@ -136,12 +136,11 @@
     <b_ck_chart>False</b_ck_chart>
   </M_JZWZB>
   <whole>
-    <list_str_MainPriority>System.Collections.Generic.List`1[System.String]</list_str_MainPriority>
+    <list_str_MainPriority>System.Collections.Generic.List`1[System.String]<YS0>Mullite</YS0><YS1>Ti-Zr-Al oxid</YS1><YS2>Ti-Al-Si oxide</YS2><YS3>Ti-Al oxide</YS3><YS4>A1-Si-Ca oxide</YS4><YS5>Al-Si-Zr-Ni oxide</YS5><YS6>Ca-Al oxide</YS6><YS7>Si-Mg-Al oxide</YS7><YS8>Al-silicate</YS8><YS9>Apatite MgAlSi</YS9><YS10>Corundum</YS10><YS11>Si-Zr oxide</YS11><YS12>Quartz</YS12><YS13>Mo-Fe-Co-Ni</YS13><YS14>Mg-Fe Silicate</YS14><YS15>Fe oxide</YS15><YS16>Monazite</YS16><YS17>Ca-Mg oxide</YS17><YS18>Xenotime</YS18><YS19>Rutile</YS19><YS20>Willemite</YS20><YS21>Fluorite</YS21><YS22>Periclase</YS22><YS23>Ilmenite</YS23></list_str_MainPriority>
     <list_str_SecondaryPriority>System.Collections.Generic.List`1[System.String]<YS0>Nialloy</YS0><YS1>Fe-O</YS1><YS2>Fe-Cr</YS2><YS3>Fe-alloy</YS3></list_str_SecondaryPriority>
-    <str_MainPriority>
-    </str_MainPriority>
+    <str_MainPriority>Mullite , Ti-Zr-Al oxid , Ti-Al-Si oxide , Ti-Al oxide , A1-Si-Ca oxide , Al-Si-Zr-Ni oxide , Ca-Al oxide , Si-Mg-Al oxide , Al-silicate , Apatite MgAlSi , Corundum , Si-Zr oxide , Quartz , Mo-Fe-Co-Ni , Mg-Fe Silicate , Fe oxide , Monazite , Ca-Mg oxide , Xenotime , Rutile , Willemite , Fluorite , Periclase , Ilmenite</str_MainPriority>
     <str_SecondaryPriority>Nialloy,Fe-O,Fe-Cr,Fe-alloy</str_SecondaryPriority>
-    <list_str_MainPriority_Serial>System.Collections.Generic.List`1[System.String]</list_str_MainPriority_Serial>
+    <list_str_MainPriority_Serial>System.Collections.Generic.List`1[System.String]<YS0>40001</YS0><YS1>40004</YS1><YS2>40006</YS2><YS3>40003</YS3><YS4>40010</YS4><YS5>40012</YS5><YS6>40013</YS6><YS7>40016</YS7><YS8>40014</YS8><YS9>40023</YS9><YS10>40002</YS10><YS11>40007</YS11><YS12>40009</YS12><YS13>40005</YS13><YS14>40008</YS14><YS15>40011</YS15><YS16>40015</YS16><YS17>40017</YS17><YS18>40018</YS18><YS19>40019</YS19><YS20>40020</YS20><YS21>40021</YS21><YS22>40022</YS22><YS23>40024</YS23></list_str_MainPriority_Serial>
   </whole>
   <M_DZ>
     <Notes>

+ 2 - 2
Bin/x64/Debug/Config/SysData/OTSProgMgrParam.pmf

@@ -3,7 +3,7 @@
   <Member RegName="GenParam" DefaultArea="100" DefaultSampleName="Sample" DefaultShape="0" MeasParamFileFolderName=".\Config\ProData\" MeasSwitch="true" PartSTDLibFolderName=".\Config\SysData\" PropertyDisplayMode="0" StdLibFileName="fire-resistant_2" SteelTechnology="0" UseSysSTD="true" />
   <Member RegName="ImageProcParam" AutoBGRemoveType="0:MIDDLE" BGRemoveType="3:WaterShed" MatrixStep="50" OverlapParam="0" ParticleSelectionCondition="">
     <Member RegName="BGGray" end="50" start="0" />
-    <Member RegName="IncArea" end="2000" start="20" />
+    <Member RegName="IncArea" end="2000" start="15" />
     <Member RegName="ParticleGray" end="255" start="0" />
   </Member>
   <Member RegName="ImageScanParam" ImageResolution="4:_1536_1024" SatrtImageMode="1:Snake" ScanImageSpeed="0:low" StopMode="0:CoverMode" StopParamArea="10" StopParamFields="100" StopParamMeasTime="360" StopParamParticles="5000" />
@@ -11,5 +11,5 @@
     <Member RegName="XAxis" end="55000" start="-55000" />
     <Member RegName="YAxis" end="55000" start="-55000" />
   </Member>
-  <Member RegName="XrayParam" AnalyExpCount="50" IfAutoId="true" KnownElements="C,N,O,F,Na,Mg,Al,Si,P,S,Ca,Ti,V,Cr,Mn,Fe,Zr,Nb,Mo,La,Ce" MidAnalyAQTime="100" QuantifyMinSize="1" ScanMode="0:PointMode" SmallPartAQTime="100" UseFilter="false" UsingXray="true" XrayLimit="999999999" />
+  <Member RegName="XrayParam" AnalyExpCount="100" IfAutoId="true" KnownElements="C,N,O,F,Na,Mg,Al,Si,P,S,Ca,Ti,V,Cr,Mn,Fe,Zr,Nb,Mo,La,Ce" MidAnalyAQTime="100" QuantifyMinSize="1" ScanMode="0:PointMode" SmallPartAQTime="100" UseFilter="false" UsingXray="true" XrayLimit="999999999" />
 </XMLData>

BIN
Bin/x64/Debug/Config/SysData/fire-resistant_2.db


+ 8 - 0
OTSCPP/OTSData/OTSParticle.cpp

@@ -459,6 +459,14 @@ namespace OTSDATA {
 		return TRUE;
 	}
 
+	BOOL COTSParticle::CalActualArea(double pixelsize)
+	{
+		auto pixelarea = GetPixelArea();
+
+		m_dArea = pixelarea * pixelsize * pixelsize;
+		return true;
+	}
+
 	void COTSParticle::SetFeature(COTSFeaturePtr a_pFeature)
 	{
 		ASSERT(a_pFeature);

+ 1 - 0
OTSCPP/OTSData/OTSParticle.h

@@ -165,6 +165,7 @@ const double Pi = 3.14159;
 		BOOL CalCoverRectFromSegment();
 		BOOL CalPixelArea();
 		BOOL CalXRayPos();
+		BOOL CalActualArea(double pixelsize);
 
 		std::string GetClassifyName() const { return m_classifyName; }
 		void SetClassifyName(std::string val) { m_classifyName = val; }

+ 1 - 0
OTSCPP/OTSImagePro/OTSImageProcess.cpp

@@ -671,6 +671,7 @@ namespace OTSIMGPROC
 
 
 			newsubpart->CalXRayPos();
+			newsubpart->CalActualArea(a_PixelSize);
 
 			CPoint pos = newsubpart->GetXRayPos();
 

+ 13 - 13
OTSIncAMeasureApp/10-OTSSplashScreen/OTSSplashScreen_IncA.Designer.cs

@@ -42,7 +42,7 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.label2.CausesValidation = false;
             this.label2.Font = new System.Drawing.Font("Microsoft YaHei", 21.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.label2.ForeColor = System.Drawing.SystemColors.InfoText;
-            this.label2.Location = new System.Drawing.Point(668, 188);
+            this.label2.Location = new System.Drawing.Point(668, 204);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(76, 39);
             this.label2.TabIndex = 1;
@@ -56,7 +56,7 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.label1.CausesValidation = false;
             this.label1.Font = new System.Drawing.Font("Microsoft YaHei", 21.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.label1.ForeColor = System.Drawing.SystemColors.InfoText;
-            this.label1.Location = new System.Drawing.Point(603, 239);
+            this.label1.Location = new System.Drawing.Point(603, 259);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(146, 39);
             this.label1.TabIndex = 1;
@@ -67,9 +67,9 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.pictureBox1.BackColor = System.Drawing.SystemColors.Menu;
             this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
             this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
-            this.pictureBox1.Location = new System.Drawing.Point(595, 386);
+            this.pictureBox1.Location = new System.Drawing.Point(595, 418);
             this.pictureBox1.Name = "pictureBox1";
-            this.pictureBox1.Size = new System.Drawing.Size(154, 70);
+            this.pictureBox1.Size = new System.Drawing.Size(154, 76);
             this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox1.TabIndex = 4;
             this.pictureBox1.TabStop = false;
@@ -79,7 +79,7 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
             this.pictureBox2.Location = new System.Drawing.Point(576, 2);
             this.pictureBox2.Name = "pictureBox2";
-            this.pictureBox2.Size = new System.Drawing.Size(112, 22);
+            this.pictureBox2.Size = new System.Drawing.Size(112, 24);
             this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox2.TabIndex = 5;
             this.pictureBox2.TabStop = false;
@@ -104,7 +104,7 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.label4.CausesValidation = false;
             this.label4.Font = new System.Drawing.Font("Microsoft YaHei", 21.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.label4.ForeColor = System.Drawing.SystemColors.InfoText;
-            this.label4.Location = new System.Drawing.Point(559, 296);
+            this.label4.Location = new System.Drawing.Point(559, 321);
             this.label4.Name = "label4";
             this.label4.Size = new System.Drawing.Size(185, 39);
             this.label4.TabIndex = 8;
@@ -122,7 +122,7 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.richTextBox3.Margin = new System.Windows.Forms.Padding(2);
             this.richTextBox3.Name = "richTextBox3";
             this.richTextBox3.ReadOnly = true;
-            this.richTextBox3.Size = new System.Drawing.Size(18, 19);
+            this.richTextBox3.Size = new System.Drawing.Size(18, 21);
             this.richTextBox3.TabIndex = 9;
             this.richTextBox3.TabStop = false;
             this.richTextBox3.Text = "X";
@@ -134,7 +134,7 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             this.label5.CausesValidation = false;
             this.label5.Font = new System.Drawing.Font("SimSun", 15F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.label5.ForeColor = System.Drawing.SystemColors.Highlight;
-            this.label5.Location = new System.Drawing.Point(498, 466);
+            this.label5.Location = new System.Drawing.Point(498, 505);
             this.label5.Name = "label5";
             this.label5.Size = new System.Drawing.Size(251, 20);
             this.label5.TabIndex = 10;
@@ -143,20 +143,20 @@ namespace OTSMeasureApp._10_OTSSplashScreen
             // label6
             // 
             this.label6.Font = new System.Drawing.Font("Microsoft YaHei", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label6.Location = new System.Drawing.Point(4, 406);
+            this.label6.Location = new System.Drawing.Point(4, 440);
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(448, 40);
+            this.label6.Size = new System.Drawing.Size(448, 43);
             this.label6.TabIndex = 11;
-            this.label6.Text = "OTS 矿物分析系统(钢铁行业)";
+            this.label6.Text = "OTS IncA SteelMineralA";
             // 
             // OTSSplashScreen_IncA
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
             this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
             this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
-            this.ClientSize = new System.Drawing.Size(761, 491);
+            this.ClientSize = new System.Drawing.Size(761, 532);
             this.Controls.Add(this.label6);
             this.Controls.Add(this.label5);
             this.Controls.Add(this.richTextBox3);

+ 3 - 3
OTSIncAMeasureApp/10-OTSSplashScreen/OTSSplashScreen_IncA.resx

@@ -121,7 +121,7 @@
   <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAAMMAAAC3CAYAAACvzOp9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wAAADsABataJCQAAOrtJREFUeF7tfQd4nNWZbjaAuiW5URKSzQ2BQJLdZFNudrMtm5vsvWmbbLClGY1k
+        vwAADr8BOAVTJAAAOrtJREFUeF7tfQd4nNWZbjaAuiW5URKSzQ2BQJLdZFNudrMtm5vsvWmbbLClGY1k
         m246hCRsIKEETEhCAOOq3qsrzVQ3jAslFBuDARsDbtjGsurM/NPe+77nH1kz8sixjY0tdB4/r2c0c/5z
         zv/P937llO98LBaLwcLCIoaPRaNRWFhYRGEtg4VFHJYMFhZxWDJYWMRhyWBhEYclg4VFHJYMFhZxWDJY
         WMRhyWBhEYclg4VFHHYG2sIiDmsZLCzisJbBwiIOaxksLOKwlsHCIg5rGSws4rBksLCIw5LBwiIOSwYL
@@ -378,7 +378,7 @@
   <data name="pictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAALgAAAAlCAYAAADxyyNaAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wAAADsABataJCQAACm1JREFUeF7tnH1sVWcdx6fRLNs/00QHAzVukUYTdTr+WNQtJkvUway4jTG26bZI
+        vwAADr8BOAVTJAAACm1JREFUeF7tnH1sVWcdx6fRLNs/00QHAzVukUYTdTr+WNQtJkvUway4jTG26bZI
         kCUucWKWJYoyIhKNTjoGFjZe5KXrygataQeUFTbX0Ta8WTraUaC2hdL2cnvp+nLbe9tejvd3zvO75znn
         fs/7uU3h9pN8k97n/J7fc7h8z7nP2zk3KNPkDfUfXlLmLNqk3Dp/naVmPLBW2Vd3XtS49pk2+HXO2HhK
         uePhjdDMTpp5/ytKT9+wyHRt4tvgD/9ur+HLuOvp7eKIYiinO0bVkevnjnCt0J02pvz/wJq3fLfSPzgq
@@ -473,7 +473,7 @@
         RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
         lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
         f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
-        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALEAAACxABrSO9dQAA9UFJREFUeF7s3QWcXdW5
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDwAACw8BkvkDpQAA9UFJREFUeF7s3QWcXdW5
         NvAz7m6ZjLu7u/tMZiaZmbiHOAQJ8QBJkODu7hAkCVZaatSFut62aKl8vb20FFokged7331mTXZmDpQK
         LQxP+vt329q+9jl75TxZOAAQERERERERERERERERERERERERERER0X+Iy5lERERERERERERERERERERE
         RERERERE9OFwOZOIiIiIiIiIiIiIiIiIiIiIiIiIiIiIPhwuZxIRERERERERERERERERERERERERERHR

+ 17 - 5
OTSIncAMeasureApp/4-OTSSamplespaceGraphicsPanel/OTSSamplespaceWindow.cs

@@ -2076,17 +2076,17 @@ namespace OTSMeasureApp
                 }
                 else if (m_DrawMeasureType == DrawMeasureAreaActionType.Rectangle || m_DrawMeasureType == DrawMeasureAreaActionType.Circle)
                 {
-                    var item = m_DrawMeasureGDIObject;
+                    //var item = m_DrawMeasureGDIObject;
 
 
-                    item.HoleNo = sam.GetMeasureGDIObject().HoleNo;
+                    m_DrawMeasureGDIObject.HoleNo = sam.GetMeasureGDIObject().HoleNo;
 
-                    item.IsWorkSample = sam.GetMeasureGDIObject().IsWorkSample;
+                    m_DrawMeasureGDIObject.IsWorkSample = sam.GetMeasureGDIObject().IsWorkSample;
 
                     sam.GetMeasureFieldGDIObjects().Clear();
-                    sam.SetMeasureGDIObject(item);
+                    sam.SetMeasureGDIObject(m_DrawMeasureGDIObject);
 
-                    var para = m_visualStage.GetSampleMeasurePara(item);
+                    var para = m_visualStage.GetSampleMeasurePara(m_DrawMeasureGDIObject);
 
                     m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);
 
@@ -2095,7 +2095,19 @@ namespace OTSMeasureApp
 
                     PrepareMeasureField(sam, MSR_RUN_TYPE.RUNMEASURE);
 
+                    //according to the calculated fields rectangle update the measure area.
+                    if (m_DrawMeasureType == DrawMeasureAreaActionType.Rectangle)
+                    {
+                        var rec = sam.GetAllGDIObjectsRectangle();
+
+                        m_DrawMeasureGDIObject.SetZoomedRegionF(rec);
+                        sam.SetMeasureGDIObject(m_DrawMeasureGDIObject);
+                        para = m_visualStage.GetSampleMeasurePara(m_DrawMeasureGDIObject);
+
+                        m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);
 
+                    }                        
+                    //-------------
                     m_DrawMeasureGDIObject = null;
 
                     this.Cursor = Cursors.Default;

+ 33 - 0
OTSIncAMeasureApp/4-OTSSamplespaceGraphicsPanel/VisualGDIObjects/CVisualSampleArea.cs

@@ -89,6 +89,39 @@ namespace OTSMeasureApp._4_OTSSamplespaceGraphicsPanel
         {
             return m_MeasureGDIObject.SubItems();
         }
+        public RectangleF GetAllGDIObjectsRectangle()
+        {
+            double left, top, right, bottom;
+            var itm1 = m_MeasureGDIObject.SubItems()[0];
+            var rec1 = itm1.GetZoomedRegionF();
+            left = rec1.Left;   
+            top = rec1.Top;
+            right = rec1.Right;
+            bottom = rec1.Bottom;
+            foreach (var itm in m_MeasureGDIObject.SubItems())
+            {
+                var rec = itm.GetZoomedRegionF();
+                if (rec.Left < rec1.Left)
+                { 
+                left = rec.Left;
+                }
+                if (rec.Top < rec1.Top)
+                {
+                    top = rec.Top;
+                }
+                if (rec.Right > rec1.Right)
+                {
+                    right = rec.Right;
+
+                }
+                if(rec.Bottom > rec1.Bottom)
+                {
+                    bottom = rec.Bottom;
+                }
+
+            }
+            return new RectangleF((float)left, (float)top, (float)(right -left), (float)(bottom -top));
+        }
 
         public void SetMeasureFieldGDIObjects(List<CVisualFieldGDIObject> value)
         {

+ 103 - 86
OTSIncAMeasureApp/OTSIncAMeasureAppForm.Designer.cs

@@ -29,21 +29,21 @@
         private void InitializeComponent()
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OTSIncAMeasureAppForm));
-            OTS.WinFormsUI.Docking.DockPanelSkin dockPanelSkin3 = new OTS.WinFormsUI.Docking.DockPanelSkin();
-            OTS.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin3 = new OTS.WinFormsUI.Docking.AutoHideStripSkin();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient7 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient15 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin3 = new OTS.WinFormsUI.Docking.DockPaneStripSkin();
-            OTS.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient3 = new OTS.WinFormsUI.Docking.DockPaneStripGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient16 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient8 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient17 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient3 = new OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient18 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient19 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient9 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient20 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient21 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new OTS.WinFormsUI.Docking.DockPanelSkin();
+            OTS.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new OTS.WinFormsUI.Docking.AutoHideStripSkin();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient1 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new OTS.WinFormsUI.Docking.DockPaneStripSkin();
+            OTS.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new OTS.WinFormsUI.Docking.DockPaneStripGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient2 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient3 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient4 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient5 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient6 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient7 = new OTS.WinFormsUI.Docking.TabGradient();
             this.rbNew = new System.Windows.Forms.RibbonButton();
             this.rbOpen = new System.Windows.Forms.RibbonButton();
             this.rbSave = new System.Windows.Forms.RibbonButton();
@@ -72,6 +72,7 @@
             this.rbThreePoints = new System.Windows.Forms.RibbonButton();
             this.rbRingShape = new System.Windows.Forms.RibbonButton();
             this.ribRectangle = new System.Windows.Forms.RibbonButton();
+            this.ribbonButton4 = new System.Windows.Forms.RibbonButton();
             this.ribPolygon = new System.Windows.Forms.RibbonButton();
             this.rbSemFunction = new System.Windows.Forms.RibbonPanel();
             this.rbConnectHardware = new System.Windows.Forms.RibbonButton();
@@ -85,6 +86,7 @@
             this.rbCheckParam = new System.Windows.Forms.RibbonButton();
             this.rbPReport = new System.Windows.Forms.RibbonPanel();
             this.rbReport = new System.Windows.Forms.RibbonButton();
+            this.ribbonButton2 = new System.Windows.Forms.RibbonButton();
             this.rbTabView = new System.Windows.Forms.RibbonTab();
             this.ribView = new System.Windows.Forms.RibbonPanel();
             this.rbRuler = new System.Windows.Forms.RibbonButton();
@@ -101,7 +103,6 @@
             this.dockPanel = new OTS.WinFormsUI.Docking.DockPanel();
             this.ribbonButton3 = new System.Windows.Forms.RibbonButton();
             this.ribbonButton1 = new System.Windows.Forms.RibbonButton();
-            this.ribbonButton2 = new System.Windows.Forms.RibbonButton();
             this.statusStrip1.SuspendLayout();
             this.SuspendLayout();
             // 
@@ -517,9 +518,10 @@
             this.ribRectangle.AltKey = null;
             this.ribRectangle.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
             this.ribRectangle.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribRectangle.DropDownItems.Add(this.ribbonButton4);
             this.ribRectangle.Image = global::OTSMeasureApp.Properties.Resources.矩形32;
             this.ribRectangle.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribRectangle.SmallImage")));
-            this.ribRectangle.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribRectangle.Style = System.Windows.Forms.RibbonButtonStyle.SplitDropDown;
             this.ribRectangle.Tag = "ribRectangle";
             this.ribRectangle.Text = "矩形";
             this.ribRectangle.ToolTip = null;
@@ -527,6 +529,20 @@
             this.ribRectangle.ToolTipTitle = null;
             this.ribRectangle.Click += new System.EventHandler(this.ribRectangle_Click);
             // 
+            // ribbonButton4
+            // 
+            this.ribbonButton4.AltKey = null;
+            this.ribbonButton4.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.ribbonButton4.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonButton4.Image = ((System.Drawing.Image)(resources.GetObject("ribbonButton4.Image")));
+            this.ribbonButton4.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonButton4.SmallImage")));
+            this.ribbonButton4.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonButton4.Tag = null;
+            this.ribbonButton4.Text = "RealArea";
+            this.ribbonButton4.ToolTip = null;
+            this.ribbonButton4.ToolTipImage = null;
+            this.ribbonButton4.ToolTipTitle = null;
+            // 
             // ribPolygon
             // 
             this.ribPolygon.AltKey = null;
@@ -707,6 +723,21 @@
             this.rbReport.ToolTipTitle = null;
             this.rbReport.Click += new System.EventHandler(this.rbReport_Click);
             // 
+            // ribbonButton2
+            // 
+            this.ribbonButton2.AltKey = null;
+            this.ribbonButton2.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.ribbonButton2.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.ribbonButton2.Image = global::OTSMeasureApp.Properties.Resources.Reset32;
+            this.ribbonButton2.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonButton2.SmallImage")));
+            this.ribbonButton2.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.ribbonButton2.Tag = null;
+            this.ribbonButton2.Text = "重新分类";
+            this.ribbonButton2.ToolTip = null;
+            this.ribbonButton2.ToolTipImage = null;
+            this.ribbonButton2.ToolTipTitle = null;
+            this.ribbonButton2.Click += new System.EventHandler(this.ribbonButton2_Click);
+            // 
             // rbTabView
             // 
             this.rbTabView.Panels.Add(this.ribView);
@@ -833,11 +864,11 @@
             this.TSGrayVal,
             this.STSemCoordinate,
             this.toolStripStatusLabel1});
-            this.statusStrip1.Location = new System.Drawing.Point(0, 671);
+            this.statusStrip1.Location = new System.Drawing.Point(0, 731);
             this.statusStrip1.Name = "statusStrip1";
             this.statusStrip1.Padding = new System.Windows.Forms.Padding(2, 0, 14, 0);
             this.statusStrip1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
-            this.statusStrip1.Size = new System.Drawing.Size(1277, 26);
+            this.statusStrip1.Size = new System.Drawing.Size(1277, 24);
             this.statusStrip1.TabIndex = 2;
             this.statusStrip1.Text = "statusStrip1";
             // 
@@ -845,20 +876,20 @@
             // 
             this.TSGrayVal.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right;
             this.TSGrayVal.Name = "TSGrayVal";
-            this.TSGrayVal.Size = new System.Drawing.Size(48, 21);
+            this.TSGrayVal.Size = new System.Drawing.Size(50, 19);
             this.TSGrayVal.Text = "灰度值";
             // 
             // STSemCoordinate
             // 
             this.STSemCoordinate.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right;
             this.STSemCoordinate.Name = "STSemCoordinate";
-            this.STSemCoordinate.Size = new System.Drawing.Size(62, 21);
+            this.STSemCoordinate.Size = new System.Drawing.Size(60, 19);
             this.STSemCoordinate.Text = "SEM坐标";
             // 
             // toolStripStatusLabel1
             // 
             this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
-            this.toolStripStatusLabel1.Size = new System.Drawing.Size(54, 21);
+            this.toolStripStatusLabel1.Size = new System.Drawing.Size(47, 19);
             this.toolStripStatusLabel1.Text = "IsReady";
             this.toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
             this.toolStripStatusLabel1.Visible = false;
@@ -873,53 +904,53 @@
             this.dockPanel.DockLeftPortion = 0.21D;
             this.dockPanel.DockRightPortion = 0.27D;
             this.dockPanel.Location = new System.Drawing.Point(0, 130);
-            this.dockPanel.Margin = new System.Windows.Forms.Padding(6, 7, 6, 7);
+            this.dockPanel.Margin = new System.Windows.Forms.Padding(6, 8, 6, 8);
             this.dockPanel.Name = "dockPanel";
-            this.dockPanel.Size = new System.Drawing.Size(1277, 541);
-            dockPanelGradient7.EndColor = System.Drawing.SystemColors.ControlLight;
-            dockPanelGradient7.StartColor = System.Drawing.SystemColors.ControlLight;
-            autoHideStripSkin3.DockStripGradient = dockPanelGradient7;
-            tabGradient15.EndColor = System.Drawing.SystemColors.Control;
-            tabGradient15.StartColor = System.Drawing.SystemColors.Control;
-            tabGradient15.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-            autoHideStripSkin3.TabGradient = tabGradient15;
-            dockPanelSkin3.AutoHideStripSkin = autoHideStripSkin3;
-            tabGradient16.EndColor = System.Drawing.SystemColors.ControlLightLight;
-            tabGradient16.StartColor = System.Drawing.SystemColors.ControlLightLight;
-            tabGradient16.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripGradient3.ActiveTabGradient = tabGradient16;
-            dockPanelGradient8.EndColor = System.Drawing.SystemColors.Control;
-            dockPanelGradient8.StartColor = System.Drawing.SystemColors.Control;
-            dockPaneStripGradient3.DockStripGradient = dockPanelGradient8;
-            tabGradient17.EndColor = System.Drawing.SystemColors.ControlLight;
-            tabGradient17.StartColor = System.Drawing.SystemColors.ControlLight;
-            tabGradient17.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripGradient3.InactiveTabGradient = tabGradient17;
-            dockPaneStripSkin3.DocumentGradient = dockPaneStripGradient3;
-            tabGradient18.EndColor = System.Drawing.SystemColors.ActiveCaption;
-            tabGradient18.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-            tabGradient18.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
-            tabGradient18.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
-            dockPaneStripToolWindowGradient3.ActiveCaptionGradient = tabGradient18;
-            tabGradient19.EndColor = System.Drawing.SystemColors.Control;
-            tabGradient19.StartColor = System.Drawing.SystemColors.Control;
-            tabGradient19.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripToolWindowGradient3.ActiveTabGradient = tabGradient19;
-            dockPanelGradient9.EndColor = System.Drawing.SystemColors.ControlLight;
-            dockPanelGradient9.StartColor = System.Drawing.SystemColors.ControlLight;
-            dockPaneStripToolWindowGradient3.DockStripGradient = dockPanelGradient9;
-            tabGradient20.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
-            tabGradient20.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-            tabGradient20.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
-            tabGradient20.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripToolWindowGradient3.InactiveCaptionGradient = tabGradient20;
-            tabGradient21.EndColor = System.Drawing.Color.Transparent;
-            tabGradient21.StartColor = System.Drawing.Color.Transparent;
-            tabGradient21.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-            dockPaneStripToolWindowGradient3.InactiveTabGradient = tabGradient21;
-            dockPaneStripSkin3.ToolWindowGradient = dockPaneStripToolWindowGradient3;
-            dockPanelSkin3.DockPaneStripSkin = dockPaneStripSkin3;
-            this.dockPanel.Skin = dockPanelSkin3;
+            this.dockPanel.Size = new System.Drawing.Size(1277, 601);
+            dockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight;
+            dockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight;
+            autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
+            tabGradient1.EndColor = System.Drawing.SystemColors.Control;
+            tabGradient1.StartColor = System.Drawing.SystemColors.Control;
+            tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+            autoHideStripSkin1.TabGradient = tabGradient1;
+            dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
+            tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
+            tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
+            tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
+            dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
+            dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
+            dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
+            tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
+            tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
+            tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
+            dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
+            tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
+            tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+            tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
+            tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
+            dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
+            tabGradient5.EndColor = System.Drawing.SystemColors.Control;
+            tabGradient5.StartColor = System.Drawing.SystemColors.Control;
+            tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
+            dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
+            dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
+            dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
+            tabGradient6.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
+            tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+            tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
+            tabGradient6.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
+            tabGradient7.EndColor = System.Drawing.Color.Transparent;
+            tabGradient7.StartColor = System.Drawing.Color.Transparent;
+            tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+            dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
+            dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
+            dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
+            this.dockPanel.Skin = dockPanelSkin1;
             this.dockPanel.TabIndex = 4;
             // 
             // ribbonButton3
@@ -950,26 +981,11 @@
             this.ribbonButton1.ToolTipImage = null;
             this.ribbonButton1.ToolTipTitle = null;
             // 
-            // ribbonButton2
-            // 
-            this.ribbonButton2.AltKey = null;
-            this.ribbonButton2.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
-            this.ribbonButton2.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.ribbonButton2.Image = global::OTSMeasureApp.Properties.Resources.Reset32;
-            this.ribbonButton2.SmallImage = ((System.Drawing.Image)(resources.GetObject("ribbonButton2.SmallImage")));
-            this.ribbonButton2.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.ribbonButton2.Tag = null;
-            this.ribbonButton2.Text = "重新分类";
-            this.ribbonButton2.ToolTip = null;
-            this.ribbonButton2.ToolTipImage = null;
-            this.ribbonButton2.ToolTipTitle = null;
-            this.ribbonButton2.Click += new System.EventHandler(this.ribbonButton2_Click);
-            // 
             // OTSIncAMeasureAppForm
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1277, 697);
+            this.ClientSize = new System.Drawing.Size(1277, 755);
             this.Controls.Add(this.dockPanel);
             this.Controls.Add(this.statusStrip1);
             this.Controls.Add(this.rbMenu);
@@ -978,7 +994,7 @@
             this.IsMdiContainer = true;
             this.KeyPreview = true;
             this.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
-            this.MinimumSize = new System.Drawing.Size(678, 500);
+            this.MinimumSize = new System.Drawing.Size(678, 538);
             this.Name = "OTSIncAMeasureAppForm";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
             this.Text = "OTSMeasureApp";
@@ -1055,5 +1071,6 @@
         public System.Windows.Forms.RibbonButton rbAutoBeamOff;
         public System.Windows.Forms.RibbonButton rbSysMgrApp;
         private System.Windows.Forms.RibbonButton ribbonButton2;
+        private System.Windows.Forms.RibbonButton ribbonButton4;
     }
 }

+ 1 - 1
OTSIncAMeasureApp/OTSIncAMeasureAppForm.cs

@@ -190,7 +190,7 @@ namespace OTSMeasureApp
                         var SystemType = m_ProjParam.GetDefaultParam().SystemTypeId;
                         if (SystemType == OTS_SysType_ID.IncA)
                         {
-                            this.Text += "(矿物分析系统)";
+                            this.Text += "(IncA SteelMineralA)";
                         }
                         else if (SystemType == OTS_SysType_ID.TCCleannessA)
                         {

+ 25 - 14
OTSIncAMeasureApp/OTSIncAMeasureAppForm.resx

@@ -152,19 +152,6 @@
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
         JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="ribbonButton2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAATSURBVDhPYxgFo2AUjAIwYGAAAAQQAAGnRHxjAAAAAElF
-        TkSuQmCC
-</value>
-  </data>
-  <data name="ribCircle.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vAAADrwBlbxySQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbCircleCenter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -201,6 +188,24 @@
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
         JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="ribCircle.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="ribbonButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="ribbonButton4.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribRectangle.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -212,7 +217,13 @@
   <data name="ribPolygon.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wAAADsABataJCQAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        vgAADr4B6kKxwAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="ribbonButton2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 2 - 0
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/OxfordEDSController.cs

@@ -40,6 +40,7 @@ namespace OTSMeasureApp.ServiceCenter
 
         public bool GetXRayByFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
         {
+            iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
             List<AreaXrayParam> areaPrms = new List<AreaXrayParam>();
             foreach (var part in a_listParticles)
             {
@@ -81,6 +82,7 @@ namespace OTSMeasureApp.ServiceCenter
 
         public bool GetXRayByParts(List<COTSParticleClr> a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo)
         {
+            iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
             List<PointXrayParam> pointXrayPrms = new List<PointXrayParam>();
             foreach (var part in a_listParticles)
             {

+ 1 - 0
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/OxfordScanController.cs

@@ -31,6 +31,7 @@ namespace OTSMeasureApp.ServiceCenter
         {
             try
             {
+                iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
                 Rectangle r = new Rectangle();
                 CBSEImgClr bse = new CBSEImgClr(r);
                 bse.InitImageData(imageWidth, imageHeight);

+ 3 - 3
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/OxfordSemController.cs

@@ -123,7 +123,7 @@ namespace OTSMeasureApp.ServiceCenter
 
         public bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY, double rotation)
         {
-            iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
+            iExtender = ExtenderWrapperIpc.GetExtenderWrapper();//have to init connection here,or else it will lost the connection for no reason.
             var b1= iExtender.MoveStageXY((float)a_dPositionX, (float)a_dPositionY);
             var b2=iExtender.SetStageGotoR((float)rotation);
            
@@ -132,8 +132,8 @@ namespace OTSMeasureApp.ServiceCenter
 
         public bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY)
         {
-            Thread.Sleep(1000);
-            iExtender = ExtenderWrapperIpc.GetExtenderWrapper();
+            //Thread.Sleep(1000);
+            iExtender = ExtenderWrapperIpc.GetExtenderWrapper();//have to init connection here,or else it will lost the connection for no reason.
             var b= iExtender.MoveStageXY((float)a_dPositionX, (float)a_dPositionY);
           
             return b;