整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          React.js 3D應用開發簡明教程

          React.js 3D應用開發簡明教程

          果你對 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、一切是如何開始的

          曾幾何時...

          “在數字深淵的霓虹燈浸透的深處,一切都開始了。一行代碼,電線中的一陣電流聲,世界就被永遠改變了。陰影里藏著秘密,在它們的內部,一個 他們說,這一切是如何開始的,是黑暗的、合成的未來,是由一次黑客攻擊、一次突破、一次在電路中回響的下載引發了一場由 1 和 0 組成的革命。”

          最近,我發現自己正在檢查我的舊作品集,它迫切需要改造,因為它是在我剛剛開始編程時制作的。 我們可以忽略它的視覺細節。

          在設計方面,我知道我想要一些更真實的東西,而且由于我喜歡視頻游戲,所以我渴望加入一些很酷的 3D 模型。

          但問題是 - 我對 Three.js 的了解為零到很少,并且不想要無聊的球體或立方體。
          因此,我卷起袖子,開始研究,很快我就找到了我的 3D 模型,并決定無論如何都要堅持將該 3D 模型納入我的作品集!

          該模型是 Oscar Creativo 的杰作,這是他在 Sketchfab 上的個人資料。 我強烈建議你檢查一下!

          由于我花了相當多的時間尋找解決方案,然后結合了一些最佳實踐和優化,并且因為我知道還有更多像我一樣固執的人,所以我決定讓他們的生活更輕松,并分享我的經驗和實現目標的步驟 相同的結果。

          我的目標是通過提供簡單明了的解釋來簡化整個過程,并使其對初學者友好。

          那么讓我們開始吧!

          2、關于 Three.js 和先決條件

          雖然 Three.js 提供了一個廣泛的工具包來從頭開始構建 3D 體驗,但我的重點將是利用可供開發人員使用的巨大的預制 3D 模型存儲庫。 為什么?

          因為通過這樣做,我們可以立即升級我們的 React 應用程序并引入一些真正令人印象深刻的東西。

          盡管如此,在做出決定之前權衡利弊還是很重要的。 雖然利用預制 3D 模型具有明顯的優勢,例如節省時間、高質量、廣泛的選擇、潛在的成本節省和更快的學習曲線,但我們也必須考慮到一些缺點,例如定制有限、可能超載、許可限制 ,以及可能需要仔細考慮和適應的無縫集成的潛在挑戰。

          我的建議是探索可用的免費 3D 模型,并確保檢查并包含適當的許可信息。 或者,考慮選擇符合你偏好的付費模式。

          現在,讓我們做好準備,為你的應用程序注入活力!

          先決條件如下:

          2.1 很棒的3D模型

          有什么新鮮事嗎,chromehead?

          選擇 3D 模型后,繼續下載。 將出現以下對話框:

          正如您將看到的,存在不同的格式,雖然 Three.js 可以處理所有這些格式,但 GLTF 或 GLB 是首選,因為它們的效率、多功能性以及 Three.js 社區和更廣泛的 Web 開發生態系統中的廣泛支持。

          以下是幾種格式的簡短解釋:

          • FBX (Filmbox):電影和娛樂行業使用的流行專有 3D 模型格式,以其多功能性以及對動畫和復雜場景的支持而聞名。 Three.js可以通過FBXLoader處理FBX模型。 它可以加載幾何圖形、動畫和材質,適合導入電影和娛樂行業常用的復雜 3D 模型。
          • USDZ(通用場景描述):針對在 iOS 設備上共享 3D 模型和 AR 體驗而優化的文件格式,與 Apple 的 ARKit 良好集成。 USDZ 主要用于 iOS 設備上的 AR 應用程序。 雖然 Three.js 可以處理這些模型,但可能需要額外的步驟或轉換才能將它們有效地集成到基于 Three.js 的項目中。
          • GLTF(GL 傳輸格式):開放標準文件格式,可有效表示 3D 模型和場景,同時針對 Web 進行優化,使其成為基于 Web 的 3D 體驗的廣泛使用的格式。 由于其效率和對 Web 的適用性,GLTF 是 Three.js 的首選格式。 Three.js 有一個內置的 GLTFLoader,可以無縫加載 GLTF 模型,包括幾何圖形、材質、動畫等。
            GLB(GL Binary):基于 GLTF 的二進制文件格式,將 3D 場景、紋理和動畫打包到單個文件中,提高效率和可移植性。 GLB 是 GLTF 的二進制版本,Three.js 可以使用相同的 GLTFLoader 來處理它。 GLB 文件是獨立的,封裝了 3D 模型及其關聯數據,使其高效且易于使用。

          由于上述原因,在本文中我將使用 GLTF 格式。 這些文件將以 zip 存檔的形式下載,之后你需要將其解壓縮。

          3.2 React和three.js技術棧

          我們需要安裝以下庫:

          npm install three @react-three/drei @react-three/fiber    
          
          yarn add three @react-three/drei @react-three/fiber
          • Three.js:一個強大的 JavaScript 庫,用于創建和使用 3D 圖形和模型。
          • @react-two/drei:有用的鉤子、組件和實用程序的集合,用于增強 Three.js 和 React 集成。
          • @react-two/fibre:Three.js 的 React 渲染器,允許將 Three.js 無縫集成到 React 應用程序中。

          4、關于文件夾結構和文件??

          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 模型的加載百分比。

          5、代碼及解釋

          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 的設備像素比。

          • shadows 是啟用或禁用 3D 場景中陰影渲染的屬性。 它表示場景將支持陰影渲染,這意味著 3D 對象可以投射和接收來自光源的陰影,從而為場景增添真實感。
          • frameloop 是一個屬性,決定如何在 3D 場景中管理動畫循環。 在本例中,它設置為“需求”。 這意味著動畫循環僅在明確請求時才會運行,通常是在需要設置動畫時。 這可以更有效,因為它不會連續運行動畫循環,從而可以節省計算資源。 幀循環的其他選項始終是 rAF (requestAnimationFrame)、調整大小和自定義函數。
          • dpr(設備像素比)是控制設備像素比的屬性。 它被設置為數組 [1, 2],這意味著它為不同的顯示器提供不同的像素比。 設備像素比用于確保圖形在不同屏幕密度的設備(例如標準和高密度顯示器)上清晰顯示。 值 1 表示標準像素密度,值 2 表示高密度(視網膜)顯示,需要以更高分辨率進行渲染才能清晰。

          Suspense 將 CanvasLoader 組件渲染為后備,并在加載 3D 模型時顯示加載進度指示器。

          ambientLight 是一種光源,它均勻地照亮場景中的所有對象,無論其位置或方向如何。 它通常用于為整個場景提供基本級別的光線,模擬全局照明。 環境光不會投射陰影或具有特定方向,相反,它只是照亮一切。 有關道具的更多信息請查閱這里。

          pointLight 是一種更具方向性的光源,從 3D 空間中的特定點向各個方向發射光。 它模擬點光源,如燈泡。 它可以投射陰影并具有各種屬性,例如位置、顏色和強度。 位置指定燈光的位置,而顏色和強度分別控制燈光的顏色和亮度。 點光源對于創建局部的、真實的光照效果非常有用。 有關道具的更多信息,請檢查此。

          OrbitControls 組件允許在 3D 場景中進行交互式攝像機控制。 它使用戶能夠平移、縮放和繞 3D 對象旋轉。

          • enableZoom 是指使用鼠標或觸摸板進行放大和縮小的可能性。
          • enablePan 指的是在場景內橫向移動攝像機的可能性。 要使用此功能,請刪除將 3D 模型固定在某個位置的 maxPolarAngle 和 minPolarAngle。
          • autoRotate 通常使相機圍繞某個興趣點緩慢旋轉。 將其設置為 false 會停止此行為。
          • maxPolarAngle 和 minPolarAngle 屬性設置相機可以向上或向下傾斜的最大和最小角度(以弧度為單位)。 在這種情況下,其設置方式使得相機不能直視向上或向下。

          要查找用于配置 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 上找到。

          6、結束語

          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模型在線切割

          1、參數化模型

          最大的挑戰是實現完整的參數化建模(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 導出等功能。

          一張膠合板上的部分布局可供數控機床切割

          2、站點集成

          另一個挑戰是使用 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 部署的一部分推送的,如上所述。

          3、外觀和性能

          一開始客戶對使用3D模型表示了一些疑慮??蛻舯硎?,3D 模型通??雌饋聿粔蛘鎸?,并且具有卡通外觀,給客戶留下了負面印象。他們說他們更喜歡簡化的外觀。然而,看到 KILO 家具簡單的形狀,我們有信心能夠讓它看起來不錯。客戶對我們所做的早期預覽深信不疑,因此我們最終追求“現實模型”的想法。

          我們收到了 KILO 使用的層壓膠合板的實物樣品,拍攝了幾張邊緣照片,并將其轉化為逼真的紋理。令人驚訝的是,拍攝照片的最佳工具是中端智能手機,因為它的景深是固定的(幾乎是無限的)。我們還仔細觀察了表面層,發現了合適的“橙皮”凹凸貼圖。該貼圖將平坦的人造表面變成了具有逼真紋理的更加“有形”的材質。

          真實膠合板的可視化(左)和照片(右)之間的差異

          另一個大大提高 3D 模型真實感的因素是照明。事實證明,找到一種可以投射真實陰影同時準確顯示材質顏色的照明設置幾乎是不可能的。一個方向上的微小改進往往會對另一個方向產生災難性的影響。

          最后,我們決定定義場景的照明以創建適當的陰影、反射和其他效果。然后,我們通過稍微改變其實際值來補償不完美的顏色。例如,黑色不再是純RAL黑色(RGB#000000);我們必須讓它變得更輕,這樣它才不會看起來像一個耗光的黑洞。其他顏色需要降低飽和度,以使它們看起來不那么卡通化。

          即使 KILO 零件的幾何形狀很簡單,當我們轉向越來越真實的陰影時,我們也開始面臨性能問題。巧合的是,GPU 檢測功能剛剛被引入到我們已經使用的支持庫中。得益于此,我們能夠在高端 GPU 上顯示真實的陰影,并在低端設備上回退到所謂的“接觸陰影”(其計算成本要低得多)。接觸陰影只是物體下方的一個模糊點,如果場景中有數百個來自各個方向的燈光,就會出現這種情況。對于真實陰影與接觸陰影的優點存在不同的看法。我個人更喜歡接觸陰影,因為它們讓我專注于物體本身而不是陰影。

          真實陰影(左)和接觸陰影(右)之間的差異

          4、結束語

          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打印道路上出現的配件,比如特氟龍管、著床膠水等,很大程度提高了質量,至今還有一些有著不錯物理特性的材料存在堵頭問題,魚和熊掌不能兼得。


          主站蜘蛛池模板: 久久青草国产精品一区| 无码人妻一区二区三区免费视频 | 国产精品无码一区二区三区不卡 | 中文字幕一区二区三区久久网站 | 无码av不卡一区二区三区| 一区二区三区内射美女毛片| 中文字幕一区二区区免| 国产成人无码一区二区在线播放| 色老头在线一区二区三区| 伊人无码精品久久一区二区| 日本中文字幕在线视频一区| 国产一区二区三区免费| 成人中文字幕一区二区三区 | 射精专区一区二区朝鲜| 无码喷水一区二区浪潮AV| 精品国产毛片一区二区无码| 任你躁国语自产一区在| 老鸭窝毛片一区二区三区| 性无码免费一区二区三区在线| 亚洲av色香蕉一区二区三区 | 无码人妻精品一区二区三区久久| 亚洲综合一区二区三区四区五区| 亚洲乱码国产一区网址| 无码国产精品一区二区免费式直播| 老鸭窝毛片一区二区三区| 精品一区二区三区无码免费视频| 精品无码一区二区三区水蜜桃| 国产免费无码一区二区| 国产伦精品一区二区三区四区 | 无码人妻一区二区三区av| 国产一区二区女内射| 国产一区美女视频| 久久久精品人妻一区二区三区 | 国产一区二区三区免费观看在线| 伊人色综合一区二区三区影院视频| 真实国产乱子伦精品一区二区三区 | 亚洲乱色熟女一区二区三区丝袜| 日韩一区在线视频| 无码播放一区二区三区| 中文字幕乱码一区二区免费| 视频一区视频二区在线观看|