Skip to main content

A toolkit for processing 3D components made with mixtures of materials and multiple manufacturing processes

Project description

VoxelFuse

The multi-material manufacturing toolkit.

Example 1

Example 2

VoxelFuse provides a set of Python commands for importing, modifying, displaying, and exporting multi-material 3D model data. This library allows scripts to be quickly created for processing different classes of models and generating the files needed to produce them.

Created as part of a research project with IDEAlab at ASU.

Features

  • Boolean operations for both volumes and materials
  • Morphology operations
  • Gaussian blurring
  • Primitive solid generation
  • Triply periodic structure generation
  • Conversion of voxel data to mesh surfaces
  • Model rendering with grids and axes
  • VoxCad simulation configuration
  • .vf, .vox, and .stl file import
  • .vf, .vxc, .vxa, and .stl file export
  • .gcode file modification

Installation

The voxelfuse library can be installed using pip.

pip3 install voxelfuse

To use the .stl file import commands/examples, Gmsh must also be installed and on the system path.

To use the simulation commands/examples, VoxCad must also be installed and on the system path.

Templates

Template for creating scripts using the built-in viewer:

# Import Libraries
import PyQt5.QtGui as qg
import sys
from voxelfuse.voxel_model import VoxelModel
from voxelfuse.mesh import Mesh
from voxelfuse.plot import Plot

# Start Application
if __name__=='__main__':
    app1 = qg.QApplication(sys.argv)

    # Import Models
    modelIn = VoxelModel.fromVoxFile('model1.vox')

    # Process Models
    modelResult = modelIn

    # Create and Export Mesh
    mesh1 = Mesh.fromVoxelModel(modelResult)
    mesh1.export('modelResult.stl')

    # Create and Export Plot
    plot1 = Plot(mesh1)
    plot1.show()
    app1.processEvents()
    plot1.export('result.png')

    app1.exec_()

Template for creating scripts using VoxCad simulation:

# Import Libraries
from voxelfuse.voxel_model import VoxelModel
from voxelfuse.simulation import Simulation

# Start Application
if __name__=='__main__':
    # Import Models
    modelIn = VoxelModel.fromVoxFile('model1.vox')

    # Process Models
    modelResult = modelIn

    # Create simulation and launch
    simulation = Simulation(modelIn)
    simulation.launchSim()

.vox File Generation

If desired, input models can be created in a .vox file format to allow different materials to be specified in a single model. This also speeds up import times. My process using MagicaVoxel is as follows:

  1. Use the "Open" button under the "Palette" section to open the color-palette-11mat.png file. This will give you 11 colors that correspond to the materials defined in materials.py
  2. Create your model. By default the library will use a scale of 1mm per voxel when importing/exporting.
  3. Save the model as a .vox file using the "export" function (NOT the "save" function).

Using MagicaVoxel and the .vox format will limit you to using distinct voxel materials. The library's import function will convert these files to a data format that allows material mixing.

Documentation

See cdbrauer.github.io/VoxelFuse for library documentation.

See cdbrauer.github.io/VoxelFuse/voxelfuse_examples for a list of the example scripts.



IDEAlab

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voxelfuse-1.2.1.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

voxelfuse-1.2.1-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file voxelfuse-1.2.1.tar.gz.

File metadata

  • Download URL: voxelfuse-1.2.1.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for voxelfuse-1.2.1.tar.gz
Algorithm Hash digest
SHA256 71c777e01fed0bf5c8eddb88a884897abb3b2f3812ef266a4cc4c20392718945
MD5 ba9f3e7e0e655551029838bc3ad6ed54
BLAKE2b-256 e6ca4c187948d4a3c657207ecd601c3e08460139ffb0e681147292b2a7543807

See more details on using hashes here.

File details

Details for the file voxelfuse-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: voxelfuse-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 46.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for voxelfuse-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e6d1f70c87055577245112e2cedaa87d39d69d671c5a8b28e95a5bba1e234dd0
MD5 027653f025a55334a553386b9d8ee4de
BLAKE2b-256 baab1936fc3831ffc5cc3d43fa0212019bece8006758001d0e5c88cbec753518

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page