1

我必须将 3D 绘图转换为 2D 绘图。所以我必须创建一个工具来自动化这个。

我不知道如何开始,从哪里可以得到材料。

请提供一些想法来创建这个工具。

我正在使用 Autocad2007,我必须在 C# 中创建该工具。

4

1 回答 1

7

AutoCAD Express Tools 有一个名为“Flatten”的方法来处理这个问题。然而,任何真正使用过它的人都知道它并不总是能完成工作。

这当然是可行的,您可以在 C# 中使用本机的进程内 AutoCAD 库来遍历实体。(AcMdg.dll、AcDbMdg.dll)

我会通过实体类型来解决这个问题。每个实体在 AutoCAD 中处理 z 轴的方式不同,所以我会事先将它们分组到桶中并分批处理。线条很简单,因为您可以将起点和终点的 z 轴更改为 0,如果我没记错的话,折线有一个高程。3D 多段线需要每个顶点经过并单独设置。圆可以将中心点直接设置为 z = 0 ......你明白我在说什么。浏览 AutoCAD 文档,为您将遇到的每种实体类型制定策略。

这对于块之类的东西会变得很棘手,因为这样你也将拥有块定义本身来处理。像曲面、面和挤压这样的原生 3D 实体仍然更加坚固。您最终必须决定可以丢弃什么,以及可以从基元中重新创建什么。

如果这是一项简单的任务,AutoDesk 可能已经推出了一些不太体面的东西。如果你愿意用策略解决问题,我认为这是你力所能及的。

于 2013-08-15T04:40:16.860 回答