1. 程式人生 > 其它 >Windows 10從原始碼執行Cura

Windows 10從原始碼執行Cura

參考官方文件
https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source-on-Windows#python-3810

注意

這些說明理所當然地認為使用者使用的是 Windows 版本 >= 1809(即 OS Build 17763)的 Windows 10 機器。為了檢查您的 Windows 版本,您可以單擊“開始”並編寫winver並按下Enter或使用 powershell,您可以輸入:

PS > [ System.Environment ]::OSVersion.Version

主要次要構建修訂
-----   -----   -----   -------- 
10      0       17763   0

本指南已在 20H2 Windows 版本(即 OS Build 19042)上測試和執行。請注意,本指南考慮1809 之前的 Windows 10 版本或 Windows 7、8 或 8.1 等 Windows 作業系統。

替代方法

在我們開始本指南之前,我們應該提到“官方”,Cura 是這樣構建的:

  • cura-build-environment倉庫進行了克隆,其所有專案(即所有Cura依賴像Python,QT,PyQt的,SIP等)都可使用一個CMake指令碼被搭建。
  • 構建依賴項後,會克隆cura-build儲存庫,以便安裝 Cura、CuraEngine、Uranium、libCharon、fdm_materials 和 cura-binary-data。

因此,此時您可以選擇是否要遵循“官方”路徑來解決每個使用者/作業系統安裝可能帶來的所有問題,或者您可以繼續執行以下步驟並手動安裝依賴項。如果您選擇前一個選項,請參閱相應的儲存庫以檢視安裝每個儲存庫所需的實際步驟。

Microsoft Visual Studio

要在 Windows 上編譯庫,需要 Microsoft Visual Studio C++。支援 Microsoft Visual Studio 2015 和 2019。

Microsoft Visual Studio 2019

(推薦安裝)

  1. 此處下載 Microsoft Visual Studio 2019 (Web 安裝程式)。免費版是社群版。
  2. 執行網路安裝程式。下載所需的一切需要一些時間。
  3. 當安裝程式載入時,檢查Desktop development with C++Windows。也選擇MSVC v140 - VS 2015 C++ build tools (v14.00)Installation details。完整的安裝將很大(> 6 GB)並且需要一段時間才能完成。
  4. 在以下步驟中構建檔案(使用 cmake 或 nmake)時,請務必使用 'x64 Native Tools Command Prompt for VS 2019'。這可確保使用 Visual Studio 2019 構建工具。

Microsoft Visual Studio 2015

(用於早期版本,仍然有效)

  1. 此處(Web 安裝程式)此處(ISO 映像)下載 Microsoft Visual Studio 。
  2. 執行安裝程式。為了節省空間,可以只Visual C++在程式語言中選擇自定義。完整的安裝將很大(> 12 GB)並且需要一段時間才能完成。

CMake

  1. 此處下載 Windows 版 CMake“win64-x64” 。
  2. 執行安裝程式。
  3. 選擇 PATH 選項時,選擇Add CMake to system PATH for all usersAdd CMake to the system PATH for the current user。允許cmake從命令列執行命令。
  4. 通過開啟命令視窗並鍵入cmake --version來驗證 CMake 的安裝。

MinGW-w64

如果您正在構建 CuraEngine,則需要 MinGW-w64。如果僅編譯庫,則可以跳過此步驟。

  1. 從[這裡](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe/download)下載 mingw-w64 安裝程式(不是 zip)。
  2. 執行安裝程式。架構應該改為,x86_64執行緒架構應該是posix(pthread)。
  3. 將 MinGW 新增到包含bin目錄的 PATH 環境(例如,C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin)。
  4. 通過開啟終端並輸入“mingw32-make”來檢查是否可以找到 mingw32-make。它應該提示' No targets specified and no makefile found. Stop. '

Git(可選)

建議使用 Git 來使用命令列克隆其他儲存庫。Git 不是必需的,因為所有檔案都可以下載儲存庫。

  1. 這裡下載適用於 Windows 的 Git 。
  2. 執行安裝程式。選擇Git from command line and also from 3rd-party software(預設)或Use Git and optional Unix tools from the Command Prompt在該Adjusting your PATH environment部分中選擇。
  3. 通過開啟命令視窗並鍵入git --version來驗證 git 的安裝。

Python 3.8.10

  1. 這裡(3.8.10) 下載python 3.8.X。

  2. 在使用Install Nowor之前Customize installation,請檢查Add Python 3.8 to PATH它是否可以在命令列中引用。

  3. 通過開啟命令視窗並鍵入python --version. 還pip3可以通過鍵入python -m pip --version. 如果它們中的任何一個都不起作用,請確保 WindowsPATH變數包含 Python 的根目錄(如%localappdata%/Programs/Python/Python38/)和Scripts資料夾(如%localappdata%/Programs/Python/Python38/Scripts)。

  4. 此處下載 Numpy 庫,使用MKL適用於您的 Python 版本 (3.8) 的版本並使用 64 位安裝版本進行 64 位安裝。它可以pip3 install [WHL FILE]在命令列中使用安裝。

  5. 此處下載 Shapely 庫,選擇cp38‑cp38m‑win32.whl(適用於 32 位安裝的版本)和cp38‑cp38m‑win_amd64.whl(適用於 64 位安裝的版本),它可以在命令列中使用pip3 install [WHL FILE]安裝。

  6. 使用以下命令安裝其他所需的庫:

    python -m pip install scipy cryptography colorlog netifaces zeroconf trimesh sentry_sdk pyserial PyQt5==5.15.2 keyring requests pywin32 
    

    注意:

    特別需要 PyQt5 版本 5.15.2。


編譯庫

編譯庫需要使用隨 Microsoft Visual Studio 一起安裝的“x64 Native Tools Command Prompt for VS 2019”。這允許使用該nmake命令。由於編譯某些庫需要引用其他庫,因此這些步驟將使用一個C:/dev目錄。只要在執行命令時進行了更改,就可以使用任何目錄。

Protobuf

  1. 這裡下載 Protobuf 3.15.7 。

  2. 將其解壓縮到,C:/dev以便您擁有一個C:/dev/protobuf-3.15.7目錄。

  3. 導航到protobuf-3.15.7目錄:

    cd C:/dev/protobuf-3.15.7
    
  4. 建立構建和安裝目錄。

    mkdir install_dir
    mkdir cmake_build && cd cmake_build
    
  5. 構建並安裝 Protobuf:

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_INSTALL_LIBDIR=lib -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ../cmake
    nmake
    nmake install
    

SIP

  1. 這裡下載 SIP 4.19.24 。

  2. 將其解壓縮到C:/dev以便建立一個C:/dev/sip-4.19.24目錄。版本的最後一部分應該從名稱中刪除。

  3. 導航到 sip-4.19.24目錄:

    cd C:/dev/sip-4.19.24
    
  4. 構建並安裝 SIP(再次確保使用 Visual Studio 提供的命令提示符):

    python configure.py
    nmake
    nmake install
    

Arcus

  1. 克隆libArcus儲存庫:

    git clone -b "build_from_source_windows" https://github.com/Ultimaker/libArcus.git C:\dev\libArcus
    
  2. 導航到libArcus目錄:

    cd C:\dev\libArcus
    
  3. 建立構建目錄:

    mkdir install_dir
    mkdir build && cd build
    
  4. 為 Protobuf 設定環境變數:

    set PROTOBUF_SRC=C:\dev\protobuf-3.15.7
    set PROTOBUF_INSTALL=%PROTOBUF_SRC%\install_dir
    
  5. 構建和安裝libArcus(再次確保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DPROTOBUF_SRC_ROOT_FOLDER=%PROTOBUF_SRC% -DPROTOBUF_LIBRARY=%PROTOBUF_INSTALL%/lib/libprotobuf.lib  -DPROTOBUF_INCLUDE_DIR=%PROTOBUF_INSTALL%/include -DPROTOBUF_PROTOC_EXECUTABLE=%PROTOBUF_INSTALL%/bin/protoc.exe -DBUILD_EXAMPLES=OFF -DBUILD_STATIC=ON -DMSVC_STATIC_RUNTIME=ON -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install
    

Savitar

  1. 克隆libSavitar儲存庫:

    git clone https://github.com/Ultimaker/libSavitar.git C:\dev\libSavitar
    
  2. 導航到libSavitar目錄:

    cd C:\dev\libSavitar
    
  3. 建立構建和安裝目錄:

    mkdir install_dir
    mkdir build && cd build
    
  4. 構建和安裝libSavitar(再次確保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DBUILD_STATIC=ON -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install
    

Charon

  1. 克隆libCharon儲存庫:

    git clone https://github.com/Ultimaker/libCharon.git C:\dev\libCharon
    
  2. 導航到libCharon目錄:

    cd C:\dev\libCharon
    
  3. 建立構建和安裝目錄:

    mkdir install_dir
    mkdir build && cd build
    
  4. 構建和安裝libCharon(再次確保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install
    

Pynest2D

  1. 克隆 Ultimakerlibnest2d儲存庫:

    git clone https://github.com/Ultimaker/libnest2d.git C:\dev\libnest2d
    
  2. 導航到libnest2d目錄:

    cd C:\dev\libnest2d
    
  3. 建立構建和安裝目錄:

    mkdir install_dir
    mkdir build && cd build
    
  4. (可選)如果您的系統中已經有 boost,請確保在構建 libnest2D 時它不會出現:

    set BOOST_ROOT=
    
  5. 構建並安裝 libnest2d,指示它也下載並構建其依賴項(-DRP_ENABLE_DOWNLOADING=ON):

    cmake .. -DLIBNEST2D_HEADER_ONLY=OFF -DRP_ENABLE_DOWNLOADING=ON -DCMAKE_INSTALL_PREFIX=..\install_dir
    cmake --build . --target install
    

    注意:如果您不希望 libnest2d 自動下載並安裝必要的依賴項(boost、NLopt、Clipper),則刪除該標誌-DRP_ENABLE_DOWNLOADING=ON並確保您的系統中安裝了這些依賴項

  6. 克隆pynest2d儲存庫:

    git clone https://github.com/Ultimaker/pynest2d.git C:\dev\pynest2d
    
  7. 導航到pynest2d目錄:

    cd C:\dev\pynest2d
    
  8. 建立構建和安裝目錄:

    mkdir install_dir
    mkdir build && cd build
    
  9. 設定所需的環境變數:

    set CLIPPER_PATH=C:\dev\libnest2d\build\dependencies
    set NLopt_PATH=C:\dev\libnest2d\build\dependencies
    set BOOST_ROOT=C:\dev\libnest2d\build\dependencies
    

    注意:如果您沒有使用 libnest2d 下載這些依賴項,請在您的系統中設定正確的路徑

  10. 構建和安裝pynest2d(再次確保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DLIBNEST2D_INCLUDE_DIRS=C:\dev\libnest2d\install_dir\include -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install
    

Uranium

Uranium (UM)是必需的庫,但不需要編譯。

  1. 克隆Uranium儲存庫:

    git clone https://github.com/Ultimaker/Uranium.git C:\dev\Uranium
    
  2. Uranium目錄新增到您的PYTHONPATH環境變數中。即使PYTHONPATH沒有設定,也可以使用以下命令完成:

    set PYTHONPATH=%PYTHONPATH%;C:\dev\Uranium
    

如果您決定新增UM到主Python的安裝,當Cura庫被克隆時,需要將pluginsresources目錄分別複製到C:\dev\Cura\pluginsC:\dev\Cura\resources目錄。

CuraEngine

注意:某些庫將再次構建。這是有意為之,因為我們需要引擎的 mingw(我們需要 sip 依賴項的 nmake!)。

  1. 這裡下載 Protobuf 3.15.7 。

  2. C:\dev使用-mingw字尾將其解壓縮,以便建立一個C:/dev/protobuf-3.15.7-mingw目錄。

  3. 導航到·protobuf-3.15.7-mingw·目錄:

    cd C:\dev\protobuf-3.15.7-mingw
    
  4. 建立構建和安裝目錄。

    mkdir install_dir
    mkdir cmake_build && cd cmake_build
    
  5. 構建並安裝 Protobuf:

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_PREFIX_PATH=../install_dir -DCMAKE_INSTALL_LIBDIR=lib -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_CXX_FLAGS="-std=c++11" -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" ../cmake
    mingw32-make
    mingw32-make install
    
  6. 使用-mingw字尾克隆libArcus儲存庫:

    $ git clone https://github.com/Ultimaker/libArcus.git C:\dev\libArcus-mingw
    
  7. 導航到libArcus-mingw目錄:

    cd C:\dev\libArcus-mingw
    
  8. 建立構建目錄:

    mkdir install_dir
    mkdir build && cd build
    
  9. 為 Protobuf 設定環境變數:

    set PROTOBUF_MINGW_SRC=C:/dev/protobuf-3.15.7-mingw
    set PROTOBUF_MINGW_INSTALL=%PROTOBUF_MINGW_SRC%/install_dir
    
  10. 構建和安裝libArcus

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DPROTOBUF_SRC_ROOT_FOLDER=%PROTOBUF_MINGW_SRC% -DPROTOBUF_LIBRARY=%PROTOBUF_MINGW_INSTALL%/lib/libprotobuf.a -DPROTOBUF_INCLUDE_DIR=%PROTOBUF_MINGW_INSTALL%/include -DPROTOBUF_PROTOC_EXECUTABLE=%PROTOBUF_MINGW_INSTALL%/bin/protoc -DBUILD_EXAMPLES=OFF -DBUILD_STATIC=ON -DBUILD_PYTHON=OFF -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" ..
    mingw32-make
    mingw32-make install
    
  11. 克隆CuraEngine儲存庫:

    git clone https://github.com/Ultimaker/CuraEngine.git C:\dev\CuraEngine
    
  12. 導航到CuraEngine目錄:

    cd C:\dev\CuraEngine
    
  13. 建立構建和安裝目錄。

    mkdir install_dir
    mkdir cmake_build && cd cmake_build
    
  14. Arcus設定環境變數:

    set ARCUS_DIR=C:/dev/libArcus-mingw/install_dir/lib/cmake/Arcus
    
  15. 構建和安裝CuraEngine

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_BUILD_TYPE=Release -DArcus_DIR=%ARCUS_DIR% -DPROTOBUF_SRC_ROOT_FOLDER=%PROTOBUF_MINGW_SRC% -DPROTOBUF_LIBRARY=%PROTOBUF_MINGW_INSTALL%/lib/libprotobuf.a -DProtobuf_INCLUDE_DIR=%PROTOBUF_MINGW_INSTALL%/include -DPROTOBUF_PROTOC_EXECUTABLE=%PROTOBUF_MINGW_INSTALL%/bin/protoc.exe -DPROTOC=%PROTOBUF_MINGW_INSTALL%/bin/protoc.exe -G "MinGW Makefiles" ..
    mingw32-make
    mingw32-make install
    

Cura

  1. 克隆Cura儲存庫:

    git clone https://github.com/Ultimaker/Cura.git C:\dev\Cura
    
  2. 克隆 fdm_materialsCura/resources/materials目錄:

    git clone https://github.com/Ultimaker/fdm_materials.git C:\dev\Cura\resources\materials
    
  3. 導航到Cura目錄:

    cd C:\dev\Cura
    
  4. 新增CuraEngine可執行檔案:

    copy "C:\dev\CuraEngine\install_dir\bin\CuraEngine.exe" CuraEngine.exe
    
  5. 執行Cura

    python cura_app.py