소스 검색

fix bruker feature scan issue.

gsp 1 년 전
부모
커밋
7d403c42dd

+ 2 - 2
Bin/x64/Debug/Config/ProData/HardwareConfig.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <XMLData PathName="HardwareConfig.xml" ID="1">
-  <Member RegName="SemControllerName" Value="Bruker" ImageInputSources="BSE" />
-  <Member RegName="EDSName" Value="Bruker" DelayQuantify="false" />
+  <Member RegName="SemControllerName" Value="OffLine" ImageInputSources="BSE" />
+  <Member RegName="EDSName" Value="OffLine" DelayQuantify="false" />
   <Member RegName="BrukerDllVersion" Version="Bruker.API.Esprit64.dll" />
   <Member RegName="FEIIP" Value="192.168.0.1" />
   <Member RegName="FEIPORT" Value="7520" />

+ 73 - 1
Bin/x64/Debug/Config/SysData/OTSStage.stg

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<XMLData Modify="true" PathName=".\Config\SysData\OTSStage.stg" WorkingStageId="0">
+<XMLData Modify="true" PathName=".\Config\SysData\OTSStage.stg" WorkingStageId="6">
   <Collection RegName="Stagelist">
     <Member strName="圆形九圆孔50mm">
       <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,50000,0" shape="0:ROUND" />
@@ -54,5 +54,77 @@
         <Member HoleName="7" rectDomian="-23000,0,15000,0" shape="0" />
       </Collection>
     </Member>
+    <Member strName="Apero">
+      <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,130000,120000" shape="1:RECTANGLE" />
+      <Member RegName="std" PolygonPoint="" rectDomian="6300,0,2,0" shape="0:ROUND" />
+      <Collection RegName="Holes">
+        <Member HoleName="9" rectDomian="0,0,10000,0" shape="0" />
+        <Member HoleName="2" rectDomian="0,25000,10000,0" shape="0" />
+        <Member HoleName="3" rectDomian="-15000,25000,10000,0" shape="0" />
+        <Member HoleName="1" rectDomian="15000,25500,10000,0" shape="0" />
+        <Member HoleName="4" rectDomian="22000,13000,10000,0" shape="0" />
+        <Member HoleName="5" rectDomian="7000,13000,10000,0" shape="0" />
+        <Member HoleName="6" rectDomian="-7500,13000,10000,0" shape="0" />
+        <Member HoleName="7" rectDomian="-22500,13000,10000,0" shape="0" />
+        <Member HoleName="8" rectDomian="14000,0,10000,0" shape="0" />
+        <Member HoleName="10" rectDomian="-15000,0,10000,0" shape="0" />
+        <Member HoleName="11" rectDomian="-30000,0,10000,0" shape="0" />
+        <Member HoleName="12" rectDomian="22000,-12500,10000,0" shape="0" />
+        <Member HoleName="13" rectDomian="7000,-12500,10000,0" shape="0" />
+        <Member HoleName="14" rectDomian="-7500,-12500,10000,0" shape="0" />
+        <Member HoleName="15" rectDomian="-22500,-12500,10000,0" shape="0" />
+        <Member HoleName="16" rectDomian="14500,-24500,10000,0" shape="0" />
+        <Member HoleName="17" rectDomian="-500,-24500,10000,0" shape="0" />
+        <Member HoleName="18" rectDomian="-14500,-24500,10000,0" shape="0" />
+      </Collection>
+    </Member>
+    <Member strName="Apero12">
+      <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,130000,120000" shape="1:RECTANGLE" />
+      <Member RegName="std" PolygonPoint="" rectDomian="6300,0,2,0" shape="0:ROUND" />
+      <Collection RegName="Holes">
+        <Member HoleName="9" rectDomian="0,0,12000,0" shape="0" />
+        <Member HoleName="2" rectDomian="0,25000,12000,0" shape="0" />
+        <Member HoleName="3" rectDomian="-15000,25000,12000,0" shape="0" />
+        <Member HoleName="1" rectDomian="15000,25500,12000,0" shape="0" />
+        <Member HoleName="4" rectDomian="22000,13000,12000,0" shape="0" />
+        <Member HoleName="5" rectDomian="7000,13000,12000,0" shape="0" />
+        <Member HoleName="6" rectDomian="-7500,13000,12000,0" shape="0" />
+        <Member HoleName="7" rectDomian="-22500,13000,12000,0" shape="0" />
+        <Member HoleName="8" rectDomian="14000,0,12000,0" shape="0" />
+        <Member HoleName="10" rectDomian="-15000,0,12000,0" shape="0" />
+        <Member HoleName="11" rectDomian="-30000,0,12000,0" shape="0" />
+        <Member HoleName="12" rectDomian="22000,-12500,12000,0" shape="0" />
+        <Member HoleName="13" rectDomian="7000,-12500,12000,0" shape="0" />
+        <Member HoleName="14" rectDomian="-7500,-12500,12000,0" shape="0" />
+        <Member HoleName="15" rectDomian="-22500,-12500,12000,0" shape="0" />
+        <Member HoleName="16" rectDomian="14500,-24500,12000,0" shape="0" />
+        <Member HoleName="17" rectDomian="-500,-24500,12000,0" shape="0" />
+        <Member HoleName="18" rectDomian="-14500,-24500,12000,0" shape="0" />
+      </Collection>
+    </Member>
+    <Member strName="Apero12_90">
+      <Member RegName="boundary" PolygonPoint="" rectDomian="0,0,90000,90000" shape="1:RECTANGLE" />
+      <Member RegName="std" PolygonPoint="" rectDomian="6300,0,2,0" shape="0:ROUND" />
+      <Collection RegName="Holes">
+        <Member HoleName="9" rectDomian="0,0,12000,0" shape="0" />
+        <Member HoleName="2" rectDomian="0,25000,12000,0" shape="0" />
+        <Member HoleName="3" rectDomian="-15000,25000,12000,0" shape="0" />
+        <Member HoleName="1" rectDomian="15000,25500,12000,0" shape="0" />
+        <Member HoleName="4" rectDomian="22000,13000,12000,0" shape="0" />
+        <Member HoleName="5" rectDomian="7000,13000,12000,0" shape="0" />
+        <Member HoleName="6" rectDomian="-7500,13000,12000,0" shape="0" />
+        <Member HoleName="7" rectDomian="-22500,13000,12000,0" shape="0" />
+        <Member HoleName="8" rectDomian="14000,0,12000,0" shape="0" />
+        <Member HoleName="10" rectDomian="-15000,0,12000,0" shape="0" />
+        <Member HoleName="11" rectDomian="-30000,0,12000,0" shape="0" />
+        <Member HoleName="12" rectDomian="22000,-12500,12000,0" shape="0" />
+        <Member HoleName="13" rectDomian="7000,-12500,12000,0" shape="0" />
+        <Member HoleName="14" rectDomian="-7500,-12500,12000,0" shape="0" />
+        <Member HoleName="15" rectDomian="-22500,-12500,12000,0" shape="0" />
+        <Member HoleName="16" rectDomian="14500,-24500,12000,0" shape="0" />
+        <Member HoleName="17" rectDomian="-500,-24500,12000,0" shape="0" />
+        <Member HoleName="18" rectDomian="-14500,-24500,12000,0" shape="0" />
+      </Collection>
+    </Member>
   </Collection>
 </XMLData>

+ 11 - 10
OTSCPP/OTSControl/Bruker/OTSBrukerImpl.cpp

@@ -905,8 +905,7 @@ namespace OTSController {
 			LogTrace(__FILE__, __LINE__, _T("COTSBrukerImpl::CollectXRayPoints: failed to call ReadXRayPoints method."));
 			return FALSE;
 		}
-		//delete segmentArray;
-		// ok return TRUE
+		
 		return TRUE;
 	}
 	// collect x ray points (area scan)
@@ -969,8 +968,8 @@ namespace OTSController {
 				{
 					nPixelCount += features[i].Segments[j].XCount;
 				}
-
-				*pixelTimes[i] = (SHORT)(a_nACTimeMS * 1000 / nPixelCount);
+				SHORT pt= (SHORT)(a_nACTimeMS * 1000 / nPixelCount);
+				pixelTimes[i] = &pt;
 				nTotalPixelCount += nPixelCount;
 			}
 			else
@@ -982,8 +981,8 @@ namespace OTSController {
 				extraSegments[extraSegments.size() - 1].Y = a_vXPoints[i]->GetPosition().y;
 				features[i].SegmentCount = 1;
 				features[i].Segments = &extraSegments[extraSegments.size() - 1];
-
-				*pixelTimes[i] = (SHORT)(a_nACTimeMS * 1000);
+				SHORT pt = (SHORT)(a_nACTimeMS * 1000);
+				pixelTimes[i] = &pt;
 			}
 		}
 
@@ -2541,7 +2540,7 @@ BOOL COTSBrukerImpl::GetXRayByFeatures(CPosXrayList& a_vXPoints, std::vector<Bru
 	long nTotalPixelCount = 0;
 
 
-	boost::scoped_array<SHORT*> pixelTimes(new SHORT*[nCollectCount]);
+	boost::scoped_array<SHORT*> pixelTimes(new SHORT *[nCollectCount]);
 	boost::scoped_array<BrukerDll::TFeatureData> features(new BrukerDll::TFeatureData[nCollectCount]);
 	std::vector<BrukerDll::TSegment> extraSegments;
 
@@ -2569,7 +2568,9 @@ BOOL COTSBrukerImpl::GetXRayByFeatures(CPosXrayList& a_vXPoints, std::vector<Bru
 			{
 				nPixelCount += ofeature.pSegment[j].XCount;
 			}
-			*pixelTimes[i] = (SHORT)(ceil((double)a_nACTimeMS * 1000.0 / (double)nPixelCount));
+			SHORT pt= (SHORT)(ceil((double)a_nACTimeMS * 1000.0 / (double)nPixelCount));
+			
+			pixelTimes[i] = &pt;
 
 			nTotalPixelCount += nPixelCount;
 		}
@@ -2584,8 +2585,8 @@ BOOL COTSBrukerImpl::GetXRayByFeatures(CPosXrayList& a_vXPoints, std::vector<Bru
 			extraSegments[extraSegments.size() - 1].Y = a_vXPoints[i]->GetPosition().y;
 			features[i].SegmentCount = 1;
 			features[i].Segments = &extraSegments[extraSegments.size() - 1];
-
-			*pixelTimes[i] = (SHORT)(a_nACTimeMS * 1000);
+			SHORT pt= (SHORT)(a_nACTimeMS * 1000);
+			pixelTimes[i] = &pt;
 			
 		}
 	}

+ 30 - 18
OTSIncAReportApp/1-UI/GBCalculate/Purity.Designer.cs

@@ -51,9 +51,10 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             // 
             this.btn_cal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
             this.btn_cal.Font = new System.Drawing.Font("SimSun", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btn_cal.Location = new System.Drawing.Point(266, 17);
+            this.btn_cal.Location = new System.Drawing.Point(400, 26);
+            this.btn_cal.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.btn_cal.Name = "btn_cal";
-            this.btn_cal.Size = new System.Drawing.Size(83, 28);
+            this.btn_cal.Size = new System.Drawing.Size(124, 42);
             this.btn_cal.TabIndex = 0;
             this.btn_cal.Text = "计算";
             this.btn_cal.UseVisualStyleBackColor = true;
@@ -66,7 +67,8 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             | System.Windows.Forms.AnchorStyles.Right)));
             this.label1.AutoSize = true;
             this.label1.Font = new System.Drawing.Font("SimSun", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label1.Location = new System.Drawing.Point(10, 22);
+            this.label1.Location = new System.Drawing.Point(15, 33);
+            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(115, 21);
             this.label1.TabIndex = 1;
@@ -80,9 +82,10 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             this.cBox_gride.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cBox_gride.Font = new System.Drawing.Font("SimSun", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.cBox_gride.FormattingEnabled = true;
-            this.cBox_gride.Location = new System.Drawing.Point(152, 17);
+            this.cBox_gride.Location = new System.Drawing.Point(228, 26);
+            this.cBox_gride.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.cBox_gride.Name = "cBox_gride";
-            this.cBox_gride.Size = new System.Drawing.Size(93, 28);
+            this.cBox_gride.Size = new System.Drawing.Size(139, 28);
             this.cBox_gride.TabIndex = 2;
             // 
             // label2
@@ -92,7 +95,8 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             | System.Windows.Forms.AnchorStyles.Right)));
             this.label2.AutoSize = true;
             this.label2.Font = new System.Drawing.Font("SimSun", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label2.Location = new System.Drawing.Point(10, 15);
+            this.label2.Location = new System.Drawing.Point(15, 22);
+            this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(136, 21);
             this.label2.TabIndex = 3;
@@ -105,9 +109,10 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             | System.Windows.Forms.AnchorStyles.Right)));
             this.tB_result.Enabled = false;
             this.tB_result.Font = new System.Drawing.Font("SimSun", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tB_result.Location = new System.Drawing.Point(152, 12);
+            this.tB_result.Location = new System.Drawing.Point(228, 18);
+            this.tB_result.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.tB_result.Name = "tB_result";
-            this.tB_result.Size = new System.Drawing.Size(114, 31);
+            this.tB_result.Size = new System.Drawing.Size(170, 31);
             this.tB_result.TabIndex = 4;
             // 
             // label3
@@ -117,7 +122,8 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             | System.Windows.Forms.AnchorStyles.Right)));
             this.label3.AutoSize = true;
             this.label3.Font = new System.Drawing.Font("SimSun", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label3.Location = new System.Drawing.Point(10, 369);
+            this.label3.Location = new System.Drawing.Point(15, 554);
+            this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label3.Name = "label3";
             this.label3.Size = new System.Drawing.Size(115, 21);
             this.label3.TabIndex = 5;
@@ -129,9 +135,10 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
             this.rBx_process.Font = new System.Drawing.Font("SimSun", 15F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.rBx_process.Location = new System.Drawing.Point(152, 367);
+            this.rBx_process.Location = new System.Drawing.Point(228, 550);
+            this.rBx_process.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.rBx_process.Name = "rBx_process";
-            this.rBx_process.Size = new System.Drawing.Size(680, 265);
+            this.rBx_process.Size = new System.Drawing.Size(1019, 397);
             this.rBx_process.TabIndex = 6;
             this.rBx_process.Text = "";
             // 
@@ -140,6 +147,7 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             this.splitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
             this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+            this.splitContainer1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.splitContainer1.Name = "splitContainer1";
             this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
             // 
@@ -157,8 +165,9 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             this.splitContainer1.Panel2.Controls.Add(this.label2);
             this.splitContainer1.Panel2.Controls.Add(this.label3);
             this.splitContainer1.Panel2.Controls.Add(this.tB_result);
-            this.splitContainer1.Size = new System.Drawing.Size(868, 697);
-            this.splitContainer1.SplitterDistance = 55;
+            this.splitContainer1.Size = new System.Drawing.Size(1302, 1045);
+            this.splitContainer1.SplitterDistance = 82;
+            this.splitContainer1.SplitterWidth = 6;
             this.splitContainer1.TabIndex = 7;
             // 
             // label4
@@ -168,7 +177,8 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             | System.Windows.Forms.AnchorStyles.Right)));
             this.label4.AutoSize = true;
             this.label4.Font = new System.Drawing.Font("SimSun", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label4.Location = new System.Drawing.Point(11, 60);
+            this.label4.Location = new System.Drawing.Point(16, 90);
+            this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label4.Name = "label4";
             this.label4.Size = new System.Drawing.Size(115, 21);
             this.label4.TabIndex = 8;
@@ -178,20 +188,22 @@ namespace OTSIncAReportApp._1_UI.GBCalculate
             // 
             this.pictureBox_PurityFormula.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
             this.pictureBox_PurityFormula.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox_PurityFormula.Image")));
-            this.pictureBox_PurityFormula.Location = new System.Drawing.Point(152, 60);
+            this.pictureBox_PurityFormula.Location = new System.Drawing.Point(228, 90);
+            this.pictureBox_PurityFormula.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pictureBox_PurityFormula.Name = "pictureBox_PurityFormula";
-            this.pictureBox_PurityFormula.Size = new System.Drawing.Size(680, 308);
+            this.pictureBox_PurityFormula.Size = new System.Drawing.Size(1019, 461);
             this.pictureBox_PurityFormula.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
             this.pictureBox_PurityFormula.TabIndex = 7;
             this.pictureBox_PurityFormula.TabStop = false;
             // 
             // Purity
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
-            this.ClientSize = new System.Drawing.Size(868, 697);
+            this.ClientSize = new System.Drawing.Size(1302, 1045);
             this.Controls.Add(this.splitContainer1);
+            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.Name = "Purity";
             this.ShowIcon = false;
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;