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 是一款可追溯到 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 的 2D 和 3D 建模工具,可在浏览器中运行,并根据 MIT 许可证提供。

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

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

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

贡献者

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

回复 作者:maurog (未验证)

事实是,这些工具都无法解决与商业 CAD 工具相同的事情。 BRL 是最接近的,但上次我使用它的建模简直太糟糕了。 其他的(为什么甚至包括 2d?)根本无法与 SolidWorks、Iron CAD Autodesk 和其他一些不太知名的程序相提并论。

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

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

谢谢

回复 作者:jopner (未验证)

我同意确实没有 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 署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.