25

任何人都知道 C# 中的开源 DWG(autocad 绘图)库吗?

4

7 回答 7

30

DWG 格式的主要障碍是二进制格式每 3 年更改一次 - 它将在 2009 年 3 月再次更改。它是加密的,并且其规范不公开。这是一个非常复杂的图书馆,有许多甚至 AutoDesk 都不知道的黑暗小巷(他们在几年前收购了它)。

不是开源,而是开放设计联盟......(来自他们的网站)......

是一个由软件公司、开发人员和用户组成的非营利性会员联盟,致力于促进现在和未来 CAD 数据的开放交换。除了为 CAD 数据格式制定标准外,ODA 还专注于开发质量卓越的软件库的实际问题,使 ODA 成员能够开发能够读取和写入流行的 DWG 和 DGN CAD 文件格式的应用程序。

成本取决于您使用这些库的目的,但开发人员的基本成本是每年 100 美元,加入费为 250 美元。与AutoDesk 的 RealDWG 相比,每年 2500 美元和第一年 5000 美元,这很划算。顺便说一下,R​​ealDWG 许可证是针对每个产品的。ODA 许可证更合理一些,还允许您在同一个许可证上制作超过 1 个产品。你可以为源代码付费,但它要花很多钱——虽然比自己开发要少

如果您只有 1 个产品,那么 RealDWG 可能适合您,但它仅适用于 Windows - 奖励,它有一个ODA 仍在开发的 .NET API……ODA 的 .NET API(有 2 个)已经很成熟了。ODA 产品针对多种操作系统进行编译,包括 Windows(32 位)、SGI、Solaris、Windows(64 位)、Macintosh、HP、Windows CE、Linux、IBM AIX。

无论如何,这是一个需要重新发明的巨大轮子,因此绝对值得为已经转动的轮子付费。

一些 3rd-party 库存在有限的特定 API 功能,如果您的需求非常具体,可以尝试搜索这些库。

还值得注意的是,AutoDesk 多年来一直在或多或少地与 ODA 进行诉讼。如果您决定与他们竞争,那么这是您必须期待的另一个复杂性。

更新:

那些日子已经结束了。

我还在开发一种与 DWG 文件对话的产品。我走的是商业路线,因为所涉及的时间、费用和麻烦对我来说完全不经济。

更新:

我做到了。tvCAD.tv 建立在 RealDwg 之上

2018 年 7 月更新

虽然我在 tvCAD 中使用了 RealDwg,但如果我今天开始该项目,我可能会使用 ODA 库。构建 RealDwg 安装程序是一场噩梦。此外,RealDwg 安装大小约为 ODA 安装大小的 10 倍。是的,认真的。

Autodesk 在 AutoCAD 市场的主导地位正在减弱,它不再是“IBM”的选择。我可能会在未来的某个时候将 tvCAD 转换为 ODA 库——将我推入其中并不需要更多的痛苦。许可成本是可比的。

历史上,我发现 ODA 的支持比 Autodesk 环境中的支持要好,除了AutoCAD 标签 wiki中提到的论坛上的积极和出色的同行支持,它对所有平台都非常普遍。来自 RealDwg 的 .NET 代码几乎可以与 ODA 库一起使用。同样适用于 AutoCAD / BricsCAD 等的 .NET 插件。

于 2008-10-15T20:57:33.263 回答
6

如果您沿着 dxf 路线走,我建议您使用 netDXF。它是开源的,可以很好地满足我的有限要求,尽管它缺少多行文本支持,而且作者说还有一些其他的东西他不会支持,因为它们是 Autodesk 专有的。

于 2011-08-04T10:55:04.790 回答
4

没有开源解决方案,有一些商业解决方案,其中一个名为 CadLib 的 .NET 组件由 Wout Ware 提供:http ://www.woutware.com/cadlib.html 。

于 2010-04-01T13:00:51.117 回答
2

有人尝试过 cadsofttools CAD Import 吗?

http://www.cadsofttools.com http://www.cadsofttools.com/en/products/cad_import_.net.html

于 2010-09-16T11:06:50.230 回答
1

最简单的方法是将 dwg 转换为 dxf ascii,查询 ascii dxf 相当简单。

于 2010-02-04T21:14:25.543 回答
0

曾经有人努力将 Art Haas 的 .dwg 解析器(来自 pythoncad 项目)移植到 c#。我似乎找不到链接 ATM,但那是几年前的事了。创建一个开源跨平台 .dwg 库是我的VectorSection列表的顶部,所以让我知道你发现了什么!

于 2008-10-04T01:36:35.747 回答
0

我知道的唯一开源的是 LibreDwg,我认为它还没有完成。它从来没有真正走得很远。

我知道一个实际上是免费的,它叫做 Ivan CAD Library 2012,它位于 www.ivancad.com。

它可能很好地满足您的需求。

于 2012-12-16T05:27:57.340 回答