果你对 3D 图形的可能性着迷,但发现从头开始创建 3D 模型的想法是不可能的 - 不用担心!
Three.js 是一个强大的 JavaScript 库,它可以帮助我们轻松地将现有的 3D 模型集成到 React 应用程序中。因此,在本文中,我将深入探讨 Three.js 的基本知识,并指导你在项目中融入令人惊叹的 3D 模型。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
曾几何时...
“在数字深渊的霓虹灯浸透的深处,一切都开始了。一行代码,电线中的一阵电流声,世界就被永远改变了。阴影里藏着秘密,在它们的内部,一个 他们说,这一切是如何开始的,是黑暗的、合成的未来,是由一次黑客攻击、一次突破、一次在电路中回响的下载引发了一场由 1 和 0 组成的革命。”
最近,我发现自己正在检查我的旧作品集,它迫切需要改造,因为它是在我刚刚开始编程时制作的。 我们可以忽略它的视觉细节。
在设计方面,我知道我想要一些更真实的东西,而且由于我喜欢视频游戏,所以我渴望加入一些很酷的 3D 模型。
但问题是 - 我对 Three.js 的了解为零到很少,并且不想要无聊的球体或立方体。
因此,我卷起袖子,开始研究,很快我就找到了我的 3D 模型,并决定无论如何都要坚持将该 3D 模型纳入我的作品集!
该模型是 Oscar Creativo 的杰作,这是他在 Sketchfab 上的个人资料。 我强烈建议你检查一下!
由于我花了相当多的时间寻找解决方案,然后结合了一些最佳实践和优化,并且因为我知道还有更多像我一样固执的人,所以我决定让他们的生活更轻松,并分享我的经验和实现目标的步骤 相同的结果。
我的目标是通过提供简单明了的解释来简化整个过程,并使其对初学者友好。
那么让我们开始吧!
虽然 Three.js 提供了一个广泛的工具包来从头开始构建 3D 体验,但我的重点将是利用可供开发人员使用的巨大的预制 3D 模型存储库。 为什么?
因为通过这样做,我们可以立即升级我们的 React 应用程序并引入一些真正令人印象深刻的东西。
尽管如此,在做出决定之前权衡利弊还是很重要的。 虽然利用预制 3D 模型具有明显的优势,例如节省时间、高质量、广泛的选择、潜在的成本节省和更快的学习曲线,但我们也必须考虑到一些缺点,例如定制有限、可能超载、许可限制 ,以及可能需要仔细考虑和适应的无缝集成的潜在挑战。
我的建议是探索可用的免费 3D 模型,并确保检查并包含适当的许可信息。 或者,考虑选择符合你偏好的付费模式。
现在,让我们做好准备,为你的应用程序注入活力!
先决条件如下:
有什么新鲜事吗,chromehead?
选择 3D 模型后,继续下载。 将出现以下对话框:
正如您将看到的,存在不同的格式,虽然 Three.js 可以处理所有这些格式,但 GLTF 或 GLB 是首选,因为它们的效率、多功能性以及 Three.js 社区和更广泛的 Web 开发生态系统中的广泛支持。
以下是几种格式的简短解释:
由于上述原因,在本文中我将使用 GLTF 格式。 这些文件将以 zip 存档的形式下载,之后你需要将其解压缩。
我们需要安装以下库:
npm install three @react-three/drei @react-three/fiber
yarn add three @react-three/drei @react-three/fiber
public -> 3DfolderName
解压后的 3D 模型文件夹位于包含纹理文件夹以及 scene.bin、scene.gltf 和许可证的公共文件夹中。 请注意,每种格式都有不同的文件和结构。
src -> components (containing Loader.jsx) -> canvas folder -> CyberGirl.jsx + index.js
包含代码 CyberGirl.jsx 的主要组件放置在 canvas 文件夹中,并导出到 index.js 中,以便将来可扩展。 Loader.jsx 用作后备组件,用于显示 3D 模型的加载百分比。
CyberGirl.jsx:
useGLTF 钩子用于从指定路径加载 3D 模型。 它获取并准备 3D 模型以在 Three.js 环境中进行渲染。
useRef()创建一个名为 modelRef 的 React 引用。 React 中的 Refs 用于直接访问 DOM 或 React 元素并与之交互。 它用于引用组件内的 3D 模型并应用转换或与其交互。
细节层次 (LOD) 是 Three.js 库中的一项功能,用于优化 3D 模型的渲染。 首先创建 LOD 类的实例来管理模型的不同版本。 在这种情况下,将创建原始 3D 模型的四个克隆实例,每个实例代表不同的细节级别。 此 LOD 通过在距离相机较远时显示简化模型来提高渲染性能,从而减少计算负载。
LOD 系统的运行独立于变焦或相机控制设置。 它旨在根据相机与模型之间的距离自动在不同版本的 3D 模型之间切换,无论是否启用缩放。
LOD 主要用于在不需要远距离渲染高细节模型且计算成本较高的场景下优化 3D 模型的渲染。 当相机靠近或远离模型时,LOD 系统会自动切换到适当的细节级别。
<primitive/> 是 Three.js 元素,用于渲染 3D 模型。 它使用 gltf.scene 作为模型/对象来显示并设置模型在 3D 空间中的比例、位置和旋转。 位置和旋转都使用具有三个值 [ X, Y, Z ]的数组,表示沿 X、Y 和 Z 轴的坐标。 使用参考 (modelRef) 可以与渲染的 3D 模型进行潜在的编程交互。
Canvas 组件设置阴影和基于需求的帧循环,以及针对不同显示器的 1 和 2 的设备像素比。
Suspense 将 CanvasLoader 组件渲染为后备,并在加载 3D 模型时显示加载进度指示器。
ambientLight 是一种光源,它均匀地照亮场景中的所有对象,无论其位置或方向如何。 它通常用于为整个场景提供基本级别的光线,模拟全局照明。 环境光不会投射阴影或具有特定方向,相反,它只是照亮一切。 有关道具的更多信息请查阅这里。
pointLight 是一种更具方向性的光源,从 3D 空间中的特定点向各个方向发射光。 它模拟点光源,如灯泡。 它可以投射阴影并具有各种属性,例如位置、颜色和强度。 位置指定灯光的位置,而颜色和强度分别控制灯光的颜色和亮度。 点光源对于创建局部的、真实的光照效果非常有用。 有关道具的更多信息,请检查此。
OrbitControls 组件允许在 3D 场景中进行交互式摄像机控制。 它使用户能够平移、缩放和绕 3D 对象旋转。
要查找用于配置 OrbitControls 组件的可用属性的完整列表,请参阅此资源。
Preload 组件用于在渲染 3D 场景之前预加载资源。 具体来说,它用于异步预加载纹理、模型或其他资源,确保它们在场景开始渲染之前完全加载并可用。 它应该放置在 Suspense 组件中,以便在预加载资源时提供后备 UI。
Loader.jsx
CanvasLoader 组件的目标是在 3D 模型加载之前显示加载元素。 它从 @react-two/drei 库导入两个元素:Html 和 useProgress,以跟踪 3D 资源的加载进度。
加载进度以百分比形式显示在嵌套在居中的 Html 元素内的 p 中。 由于进度常量保存有几个小数位的浮点数,因此使用 toFixed(2) 将确保它在最终输出中显示为精确两位小数。
index.js
该文件充当 CyberGirl 组件的中心导出点,使得从应用程序的其他部分导入更加方便。 这种做法使导入语句保持干净和有组织,并且可以轻松扩展以包含其他 3D 组件。
Hero.jsx - 使用 3D 模型的地方
最后,从canvas文件夹中的index.js文件导入 CyberGirl组件。
虽然还有更多选项可供探索和自定义,但此示例是使用 Three.js 集成令人印象深刻的预制 3D 模型的简单方法。 源代码可以在我的 GitHub 上找到。
Three.js 和 React 的结合开启了一个充满创意可能性的世界,使我们能够将迷人的 3D 模型无缝集成到我们的 Web 应用程序中。 凭借大量可用的预制 3D 模型以及 react-three/fiber 和 react-three/drei 等库提供的简化 React 集成,为我们的应用程序注入活力是如此酷且轻松!
原文链接:React.js 3D应用开发入门 - BimAnt
们最近为荷兰设计师家具制造商 KILO 发布了基于网络的 3D 配置器的第一个生产版本。我们使用了 Salsita 3D 配置器,这是一个内部 SDK,使新的 3D 配置器的实施变得轻而易举。虽然它给我们带来了巨大帮助,但我们仍然面临一些有趣的挑战。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
最大的挑战是实现完整的参数化建模(parametric modeling)。 KILO 的制造工艺使他们能够提供定制尺寸的家具。然而,到目前为止,他们的在线客户仅限于标准尺寸的产品。为了解决这个问题,我们在配置器中添加了尺寸滑块。用户可以选择家具的准确高度、宽度和深度,并将更改立即应用于产品的 3D 可视化。
具有可定制尺寸的 KILO 家具配置器
为了实现这一目标,我们需要使用所谓的参数化 3D 模型。与普通的 3D 模型不同,它们的形状不是固定的,而是取决于各种输入参数:尺寸、架子数量、门安装的一侧等。
参数化模型通常使用复杂的建模语言(例如 Grasshopper)来指定。不幸的是,他们缺乏一个基于 JavaScript 的解释器,可以在输入参数发生变化时快速生成模型。我们还考虑了 OpenJSCAD 和其他一些替代方案,但事实证明它们都过于复杂,要么是我们需要将它们集成到配置器中,要么是它们用于设计新模型的语言。
最后,我们决定直接依赖 Three.js,这是一个著名的 WebGL 3D 引擎,我们的配置器 SDK 已经大量使用它。我们将模型分成单独的部分,绘制每个部分的 2D 形状,然后使用 Three.js 将其拉伸为 3D。最后一步是组装各个部件以形成实际的家具。我们使用 React-Three-Fiber 作为管理 Three.js 场景的反应式方式,使最后两个步骤变得非常简单。基本上我们只需要提供零件的 2D 形状、位置和旋转,并且每次它们发生变化时模型都会更新。
这种方法意味着我们需要一种描述二维形状的方法。 KILO的家具造型简单干净,以直线为主,带有少量圆角。有了这组非常有限的构建块,就形成了一种简单的基于 JavaScript 的“领域特定语言”(DSL),通过它我们可以对任何 KILO 部件进行建模。简而言之,DSL 允许你指定形状的角点,可以选择通过提供半径来使它们变圆。再加上圆形家具的通用弧形元素,足以覆盖 KILO 的所有产品。
模型的动态性(即尊重输入参数)留给 JavaScript 本身。无需在 DSL 中指定固定坐标,只需使用高度和宽度等变量以及 JavaScript 计算即可。所有 JavaScript 开发人员都知道的各种技术都可以轻松地应用于 DSL 代码,使其更加模块化、可读和可重用。单个产品的所有模型生成逻辑都封装在单个工厂函数中。
以下代码片段显示了一个基于高度变量动态构造的圆角矩形:
const height=1
const width=height + 0.5
const shape: ShapeElement[]=[
{ corner: [0, 0] },
{
corner: [width, 0],
radius: Math.min(width / height) / 4
},
{ corner: [width, height] },
{ corner: [0, height] }
]
我们使用一组相当简单的例程将上述工厂函数生成的定义“绘制”到目标空间中,无论是用于 3D 挤出的 2D 形状、SVG 图像还是后来的 AutoCAD DXF 文件。 DSL 还可以简单且高精度地计算面积和周长,这对于向客户显示正确的价格非常重要。
通过我们的绘图例程传递片段时得到的结果
刚才提到的所有内容都是用 TypeScript 编写的,可以在服务器和浏览器上的 Node.js 中运行。这样,当用户调整尺寸滑块时,可以轻松地近乎实时地动态更新 3D 模型,并允许在服务器上进行价格计算等处理。在进一步的版本中,DSL 还将为我们的生产仪表板提供订单分组、零件自动嵌套以及完全嵌套板的 DXF 导出等功能。
一张胶合板上的部分布局可供数控机床切割
另一个挑战是使用 WooCommerce 商业功能集成到现有的 WordPress 网站。尽管我们考虑过使用 iframe,但最终我们决定使用自定义 WordPress 插件进行无缝集成。该插件将配置器的 React 应用程序直接注入主站点。
为了减少配置器和 WordPress 站点之间的耦合,我们将配置器前端和 API 托管在单独的服务器上。每当用户登陆产品页面时,我们的 WordPress 插件就会从我们的服务器中提取前端包。
幸运的是,配置器 SDK 设计得很好,在我们集成配置器时并没有妨碍我们。所有样式的范围都正确地限定为目标组件(我们使用emotion库),因此我们只需要在 WordPress 插件中定义一个根元素,然后在该元素中引导整个配置器应用程序。
我们使用 Create React App 来生成生产版本。该代码由 Webpack 捆绑到带有随机版本哈希后缀的文件中。这是在部署新版本时使浏览器重新获取应用程序文件的最可靠方法。不幸的是,这意味着插件无法在不提前知道哈希值的情况下将正确的文件链接到 WordPress 中。
我们通过在每次部署到我们的服务器时将插件的更新版本推送到 WordPress 网站来解决这个问题。作为一个有益的副作用,我们可以将插件更新与应用程序的其余部分一起部署,而无需任何额外的工作。所有这一切都是由我们的 CI/CD 管道精心安排的。
除了向现有站点添加配置器之外,我们还解决了一些用户体验问题并总体改进了用户界面。主页就是一个很好的例子,顶部的时尚照片轮播占据了中心舞台。重点关注 KILO 令人惊叹的设计师家具的高分辨率图片是激发客户兴趣的有效方式。
KILO 主页上的时尚轮播
但凡事都有其限度。由于原始轮播占据了浏览器窗口的整个高度,因此用户可以向下滚动以查看轮播下方的内容并不明显。然而,最重要的内容隐藏在用户浏览器底部边缘的正下方:包含整个产品组合中的产品图像的图块。我们稍微降低了传送带的高度,以便产品图块的顶部始终可见。这个简单的提示足以让用户向下滚动。
KILO 使用定制的 WordPress/WooCommerce 主题来真正创建独特的外观和感觉,并遵循公司的高设计标准。为了使我们对网站的影响易于追踪和可逆,我们根据现有主题创建了自己的子主题。这使我们能够覆盖网站的某些方面,同时保持其余部分完好无损。子主题只是 WordPress 站点内的一个目录,它是作为我们的 CI/CD 部署的一部分推送的,如上所述。
一开始客户对使用3D模型表示了一些疑虑。客户表示,3D 模型通常看起来不够真实,并且具有卡通外观,给客户留下了负面印象。他们说他们更喜欢简化的外观。然而,看到 KILO 家具简单的形状,我们有信心能够让它看起来不错。客户对我们所做的早期预览深信不疑,因此我们最终追求“现实模型”的想法。
我们收到了 KILO 使用的层压胶合板的实物样品,拍摄了几张边缘照片,并将其转化为逼真的纹理。令人惊讶的是,拍摄照片的最佳工具是中端智能手机,因为它的景深是固定的(几乎是无限的)。我们还仔细观察了表面层,发现了合适的“橙皮”凹凸贴图。该贴图将平坦的人造表面变成了具有逼真纹理的更加“有形”的材质。
真实胶合板的可视化(左)和照片(右)之间的差异
另一个大大提高 3D 模型真实感的因素是照明。事实证明,找到一种可以投射真实阴影同时准确显示材质颜色的照明设置几乎是不可能的。一个方向上的微小改进往往会对另一个方向产生灾难性的影响。
最后,我们决定定义场景的照明以创建适当的阴影、反射和其他效果。然后,我们通过稍微改变其实际值来补偿不完美的颜色。例如,黑色不再是纯RAL黑色(RGB#000000);我们必须让它变得更轻,这样它才不会看起来像一个耗光的黑洞。其他颜色需要降低饱和度,以使它们看起来不那么卡通化。
即使 KILO 零件的几何形状很简单,当我们转向越来越真实的阴影时,我们也开始面临性能问题。巧合的是,GPU 检测功能刚刚被引入到我们已经使用的支持库中。得益于此,我们能够在高端 GPU 上显示真实的阴影,并在低端设备上回退到所谓的“接触阴影”(其计算成本要低得多)。接触阴影只是物体下方的一个模糊点,如果场景中有数百个来自各个方向的灯光,就会出现这种情况。对于真实阴影与接触阴影的优点存在不同的看法。我个人更喜欢接触阴影,因为它们让我专注于物体本身而不是阴影。
真实阴影(左)和接触阴影(右)之间的差异
KILO 项目证明我们的 3D Configurator SDK 可以轻松扩展用于初始设计期间未预期的用例。不需要对 SDK 进行任何重大重写(甚至不需要参数化模型),我们要做的更改主要涉及改进总体架构以使其更加灵活。得益于我们的 SDK,我们能够在短短六周内准备好 MVP。
我们还证明,我们可以成功地将配置器集成到在 WordPress 和 WooCommerce 等传统整体平台上运行的电子商务解决方案中,尽管该过程并不像我们将其与 Shopify 或等现代平台集成时那样顺利。更好的是像 commercetools 这样的 MACH 兼容解决方案。
原文链接:参数化3D产品配置器 - BimAnt
个人想要从身边的3D打印机中最快速的获得最佳打印效果,除了设计优化、3D打印机和打印材料之外,还有一个更重要的环节就是切片软件,它对打印结果起着重要作用,我们可以把切片软件理解为从数字模型到实体模型转化和驱动的工具。
●玩好3D打印机从了解切片软件开始
玩好3D打印 从了解切片软件开始
下面列出2018年19款针对桌面级FDM技术的3D切片软件工具,其中一部分是我用过的,比如Cura、HORI 3D打印切片及控制系统、闪铸FlashPrint、Simplify3D、Makerbot print等,大部分是在过去测试FDM技术的3D打印的时候使用的,因为不少切片软件都有对应的硬件,当然也有一些软件是通用型的,给用户很好的个性化设定的参数,经过过去多年的迭代优化,现在大部分3D打印切片软件都做的不错,但是在用户定位和功能上有一些差异,有的软件定位是给入门用户的,所以很多参数的设定就会很简单,设定的选项也更少,而有的软件是给专业用户使用的,能设定的参数选项会非常多,包括喷头温度、底板温度、速度、层厚、层间隙、材料直径等等,还有的软件支持云切片、模型修复和设计,功能差异比较大。
3D打印的过程由几个基本要素组成。首先,你需要拥有3D模型和3D打印机,还有3D打印切片机软件,它充当3D模型和3D打印机之间的中间驱动和路径规划以及计算环节。
无支撑打印的模型
使用过3D打印机的朋友都知道,3D打印切片机为您的3D打印机准备所选模型,生成Gcode文件,一些硬件厂商的切片软件会生成一个专用格式的文件,比如MakerBot的.x3d,而Gcode代码是一种数控(NC)编程语言,具有较好的通用性。
FDM打印机也能打出完美效果
但就目前而言,让我们开始使用最好的3D切片软件工具与3D打印机配合使用,而且针对设计和模型去优化设置参数成为一个趋势,也可以理解为针对FDM技术的工艺优化。
评价一款切片软件,从使用经验来评判,大家可以从以下几个维度来评价:SLT文件导入和切片效率、修复功能是否强大、打印参数选项是否足够丰富、模型和打印信息展示、支持不同的打印机还是仅支持一个品牌的打印机、支撑功能、模型最终输出结果、打印效率等。
今天,笔者以下面19款切片软件抛砖引玉,了解目前国内外主流的3D打印切片软件有哪些,然后通过不断的使用来让最终的打印更稳定,输出结果更完美。下面我把收集的19款切片软件分为五大类来分享。
1、3DPrinterOS
3DPrinterOS是一个基于云的平台切片软件,集成了3D打印所必需的不同组件。像普通喷墨或激光打印机一样,将3D打印机接入计算机,从浏览器或桌面软件中打开。除了切片之外,3DPrinterOS还包括不同的选项来修复模型的网格,这个功能只有少数切片软件具备,如果要专业的修复模型,还是要使用magics这样专业模型修复软件,用户可以从Sketchfab.com下载模型通过打印机来打印,但这个软件一些高级功能是要收费的。不过好消息是,该公司承诺切片功能将永远免费。
有三个3D打印机切片应用程序集成到3DPrinterOS标准3D切片器软件,分别是“云切片机”、“切片机2”和专用的“Makerbot切片机”。3DprintOS支持的3D打印机范围非常广泛,能达到商业解决方案的需求。
“Cloud Slicer”和“Makerbot Slicer”在界面和功能上几乎完全相同。与其它专业3D切片软件工具一样,用户可以选择不同级别的复杂程度(简单、高级和专家)。不过有一个功能是大部分FDM切片软件没有的,就是估算打印模型的价格,所以更适合做打印服务的用户使用。 “Slicer 2”的软件界面与前面两种不一样:用户可以自定义多个预设列表,从而精确控制打印,也可以从头开始手动配置打印参数,灵活性和功能性比较好,类似cura和simplify3D。
特色:有三套不同的切片系统给用户提供切片选择,能对模型进行一定程度的修复。
不足:高阶功能需要收费才能开启。
3DPrinterOS下载地址:https://www.3dprinteros.com/
2、Astroprint
Astroprint同样是基于云的切片软件,设计理念与3DPrinterOS和Octoprint类似。 3D打印机是通过一个名为Astrobox(基本上是Raspberry Pi)的专用设备实现的。用户可以从世界上任何支持Web的设备监视和控制你的打印机。
如果用户没有要打印的3D模型,可以从Web服务下载,例如搜索引擎Yeggi、存储库CGTrader或Thingiverse下载。也可以在基于Web的3D建模工具3DSlash和Leopoly中从头开始设计3D模型。如果用户的3D模型无法正确打印,可以将Astroprint连接到3DPrintCloud进行修复。如果用户没有自己的3D打印机,也可以通过i.materialise打印模型文件。
Astroprint3D切片器软件本身非常简单。在简单模式下,用户可以选择材料和打印质量。同时,该软件有高级模式供专业玩家使用。
特色:集成了许多Web服务,是探索桌面3D打印世界的绝佳途径。
不足:3D切片软件功能隐藏在文件管理器中,不会在下载等其它选项中列出,必须单击3D模型的小预览渲染才能转到切片功能。
Astroprint下载地址:https://www.astroprint.com/
3、SliceCrafter
SliceCrafter是一款在线3D切片软件,支持Mac用户,用户无法编辑OpenSCAD代码,切片功能与IceSL大致相同,用户可以通过网页链接上传STL文件。
特色:用户可以不安装3D切片软件生成GCode,支持在线服务。
不足:不支持桌面应用,功能较少。
SliceCrafter下载地址:http://shapeforge.loria.fr/slicecrafter/
4、Cura
Cura由3D打印机公司Ultimaker及其社区开发和维护。Cura本身源于开源,3D打印切片软件是免费的,也是行业内普及率非常高的一款切片软件,早期国内很多3D打印厂商也在用Cura做切片功能。我们能看到Cura甚至为竞争对手的3D打印机添加了配置文件,其开源和开放的态度非常明确,也让许多用户因此受益。
Cura支持STL,3MF和OBJ文件格式,也支持文件修复,支持显示打印头路径、打印时间和材料使用量。
特色:Cura不仅适用于初学者,也适合专业玩家,最重要的设置比较直观。对于专业玩家来说,有超过200种设置可供选择,支持双头双材料打印。 Cura的切片效率比较高,能够快速处理较大的STL文件。
不足:打印时间估算不够准确,有时会减少10-20%左右。
Cura下载地址:https://ultimaker.com/en/resources/manuals/software
5、Repetier
在开源的3D打印系统中,RepRap不可不提,Repetier是该开源系统的切片软件,功能模块更加专业,适合高阶用户。作为一体化解决方案,Repetier提供多挤出机支持,最多16台挤出机,通过插件支持多切片机,并支持市场上几乎任何FDM 3D打印机,前提是用户要经常升级更新。
Repetier Host还通过Repetier Server提供远程访问功能,与OctoPrint类似,用户可以将其安装在Raspberry Pi上,这样就可以通过PC、平板电脑或智能手机上的浏览器从任何地方访问和控制3D打印机。
特色:当MakerBot从开源变为闭源,Repetier开源3D切片软件成为创客最喜欢的软件之一。
不足:要经常升级和更新。
Repetier下载地址:https://www.repetier.com/
6、Slic3r
Slic3r是一款开源3D切片软件,功能支持上比较领先,这款3D打印软件包括多个视图,用户可以更好地预览模型如何打印。
在填充设置上,Slic3r支持一种新的蜂窝填充设计,在三个维度上创建,填充图案可以跨层而不是重复相同的图案,可以大大增加内部填充和最终打印的强度。
Slic3r的另一个功能是与OctoPrint直接集成。当文件在用户桌面上切片时,现在可以通过单击按钮将它们直接上传到用户的OctoPrint库中。
Slic3r积累了多年的3D打印设置、材料和3D打印机匹配度的问题,许多切片软件的新功能都来源于Slic3r,比如多个挤出机、边缘、微层、桥检测、命令行切片、可变层高度、顺序打印、蜂窝填充、网格切割、模型切割等等。
特色:功能太多,支持实时3D切片,即使电脑性能平庸,切片也相当快。它包括实时增量切片、3D预览、2D和3D打印头路径预览、3D蜂窝填充、可定制底板形状,与OctoPrint的集成,压力调节等等。
不足:没有打印时间和材料估算。
Slic3r下载地址:http://slic3r.org/
7、Craftware
由3D打印机制造商匈牙利创业公司CraftUnique内部开发的另一款3D切片软件,支持该公司众筹的CraftBot 3D打印机,同时也支持其它品牌的3D打印机使用。
与Cura一样,CraftWare应用程序可以在“简单”和“专家”模式之间切换。Gcode文件的可视化做的比较好,每个功能用不同的颜色表示。但它的特点是支持个人管理,拥有该功能的切片软件目前是收费的。
这款适用于3D打印机的切片软件仍处于测试阶段,在日常使用中会出现错误。
特色:界面设计精美。,操作快速且易于使用。更改设置的时候能看到打印的哪些部分将发生变化。
不足:测试版软件中存在bug。
Craftware下载地址:https://craftunique.com/craftware
8、Netfabb Standard
Netfabb的成长经历比较特别,从最初的免费软件升级成一个强大的工具包,用来处理STL文件,除了强大的切片功能之外,用户可以在进入切片阶段之前分析、修复和编辑STL文件。
Autodesk于2015年收购了Netfabb,形成了现在看到的三款软件:Netfabb Standard,Netfabb Premium和Netfabb Ultimate,即使是标准版本也是非常强大的3D打印软件。
特色:Netfabb Basic是一款真正用于3D打印的专业软件,学生可以免费试用该软件三年。
不足:与所有其它Autodesk软件一样,软件定价变为订阅。截至2017年4月,用户只有30天的免费试用期,之后需要付费使用,Standard的年度价格为1000美元,Premium版本将为您带来4300美元的价格,高级版本的价格没有在网站上显示。
Netfabb Standard下载地址:http://www.autodesk.com/products/netfabb/overview
9、SelfCAD
SelfCAD是一款面向整个3D打印工作流程的切片和设计软件,包含了3D模型设计功能。SelfCAD还提供硬件企业设计自己的模型进行一站式打印,内置SelfCAD自己的切片系统。这款软件可以将新设计的模型切片,具有非常先进的打印前准备控制,以及所有常见参数设置,如层高,填充密度,打印速度等。
特色:切片后,通过滑块查看每一层的预览,显示预估打印时间、材料用量和最终模型重量。此外,Spaghetti填充功能能给模型带来不一样的效果和体验。
不足:收费的,不支持云切片和云打印。
SelfCAD下载地址:https://www.selfcad.com/
10、Simplify3D
最早接触Simplify3D是在2016年测试makergear的时候,它属于专业玩家的3D切片软件,支持几乎所有可用的3D打印机,用户可以下载和导入100多个3D打印机配置文件,用户可以自行添加配置文件。
Simplify3D 软件允许用户导入、缩放、旋转和修复3D模型,STL,OBJ或3MF文件的导入非常快,甚至可以立即显示巨大的网格。
用户可以使用丰富的设置:挤出机、层控制、各种填充方式、温度和冷却设置,甚至可以编辑原始G代码和脚本。这些设置可以以打印配置文件的方式保存起来,方便调用测试不同的参数控制。
特色:能够帮助专业玩家通过参数控制获得最佳的模型效果,打印质量非常出色。
不足:不菲的售价是普通用户的一个门槛,2台电脑许可证价格150美元。
Simplify3D下载链接:https://www.simplify3d.com/
11、IceSL
IceSL是3D打印最出色的切片软件之一。它不仅是3D切片软件,还能进行3D建模。在软件界面的左侧窗口中,用户可以直接编辑模型网格,给许多切片软件提供了一些思路,在OpenSCAD中,可以实现一些漂亮的参数化建模功能。
软件的中间是模型实时预览界面,右侧功能区能够进行各种各样的切片设置,对初学者不够友好。这款软件同样支持双色打印,IceSL还拥有软料屏蔽,让模型免受残料的影响。
特色:支持设计功能,程序员和创客可能会更喜欢IceSL的控制量。
不足:不支持mac OS系统
IceSL下载地址:https://members.loria.fr/Sylvain.Lefebvre/icesl/index.html
12、KISSlicer
KISS的意思是“Keep It Simple Slicer”,理念很赞,KISSlicer是一个相当复杂的软件。有用户在打印特殊模型的时候非常喜欢用这款切片软件,因为它能实现完美的模型表面和接缝处理,也有用户不喜欢这款软件的界面。
KISSliser的免费版本仅适用于一个打印投进行打印的业余爱好者,但专业版可实现多头打印,生成Gcode的设置选项比较少。对于高级设置,用户需要购买专业版,专业版本支持多个STL文件合并为一个打印件。
特色:能够替代大多数切片软件,模型表面优化和接缝优化较好。
不足:这款3D切片机软件支持市场上大多数3D打印机,但如果列表中没有对应的打印机,需要手动调用。专业版35美元(商业),25美元(教育)
KISSlicer下载地址:http://kisslicer.com/
13、MatterControl
MatterControl的3D打印主机是用户的电脑,整个打印过程要连接电脑,也支持Gcode文件保存在SD卡上。这款软件界面结构非常好。用户可以使用鼠标重新排序打印队列,还可以根据用户的喜好切割打印件。
MatterControl具有三个切片引擎(MatterSlice,CuraEngine和Slic3r),用户可以切片对比打印结果。在基本模式下,可以调整图层高度、填充密度、支撑材料和筏,保存设置应用于连续打印。具有自动修复功能,支持多个打印头。为了预测打印可能出现的问题,用户可以逐层预览整个过程。
特色:三个不同的切片引擎对比切片结果。
不足:打印质量略逊一筹。
MatterControl下载地址:http://www.mattercontrol.com/
14、HORI 3D print
最早测试弘瑞MR300的时候开始使用弘瑞的切片软件,和大部分国内一线品牌一样,自主开发了3D打印机的切片管理软件,这款软件由切片系统和打印控制系统组成,更新迭代具有持续性,画面风格简约,实际操作简洁,便于上手。该软件拥有断点续打以及双喷头打印模式,支持市面90%以上不同品牌FDM及光固化工艺的3D打印机,对于模型修复、切割、手动添加支撑、停机续打等功能一应俱全,支持中英文等多种语言界面。
值得一提的是支撑结构支持可选线性、面支撑、树状支撑、立柱支撑;且允许用户自由创建三维文字(中文、英文、阿拉伯数字、特殊符号等)。
特色:软件的功能和优化持续不断升华,比较符合中国本土用户的使用习惯,并关联国内设计软件3D one。广泛支持建模、图片等文件,拥有人性化的打印管理系统、切片设置及其进阶工厂模式、功能丰富的模型编辑。
不足:大尺寸和复杂模型切片效率较低,等待时间长,仅支持windows系统。
HORI 3D print software下载地址:http://www.hori3d.com/Software
15、MakerBot Print
MakerBot Print早期版本叫MakerBot Desktop,这款软件是专用于MakerBot 3D打印机系列的切片软件,与通用性较强的3D打印机切片软件不同,MakerBot Print算法可自动调整特定3D打印机模式和挤出机类型的切片设置。
有一个非常实用的功能,在准备一系列组件时,它会自动在一个或多个构建板上排列模型,用户可以从程序中访问和打印Thingiverse对象。该程序还具有OctoPrint的功能:可以通过打印机内置的网络摄像头监视控制3D打印机工作状态。
特色:使用MakerBot打印将获得MakerBot打印机的最高质量,拥有较好的易用性,大规模文件打印效率更高。
不足:不支持其它品牌3D打印机,没有通用性。
MakerBot print下载地址:https://www.makerbot.com/print/
16、Tinkerine Suite
Tinkerine Suite也是在我测试Tinkerine的3D打印机Ditto Pro的时候使用过的一款切片软件,它专为Ditto和Litto系列3D打印机而设计,号称“用户最友好的3D切片软件”。
用户UI界面确实令人耳目一新。这款3D切片软件能够进行基本编辑并为3D模型创建支撑结构,可以快速选择Tinkerine 3D打印机的设置。
特色:界面设计简洁美观 Tinkerine Suite保证为Tinkerine的打印机带来最佳效果。
不足:和MakerBot类似,属于闭源系统,仅支持Tinkerine的3D打印机。
Tinkerine Suite 下载地址:http://tinkerine.com/tinkerine-suite/
17、Z-Suite
Z-Suite的设计理念与Tinkerine Suite基本相同,也是一个3D打印机制造商Zortax开发的切片软件,具有有限的编辑功能,附带的3D切片软件可满足基本的切片需求,具有四个填充选项,允许用户创建支撑结构在,最后生产“Z-Code”文件。
特色:能说没什么特色吗?
不足:仅支持一个品牌的3D打印机。
Zortax下载地址:http://support.zortrax.com/downloads/
18、FlashPrint
闪铸的FlashPrint软件支持闪铸旗下的3D打印机,独立自主开发,功能非常丰富,支持模型内外径补偿功能、平面图形转3D模型、智能模型分割,FlashPrint也有基本模式和专家模式供初学者和专业玩家选择,软件支持中文和多国语言。最终切片生成GX格式文件,在打印机的屏幕上能够预览模型。
特色:FlashPrint具有丰富的实用功能,比如平面图像转3D数据,内外径补偿等功能,与FlashCloud和Happy 3D组成云打印管理和初学者设计的闪铸软件三剑客。
不足:云打印功能没有集成在FlashPrint中,需要调用FlashCloud软件。
19、OctoPrint
OctoPrint是一款轻量化的软件,用来管理用户的3D打印机,允许用户通过Web浏览器和移动设备控制监控打印机的状态。OctoPrint可以安装在Raspberry Pi系统上,用户可以自由扩展,例如带有网络摄像头和插件。
3D打印作业可以加载到打印机上。OctoPrint的许多强大功能中,有一个基于可信任CuraEngine的集成3D切片器软件,意味着用户不需要在计算机上切片文件,只需通过STL模型发送,打印机将完成剩下的工作。
特色:开源且自由,支持直接在打印机的树莓派系统中切片。
不足:暂时没有发现
OctoPrint下载地址:http://octoprint.org/
写在最后:以上分享的19款3D打印软件并非全部,前提是针对桌面级的FDM技术的切片软件,暂时还没有涉及光固化技术、专业级和工业级打印机的软件,在我看来,3D打印机的“软”实力和“硬”实力同等重要,针对不同的打印机、不同的模型去做不同的模型切割、不同的角度摆放、不同的切片参数和打印控制,最终的目的是尽量少支撑、最快速度、最好品质的打印模型,而国内的FDM打印机用户中,DBS的刘泳岐团队对打印参数和切片控制的研究最深,在此感谢泳岐团队给出的建议和FDM 3D打印参数控制方面做出的研究。
DBS团队所使用的FDM技术3D打印机
DBS通过切片参数优化FDM打印机打印的模型效果
DBS通过切片参数优化FDM打印机打印的模型效果
DBS刘泳岐认为:切片软件不是最重要的,重要的是软件与用户自己所拥有设备的磨合,一般而言,用户使用的每一台设备的冷却能力、送料的精准度、自身结构的稳定性、温控能力、室内环境、材料性能是不同的,这些因素都决定用户主观上如何调整软件相关参数而达到最佳状态,所以磨合的过程中找到适合自己设备以及室内条件的参数组是最重要的,让打印机以最佳和最舒服的状态帮助设计师尽量完美高效的再现设计原型。
DBS通过切片参数优化FDM打印机打印的模型效果
(图为Markforged专业级FDM打印机打印的)
相信不久的将来,桌面级FDM技术3D打印机也能打出专业机和工业机的效果
笔者和DBS刘泳岐差不多都是从2011年开始玩3D打印机,那时FDM技术3D打印刚刚进入中国市场,选择一个有品质的线材还是很难的,尤其是ABS材料,慢慢大家放弃了ABS选择了PLA,早期的丝料直径、软化温度不均匀、杂质等都造成一些设备故障问题,还有一些早期的FDM打印机容易发生故障与硬件本身的设计有关,DBS为了让设计师有更好用的3D打印机,曾经尝试自己生产3D打印机,在喷头热床以及连接轴等多处考虑了耗损,减少故障点。还要感谢在FDM打印道路上出现的配件,比如特氟龙管、着床胶水等,很大程度提高了质量,至今还有一些有着不错物理特性的材料存在堵头问题,鱼和熊掌不能兼得。
*请认真填写需求信息,我们会在24小时内与您取得联系。