Package: voxelfuse
VoxelFuse is a Python library for processing multi-material 3D model data. It includes the tools needed for a complete workflow from design to part fabrication, including part composition, manufacturing planning, design simulation, mesh generation, and file export. 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 withIDEAlabatASU.Example ApplicationsDesign of a part with embedded electronic componentsGeneration of blurred material transitionsFeaturesModel CompositionPrimitive solid generationTriply periodic structure generationMesh file importImport of the .vox voxel file formatImport of native .vf file formatModel ModificationBoolean operations for both volumes and materialsTransformation operationsMorphology operationsGaussian blurringDitheringManufacturing PlanningSimulationVoxCadsimulation configurationIntegrated simulation engine based onVoxelyzeSimulation features include stress analysis, physics, and thermal actuationAutomated execution of individual and multiprocess simulation tasksLogging of "sensor" voxels and model position throughout simulationExport to .vxc and .vxa filesMesh GenerationConversion of voxel faces to mesh surfacesConversion of voxel data to a mesh using a marching cubes algorithmMesh simplificationMesh rendering with grids and axes using PyQt and OpenGLMesh plotting inJupyter NotebookMesh file exportInstallationThe voxelfuse library can be installed using pip.pip3 install voxelfuseGmshis used for mesh file import and Windows/Linux binaries are included with the library.VoxCadis used for running interactive simulations in a GUI. Windows/Linux binaries are included with the library.A custom version ofVoxelyzeis used for most simulation features. Windows/Linux binaries are included with the library. To use multiprocess simulation features on Windows,WSLmust be configured.voxcraft-vizcan be used to view simulation history files (must be installed separately).Jupyter Notebookis used for some examples.TemplatesBase template for creating scripts:# Import Libraryimportvoxelfuseasvf# Start Applicationif__name__=='__main__':# Create Modelsmodel=vf.sphere(5)# Process ModelsmodelResult=model.dilate(3,vf.Axes.XY)# Create and Export Meshmesh=vf.Mesh.fromVoxelModel(modelResult)mesh.export('modelResult.stl')# Create Plotmesh.viewer(grids=True,name='mesh')Template for creating scripts using VoxCad simulation:# Import Libraryimportvoxelfuseasvf# Start Applicationif__name__=='__main__':# Create Modelsmodel=vf.sphere(5)# Process ModelsmodelResult=model.dilate(3,vf.Axes.XY)modelResult=modelResult.translate((0,0,20))# Create simulation and launchsimulation=vf.Simulation(modelResult)simulation.runSimVoxCad()UsageSeecdbrauer.github.io/VoxelFusefor library documentation.Seecdbrauer.github.io/VoxelFuse/voxelfuse_examplesfor a list of the example scripts..vox File GenerationIf 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 compared to mesh files. My process usingMagicaVoxelis as follows:Use the "Open" button under the "Palette" section to open thecolor-palette.pngfile. This will give you a set of colors that correspond to the materials defined in materials.pyCreate your model. By default, the library will use a scale of 1mm per voxel when importing/exporting, but this can be changed if necessary.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.PapersFor more information about our work, please see:Brauer, C., & Aukes, D. M. (2020). Automated Generation of Multi-Material Structures Using the VoxelFuse Framework. Symposium on Computational Fabrication, 1–8.https://doi.org/10.1145/3424630.3425417Brauer, C. (2020). Automated Design of Graded Material Transitions for Educational Robotics Applications [PQDT-Global].https://search.proquest.com/openview/3be6eafdf193c7b7271ccf714d51da9dBrauer, C., & Aukes, D. M. (2019). Voxel-Based CAD Framework for Planning Functionally Graded and Multi-Step Rapid Fabrication Processes. Volume 2A: 45th Design Automation Conference, 2A-2019.https://doi.org/10.1115/DETC2019-98103To cite this library, consider using:Brauer, C., Aukes, D., Brauer, J., & Jeffries, C. (2020). VoxelFuse.https://github.com/cdbrauer/VoxelFuse