|
@@ -11,7 +11,7 @@ using System.Windows.Forms;
|
|
|
using FileManager;
|
|
|
using System.Xml;
|
|
|
using System.IO;
|
|
|
-
|
|
|
+using System.Drawing;
|
|
|
|
|
|
namespace MeasureData
|
|
|
{
|
|
@@ -120,9 +120,15 @@ namespace MeasureData
|
|
|
|
|
|
this.FileName = FileName.value();
|
|
|
this.FilePath = FilePath.value();
|
|
|
+ List<CutHole> tempCutHoleList = new List<CutHole>();
|
|
|
for (int i = 0; i < sCutHoles.size(); i++)
|
|
|
{
|
|
|
- ListCutHole.Add(sCutHoles.getItem(i));
|
|
|
+ tempCutHoleList.Add(sCutHoles.getItem(i));
|
|
|
+ }
|
|
|
+ if (tempCutHoleList.Count == sCutHoles.size())
|
|
|
+ {
|
|
|
+ ListCutHole.Clear();
|
|
|
+ ListCutHole = tempCutHoleList;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -167,6 +173,14 @@ namespace MeasureData
|
|
|
//打开
|
|
|
public void Open()
|
|
|
{
|
|
|
+ XmlDocument doc = new XmlDocument();
|
|
|
+ doc.Load(this.FileName);//载入xml文件
|
|
|
+
|
|
|
+ XmlNode root = doc.SelectSingleNode("XMLData");
|
|
|
+
|
|
|
+ Serialize(false, doc, root);
|
|
|
+
|
|
|
+ doc.Save(this.FileName);
|
|
|
}
|
|
|
|
|
|
//保存
|
|
@@ -195,7 +209,6 @@ namespace MeasureData
|
|
|
|
|
|
XmlNode root = doc.SelectSingleNode("XMLData");
|
|
|
Serialize(true, doc, root);
|
|
|
- doc.Save(this.FileName);
|
|
|
|
|
|
return true;
|
|
|
}
|
|
@@ -357,9 +370,52 @@ namespace MeasureData
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public List<CutHole> GetCutHolesFromAnalysisPosition()
|
|
|
+ //从点集合对象中生成切割孔信息
|
|
|
+ public bool GetCutHolesFromAnalysisPosition(List<PointF> cutHolePointF)
|
|
|
{
|
|
|
- return null;
|
|
|
+ //集合中的数量
|
|
|
+ int nNum = Convert.ToInt32(cutHolePointF.Count);
|
|
|
+ if (nNum == 0)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ List<CutHole> tempCutHoleList = new List<CutHole>();
|
|
|
+ for (int i = 0; i < nNum; i++)
|
|
|
+ {
|
|
|
+ //切孔标识
|
|
|
+ CutHole CHole = new CutHole();
|
|
|
+ CHole.HoleName = (i + 1).ToString();
|
|
|
+ //切孔位置
|
|
|
+ SemPosition holePos = new SemPosition();
|
|
|
+ holePos.X = Convert.ToSingle(cutHolePointF[i].X);
|
|
|
+ holePos.Y = Convert.ToSingle(cutHolePointF[i].Y);
|
|
|
+ holePos.Z = Convert.ToSingle(0);
|
|
|
+ holePos.M = Convert.ToSingle(0);
|
|
|
+ holePos.T = Convert.ToSingle(0);
|
|
|
+ holePos.R = Convert.ToSingle(0);
|
|
|
+ CHole.Position = holePos;
|
|
|
+ //默认切割点均参与测试
|
|
|
+ CHole.SWITCH = true;
|
|
|
+
|
|
|
+ //更新切孔链表
|
|
|
+ tempCutHoleList.Add(CHole);
|
|
|
+ LogManager.AddHardwareLog("X =" + cutHolePointF[i].X
|
|
|
+ + "Y =" + cutHolePointF[i].Y
|
|
|
+ + "Z =" + 0
|
|
|
+ + "M =" + 0
|
|
|
+ + "T =" + 0
|
|
|
+ + "R =" + 0
|
|
|
+ , true);
|
|
|
+ }
|
|
|
+ if (tempCutHoleList.Count > 0)
|
|
|
+ {
|
|
|
+ this.ListCutHole.Clear();
|
|
|
+ this.ListCutHole = tempCutHoleList;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|