private void ReadDxfFile(string DxfFile)
{
DxfFile = System.IO.File.ReadAllText(DxfFile);
string Layer = "";
DxfFile = DxfFile.Replace(".", ",");
string[] D = DxfFile.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
int iEntities = 0;
for (int i = iEntities; i < D.Length; i++)
{
if (D[i] == "POINT" || D[i] == "AcDbPoint")
{
int iEntity = i; if (D[i].StartsWith("AcDb")) { for (iEntity = i; D[iEntity] != "AcDbEntity"; iEntity--) ; }
Layer = ""; for (int iLayer = iEntity; iLayer < i + 10 && Layer == ""; iLayer++) { if (D[iLayer] == " 8") { Layer = D[iLayer + 1]; }; }
for (int iWaarden = i; iWaarden < i + 8; iWaarden++)
{
if (D[iWaarden] == " 10" && D[iWaarden + 2] == " 20")
{
string X = D[iWaarden + 1];
string Y = D[iWaarden + 3];
string Z = D[iWaarden + 5];
}
}
}
if (D[i] == "LINE" || D[i] == "AcDbLine")
{
int iEntity = i; if (D[i].StartsWith("AcDb")) { for (iEntity = i; D[iEntity] != "AcDbEntity"; iEntity--) ; }
Layer = ""; for (int iLayer = iEntity; iLayer < i + 10 && Layer == ""; iLayer++) { if (D[iLayer] == " 8") { Layer = D[iLayer + 1]; }; }
for (int iWaarden = i; iWaarden < i + 10; iWaarden++)
{
if (D[iWaarden] == " 10" && D[iWaarden + 2] == " 20")
{
lines.Add(new List<double>());
lines[lines.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 1]));
lines[lines.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 3]));
lines[lines.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 5]));
lines[lines.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 7]));
lines[lines.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 9]));
lines[lines.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 11]));
}
}
}
if (D[i] == "CIRCLE" || D[i] == "AcDbCircle")
{
int iEntity = i; if (D[i].StartsWith("AcDb")) { for (iEntity = i; D[iEntity] != "AcDbEntity"; iEntity--) ; }
Layer = ""; for (int iLayer = iEntity; iLayer < i + 10 && Layer == ""; iLayer++) { if (D[iLayer] == " 8") { Layer = D[iLayer + 1]; }; }
for (int iWaarden = i; iWaarden < i + 10; iWaarden++)
{
if (D[iWaarden] == " 10" && D[iWaarden + 2] == " 20")
{
arcs.Add(new List<double>());
arcs[arcs.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 1]));
arcs[arcs.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 3]));
arcs[arcs.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 5]));
arcs[arcs.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 7]));
if (D[iWaarden + 8] == "100")
{
arcs[arcs.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 11]));
arcs[arcs.Count() - 1].Add(Convert.ToDouble(D[iWaarden + 13]));
}
else
{
arcs[arcs.Count() - 1].Add(0);
arcs[arcs.Count() - 1].Add(360);
}
}
}
}
}
}