使用C#在Autocad中将3D绘图转换为2D绘图

时间:2013-07-25 09:25:31

标签: c# autocad

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

我不知道如何开始以及我可以在哪里获得材料。

请提供一些创建此工具的建议。

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

1 个答案:

答案 0 :(得分:7)

AutoCAD Express Tools有一个名为“Flatten”的方法,可以处理此问题。然而,任何实际使用它的人都知道它并不总能完成任务。

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

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

这会像块一样变得棘手,因为那时你也会有块定义本身来处理。表面,面部和挤出等本土3D实体仍然更加坚固。你最终必须决定可以抛出什么,以及你可以从原语中重新创建什么。

如果这是一项简单的任务,AutoDesk可能已经推出了一些不错的东西。如果您愿意通过策略来解决问题,我认为这是您的最佳选择。