【问题标题】:Convert 3D drawing to 2D drawing In Autocad Using C#在 AutoCAD 中使用 C# 将 3D 绘图转换为 2D 绘图
【发布时间】:2013-08-15 12:40:16
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我认为 AutoCAD 提供了 COM 自动化。基本上你可以编写模拟用户输入的宏。这个选项应该在 CAD 中的某个地方可用。这个想法是您将宏“外包”给 C#。
  • 这是哪个版本的 AutoCAD?它已经是 C#/VB.NET API 了吗?看看这个来自AutoDesk的有用链接。
  • 我正在使用 Autocad 2007。

标签: c# autocad


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-03-19
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2015-05-10
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多