0

如何使用 Cad lib 库 (http://www.woutware.com) 对 .dxf 文件应用以下验证。

我想上传一个 .dxf 文件,并想在上传之前应用以下检查。

  • 我可以与我的激光机一起使用的程序需要 AutoCAD 2000 版本的 .dxf;
  • 绘图必须包含在 1000x700 单位的矩形中,因为程序将单位解释为毫米;
  • 不接受任何块或 AES 对象;
  • 默认第 0 层用于切割,最多 7 层用于雕刻(最多 8 层)
  • 所有对象都应该是 2D,不允许 3D 对象(大多数 SPLines)
4

1 回答 1

0

您可能应该在Wout Ware 论坛上发布您的问题。大多数检查都很容易完成,除了检查 3D 对象可能需要相当多的工作,因为您需要对每种类型的实体进行一些检查。

  • 可以使用 DxfModel.Header.AcadVersion 验证版本。
  • 矩形很棘手,因为绘制矩形有很多方法。可能有 LWPOLYLINE、2D POLYLINE、3D POLYLINE(但没有 z 坐标)、4 LINE 的集合,甚至还有其他制作矩形的方法。
  • 块可以在 DxfModel.Blocks 中找到,尽管我会说如果 INSERTs 的存在在 DxfModel.Entities 中非常重要。CadLib 不支持 AES 对象,但您可以通过检查 DxfModel.UnsupportedObjects 来检查它们是否存在于原始图形中。
  • 3D 对象检查需要对每个实体进行一些特殊检查。为此实现一个 IEntityVisitor 对象,并遍历所有实体。粗略检查每个实体的 z 轴是否为 (0, 0, 1),并且厚度为零(对于具有厚度的实体)。
于 2012-05-24T09:45:35.350 回答