C#中的开源cad绘图(dwg)库

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

DWG格式的主要障碍是二进制格式每3年更改一次 – 它将于2009年3月再次更改。它已加密,其规格未公开。 它是一个大型复杂的图书馆,有许多黑暗的小巷甚至不知道AutoDesk(他们多年前收购它)。

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

是一个非盈利的会员制软件公司,开发人员和用户联盟,致力于促进现在和未来的CAD数据的公开交换。 除了为CAD数据格式设定标准外,官方发展援助还侧重于开发具有卓越品质的软件库的实际问题,使ODA成员能够开发能够读写流行的DWG和DGN CAD文件格式的应用程序。

成本取决于您使用库的情况,但开发人员的基本成本为每年100美元,加盟费为250美元。 相比AutoDesk的RealDWG ,每年2500美元,第一年5000美元,这是一个讨价还价。 顺便说一句,RealDWG许可证是按产品划分的。 ODA许可证更合理,并允许您在同一许可证上生产多个产品。 你可以支付源代码,但它需要炸弹 – 而不是自己开发它

如果您只有1个产品,那么RealDWG可能适合您,但它只适用于Windows – 奖励,它有一个官方发展援助仍在使用的.NET API … ODA的.NET API(有2个)是完善的。 ODA产品针对许多操作系统进行编译,包括Windows(32位),SGI,Solaris,Windows(64位),Macintosh,HP,Windows CE,Linux,IBM AIX。

无论如何,这是一个重新发明的巨大轮子所以它绝对值得为已经转变的那个付出代价。

某些第三方库存在,但具有有限的特定APIfunction,如果您的需求非常具体,可以尝试搜索这些库。

值得注意的是,AutoDesk多年来一直与官方发展援助进行或多或少的连续诉讼。 如果您决定与他们竞争那么这是您必须期待的另一种复杂性。 更新:那些日子已经结束了。

我也正在开发一种与DWG文件对话的产品。 我正在走商业路线,因为涉及的时间,费用和麻烦对我来说是完全不经济的。 更新:我做到了。 tvCAD.tv建立在RealDwg上

2018年7月更新

虽然我使用RealDwg作为tvCAD,但如果我今天要启动该项目,我可能会使用ODA库。 构建RealDwg安装程序是一场噩梦 。 此外,RealDwg安装大小约为ODA安装大小的10倍。 呀,说真的。

Autodesk在AutoCAD市场的主导地位正在逐渐消退,它不再是“IBM”的选择。 我可能会在未来的某个时候将tvCAD转换为ODA库 – 将我推进到那里并不会花费太多的痛苦。 许可费用具有可比性。

我历来发现ODA的支持要比Autodesk环境中的支持更好,除了AutoCAD标签wiki中提到的论坛上积极和出色的同行支持,这对所有平台来说都非常普遍。 RealDwg的.NET代码可以与ODA库完全一致地使用。 与.NET / BricsCAD等.NET插件同上。

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

如果你沿着dxf路线走,我会建议netDXF 。 虽然缺少多行文本支持,但它是开放源代码并且能够很好地满足我的有限要求,作者说他还有其他一些不支持的东西,因为它们是autodesk专有的。

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

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

我知道一个几乎是免费的,它被称为Ivan CAD Library 2012,它位于www.ivancad.com。

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

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