AutoCAD 的开源替代品

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

4334ATA,通过 Wikimedia 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 目前处于 beta 测试阶段,正在积极开发中,定期发布版本,但开发人员警告说,它可能尚未适合生产使用。

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 内核的理念。

回复 作者:AC (未验证)

虽然 BricsCAD 不是开源的,但它是 Autocad 的直接替代品。 它甚至使用 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,他们生产 ARES Commander,CorelCAD 中也是如此。
我需要制作行业标准的 2D CAD 图纸,而 Draftsight 是我发现的唯一可以在 Linux 上实现这一点的产品。 (是的,2D 当然不是过时的——我们数百万人仍然必须制作 2D 素材。)
否则,FreeCAD 看起来很有趣,但仅处于 0.16 版本左右,因此还有很长的路要走。 已经有 autocad dwg 导入功能,希望有人会为 FreeCAD 做一些 AutoCAD 命令别名。 谁知道呢——也许最终我会做它们 :-)

回复 作者:maurog (未验证)

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

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

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

喷子。

回复 作者:gregewing (未验证)

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

谢谢

回复 作者:jopner (未验证)

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

我使用 QCad 社区版(forked to LibreCAD)制作了我正在切割的东西的 1:1 模式。 我还使用 Blender 制作了站立式办公桌部件的模型。 然后我使用 LibreOffice 整理所有部件并将它们放置好,以便我可以用一张 1/2 英寸厚的 4 英尺 x 8 英尺胶合板制作办公桌。

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 的免费版本,但当我在 Linux Mint 中通过 Wine 安装它时,它报错了。 请问有人可以指导我吗?

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.