AutoCAD 的开源替代品

开源计算机辅助设计软件可能拥有您实际需要的一切。
1 位读者喜欢这篇文章。
3D CAD design

4334ATA,通过 Wikimedia Commons。Creative Commons Attribution-Share Alike 3.0。

编者注:本文最初发表于 2016 年 5 月,现已更新以包含一些其他选项。

CAD—计算机辅助设计或计算机辅助绘图,取决于您问谁—是为简化创建真实世界物体规格而创建的技术。无论您构建的物体是房屋、汽车、桥梁还是宇宙飞船,它都很有可能在某种 CAD 程序中开始。

 

在最知名的 CAD 程序中,AutoDesk 的 AutoCAD 榜上有名,但还有许多其他专有和开源程序。那么 AutoCAD 的开源替代品表现如何呢?答案取决于您计划如何使用它们。

 

让我们首先坦诚地说明一些事情:如果您正在寻找现有 CAD 程序的直接替代品,该替代品将提供相同的功能和工作流程,而无需更改您的任何流程,那么您将会失望。但我认为,让您失望的原因与产品的许可无关——对于拥有长期用户、对软件有特定需求和期望的复杂程序来说,直接替代品很难找到。

决定一款替代软件(无论是开源还是闭源)是否适合您的诀窍在于,准确地梳理出您的需求是什么。这种情况与发现坚持“需要”Photoshop 的人只是用它来绘制一些几何图形并去除照片中的红眼没有什么不同;他们真正需要的是一个可以替代这些特定功能的图形编辑工具。如果那些功能付费但未使用,那么它是否具有原始软件的所有花里胡哨的功能是无关紧要的。

我个人使用开源 CAD 程序的经历没有什么不同。我在研究生院期间曾短暂使用过 AutoCAD,所以当我想玩三维平面图时,它几乎是我唯一知道的。但这本身并不能使 AutoCAD 成为最佳选择。

随着我努力用更多开源选项替换生活中的更多软件,Blender 最终证明对于我的 3D 建模需求同样出色,无论我是在玩为 3D 打印机创建的模型,还是在查看从其他程序导出的景观。对于规划我的家居景观项目的相对简单的任务,Sweet Home 3D 一直是一个出色的开源替代品。

如果您的需求更具体,并且您确实需要专用的 CAD 程序,那么以下是一些值得考虑的优秀开源选择

SALOME

SALOME 平台是一个适用于工业设计和仿真的应用程序和框架。它是 3D 巨头 OpenCascade 的一个副项目,并且拥有一些重要的工业用户。SALOME 集成了 CAD 和 CAE 建模工具,以及工业网格划分算法和高级 3D 可视化。其几何编辑器可以导入 STEP、BREP、IGES、STL 和 XAO 文件,其网格编辑器可以导入 UNIV、MED、GGNS、SAUV 等。它集成了 Python 支持。

与此列表中的所有其他 CAD 应用程序一样,它是开源的,因此如果您有内部开发人员为其创建插件,则无需处理笨拙的 API。您可以直接访问代码库。

 

SALOME desktop client

BRL-CAD

BRL-CAD 是一款可追溯到 1979 年的跨平台 CAD 工具,尽管源代码在 25 年后才以开源许可证发布。事实上,BRL-CAD 非常古老,以至于它被 认为是目前正在积极开发的应用中最古老的源代码存储库。

BRL-CAD 最初由陆军研究实验室的 Mike Muuss 开发,几十年来一直被美国军方用于建模武器系统,但它也被用于更日常的设计任务,从学术到工业设计再到健康应用。

那么,超过 35 年的开发为您带来了什么?BRL-CAD 由 400 多个不同的组成工具和应用程序组成,分布在超过一百万行的源代码中。并非所有部分都使用相同的许可证,许可证范围从 BSD 到 LGPL 再到简单的公共领域;项目 源代码在 SourceForge 上的 COPYING 文件中有更多详细信息。

FreeCAD

FreeCAD 是一款 参数化 开源 CAD 程序,旨在能够设计“任何尺寸的真实物体”,尽管很明显,用户创建的 展示示例 中有很多是较小的物体,但没有具体理由说明它也不能用于建筑应用。FreeCAD 主要用 C++ 编写,如果您是 Python 程序员,您会希望利用使用其 Python 界面扩展和自动化 FreeCAD 的能力。

FreeCAD 可以从各种常见的 3D 对象格式导入和导出,其模块化架构使其可以轻松地使用各种插件扩展基本功能。该程序具有许多内置界面选项,从草图绘制器到渲染器,甚至机器人模拟功能。FreeCAD 目前处于测试阶段,正在积极开发中,定期发布版本,但开发人员警告说,它可能尚未适合生产使用。

FreeCAD 的 源代码 托管在 GitHub 上,并根据 LGPL 许可证以开源形式提供。

LibreCAD

LibreCAD 是另一款 CAD 程序,旨在跨 Windows、Mac 和 Linux 平台工作。LibreCAD 是 QCAD(如下所述)的一个分支,其界面对于 AutoCAD 用户来说会很熟悉,默认情况下,它使用 AutoCAD DXF 格式进行导入和保存,尽管它也可以使用其他格式。不过,LibreCAD 仅限于 2D,因此如果您的预期用途是场地平面图或类似的平面图,那么它更有意义。

LibreCAD 根据 GPL 获得许可,您可以在 GitHub 上找到其完整的 源代码


这些不是唯一的选择。其他值得您花时间查看的不错选择包括

  • OpenSCAD,它被称为“程序员的实体 3D CAD 建模器”,因为它不是交互式建模器,而是使用脚本文件进行建模的建模器。
  • QCAD,它是跨平台的,但仅限于二维应用。
  • SolveSpace,它是一款参数化的二维和三维 CAD 程序。
  • OpenJSCAD.org,它是 OpenJsCad 的更新前端。两者都是基于 JavaScript 的二维和三维建模工具,可在浏览器中运行,并根据 MIT 许可证提供。

由于我们无法在此处包含所有选项,如果您有喜欢的选项,请在下面的评论中告诉我们。

您是否有兴趣阅读更多类似文章?注册我们的每周电子邮件新闻通讯

Jason Baker
前 Red Hatter 员工。现在是一名顾问和有抱负的企业家。地图爱好者、创客和开源桌面及自托管软件的热情安装者。

贡献者

24 条评论

我使用在 Wine 下运行的 20 年前的 TurboCAD 副本。它比任何可用的 GPD CAD 软件都好。QCAD/LibreCAD 非常不友好,以至于使用它们是只有受虐狂才会考虑的事情。

我认为您说得很对。Linux 的美妙之处在于 Linux 本身,许多用户似乎痴迷于也只在 Linux 上使用 OSS,这限制了他们对计算机的使用,并且是对开源的忠诚,这似乎远远超出了 Linus 和 Linux 内核的理念。

回复 作者 AC (未验证)

虽然不是开源的,但 BricsCAD 是 Autocad 的直接替代品。它甚至使用 Autocad 的大部分相同命令。它的价格也大约是 1/2 到 1/3。BricsCAD 还有一个庞大的用户社区在使用该产品。作为 20 年的 autocad 用户,我只花了数分钟就上手了 BricsCAD。

我敢猜测,opensource.com 的大多数读者都来自编程领域,因此会更熟悉 OpenSCAD。您只需编写对象代码——在稍微学习一下记住基本命令的学习曲线之后,它就变成了一个非常强大的参数化设计工具。总的来说,我发现那些还不熟悉某种形式的可视化 CAD 程序的学生,会更快地掌握它。也就是说,您可以鱼与熊掌兼得——因为 FreeCAD 有一个 OpenSCAD 模块。

我们真正需要努力的是将开源 CAD 程序引入学校——这样学生就可以先熟悉它们,而不是被锁定在昂贵的专有软件包中。

我喜欢使用 OpenJsCAD,它类似于 OpenSCAD,但它不是使用特定领域的语言,而是使用 Javascript。在浏览器中运行,使用 WebGL 渲染模型。我用它设计了许多用于 3D 打印的模型,包括我的结婚戒指。

回复 作者 jmpearce

我不是经验丰富的程序员,事实上,我编写的最困难的东西是在 HP 48 系列工程计算器中完成或计划用于 HP 48 系列工程计算器的,即 HP48SX 和 HP49G。而且我的学术背景与编码没有很深的关系(机械工程)。说到 CAD 软件,这实际上是一般而言,上过学真的很有帮助!因为无论您是不是程序员,在 CAD 软件中解决几个问题时,您都会时不时地进入程序员的领域。例如,绘制齿轮(齿轮)取决于非常具体的方程式,以至于没有人会尝试“绘制”它们 - 实际上这就是 CAD 的用途 - 但输入这些方程式的方式在不同平台之间差异很大。不止一次,我曾向致力于编码的朋友和同事请求帮助,以解决问题。

回复 作者 jmpearce

试试 Draftsight。仅限 2D,但非常好用。仅供学生免费使用。

Draftsight 的基本版本对任何人都是免费的,并且有 Linux 版本。您必须注册,但他们不会打扰您。CAD 引擎来自 Graebert,Graebert 生产 ARES Commander,CorelCAD 中也使用了相同的引擎。
我需要制作行业标准的 2D CAD 图纸,而 Draftsight 是我发现的唯一一款可以在 Linux 上实现这一点的产品。(是的,2D 当然没有过时——我们数百万人仍然需要制作 2D 素材。)
否则,FreeCAD 看起来很有趣,但仅处于 0.16 版本左右,因此还有很长的路要走。已经有 autocad dwg 导入功能,希望有人会为 FreeCAD 做一些 AutoCAD 命令别名。谁知道呢——也许最终我会去做它们 :-)

回复 作者 maurog (未验证)

事实是,这些工具都无法解决与商业 CAD 工具如此接近的问题。BRL 是最接近的,但上次我使用它的建模非常糟糕。其他的(为什么还要包括 2d?)根本无法与 SolidWorks、IronCAD Autodesk 和其他一些不太知名的程序相提并论。

实际上,开源 CAD 非常糟糕,只有非工程师才会使用它。

喷子。

回复 作者 gregewing (未验证)

KediCAD 是最好的,您至少应该尝试一下。

我同意确实没有 AutoCAD 的直接替代品。另一个问题是,对于快速和“粗略”的创建,像 TinkerCAD 这样的东西可以帮助您快速将概念模型组合在一起,而无需安装程序。但由于它们都不是开源的,因此不需要评论时间。

我使用 QCad 社区版(分支到 LibreCAD)来制作我正在切割的东西的 1:1 图案。我还使用 Blender 制作了站立式办公桌部件的模型。然后,我使用 LibreOffice 对所有部件进行排序和放置,以便我可以用一张 1/2 英寸厚的 4'x8' 胶合板制作桌子。

Salome-Meca 在我的学习清单上,我相信它是开源的,并且包含在 CAELinux 中。

很遗憾,我看到太多用户尝试使用这些开源应用程序作为 AutoCAD 的替代品,但很少能成功。在教育行业,我培训过许多尝试使用它们的人,但他们发现自己要么在需要完成的工作方面受到限制,要么在需要查看 CAD 图纸的客户方面受到限制。

嗨!
虽然不是开源的,但我使用 VariCAD 作为我的主要 CAD 工具。它可以在 Linux 下原生运行,许可费约为 600 欧元。具有完整的 3D 建模功能,可以从 3D 生成 2D 或从 2D 生成 3D,自动生成 BOM,并且它使用的系统资源非常少,以至于我可以在 VirtualBox 虚拟机中运行它,仍然可以处理房屋的完整 3D 模型。

我发现很有趣的是,竟然有这么多人在一个开源网站上对专有软件发表愚蠢的评论……真是的!!

我使用 AutoCAD 超过 25 年了,自 2015 年以来一直在使用 Revit。我使用 Revit 进行设计,使用 AutoCAD 绘制技术建筑图纸。多年来,我建立了一个庞大的库,因此另一个 CAD 软件程序必须让我感到非常惊艳,我才会考虑切换。

HacDC.org(首都的黑客空间)的主席 Julia Longtin 也是 ImplicitCAD 的维护者,ImplicitCAD 是一个基于浏览器的 3D 系统,其脚本语言基于 OpenSCAD。源代码是用 Haskell 编写的,据 Julia 说,它有望更好地处理曲线。

它有点粗糙,但你可以在 http://implicit.faikvm.com/ 试用,或者在 http://kalli1.faikvm.com/ImplicitCAD/Stablehttps://github.com/colah/ImplicitCAD 改进它。

注意:faikvm.com 是 Julia 的服务器,在她家里运行(我认为),并非总是最可靠的。

(免责声明:我目前在 HacDC 的董事会任职,因为当他们征集志愿者时,我退缩得太慢了。)

SolveSpace 是我的最爱。它可以完成比所有其他软件更多的工作,而且非常快速、小巧和优雅。

FreeCAD 大约 100MB,LibreCAD 是 17MB,SolveCAD 以 3MB 完成相同的工作。
FreeCAD 使用 Python 作为其内核,因此速度非常慢,但获得了大量贡献。

说 FreeCAD 在其*核心*使用 Python 因此速度慢是不准确的。系统的核心是 OpenCascade,这是一个血统良好的 C++ 库,UI 基于 Coin,另一个受人尊敬的 C++ 库。Python 用于扩展 UI,到目前为止,我还没有发现 FreeCAD 速度慢。

您也可以尝试使用 ActCAD 软件,它提供更高级的功能。
https://actcad.com/

我是一名学生,获得了免费版本的 AutoCAD,但是当我尝试通过 Wine 在 Linux Mint 中安装它时,出现错误。请问有人可以指导我一下吗?

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.