Skip to main content

Generate 3D mesh from implicit surface and an input mesh

Project description

Scaffolder

GitHub last commit

Build Status Build Status

Anaconda Last update Platform

Scaffolder Logo

Transform a 3D model from STL/PLY/OFF/OBJ to a porous model with implicit function (e.g., Schwarz P/ Gyroid).

Documentation

Binary installation

conda install -c nodtem66 scaffolder

Python supports

pip install PyScaffolder

Blender addon

  • Install the Scaffolder-blender.zip downloaded from Release
  • The plugin will appear at View > Sidebar or Press N

Screenshots

  • Blender plugin with PyScaffolder

Blender plugin

  • The figure of patterns implemented in this program

TPMS Patterns

  • The examples of generated porous scaffold

Examples porous scaffold

Dependencies

  • libigl - The computational geometry library
  • vcglib - The mesh utility library
  • sol2 - Lua script integration
  • tbb - Threading library

How it works

  • Read STL file and finding the boundary box
  • Generate the grid and calculate the winding number with STL mesh
  • Use winding number to determine the condition for implicit isosurface function
  • Generate the isosurface field in the same-size grid
  • Perform Dual marching cube to construct the manifold
  • Clean up the duplicated vertices or faces, and abandon the group of connected faces having the diameter below the setting
  • Export to the target 3D format

FAQ

How can I find the dataset from a study of coffient and isolevel?

The raw dataset is available at Mendeley Data. The program that used to generate that data was released at Github repository. You can also find the interactive visualization at Google Colab

Where is the implicit functions were defined in the C++ sourcecode?

https://github.com/nodtem66/Scaffolder/blob/master/include/implicit_function.h

Can you suggest alternative softwares like this program?

  • Rhino (Grasshopper)
  • nTopology
  • Hyperganic

References

Citation

Computational method and program for generating a porous scaffold based on implicit surfaces

@article{IAMSAMANG2021106088,
title = {Computational method and program for generating a porous scaffold based on implicit surfaces},
journal = {Computer Methods and Programs in Biomedicine},
volume = {205},
pages = {106088},
year = {2021},
issn = {0169-2607},
doi = {https://doi.org/10.1016/j.cmpb.2021.106088},
url = {https://www.sciencedirect.com/science/article/pii/S0169260721001632},
author = {Jirawat Iamsamang and Phornphop Naiyanetr},
keywords = {Triply periodic minimal surface (TPMS), Implicit surface, Porous scaffold, Pore size, Porosity}
}

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

pyscaffolder-1.5.2.post2.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distributions

PyScaffolder-1.5.2.post2-cp312-cp312-win_amd64.whl (973.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

PyScaffolder-1.5.2.post2-cp312-cp312-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

PyScaffolder-1.5.2.post2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (860.0 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

PyScaffolder-1.5.2.post2-cp312-cp312-macosx_10_9_x86_64.whl (979.7 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

PyScaffolder-1.5.2.post2-cp311-cp311-win_amd64.whl (972.3 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

PyScaffolder-1.5.2.post2-cp311-cp311-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

PyScaffolder-1.5.2.post2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (860.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

PyScaffolder-1.5.2.post2-cp311-cp311-macosx_10_9_x86_64.whl (978.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

PyScaffolder-1.5.2.post2-cp310-cp310-win_amd64.whl (972.0 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

PyScaffolder-1.5.2.post2-cp310-cp310-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

PyScaffolder-1.5.2.post2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (860.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

PyScaffolder-1.5.2.post2-cp310-cp310-macosx_10_9_x86_64.whl (977.9 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

PyScaffolder-1.5.2.post2-cp39-cp39-win_amd64.whl (970.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

PyScaffolder-1.5.2.post2-cp39-cp39-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

PyScaffolder-1.5.2.post2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (861.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

PyScaffolder-1.5.2.post2-cp39-cp39-macosx_10_9_x86_64.whl (978.0 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

PyScaffolder-1.5.2.post2-cp38-cp38-win_amd64.whl (972.2 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

PyScaffolder-1.5.2.post2-cp38-cp38-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

PyScaffolder-1.5.2.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (860.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

PyScaffolder-1.5.2.post2-cp38-cp38-macosx_10_9_x86_64.whl (977.9 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

PyScaffolder-1.5.2.post2-cp37-cp37m-win_amd64.whl (972.8 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

PyScaffolder-1.5.2.post2-cp37-cp37m-musllinux_1_1_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

PyScaffolder-1.5.2.post2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (864.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

PyScaffolder-1.5.2.post2-cp37-cp37m-macosx_10_9_x86_64.whl (977.3 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

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