Kaynağa Gözat

Merge branch 'GSP' of http://36.129.163.148:10080/gaoshipeng/OTS2_0 into GSP

gsp 3 yıl önce
ebeveyn
işleme
2007da4a78

+ 7 - 0
Bin/x64/Debug/Config/SysData/OTSStage.stg

@@ -48,5 +48,12 @@
         <Member HoleName="1" rectDomian="0,0,47000,0" shape="0" />
       </Collection>
     </Member>
+    <Member strName="Coxem35">
+      <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,35000,35000" shape="1" />
+      <Member RegName="std" PolygonPoint="" rectDomian="11000,11000,1,1" shape="1" />
+      <Collection RegName="Holes">
+        <Member HoleName="1" rectDomian="0,0,20000,0" shape="0" />
+      </Collection>
+    </Member>
   </Collection>
 </XMLData>

+ 33 - 1
Bin/x64/Debug/Resources/XMLData/AppResource_EN.xml

@@ -921,7 +921,8 @@
 	  <Control name="TSGrayVal" text="GrayVal" />
 	  <Control name="STSemCoordinate" text="SemCoordinate" />
 	  <Control name="ribbonButton3" text="Reset" />
-	  <Control name="ribbonButton1" text="Open" />	
+	  <Control name="ribbonButton1" text="Open" />
+      <Control name="ribbonOrbRecentItem1" text="Special Gray Grain Recognition Settings " />	  
 	  <Control name="m_SamplespaceWindowName" text="SampleStage" />
 	  <Control name="m_MeasureStauWindowName" text="MeasurementState" />
 	  <Control name="m_MeasureRetWindowName" text="MeasurementResult" />
@@ -938,6 +939,13 @@
 	  <Control name="message7" text="The measurement condition is normal!" />
     </Controls>
  </Form>
+ <Form>
+   <Name>DlgStageMgr</Name>
+    <Controls>
+      <Control name="button_edit" text="Edit" />
+      <Control name="button_New" text="New" />
+    </Controls>
+ </Form>
  <Form>
     <Name>ProgMgrInfoForm</Name>
     <Controls>
@@ -1004,6 +1012,7 @@
 	  <Control name="label44" text="Using X-ray" />
 	  <Control name="btnok" text="Sure" />
 	  <Control name="btncancel" text="Cancel" />
+	  <Control name="button1" text="Special Gray Grain Recognition Settings" />
 	  <Control name="ProgMgrInfoForm" text="ProgramManagement" />
 	  <Control name="message1" text="Sample Stage information cannot be empty" />
 	  <Control name="message2" text="Screen size cannot be empty at 100 times" />
@@ -1104,6 +1113,29 @@
 	  <Control name="str6" text="Heightor0" />
 	  <Control name="str7" text="Circle" />
 	  <Control name="str8" text="Square" />
+      <Control name="label1" text="StageName:" />
+	  <Control name="label2" text="coordinate system:" />
+	  <Control name="radioButton_OTS" text="OTS coordinate system" />
+	  <Control name="radioButton_SEM" text="SEM coordinate system" />
+	  <Control name="groupBox1" text="Sample stage border" />
+	  <Control name="label3" text="StageFrameShape: " />
+	  <Control name="radioButton_BoundaryCircle" text="Circle" />
+	  <Control name="radioButton_BoundarySquare" text="Square" />
+	  <Control name="label4" text="CenterPointCoordinates:" />
+	  <Control name="label7" text="Width:" />
+	  <Control name="label8" text="Height:" />
+	  <Control name="groupBox2" text="Standard sample" />
+	  <Control name="label14" text="Standard shape:" />
+	  <Control name="radioButton_StandardsampleCircle" text="Circle" />
+	  <Control name="radioButton_StandardsampleSqare" text="Sqare" />
+	  <Control name="label13" text="CenterPointCoordinates: " />
+	  <Control name="label10" text="Width:" />
+	  <Control name="groupBox3" text="SampleHoleInformation:" />
+	  <Control name="button_AddHole" text="AddHole" />
+	  <Control name="button_DelHole" text="DelHole" />
+	  <Control name="button_Generate" text="Generate" />
+	  <Control name="button_Coordinate" text="CoordinateDisplay" />
+	  <Control name="button_Ok" text="Save" />
     </Controls>
  </Form>
   <Form>

+ 33 - 0
Bin/x64/Debug/Resources/XMLData/AppResource_ZH.xml

@@ -880,6 +880,13 @@
           <Control name="partcletype9" text="未识别颗粒" />
 	  <Control name="partcletype10" text="分析颗粒" />
     </Controls>
+ </Form>
+ <Form>
+   <Name>DlgStageMgr</Name>
+    <Controls>
+      <Control name="button_edit" text="编辑" />
+      <Control name="button_New" text="新建" />
+    </Controls>
  </Form>
   <!-- OTSIncAMeasureApp -->
  <Form>
@@ -920,6 +927,7 @@
 	  <Control name="STSemCoordinate" text="SEM坐标" />
 	  <Control name="ribbonButton3" text="复位" />
 	  <Control name="ribbonButton1" text="打开" />
+	  <Control name="ribbonOrbRecentItem1" text="打开" />
 	
 	  <Control name="m_SamplespaceWindowName" text="样品台" />
 	  <Control name="m_MeasureStauWindowName" text="测量状态" />
@@ -1003,6 +1011,7 @@
 	  <Control name="label44" text="是否使用X-ray" />
 	  <Control name="btnok" text="确  定" />
 	  <Control name="btncancel" text="取  消" />
+	  <Control name="button1" text="特殊灰度颗粒识别设置" />
 	  <Control name="ProgMgrInfoForm" text="程序管理" />
 	  <Control name="message1" text="样品台信息不能为空" />
 	  <Control name="message2" text="100倍时屏幕尺寸不能为空" />
@@ -1086,6 +1095,15 @@
  <Form>
     <Name>DlgStageEdit</Name>
     <Controls>
+      <Control name="label1" text="样品台名称:" />
+	  <Control name="label2" text="坐标系统:" />
+	  <Control name="radioButton_OTS" text="OTS坐标系统" />
+	  <Control name="radioButton_SEM" text="SEM坐标系统" />
+	  <Control name="groupBox1" text="样品台边框" />
+	  <Control name="label3" text="样品台边框形状:" />
+	  <Control name="radioButton_BoundaryCircle" text="圆形" />
+	  <Control name="radioButton_BoundarySquare" text="方形" />
+	  <Control name="label4" text="中心点坐标:" />
       <Control name="str1" text="样品孔名称" />
 	  <Control name="str2" text="样品孔形状" />
 	  <Control name="str3" text="中心x坐标" />
@@ -1095,6 +1113,21 @@
 	  <Control name="str7" text="圆形" />
 	  <Control name="str8" text="方形" />
 	  <Control name="str9" text="样品台名不能为空字串,不能含\',\'字符!" />
+	  <Control name="label7" text="宽度:" />
+	  <Control name="label8" text="高度:" />
+	  <Control name="groupBox2" text="标样" />
+	  <Control name="label14" text="标样形状:" />
+	  <Control name="radioButton_StandardsampleCircle" text="圆形" />
+	  <Control name="radioButton_StandardsampleSqare" text="方形" />
+	  <Control name="label13" text="中心点坐标:" />
+	  <Control name="label10" text="宽度:" />
+	  <Control name="label9" text="高度:" />
+	  <Control name="groupBox3" text="样品孔信息:" />
+	  <Control name="button_AddHole" text="增加样品孔" />
+	  <Control name="button_DelHole" text="删除样品孔" />
+	  <Control name="button_Generate" text="生成" />
+	  <Control name="button_Coordinate" text="坐标系显示" />
+	  <Control name="button_Ok" text="保存" />
     </Controls>
  </Form>
  <Form>

+ 4 - 4
OTS.sln

@@ -437,8 +437,8 @@ Global
 		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.projectconfig|x86.Build.0 = Release|Any CPU
 		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|Any CPU.ActiveCfg = Release|Any CPU
 		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|Any CPU.Build.0 = Release|Any CPU
-		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|x64.ActiveCfg = Release|Any CPU
-		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|x64.Build.0 = Release|Any CPU
+		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|x64.ActiveCfg = Release_oxford50|x64
+		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|x64.Build.0 = Release_oxford50|x64
 		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|x86.ActiveCfg = Release|Any CPU
 		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release_oxford50|x86.Build.0 = Release|Any CPU
 		{8B08AA54-13CA-4D28-8F70-3B1F238E10A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -461,8 +461,8 @@ Global
 		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.projectconfig|x86.Build.0 = Release|Any CPU
 		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|Any CPU.ActiveCfg = Release|Any CPU
 		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|Any CPU.Build.0 = Release|Any CPU
-		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|x64.ActiveCfg = Release|Any CPU
-		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|x64.Build.0 = Release|Any CPU
+		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|x64.ActiveCfg = Release_oxford50|x64
+		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|x64.Build.0 = Release_oxford50|x64
 		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|x86.ActiveCfg = Release|Any CPU
 		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release_oxford50|x86.Build.0 = Release|Any CPU
 		{2A6A6643-02DC-4361-9C8B-0BBBF8BE79BE}.Release|Any CPU.ActiveCfg = Release|Any CPU

+ 1 - 1
OTSIncAMeasureApp/0-OTSModel/Measure/2-OTSCleanliness/SmplMeasureCleanliness.cs

@@ -150,7 +150,7 @@ namespace OTSModelSharp
             }
             //2) according to the quantify threshold size value saperate the analysis particles into two group :the bigparticles and the smallparticles.
 
-            int quantifyThreshold = m_Sample.GetMsrParams().GetXRayParam().GetQuantifyMinSize();
+            double quantifyThreshold = m_Sample.GetMsrParams().GetXRayParam().GetQuantifyMinSize();
 
             var smallparts = fld.ListSmallParticles;
             var bigparts = fld.ListBigParticles;

+ 4 - 1
OTSIncAMeasureApp/0-OTSModel/Measure/ParamData/COTSMsrPrjResultData.cs

@@ -1425,7 +1425,10 @@ namespace OTSModelSharp
         public bool Reclassify()
         {
             string strFilePath = FileHelper.GetFolderName(m_strPathName);
-
+            if(strFilePath==null)
+            {
+                return false;
+            }
 
             foreach (var spl in m_listSamples)
             {

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

@@ -294,6 +294,15 @@ namespace OTSDataType
                         m_poMsrParams.GetImageProcessParam().SetIncAreaRange(oIncArea);
                     }
                     break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
+                    {
+                        if (0 >= a_dValue)
+                        {
+                            return false;
+                        }
+                        m_poMsrParams.GetXRayParam().SetQuantifyMinSize(a_dValue);
+                    }
+                    break;
 
                 // read only property, tread as default. 
                 case OTS_SAMPLE_PROP_GRID_ITEMS.WORKING_DISTANCE:
@@ -581,11 +590,6 @@ namespace OTSDataType
                         a_nValue = m_poMsrParams.GetImageScanParam().GetFieldSmallParticlesPercentage();
                     }
                     break;
-                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
-                    {
-                        a_nValue = m_poMsrParams.GetXRayParam().GetQuantifyMinSize();
-                    }
-                    break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME:
                     {
                         a_nValue = m_poMsrParams.GetXRayParam().GetFastXrayTime();
@@ -789,15 +793,6 @@ namespace OTSDataType
                         m_poMsrParams.GetImageScanParam().SetFieldSmallParticlePercentage(a_nValue);
                     }
                     break;
-                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
-                    {
-                        if (0 >= a_nValue)
-                        {
-                            return false;
-                        }
-                        m_poMsrParams.GetXRayParam().SetQuantifyMinSize(a_nValue);
-                    }
-                    break;
                 case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_FASTTIME:
                     {
                         if (0 >= a_nValue)
@@ -1101,7 +1096,7 @@ namespace OTSDataType
                             //quantify size
                             poPropItem = new CPropItem();
                             nItemId = OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE;
-                            poPropItem.SetSmplParameter(modelResource, nItemId, OTS_ITEM_TYPES.INT, false, bShow);
+                            poPropItem.SetSmplParameter(modelResource, nItemId, OTS_ITEM_TYPES.DOUBLE, false, bShow);
                             a_listPropItems.Add(poPropItem);
                             // scan mode 
 
@@ -2010,6 +2005,11 @@ namespace OTSDataType
                         a_dValue = m_poMsrResults.GetTotalParticleArea();
                     }
                     break;
+                case OTS_SAMPLE_PROP_GRID_ITEMS.XRAY_QUANTIFY_MINSIZE:
+                    {
+                        a_dValue = m_poMsrParams.GetXRayParam().GetQuantifyMinSize();
+                    }
+                    break;
 
                 default:
                     {

+ 5 - 5
OTSIncAMeasureApp/0-OTSModel/OTSDataType/COTSXRayParam.cs

@@ -31,7 +31,7 @@ namespace OTSDataType
         // x-ray speed analysis
         const int DEFAULE_XRAY_ANALY_MID_TIME = 1000;
 
-        const int DEFAULE_XRAY_QUANTIFY_MINSIZE = 50;
+        const double DEFAULE_XRAY_QUANTIFY_MINSIZE = 50;
 
         const int DEFAULE_FASTXRAYTIME = 100;
         private OTS_X_RAY_SCAN_MODE m_nScanMode;
@@ -40,7 +40,7 @@ namespace OTSDataType
         private int m_nAnalyExpCount;
         private int m_nMidSearchAQTime;
         private int m_nMidAnalyAQTime;
-        private int m_nQutantifyMinSize;
+        private double m_nQutantifyMinSize;
         private int m_nFastXrayTime;
 
         private bool m_nUsingXray;
@@ -121,8 +121,8 @@ namespace OTSDataType
      
 
 
-        public int GetQuantifyMinSize() { return m_nQutantifyMinSize; }
-        public void SetQuantifyMinSize(int a_nQuantifyMinSize)
+        public double GetQuantifyMinSize() { return m_nQutantifyMinSize; }
+        public void SetQuantifyMinSize(double a_nQuantifyMinSize)
         {
             m_nQutantifyMinSize = a_nQuantifyMinSize;
         }
@@ -148,7 +148,7 @@ namespace OTSDataType
 
             xInt xSmallPartAQTime = new xInt();
 
-            xInt xQuantifyMinSize = new xInt();
+            xDouble xQuantifyMinSize = new xDouble();
 
             xBool xnUsingXray = new xBool();
 

+ 7 - 1
OTSIncAMeasureApp/5-OTSMeasureStatuImageFun/OTSMeasureStatusWindow.cs

@@ -1421,7 +1421,13 @@ namespace OTSMeasureApp
             }
             else
             {
-                contextMenuStrip1.Items[(int)MeasureStateMenuType.SampleParaLock].Enabled = true;
+                double iWDistance = 0;
+                double dMagni = 0;
+                m_MeasureAppForm.m_ProjParam.GetWorkingSampleSEMData(ref iWDistance, ref dMagni);
+                if (iWDistance != 0 && dMagni != 0)
+                {
+                    contextMenuStrip1.Items[(int)MeasureStateMenuType.SampleParaLock].Enabled = true;
+                }
             }
         }
         #endregion

+ 3 - 12
OTSIncAMeasureApp/7-OTSProgMgrInfo/ProgMgrInfoForm.cs

@@ -840,7 +840,7 @@ namespace OTSMeasureApp
             //分析X-ray计数期望值
             m_cotsxrayprm.SetAnalyExpCount(Convert.ToInt32(IDC_EDIT_ANALYXRAYAIMVALUE.Text));
 
-            m_cotsxrayprm.SetQuantifyMinSize(Convert.ToInt32(IDC_EDIT_QuantifyMinSize.Text));
+            m_cotsxrayprm.SetQuantifyMinSize(Convert.ToDouble(IDC_EDIT_QuantifyMinSize.Text));
 
             m_cotsxrayprm.SetFastXrayTime(Convert.ToInt32(IDC_EDIT_SmallPartAQTime.Text));
             //m_cotsxrayprm.SetShowScanMode(IDC_XRAY_MODE_SWITCH.Checked);
@@ -1480,7 +1480,7 @@ namespace OTSMeasureApp
                 return false;
             }
 
-            if (false == rg.Match(IDC_EDIT_QuantifyMinSize.Text.Trim()).Success)
+            if (false == rgPositiveDecimals.Match(IDC_EDIT_QuantifyMinSize.Text.Trim()).Success)
             {
                 IDC_EDIT_QuantifyMinSize.Focus();
                 IDC_EDIT_QuantifyMinSize.SelectAll();
@@ -1496,16 +1496,7 @@ namespace OTSMeasureApp
                 MessageBox.Show(message, "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 return false;
             }
-            //测量区域面积mm2
-            if (false == rg.Match(tBMeasArea.Text.Trim()).Success)
-            {
-                tBMeasArea.Focus();
-                tBMeasArea.SelectAll();
-                MessageBox.Show("Please enter the correct value format!", "Tip", MessageBoxButtons.OK, MessageBoxIcon.Information);
-                return false;
-            }
-
-
+            
             pat = @"^[0-9]+(\.[0-9]{1,3})?$";  //只能输入,1到3位小数的正数
             rg = new Regex(pat);
             //最小放大倍数

+ 2 - 2
OTSIncAMeasureApp/9-OTSRibbon/OTSRibbonFun.cs

@@ -102,7 +102,7 @@ namespace OTSMeasureApp
             //设置跳转至报告程序按钮状态
             m_MeasureAppForm.rbPReport.Enabled = false;
             m_MeasureAppForm.rbReport.Enabled = false;
-            m_MeasureAppForm.rbReClassify.Enabled = false;
+            m_MeasureAppForm.rbReClassify.Enabled = true;
 
             //判断打开的文件是否存在测量结果文件路径
             List<string> mrFilePathList = new List<string>();
@@ -118,7 +118,7 @@ namespace OTSMeasureApp
             {
                 m_MeasureAppForm.rbPReport.Enabled = false;
                 m_MeasureAppForm.rbReport.Enabled = false;
-                m_MeasureAppForm.rbReClassify.Enabled = false;
+                m_MeasureAppForm.rbReClassify.Enabled = true;
             }
         }
 

+ 52 - 0
OTSIncAMeasureApp/OTSIncAMeasureAppForm.Designer.cs

@@ -55,6 +55,7 @@
             this.rbSaveFile = new System.Windows.Forms.RibbonOrbMenuItem();
             this.rvSaveAsFile = new System.Windows.Forms.RibbonOrbMenuItem();
             this.rbSTDEdit = new System.Windows.Forms.RibbonButton();
+            this.rbSysMgrApp = new System.Windows.Forms.RibbonButton();
             this.rbReClassify = new System.Windows.Forms.RibbonButton();
             this.ribbonSeparator2 = new System.Windows.Forms.RibbonSeparator();
             this.rbAbout = new System.Windows.Forms.RibbonOrbMenuItem();
@@ -75,6 +76,8 @@
             this.ribRectangle = new System.Windows.Forms.RibbonButton();
             this.ribPolygon = new System.Windows.Forms.RibbonButton();
             this.rbPanelFunction = new System.Windows.Forms.RibbonPanel();
+            this.rbConnectHardware = new System.Windows.Forms.RibbonButton();
+            this.rbDisconnectHardware = new System.Windows.Forms.RibbonButton();
             this.rbStart = new System.Windows.Forms.RibbonButton();
             this.rbStop = new System.Windows.Forms.RibbonButton();
             this.rbCheckParam = new System.Windows.Forms.RibbonButton();
@@ -176,6 +179,7 @@
             this.rbMenu.OrbDropDown.MenuItems.Add(this.rbSaveFile);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.rvSaveAsFile);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.rbSTDEdit);
+            this.rbMenu.OrbDropDown.MenuItems.Add(this.rbSysMgrApp);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.rbReClassify);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.ribbonSeparator2);
             this.rbMenu.OrbDropDown.MenuItems.Add(this.rbAbout);
@@ -286,6 +290,21 @@
             this.rbSTDEdit.ToolTipTitle = null;
             this.rbSTDEdit.Click += new System.EventHandler(this.rbSTDEdit_Click_1);
             // 
+            // rbSysMgrApp
+            // 
+            this.rbSysMgrApp.AltKey = null;
+            this.rbSysMgrApp.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Left;
+            this.rbSysMgrApp.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.rbSysMgrApp.Image = global::OTSMeasureApp.Properties.Resources.Ruler321;
+            this.rbSysMgrApp.SmallImage = global::OTSMeasureApp.Properties.Resources.Ruler321;
+            this.rbSysMgrApp.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.rbSysMgrApp.Tag = "rbSysMgrApp";
+            this.rbSysMgrApp.Text = "硬件连接测试";
+            this.rbSysMgrApp.ToolTip = null;
+            this.rbSysMgrApp.ToolTipImage = null;
+            this.rbSysMgrApp.ToolTipTitle = null;
+            this.rbSysMgrApp.Click += new System.EventHandler(this.rbSysMgrApp_Click);
+            // 
             // rbReClassify
             // 
             this.rbReClassify.AltKey = null;
@@ -555,12 +574,42 @@
             // 
             this.rbPanelFunction.ButtonMoreEnabled = false;
             this.rbPanelFunction.ButtonMoreVisible = false;
+            this.rbPanelFunction.Items.Add(this.rbConnectHardware);
+            this.rbPanelFunction.Items.Add(this.rbDisconnectHardware);
             this.rbPanelFunction.Items.Add(this.rbStart);
             this.rbPanelFunction.Items.Add(this.rbStop);
             this.rbPanelFunction.Items.Add(this.rbCheckParam);
             this.rbPanelFunction.Tag = "rbPanelFunction";
             this.rbPanelFunction.Text = "测量控制";
             // 
+            // rbConnectHardware
+            // 
+            this.rbConnectHardware.AltKey = null;
+            this.rbConnectHardware.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.rbConnectHardware.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.rbConnectHardware.Image = global::OTSMeasureApp.Properties.Resources.开始32;
+            this.rbConnectHardware.SmallImage = global::OTSMeasureApp.Properties.Resources.start16;
+            this.rbConnectHardware.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.rbConnectHardware.Tag = "rbConnectHardware";
+            this.rbConnectHardware.Text = "连接硬件";
+            this.rbConnectHardware.ToolTip = null;
+            this.rbConnectHardware.ToolTipImage = null;
+            this.rbConnectHardware.ToolTipTitle = null;
+            // 
+            // rbDisconnectHardware
+            // 
+            this.rbDisconnectHardware.AltKey = null;
+            this.rbDisconnectHardware.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
+            this.rbDisconnectHardware.DropDownArrowSize = new System.Drawing.Size(5, 3);
+            this.rbDisconnectHardware.Image = global::OTSMeasureApp.Properties.Resources.停止32;
+            this.rbDisconnectHardware.SmallImage = global::OTSMeasureApp.Properties.Resources.stop16;
+            this.rbDisconnectHardware.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
+            this.rbDisconnectHardware.Tag = "rbDisconnectHardware";
+            this.rbDisconnectHardware.Text = "断开连接";
+            this.rbDisconnectHardware.ToolTip = null;
+            this.rbDisconnectHardware.ToolTipImage = null;
+            this.rbDisconnectHardware.ToolTipTitle = null;
+            // 
             // rbStart
             // 
             this.rbStart.AltKey = null;
@@ -954,5 +1003,8 @@
         private System.Windows.Forms.RibbonButton rbCircleCenter;
         private System.Windows.Forms.RibbonOrbRecentItem ribbonOrbRecentItem1;
         private System.Windows.Forms.RibbonButton rbThreePoints;
+        public System.Windows.Forms.RibbonButton rbConnectHardware;
+        public System.Windows.Forms.RibbonButton rbDisconnectHardware;
+        public System.Windows.Forms.RibbonButton rbSysMgrApp;
     }
 }

+ 14 - 2
OTSIncAMeasureApp/OTSIncAMeasureAppForm.cs

@@ -492,7 +492,7 @@ namespace OTSMeasureApp
             //设置报告按钮
             rbPReport.Enabled = false;
             rbReport.Enabled = false;
-            rbReClassify.Enabled = false;
+            rbReClassify.Enabled = true;
             //新建项目时,设置属性窗体中的两个按钮也为不可用状态
             m_SPropertyWindows.TSLoad.Enabled = false;
             m_SPropertyWindows.TSSaveAs.Enabled = false;
@@ -1175,8 +1175,20 @@ namespace OTSMeasureApp
                 }
             }
         }
+        private void rbSysMgrApp_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                System.Diagnostics.Process p = System.Diagnostics.Process.Start(".\\OTSSysMgrApp.exe");
+                p.WaitForExit();
+            }
+            catch (Exception ex)
+            {
+                log.Error("OTSSysMgrApp:" + ex.ToString());
+            } 
+            
+        }
 
-  
         private void ribPolygon_Click(object sender, EventArgs e)
         {
             //修改工作样品的测量区域为矩形

+ 4 - 1
OTSIncAMeasureApp/ServiceCenter/FileHelper.cs

@@ -11,7 +11,10 @@ namespace OTSModelSharp.ServiceInterface
     {
         public static string GetFolderName(string a_strPathName)
         {
-
+            if (a_strPathName == "Untitled")
+            {
+                return null;
+            }
             string folderName = a_strPathName.Substring(0, a_strPathName.LastIndexOf("\\"));
             //DirectoryInfo d = new DirectoryInfo(a_strPathName);
             //return d.FullName;

+ 40 - 0
OTSRegister/OTSRegister.csproj

@@ -32,6 +32,46 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford50|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Release_oxford50\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford50|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Release_oxford50\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Core" />

+ 40 - 0
RegistrationAuthorization/RegistrationAuthorization.csproj

@@ -32,6 +32,46 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford50|AnyCPU'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Release_oxford50\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release_oxford50|x64'">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>..\bin\x64\Release_oxford50\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <LangVersion>7.3</LangVersion>
+    <ErrorReport>prompt</ErrorReport>
+    <Prefer32Bit>true</Prefer32Bit>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Core" />