瀏覽代碼

Merge branch 'Release2.5' of http://36.129.163.148:10080/gaoshipeng/OTS2_0 into zty

zty 2 年之前
父節點
當前提交
0218755cad

+ 21 - 3
FAQ/FAQ.docx

@@ -1,7 +1,25 @@
-1.git拉取成功但推送失败,报错304windows 凭据管理器 credential 删除git 用户名2.样品孔拍摄失败怎么办?将电镜放大倍数调成与样品孔拍照放大倍数一致3.带Bool返回值的函数在编程中应该添加接收判断4.牛津能谱采集不到图像,显示灰图怎么办?   在路径Release_oxford50\Config\ProData中找到配置文件HardwareConfig.xml,将文件中的"BSE"修改为"SE"后点击保存5.样品台移动失败增加延时时间ControlDelay数值,单位为毫秒6.如果能谱识别出的元素特别少  重启能谱控制器单元(小盒子)
-7.小颗粒Xray采集时间过小可能导致采集xray失败8.自定义标准库中规则无效  检查标准库表达式中"<",">"前后不能有空格
-9.牛津能谱获取xray超时失败     Extender所有dll版本是否正确
+1.git拉取成功但推送失败,报错304
+windows 凭据管理器 credential 删除git 用户名
+2.样品孔拍摄失败怎么办?
+将电镜放大倍数调成与样品孔拍照放大倍数一致
+3.带Bool返回值的函数在编程中应该添加接收判断
+4.牛津能谱采集不到图像,显示灰图怎么办?
+   在路径Release_oxford50\Config\ProData中找到配置文件HardwareConfig.xml,将文件中的"BSE"修改为"SE"后点击保存
+
+5.样品台移动失败
+增加延时时间ControlDelay数值,单位为毫秒
+
+6.如果能谱识别出的元素特别少
+重启能谱控制器单元(小盒子)
+7.小颗粒Xray采集时间过小可能导致采集xray失败
+8.自定义标准库中规则无效
+检查标准库表达式中"<",">"前后不能有空格
+9.牛津能谱获取xray超时失败
+     Extender所有dll版本是否正确
  如果颗粒物质分析不正确或者颗粒物质识别错误
   方案1,创建自定义标准库,在标准库中创建Invalid分类并写入非夹杂物规则,过滤掉非夹杂物颗粒。
   方案2,从新打磨、抛光、清洗样品,确定样品测量表面的清洁干净,确保无锈点、灰尘、印记等。
   方案3,在程序中选择颗粒右键选择删除颗粒,可在数据库中删除该选中的颗粒。(制作中)
+11.牛津能谱bse获取不到图像
+        检查bse/se设置是否正确,检查能谱校准的图像分辨率比例是否正确
+       

+ 4 - 3
OTSCPP/OTSClassifyEngine/InclutionEngine/OTSClassifyEng.cpp

@@ -66,6 +66,7 @@ namespace OTSClassifyEngine
 		// the element chemistries list is an inclusion 
 		CElementChemistriesList listElChemsInc;
 		CElementChemistriesList listElChemsIncNoFe;
+	
 		double dMolarSum = 0.0f;
 		double dMolarSumNoFe = 0.0f;
 		OTS_PARTICLE_TYPE incId;
@@ -107,7 +108,7 @@ namespace OTSClassifyEngine
 		{// identified, return TRUE
 			a_nIncId = nIncId;
 			IDENTIFIED_INC_GRP_ID grpid;
-			GroupClassify(listElChemsIncNoFe,nIncId, grpid);
+			GroupClassify(a_listElementChemistries,nIncId, grpid);
 			a_GrpId = (int)grpid;
 			return TRUE;
 		}
@@ -126,7 +127,7 @@ namespace OTSClassifyEngine
 			// identified, return TRUE
 			a_nIncId = nIncId;
 			IDENTIFIED_INC_GRP_ID grpid;
-			GroupClassify(listElChemsIncNoFe,nIncId, grpid);
+			GroupClassify(a_listElementChemistries,nIncId, grpid);
 			a_GrpId = (int)grpid;
 			return TRUE;
 		}
@@ -134,7 +135,7 @@ namespace OTSClassifyEngine
 		// can't identify this inclusion
 		a_nIncId = (int)OTS_PARTICLE_TYPE::NOT_IDENTIFIED;
 		IDENTIFIED_INC_GRP_ID grpid;
-		GroupClassify(listElChemsIncNoFe,nIncId, grpid);
+		GroupClassify(a_listElementChemistries,nIncId, grpid);
 		a_GrpId = (int)grpid;
 		return TRUE;
 	}

+ 15 - 13
OTSIncAMeasureApp/0-OTSModel/Measure/ParamData/COTSMsrPrjResultData.cs

@@ -1450,6 +1450,7 @@ namespace OTSModelSharp
 
         public bool Reclassify()
         {
+            
             string strFilePath = FileHelper.GetFolderName(m_strPathName);
             if(strFilePath==null)
             {
@@ -1505,6 +1506,7 @@ namespace OTSModelSharp
 
 
                         var analysisparts = new List<COTSParticleClr>();
+                var m_classifyEngine = new CClassifyEngine();
                 foreach (var fld in spl.GetFieldsData())
                 {
                     foreach (var part in fld.GetListAnalysisParticles())
@@ -1514,13 +1516,13 @@ namespace OTSModelSharp
                             if (stdFileName != "NoSTDDB.db")
                             {
                               
-                                var  m_classifyEngine = new CClassifyEngine();
-                                IClassifyEngine engine = m_classifyEngine.GetParticleEngine(stdFileName);
+                             
+                                IClassifyEngine partEngine = m_classifyEngine.GetParticleEngine(stdFileName);
 
-                                if (!engine.Classify(part))
+                                if (!partEngine.Classify(part))
                                 {
-                                    
-                                    return false;
+
+                                    NLog.LogManager.GetCurrentClassLogger().Error("1 failed to classify!"+ "Particle Engine");
                                 }
                             }
 
@@ -1528,12 +1530,12 @@ namespace OTSModelSharp
                             {
 
 
-                                var m_classifyEngine = new CClassifyEngine();
-                                IClassifyEngine engine = m_classifyEngine.GetIncClassifyEngine();
-                                if (!engine.ClassifyIncA(part, (int)steelTech))
+                               
+                                IClassifyEngine incAEngine = m_classifyEngine.GetIncClassifyEngine();
+                                if (!incAEngine.ClassifyIncA(part, (int)steelTech))
                                 {
-                                   
-                                    return false;
+
+                                    NLog.LogManager.GetCurrentClassLogger().Error("2 failed to classify!" + "IncA Engine");
                                 }
                             }
                         }
@@ -1542,12 +1544,12 @@ namespace OTSModelSharp
                           
                             if (stdFileName != "NoSTDDB.db")
                             {
-                                var m_classifyEngine = new CClassifyEngine();
+                               
                                 IClassifyEngine engine = m_classifyEngine.GetParticleEngine(stdFileName);
                                 if (!engine.Classify(part))
                                 {
-                                  
-                                    return false;
+
+                                    NLog.LogManager.GetCurrentClassLogger().Error("3 failed to classify!" + "Particle Engine");
                                 }
                             }
                         }

+ 10 - 4
OTSIncAMeasureApp/4-OTSSamplespaceGraphicsPanel/CVisualSampleArea.cs

@@ -13,8 +13,10 @@ namespace OTSMeasureApp._4_OTSSamplespaceGraphicsPanel
      
           CRectangleGDIObject m_SampleGDIObject;//
           CRectangleGDIObject m_MeasureGDIObject;//path
-     
-      
+        public  List<CRectangleGDIObject> m_ImageGDIObjects;
+        //BSE图像帧图 为了获取位置与尺寸
+        public  List<CRectangleGDIObject> m_ImageOfFieldGDIObjects;
+
         private List<Point> polygonPathPoints;
         public float GetZoomNum()
         {
@@ -32,8 +34,12 @@ namespace OTSMeasureApp._4_OTSSamplespaceGraphicsPanel
 
             //测量区域
             m_MeasureGDIObject =  new CRectangleGDIObject();
-           
-       
+
+
+            m_ImageGDIObjects = new List<CRectangleGDIObject>();
+            m_ImageOfFieldGDIObjects = new List<CRectangleGDIObject>();
+
+
         }
 
         public CRectangleGDIObject GetSampleGDIObject()

+ 110 - 65
OTSIncAMeasureApp/4-OTSSamplespaceGraphicsPanel/OTSSamplespaceWindow.cs

@@ -42,9 +42,9 @@ namespace OTSMeasureApp
 
 
         //BSE图像
-        public static List<CRectangleGDIObject> m_ImageGDIObjects;
-        //BSE图像帧图 为了获取位置与尺寸
-        public static List<CRectangleGDIObject> m_ImageOfFieldGDIObjects;
+        public  List<CRectangleGDIObject> m_AllHoleImageGDIObjects;
+        ////BSE图像帧图 为了获取位置与尺寸
+        public  List<CRectangleGDIObject> m_AllHoleImageOfFieldGDIObjects;
         //手绘测量区域
         public static CRectangleGDIObject m_DrawMeasureGDIObject=new CRectangleGDIObject();
  
@@ -141,6 +141,7 @@ namespace OTSMeasureApp
             //手绘测量区域类型为圆形
             m_DrawMeasureType = CreateRectangleType.Circle;
             m_IsDrawMeasure = true;
+            m_DrawMeasureGDIObject = null;
             this.Cursor = Cursors.Hand;
         }
         /// <summary>
@@ -152,6 +153,7 @@ namespace OTSMeasureApp
             m_DrawMeasureType = CreateRectangleType.SampleBackGround_Rectangle;
          
             m_IsDrawMeasure = true;
+            m_DrawMeasureGDIObject = null;
             this.Cursor = Cursors.Hand;
         }
         /// <summary>
@@ -161,7 +163,7 @@ namespace OTSMeasureApp
         {
             m_DrawMeasureType = CreateRectangleType.Polygon;
             m_IsDrawMeasure = true;
-       
+            m_DrawMeasureGDIObject = null;
             this.Cursor = Cursors.Hand;
         }
 
@@ -173,7 +175,7 @@ namespace OTSMeasureApp
             //手绘测量区域类型为圆形
             m_DrawMeasureType = CreateRectangleType.CircleByThreePoints;
             m_IsDrawMeasure = true;
-      
+            m_DrawMeasureGDIObject = null;
             this.Cursor = Cursors.Hand;
         }
         public void DrawRingShapeArea()
@@ -280,7 +282,8 @@ namespace OTSMeasureApp
                 case "ShootBSEPicture":
                     //设置消息类型 拍摄样品孔
                     m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNSampleHoleImage);
-                   
+
+                    TransferBseImageToWindow();
                     //清除原图片信息
                     DeleteHoleBSEImageDataNoMessageBox();
                   
@@ -817,13 +820,13 @@ namespace OTSMeasureApp
                 m_visualStage = new CVisualStage();
 
                 m_visualSamples = new List<CVisualSampleArea>();
-              
-       
-                //样品孔BSE图像
-                m_ImageGDIObjects = new List<CRectangleGDIObject>();
-                //BSE图像帧图为了获取位置与尺寸
-                m_ImageOfFieldGDIObjects = new List<CRectangleGDIObject>();
-      
+
+
+            //样品孔BSE图像
+            m_AllHoleImageGDIObjects = new List<CRectangleGDIObject>();
+            //BSE图像帧图为了获取位置与尺寸
+            m_AllHoleImageOfFieldGDIObjects = new List<CRectangleGDIObject>();
+
             this.ResizeRedraw = true;
                 control_Ruler2 = new Control_Ruler();
                 Point rulerLocation = new Point(10, this.Height - (int)(control_Ruler2.Height * 2));
@@ -1243,7 +1246,7 @@ namespace OTSMeasureApp
                                 _Point = this.PointToClient(Cursor.Position);
                                 bool IsTrue = false;
                                 //设置编辑右键菜单项
-                                foreach (CRectangleGDIObject imageItem in m_ImageGDIObjects)
+                                foreach (CRectangleGDIObject imageItem in sam2.m_ImageGDIObjects)
                                 {
                                     if (imageItem.SampleName == item.SampleName)
                                     {
@@ -1294,7 +1297,7 @@ namespace OTSMeasureApp
                                     //删除BSE照片
                                     bool IsTrue = false;
                                     //设置编辑右键菜单项
-                                    foreach (CRectangleGDIObject imageItem in m_ImageGDIObjects)
+                                    foreach (CRectangleGDIObject imageItem in item.m_ImageGDIObjects)
                                     {
                                         if (imageItem.SampleName == item.GetSampleName())
                                         {
@@ -1322,20 +1325,24 @@ namespace OTSMeasureApp
                                     return;
                                 }
                     }
-               
-                    foreach (CRectangleGDIObject item in m_ImageGDIObjects)
+                    if (GetWorkingVisualSample() != null)
                     {
-                        if (item.IfZoomContains(e.Location))
+                        foreach (CRectangleGDIObject item in GetWorkingVisualSample().m_ImageGDIObjects)
                         {
-                            //样品孔菜单
-                           
-                            _Point = this.PointToClient(Cursor.Position);
-                            //设置编辑右键菜单项
-                            SetShowCMStrip(ContextMenuType.SampleHoleBSEImage, CMStrip, false);
-                            this.CMStrip.Show(this, _Point);
-                            return;
+                            if (item.IfZoomContains(e.Location))
+                            {
+                                //样品孔菜单
+
+                                _Point = this.PointToClient(Cursor.Position);
+                                //设置编辑右键菜单项
+                                SetShowCMStrip(ContextMenuType.SampleHoleBSEImage, CMStrip, false);
+                                this.CMStrip.Show(this, _Point);
+                                return;
+                            }
                         }
+
                     }
+                   
                     //只点击样品上(测量区域被移动到其他地方)
                     for (int i = m_visualSamples.Count - 1; i >= 0; i--)
                     {
@@ -1425,7 +1432,9 @@ namespace OTSMeasureApp
 
 
                         //样品台中BSE图片
-                        MouseDownFunction(m_ImageGDIObjects, e);
+                        MouseDownFunction(GetWorkingVisualSample().m_ImageGDIObjects, e);
+
+                        MouseDownFunction(m_AllHoleImageGDIObjects, e);
 
                     }
 
@@ -1897,12 +1906,16 @@ namespace OTSMeasureApp
              
                     //样品
                     MouseMoveFucntion(GetAllVisualSampleGDIObject(), e);
-
+                if (GetWorkingVisualSample() != null)
+                {
                     //样品孔BSE图片
-                    MouseMoveFucntion(m_ImageGDIObjects, e);
-              
+                    MouseMoveFucntion(GetWorkingVisualSample().m_ImageGDIObjects, e);
+
+                }
+                MouseMoveFucntion(m_AllHoleImageGDIObjects, e);
 
-           }
+
+            }
 
           
             //显示XY轴
@@ -1992,14 +2005,18 @@ namespace OTSMeasureApp
             MouseUpFucntion(m_visualStage.GetAllGDIObject(), e);
             //样品 
             MouseUpFucntion(GetAllVisualSampleGDIObject(), e);
-   
-        
-            //样品孔中BSE图片
-            MouseUpFucntion(m_ImageGDIObjects, e);
 
-          
-        
-       }
+            if (GetWorkingVisualSample() != null)
+            {
+                //样品孔中BSE图片
+                MouseUpFucntion(GetWorkingVisualSample().m_ImageGDIObjects, e);
+
+            }
+            MouseUpFucntion(m_AllHoleImageGDIObjects, e);
+
+
+
+        }
         protected override void OnPaint(PaintEventArgs e)//处理重绘情况
         {
            
@@ -2011,10 +2028,20 @@ namespace OTSMeasureApp
 
             if (IsShowSampleHoleImage)
             {
-                if (m_ImageGDIObjects.Count > 0)
+                if (GetWorkingVisualSample() != null)
+                {
+                    if (GetWorkingVisualSample().m_ImageGDIObjects.Count > 0)
+                    {
+                        OnPaint(e, GetWorkingVisualSample().m_ImageGDIObjects);
+                    }
+
+                }
+                if (m_AllHoleImageGDIObjects.Count > 0)
                 {
-                    OnPaint(e, m_ImageGDIObjects);
+                    OnPaint(e, m_AllHoleImageGDIObjects);
+
                 }
+               
             }
             OnPaint(e, GetAllVisualFieldGdiObject());
 
@@ -2032,7 +2059,7 @@ namespace OTSMeasureApp
         }
         public  void OnPaint(PaintEventArgs e, List<CRectangleGDIObject> m_ObjectGDIObjects)//处理重绘情况
         {
-            foreach (CRectangleGDIObject item in m_ObjectGDIObjects)
+            foreach (CRectangleGDIObject item in m_ObjectGDIObjects.ToArray())
             {
                 if (item != null)
                 {
@@ -2116,8 +2143,16 @@ namespace OTSMeasureApp
                     control_Ruler2.SetValue(control_Ruler2.RulerWidth);
                 }
             }
+            if (GetWorkingVisualSample() != null)
+            {
 
-            MouseWheelFunction(m_ImageGDIObjects, e.Location, currentZoomNum);
+                MouseWheelFunction(GetWorkingVisualSample().m_ImageGDIObjects, e.Location, currentZoomNum);
+            }
+            if (m_AllHoleImageGDIObjects.Count > 0)
+            {
+                MouseWheelFunction(m_AllHoleImageGDIObjects, e.Location, currentZoomNum);
+            }
+         
 
             MouseWheelFunction(GetAllVisualSampleGDIObject(), e.Location, currentZoomNum);
             //样品孔
@@ -2399,21 +2434,25 @@ namespace OTSMeasureApp
             {
                
                     m_visualStage.cleargdiobj();
+                var sam = GetWorkingVisualSample();
 
- 
-                m_visualSamples.Clear();
-                if (m_ImageGDIObjects != null)
-                {
-                    m_ImageGDIObjects.Clear();
-                }
-                if (m_ImageOfFieldGDIObjects != null)
-                {
-                    m_ImageOfFieldGDIObjects.Clear();
-                }
-                if (m_DrawMeasureGDIObject != null)
+                if (sam != null)
                 {
-                    m_DrawMeasureGDIObject = null;
+                    if (sam.m_ImageGDIObjects != null)
+                    {
+                        sam.m_ImageGDIObjects.Clear();
+                    }
+                    if (sam.m_ImageOfFieldGDIObjects != null)
+                    {
+                        sam.m_ImageOfFieldGDIObjects.Clear();
+                    }
+                    if (m_DrawMeasureGDIObject != null)
+                    {
+                        m_DrawMeasureGDIObject = null;
+                    }
                 }
+                m_visualSamples.Clear();
+               
 
 
             }
@@ -2651,7 +2690,7 @@ namespace OTSMeasureApp
                     {
                         r.SetDisplayRefPoint(m_visualStage.GetDisplayRefPoint());
                         r.SetZoomNumber(m_visualStage.GetZoomNum());
-                        m_ImageOfFieldGDIObjects.Add(r);
+                        sam.m_ImageOfFieldGDIObjects.Add(r);
                     }
                    
                 }
@@ -2945,15 +2984,15 @@ namespace OTSMeasureApp
             RectangleF ImgRegionF;
             float ImgRegionWidth;
             float ImgRegionHeight ;
-            if (m_ImageOfFieldGDIObjects.Count > 0)
+            if (sam.m_ImageOfFieldGDIObjects.Count > 0)
             {
-                for (int i = 0; i < m_ImageOfFieldGDIObjects.Count; i++)
+                for (int i = 0; i < sam.m_ImageOfFieldGDIObjects.Count; i++)
                 {
                    
                     var ctrlPos = m_visualStage.OTSCoordToCtrlCoord(fieldPos);
-                    if (m_ImageOfFieldGDIObjects[i].IfContains(ctrlPos))
+                    if (sam.m_ImageOfFieldGDIObjects[i].IfContains(ctrlPos))
                     { 
-                        ImgRegionF = m_ImageOfFieldGDIObjects[i].GetOrigionalDrawRegionF();
+                        ImgRegionF = sam.m_ImageOfFieldGDIObjects[i].GetOrigionalDrawRegionF();
                         ImgRegionWidth = Convert.ToInt32(ImgRegionF.Width);
                         ImgRegionHeight = Convert.ToInt32(ImgRegionF.Height);
 
@@ -2963,11 +3002,11 @@ namespace OTSMeasureApp
                         //绘制图像
                         CRectangleGDIObject createImageRect =new CRectangleGDIObject (ImgRegionF, fieldPos.X, fieldPos.Y, itemWorkSample.SampleName, itemWorkSample.NameOrHoleName, bseImage, ImgRegionWidth, ImgRegionHeight, CreateRectangleType.DrawSampleHoleBSEImage);
                         //添加至List集合中
-                        createImageRect.SetInitRegionF(m_ImageOfFieldGDIObjects[i].GetOrigionalDrawRegionF());
-                        createImageRect.NameOrHoleName = m_ImageOfFieldGDIObjects[i].NameOrHoleName;
+                        createImageRect.SetInitRegionF(sam.m_ImageOfFieldGDIObjects[i].GetOrigionalDrawRegionF());
+                        createImageRect.NameOrHoleName =sam. m_ImageOfFieldGDIObjects[i].NameOrHoleName;
                         createImageRect.SetZoomNumber(m_visualStage.GetZoomNum());
                         createImageRect.SetDisplayRefPoint(m_visualStage.GetDisplayRefPoint());
-                        m_ImageGDIObjects.Add(createImageRect);
+                        sam. m_ImageGDIObjects.Add(createImageRect);
                        
                         break;
                     }
@@ -2983,12 +3022,18 @@ namespace OTSMeasureApp
        
         public void DeleteHoleBSEImageDataNoMessageBox()
         {
-           
-                            m_ImageOfFieldGDIObjects.Clear();
-                            m_ImageGDIObjects.Clear();
-                           Invalidate();
+          
+            GetWorkingVisualSample().m_ImageOfFieldGDIObjects.Clear();
+            GetWorkingVisualSample().m_ImageGDIObjects.Clear();
+            Invalidate();
 
         }
+        public void TransferBseImageToWindow()
+        {
+            m_AllHoleImageGDIObjects.AddRange(GetWorkingVisualSample().m_ImageGDIObjects);
+            m_AllHoleImageOfFieldGDIObjects.AddRange(GetWorkingVisualSample().m_ImageOfFieldGDIObjects);
+            Invalidate();
+        }
         #endregion
 
         #region 获取样品孔图片

+ 0 - 8
OTSIncAMeasureApp/OTSIncAMeasureAppForm.Designer.cs

@@ -103,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.ribbonPanel1 = new System.Windows.Forms.RibbonPanel();
             this.statusStrip1.SuspendLayout();
             this.SuspendLayout();
             // 
@@ -384,7 +383,6 @@
             this.rbTabHome.Panels.Add(this.rbSemFunction);
             this.rbTabHome.Panels.Add(this.rbPanelFunction);
             this.rbTabHome.Panels.Add(this.rbPReport);
-            this.rbTabHome.Panels.Add(this.ribbonPanel1);
             this.rbTabHome.Tag = "rbTabHome";
             this.rbTabHome.Text = "基本功能";
             // 
@@ -984,11 +982,6 @@
             this.ribbonButton1.ToolTipImage = null;
             this.ribbonButton1.ToolTipTitle = null;
             // 
-            // ribbonPanel1
-            // 
-            this.ribbonPanel1.Tag = null;
-            this.ribbonPanel1.Text = "ribbonPanel1";
-            // 
             // OTSIncAMeasureAppForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -1079,6 +1072,5 @@
         public System.Windows.Forms.RibbonButton rbinterrupt;
         public System.Windows.Forms.RibbonButton rbAutoBeamOff;
         public System.Windows.Forms.RibbonButton rbSysMgrApp;
-        private System.Windows.Forms.RibbonPanel ribbonPanel1;
     }
 }

+ 6 - 3
OTSIncAMeasureApp/OTSIncAMeasureAppForm.cs

@@ -1184,6 +1184,7 @@ namespace OTSMeasureApp
 
         private void rbReClassify_Click(object sender, EventArgs e)
         {
+            this.Cursor = Cursors.WaitCursor;
             if (m_ProjData.Reclassify())
             {
                 m_ProjData.Save();
@@ -1195,6 +1196,7 @@ namespace OTSMeasureApp
             {
                 MessageBox.Show("reclassification failed");
             }
+            this.Cursor = Cursors.Default;
         }
 
         /// <summary>
@@ -1202,7 +1204,7 @@ namespace OTSMeasureApp
         /// </summary>
         private void OpenMeasureProjectFile()
         {
-
+            
 
             bool bOpenFlag=false;
             COTSMsrPrjResultData ProjDataMgr = new COTSMsrPrjResultData();
@@ -1220,8 +1222,8 @@ namespace OTSMeasureApp
 
 
                 strPathName = openFileDialog.FileName;
-           
 
+            this.Cursor = Cursors.WaitCursor;
             if (ProjDataMgr.Load(strPathName))
             {
                 m_ProjData = ProjDataMgr;
@@ -1230,7 +1232,7 @@ namespace OTSMeasureApp
                
                 bOpenFlag = true;
             }
-            
+            this.Cursor = Cursors.Default;
             if (bOpenFlag)
             {
                 if (!DisplayExistSampleFile())
@@ -1246,6 +1248,7 @@ namespace OTSMeasureApp
             {
                 log.Error("(OTSIncAMeasureAppForm.rbOpen_Click)  m_DataMgrFun.OpenExistSampleFile() Failed !");
             }
+           
         }
 
         private void OTSIncAMeasureAppForm_FormClosed(object sender, FormClosedEventArgs e)

+ 4 - 2
OTSIncAReportApp/1-UI/Control_Grids/ResultGrid.cs

@@ -167,7 +167,8 @@ namespace OTSIncAReportGrids
             keyValues.Add(table["col5"].ToString(), filedCount.ToString());
             keyValues.Add(table["col12"].ToString(), Math.Round(Magnification, 2).ToString());
             string LibraryName = "";
-            if ("NoSTDDB"== ((Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)resfile.ResultInfo["Sample"])["Members"])["MsrParams"])["STDName"].ToString())
+            if ("NoSTDDB"== ((Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)resfile.ResultInfo["Sample"])["Members"])["MsrParams"])["STDName"].ToString() ||
+                "NoSTDDB.db" == ((Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)resfile.ResultInfo["Sample"])["Members"])["MsrParams"])["STDName"].ToString())
             {
                 LibraryName = "OTSIncASysSTD";
             }
@@ -258,7 +259,8 @@ namespace OTSIncAReportGrids
             keyValues.Add(table["col5"].ToString(), all_FiledCount.ToString());
 
             string LibraryName = "";
-            if ("NoSTDDB" == ((Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)resfile.ResultInfo["Sample"])["Members"])["MsrParams"])["STDName"].ToString())
+            if ("NoSTDDB" == ((Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)resfile.ResultInfo["Sample"])["Members"])["MsrParams"])["STDName"].ToString()||
+                "NoSTDDB.db" == ((Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)resfile.ResultInfo["Sample"])["Members"])["MsrParams"])["STDName"].ToString())
             {
                 LibraryName = "OTSIncASysSTD";
             }

+ 1 - 1
OTSIncAReportApp/1-UI/OTSTemplateDesigner/Export_ReportTemplate.cs

@@ -247,7 +247,7 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
           
            
 
-            List<string> vs = new List<string>() { "DMAX", "DMIN", "Area", "FERET" };
+            List<string> vs = new List<string>() { "DMAX", "DMIN", "FERET", "Area" };
             string po = vs[m_otsreport_export.m_mbszclass.M_KLFXJG.index_cb_klcc_jsfs];
 
             switch (po)

+ 2 - 2
OTSIncAReportApp/ReportTemplate/GBReport.cs

@@ -86,9 +86,9 @@ namespace OTSIncAReportApp.ReportTemplate
                 Template_Rows_A_Class.BackColor = Color.DarkGray;
                 Template.Rows.Add(Template_Rows_A_Class);
                 Template.Rows.Add(GB_Class_dataRow(HeaderData, 0));
-                for (int i = 0; i < GB_List[0].Rows.Count; i++)
+                for (int i = 0; i < GB_List[a].Rows.Count; i++)
                 {
-                    Template.Rows.Add(GB_Class_dataRow(GB_List[0], i));
+                    Template.Rows.Add(GB_Class_dataRow(GB_List[a], i));
                 }
             }
 

+ 1 - 1
OTSIncAReportApp/ReportTemplate/OTS_DEVReport.cs

@@ -261,7 +261,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             pieSeriesClass.ValueDataMembers.AddRange(new string[] { "total" });
             (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside;
             //显示百分比
-            pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues;
+            pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues; 
             pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
             //设置数据源
             pieSeriesClass.DataSource = dt_class_dt;