AutoCAD 的开源替代品

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

4334ATA,通过 Wikimedia Commons。Creative Commons 署名-相同方式共享 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 是一款跨平台 CAD 工具,其历史可以追溯到 1979 年,尽管源代码在 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 的 2D 和 3D 建模工具,可以在浏览器中运行,并根据 MIT 许可证提供。

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

你对阅读更多此类文章感兴趣吗? 注册我们的每周电子邮件通讯。

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

贡献者

24 条评论

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

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

回复 I use a 20 year old copy of 作者:AC (未验证)

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

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

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

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

回复 I would hazard a guess that 作者:jmpearce

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

回复 I would hazard a guess that 作者:jmpearce

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

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

回复 Try Draftsight. Only 2D but a 作者:maurog (未验证)

https://www.onshape.com/ 怎么样?

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

实际上,操作系统中的 CAD 非常糟糕,只有非工程师才会使用它。

喷子。

回复 Fact is none of these tools 作者:gregewing (未验证)

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

谢谢

回复 KediCAD is the best that you 作者:jopner (未验证)

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

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

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

不幸的是,我看到太多用户尝试使用这些 OpenSource 应用程序作为 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/Stable 或 https://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 许可协议本作品根据 Creative Commons 署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.