java read dxf xdata_正在读取.dxf文件[已关闭]

然后你可以对数据做些什么

private void ReadDxfFile (string DxfFile)

{

string Layer = "";

string[] D = DxfFile.Split(new[] { Environment.NewLine }, StringSplitOptions.None);

int iEntities = 0; for(int i = 0; i < D.Length; i++) { if (D[i] == "ENTITIES") {iEntities = i; break; } }

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")

{

//Here you can store the following data in a list for later use

//LayerName = Layer

//X = D[iWaarden + 1]

//Y = D[iWaarden + 3]

//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")

{

//Here you can store the following data in a list for later use

//LayerName = Layer

//Xbegin = D[iWaarden + 1]

//Ybegin = D[iWaarden + 3]

//Zbegin = D[iWaarden + 5]

//Xend = D[iWaarden + 7]

//Yend = D[iWaarden + 9]

//Zend = D[iWaarden + 11]

}

}

}

if (D[i] == "ARC" || D[i] == "AcDbArc" || 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" && D[iWaarden + 10] == " 51")

{

//Here you can store the following data in a list for later use

//LayerName = Layer

//Xmid = D[iWaarden + 1]

//Ymid = D[iWaarden + 3]

//Zmid = D[iWaarden + 5]

//Radius = D[iWaarden + 7]

//StartAngle = D[iWaarden + 9]

//StartAngle = D[iWaarden + 11]

}

if (D[iWaarden] == " 10" && D[iWaarden + 2] == " 20" && D[iWaarden + 12] == " 51")

{

//Here you can store the following data in a list for later use

//LayerName = Layer

//Xmid = D[iWaarden + 1]

//Ymid = D[iWaarden + 3]

//Zmid = D[iWaarden + 5]

//Radius = D[iWaarden + 7]

//StartAngle = D[iWaarden + 11]

//StartAngle = D[iWaarden + 13]

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值