|
@@ -1607,16 +1607,11 @@ namespace MeasureThread
|
|
double dDwellTime = param.DwellTime;
|
|
double dDwellTime = param.DwellTime;
|
|
int nImageType = param.ImageType;
|
|
int nImageType = param.ImageType;
|
|
double dScanSizes = param.ScanSize;
|
|
double dScanSizes = param.ScanSize;
|
|
-
|
|
|
|
log.Info("dDwellTime=" + dDwellTime.ToString() + " nImageType=" + nImageType.ToString() + " dScanSizes=" + dScanSizes.ToString(), true);
|
|
log.Info("dDwellTime=" + dDwellTime.ToString() + " nImageType=" + nImageType.ToString() + " dScanSizes=" + dScanSizes.ToString(), true);
|
|
iExtender.SetImageAcquistionSetting(dDwellTime, nImageType, dScanSizes);
|
|
iExtender.SetImageAcquistionSetting(dDwellTime, nImageType, dScanSizes);
|
|
-
|
|
|
|
string path = currHole.EDS_path;
|
|
string path = currHole.EDS_path;
|
|
string edsfn = path + "\\" + a_FieldImagePositionID.ToString() + "_" + ImageNameEDS;
|
|
string edsfn = path + "\\" + a_FieldImagePositionID.ToString() + "_" + ImageNameEDS;
|
|
log.Info("EDS_PATH=" + edsfn, true);
|
|
log.Info("EDS_PATH=" + edsfn, true);
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
iExtender.GrabImage(edsfn, 0, 0, 0, 0, 0);//get the field eds image where the anylysis point locate.
|
|
iExtender.GrabImage(edsfn, 0, 0, 0, 0, 0);//get the field eds image where the anylysis point locate.
|
|
arg.Picture_Information.Picture_FullPath = "";
|
|
arg.Picture_Information.Picture_FullPath = "";
|
|
arg.State = true;
|
|
arg.State = true;
|
|
@@ -1625,11 +1620,9 @@ namespace MeasureThread
|
|
arg.Message = "";
|
|
arg.Message = "";
|
|
arg.Picture_Information.Picture_FullPath = edsfn;
|
|
arg.Picture_Information.Picture_FullPath = edsfn;
|
|
SendMsg("EDSPic");
|
|
SendMsg("EDSPic");
|
|
-
|
|
|
|
//送给客户,计算感兴趣的区域
|
|
//送给客户,计算感兴趣的区域
|
|
List<System.Drawing.Point> listPoints = new List<System.Drawing.Point>();
|
|
List<System.Drawing.Point> listPoints = new List<System.Drawing.Point>();
|
|
List<System.Drawing.Point> LinesStartPoint = new List<System.Drawing.Point>();
|
|
List<System.Drawing.Point> LinesStartPoint = new List<System.Drawing.Point>();
|
|
-
|
|
|
|
List<List<Segment>> Features = new List<List<Segment>>();
|
|
List<List<Segment>> Features = new List<List<Segment>>();
|
|
List<int> lines_height = new List<int>();
|
|
List<int> lines_height = new List<int>();
|
|
System.Drawing.Point area_pt = new System.Drawing.Point();
|
|
System.Drawing.Point area_pt = new System.Drawing.Point();
|
|
@@ -1655,8 +1648,6 @@ namespace MeasureThread
|
|
{
|
|
{
|
|
log.Error("插入分析视场失败", false);
|
|
log.Error("插入分析视场失败", false);
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
iExtender.BeginMultipleAquisition();
|
|
iExtender.BeginMultipleAquisition();
|
|
Thread.Sleep(100);
|
|
Thread.Sleep(100);
|
|
//点采集
|
|
//点采集
|
|
@@ -1665,7 +1656,6 @@ namespace MeasureThread
|
|
{
|
|
{
|
|
XrayData = new long[2000];
|
|
XrayData = new long[2000];
|
|
listElement = new Dictionary<string, double>();
|
|
listElement = new Dictionary<string, double>();
|
|
-
|
|
|
|
if (iExtender.XrayPointCollecting(1000, pt.X, pt.Y , out XrayData, out listElement))
|
|
if (iExtender.XrayPointCollecting(1000, pt.X, pt.Y , out XrayData, out listElement))
|
|
{
|
|
{
|
|
string ele = "";
|
|
string ele = "";
|
|
@@ -1681,14 +1671,12 @@ namespace MeasureThread
|
|
Boolean ret = m_MeasDB.InsertAPointXray(currHole.HoleNo, m_nXrayId, pt.X, pt.Y, XrayData, listElement, a_FieldImagePositionID);
|
|
Boolean ret = m_MeasDB.InsertAPointXray(currHole.HoleNo, m_nXrayId, pt.X, pt.Y, XrayData, listElement, a_FieldImagePositionID);
|
|
Thread.Sleep(1000);
|
|
Thread.Sleep(1000);
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
+ m_MeasDB.PointDataSubmitted();
|
|
iExtender.EndMultipleAquisition();
|
|
iExtender.EndMultipleAquisition();
|
|
break;
|
|
break;
|
|
case 1://line mode
|
|
case 1://line mode
|
|
-
|
|
|
|
log.Info("线扫描", true);
|
|
log.Info("线扫描", true);
|
|
-
|
|
|
|
state = 0;
|
|
state = 0;
|
|
ImagePro.EDS_Param_Lines(edsfn, a_FieldImagePositionID, Convert.ToInt32(MParam.SampleTypeNo()), MParam.Firm, out LinesStartPoint, out lines_height, out state);
|
|
ImagePro.EDS_Param_Lines(edsfn, a_FieldImagePositionID, Convert.ToInt32(MParam.SampleTypeNo()), MParam.Firm, out LinesStartPoint, out lines_height, out state);
|
|
string sp = "";
|
|
string sp = "";
|
|
@@ -1697,26 +1685,22 @@ namespace MeasureThread
|
|
sp += "(" + p.X + "," + p.Y + ")";
|
|
sp += "(" + p.X + "," + p.Y + ")";
|
|
}
|
|
}
|
|
log.Info("线返回数据,lines=" + LinesStartPoint.Count.ToString() + " " + sp+"每条线的长度为:"+ lines_height[0].ToString(), true);
|
|
log.Info("线返回数据,lines=" + LinesStartPoint.Count.ToString() + " " + sp+"每条线的长度为:"+ lines_height[0].ToString(), true);
|
|
-
|
|
|
|
if (state == 1)
|
|
if (state == 1)
|
|
{
|
|
{
|
|
//将线转换为segment数据
|
|
//将线转换为segment数据
|
|
log.Info("将线转换为segment数据", true);
|
|
log.Info("将线转换为segment数据", true);
|
|
-
|
|
|
|
for (int i = 0; i < LinesStartPoint.Count; i++)
|
|
for (int i = 0; i < LinesStartPoint.Count; i++)
|
|
{
|
|
{
|
|
int wholeHeight = lines_height[i];
|
|
int wholeHeight = lines_height[i];
|
|
int singleHeight = 3;//每5高度形成一个单元
|
|
int singleHeight = 3;//每5高度形成一个单元
|
|
-
|
|
|
|
for (int k = 0; k < wholeHeight; k += singleHeight)
|
|
for (int k = 0; k < wholeHeight; k += singleHeight)
|
|
{
|
|
{
|
|
-
|
|
|
|
List<Segment> feature = new List<Segment>();
|
|
List<Segment> feature = new List<Segment>();
|
|
for (int j = 0; j <= singleHeight; j++)
|
|
for (int j = 0; j <= singleHeight; j++)
|
|
{
|
|
{
|
|
Segment segment = new Segment();
|
|
Segment segment = new Segment();
|
|
segment.X = LinesStartPoint[i].X;
|
|
segment.X = LinesStartPoint[i].X;
|
|
- segment.Y = LinesStartPoint[i].Y;
|
|
|
|
|
|
+ segment.Y = LinesStartPoint[i].Y+j+k;
|
|
segment.Length = 1;
|
|
segment.Length = 1;
|
|
feature.Add(segment);
|
|
feature.Add(segment);
|
|
}
|
|
}
|
|
@@ -1730,17 +1714,15 @@ namespace MeasureThread
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
//线采集
|
|
//线采集
|
|
-
|
|
|
|
m_nXrayId = 0;
|
|
m_nXrayId = 0;
|
|
iExtender.BeginMultipleAquisition();
|
|
iExtender.BeginMultipleAquisition();
|
|
- Thread.Sleep(100);
|
|
|
|
|
|
+ //Thread.Sleep(100);
|
|
|
|
+ log.Info(" Features.Coun的长度为"+ Features.Count.ToString());
|
|
for (int i = 0; i < Features.Count; i++)
|
|
for (int i = 0; i < Features.Count; i++)
|
|
{
|
|
{
|
|
List<Segment> listSeg = Features[i];
|
|
List<Segment> listSeg = Features[i];
|
|
XrayData = new long[2000];
|
|
XrayData = new long[2000];
|
|
listElement = new Dictionary<string, double>();
|
|
listElement = new Dictionary<string, double>();
|
|
-
|
|
|
|
-
|
|
|
|
//if (iExtender.XrayAreaCollectiong(5000, listSeg, out XrayData, out listElement))
|
|
//if (iExtender.XrayAreaCollectiong(5000, listSeg, out XrayData, out listElement))
|
|
if (iExtender.XrayPointCollecting(300, listSeg[0].X, listSeg[0].Y, out XrayData, out listElement))
|
|
if (iExtender.XrayPointCollecting(300, listSeg[0].X, listSeg[0].Y, out XrayData, out listElement))
|
|
{
|
|
{
|
|
@@ -1754,10 +1736,10 @@ namespace MeasureThread
|
|
log.Info("线采集结束,写入数据库开始", true);
|
|
log.Info("线采集结束,写入数据库开始", true);
|
|
//写入数据库
|
|
//写入数据库
|
|
m_nXrayId++;
|
|
m_nXrayId++;
|
|
-
|
|
|
|
AreasNo++;
|
|
AreasNo++;
|
|
//m_MeasDB.InsertAPointXray(currHole.HoleNo, m_nXrayId, listSeg[0].X, listSeg[0].Y, XrayData, listElement, a_FieldImagePositionID);
|
|
//m_MeasDB.InsertAPointXray(currHole.HoleNo, m_nXrayId, listSeg[0].X, listSeg[0].Y, XrayData, listElement, a_FieldImagePositionID);
|
|
- m_MeasDB.InsertAAreaXay(currHole.HoleNo, m_nXrayId, AreasNo, listSeg, XrayData, listElement, a_FieldImagePositionID);
|
|
|
|
|
|
+ //m_MeasDB.InsertAAreaXay(currHole.HoleNo, m_nXrayId, AreasNo, listSeg, XrayData, listElement, a_FieldImagePositionID);
|
|
|
|
+ m_MeasDB.SaveToMemory(currHole.HoleNo, m_nXrayId, AreasNo, listSeg, XrayData, listElement, a_FieldImagePositionID);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -1765,8 +1747,8 @@ namespace MeasureThread
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+ m_MeasDB.LineDataSubmitted();
|
|
iExtender.EndMultipleAquisition();
|
|
iExtender.EndMultipleAquisition();
|
|
-
|
|
|
|
break;
|
|
break;
|
|
case 2: //area mode
|
|
case 2: //area mode
|
|
//面数据
|
|
//面数据
|
|
@@ -1803,7 +1785,6 @@ namespace MeasureThread
|
|
{
|
|
{
|
|
XrayData = new long[2000];
|
|
XrayData = new long[2000];
|
|
listElement = new Dictionary<string, double>();
|
|
listElement = new Dictionary<string, double>();
|
|
-
|
|
|
|
log.Info("AreaTime=15000", true);
|
|
log.Info("AreaTime=15000", true);
|
|
if (iExtender.XrayAreaCollectiong(15000, feature, out XrayData, out listElement))
|
|
if (iExtender.XrayAreaCollectiong(15000, feature, out XrayData, out listElement))
|
|
{
|
|
{
|
|
@@ -1816,7 +1797,6 @@ namespace MeasureThread
|
|
log.Info("面采集结束,写入数据库开始", true);
|
|
log.Info("面采集结束,写入数据库开始", true);
|
|
//写入数据库
|
|
//写入数据库
|
|
m_nXrayId++;
|
|
m_nXrayId++;
|
|
-
|
|
|
|
AreasNo++;
|
|
AreasNo++;
|
|
m_MeasDB.InsertAAreaXay(currHole.HoleNo, m_nXrayId, AreasNo, feature, XrayData, listElement, a_FieldImagePositionID);
|
|
m_MeasDB.InsertAAreaXay(currHole.HoleNo, m_nXrayId, AreasNo, feature, XrayData, listElement, a_FieldImagePositionID);
|
|
}
|
|
}
|
|
@@ -1827,13 +1807,9 @@ namespace MeasureThread
|
|
}
|
|
}
|
|
iExtender.EndMultipleAquisition();
|
|
iExtender.EndMultipleAquisition();
|
|
break;
|
|
break;
|
|
-
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
//存储数据
|
|
//存储数据
|
|
//向分析点数据库更新
|
|
//向分析点数据库更新
|
|
-
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
catch (Exception e)
|
|
{
|
|
{
|