使用C#在Autocad中将三维图形转换为二维图形

本文关键字:图形 二维 转换 使用 Autocad 三维 | 更新日期: 2023-09-27 18:24:47

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

我不知道如何开始,也不知道在哪里可以买到这些材料。

请给出一些创建此工具的想法。

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

使用C#在Autocad中将三维图形转换为二维图形

AutoCAD Express Tools有一个名为"Flatten"的方法,应该可以处理此问题。然而,任何真正使用过它的人都知道,它并不总是能完成任务。

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

我会按实体类型来处理这个问题。每个实体在AutoCAD中对z轴的处理方式不同,所以我会事先将它们分组到存储桶中,然后分批处理。直线很容易,因为您可以将起点和终点的z轴更改为0,如果我没记错的话,多段线也有高程。三维多段线将需要遍历每个顶点并分别进行设置。圆的中心点可以直接设置为z=0…你知道我在说什么了。浏览AutoCAD文档,为你自己找到一个针对你遇到的每种实体类型的策略。

对于块之类的东西,这会变得很棘手,因为这样你也要处理块定义本身。像曲面、面和拉伸这样的原生三维实体更难处理。您最终必须决定哪些可以丢弃,哪些可以从基元中重新创建。

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