/pylele

Python based Ukulele and other String Instrument 3D Model Generator

Primary LanguagePythonApache License 2.0Apache-2.0

Pylele

Python based Ukulele and other String Instrument 3D Model Generator similar to my other projects:

Implemented by clean portable wrapper around one of the following Python 3D Modeling Library:

Code and view generated models in your favorite development environment!

image

image

Dependency Installation Suggestions

  • Python
    • MacOS
      • install xcode developer tools. Using admin user accout, in terminal command line shell:
        xcode-select --install 
        
      • install Homebrew. Using admin user accout, in terminal command line shell:
        > /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
        
      • install Python 3.11 (Blender only support this version). Using admin user accout, in terminal command line shell:
        > brew install python@3.11
        
      • install Virtualenv.
        > brew install virtualenv
        
      • create a python 3.11 based virtual env then activate it. Using admin user accout, in terminal command line shell:
        > virtualenv --python=/opt/homebrew/bin/python3.11 venv3.11
        > . venv3.11/bin/activate
        
  • CadQuery
    • Note: if you ever get error messages about bool8 missing from numpy, downgrade from numpy 2.x back to numpy 1.26.4 e.g.
      > pip install --force-reinstall numpy==1.26.4
      
    • Linux installation of dependencies (I tried on Intel I7 Asus laptop running Ubuntu 24.04 Noble Numbat)
      • In a terminal shell inside a python 3.11+ virtual env:
        > pip install cadquery
        > pip install PyQt5 spyder pyqtgraph logbook
        > pip install git+https://github.com/CadQuery/CQ-editor.git
        
    • MacOS Apple Silicon installation (I tried on M2 Macbook Air running Sonoma 14.5)
      • Due to perculiar build magic for CAD Query OCP wrapper for OCCT not yet working with pip (reason why CQ devs encourage using conda instead of pip, but I prefer pip for other reasons), I needed to download and install prebuilt wheels for caquery_ocp and nlopt
      • In a terminal shell inside a python 3.11+ virtual env:
        > wget https://github.com/biggestT/cadquery-dist-macos-arm64/releases/download/v0.0.1/cadquery_ocp-7.7.0.1-cp311-cp311-macosx_11_0_arm64.whl
        > wget https://github.com/biggestT/cadquery-dist-macos-arm64/releases/download/v0.0.1/nlopt-2.7.1-cp311-cp311-macosx_14_0_arm64.whl
        > pip install cadquery_ocp-7.7.0.1-cp311-cp311-macosx_11_0_arm64.whl
        > pip install nlopt-2.7.1-cp311-cp311-macosx_14_0_arm64.whl
        > pip install --force-reinstall numpy==1.26.4
        > pip install cadquery
        > pip install PyQt5 spyder pyqtgraph logbook
        > pip install git+https://github.com/CadQuery/CQ-editor.git
        
  • Blender (Still a little buggy...)
    • Linux installation of dependencies (I tried on Intel I7 Asus laptop running Ubuntu 24.04 Noble Numbat)
      • In a terminal shell inside a python 3.11+ virtual env:
        > pip install bpy
        
    • MacOS Apple Silicon installation (I tried on M2 Macbook Air running Sonoma 14.5)
      • In a terminal shell inside a python 3.11+ virtual env:
        > pip install bpy
        
  • Trimesh - Coming Soon!