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

Socket Badge

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.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyscaffolder-1.5.3-cp313-cp313-win_amd64.whl (787.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pyscaffolder-1.5.3-cp313-cp313-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyscaffolder-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (914.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyscaffolder-1.5.3-cp312-cp312-win_amd64.whl (787.4 kB view details)

Uploaded CPython 3.12Windows x86-64

pyscaffolder-1.5.3-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyscaffolder-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (914.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyscaffolder-1.5.3-cp311-cp311-win_amd64.whl (787.2 kB view details)

Uploaded CPython 3.11Windows x86-64

pyscaffolder-1.5.3-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyscaffolder-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (914.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyscaffolder-1.5.3-cp310-cp310-win_amd64.whl (786.5 kB view details)

Uploaded CPython 3.10Windows x86-64

pyscaffolder-1.5.3-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyscaffolder-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (913.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyscaffolder-1.5.3-cp39-cp39-win_amd64.whl (788.7 kB view details)

Uploaded CPython 3.9Windows x86-64

pyscaffolder-1.5.3-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyscaffolder-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (914.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyscaffolder-1.5.3-cp38-cp38-win_amd64.whl (786.5 kB view details)

Uploaded CPython 3.8Windows x86-64

pyscaffolder-1.5.3-cp38-cp38-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pyscaffolder-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (913.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file pyscaffolder-1.5.3.tar.gz.

File metadata

  • Download URL: pyscaffolder-1.5.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyscaffolder-1.5.3.tar.gz
Algorithm Hash digest
SHA256 5d2791c2dc07fe259640343f1745b8e1292f842db9abce318c95f82cc4863aee
MD5 3e0db4940131ee31d8726083cdcebd30
BLAKE2b-256 11bd8866cbcfa7e2321a38928c25ee4c72df78ee57a5188776a55583f75e75c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3.tar.gz:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3afd10bcf305670b2b27bcf11c1b106348245994222bc103e8cd357e03aefc72
MD5 f6f3da9bfa082c56d2b21f81be5c7efd
BLAKE2b-256 f9ab7751bce8b1fe1e57224fbffd585aa02776735a50ced4ab0b78cceec88319

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp313-cp313-win_amd64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6e9e2bd0457d761b2bbd28900d5bd8ecb7cb7145501c764e00da13d1eb86cbf
MD5 5cc7683bf592078737de58a448b7b3eb
BLAKE2b-256 b2fd18aa53ca1aeb7a216bc54c80e060ce17b03f77adbabe242f33ade0b40461

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d43c56b3ea288b2a2723fb5e031928859fb1450e6915892abfbc038a27472164
MD5 3f3a78d5aa80655aceb4707a9e510ad7
BLAKE2b-256 69d45d40f912ee90f1993ff1aeaebf74be32d6ccb5b6f2ba726dd2a55024e700

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 10b1957fa0fa596d880ed9e29103464232ce8ba6b327c03a0ae62de62d6d92e8
MD5 75049a6511ba7315e24b316f29d7cb1c
BLAKE2b-256 5cba419636042958848c9058815fac4686c84a436c832341a5bc4c8d462243d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp312-cp312-win_amd64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 250266704ac687a8379d5cd82adf342b1492776172c7ade18716208917f9ae4c
MD5 730948e496f162584220d491519370e6
BLAKE2b-256 5ee29b8c89cd765460ff4ba9cc10c4454db28744c9c0b2bc717d6271426a0302

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b7195bc97b622d63c720b281b050f58d25913ff52f7e69156fd82f3edba67f16
MD5 e56d0127d01fb243fa2898a492ac3f4a
BLAKE2b-256 8be98cd960f526457919a312082ef4860a397600787abe4126c868918cbe2a4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4047b37983642e72acd4a64ff7c0239393537b44551d4177d623d72f86859985
MD5 6876e8a6a56895911aac417acfa390a1
BLAKE2b-256 da8c0d151de799ea22f995899f76f7d90a8d4535650dad9928b3556c287a6be9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp311-cp311-win_amd64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 28ba165e6fbf2374a7d4a4be73f9d437284a8c18f4329cdc7828b818737f92fa
MD5 65b8c26e44697fe47ce973113345ce4c
BLAKE2b-256 db45e5aa72d3ff7cd60d615a1e7780536517a58cacb64df3dea4a6a12c46bf32

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0fa623b7bcf7647a5201e3915ee6a8c30b4374b17dcd4a3aef11ee82f82a4d2c
MD5 9f2af349f3c3fa15ce61975b5f6348e5
BLAKE2b-256 bf816a084f466f19685fff267b844850123b7506e47ee9b546fa7d6de19ed424

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5981a4e732c00580848db6dd359ffb65e90aa9c9dbf59b599be735b706a5dde1
MD5 eee69ee0765aefe24641645d8d65aa19
BLAKE2b-256 f0e034db0d009acaa4cb6035348b07f30072d8b7428209b32da48d36609ac0c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp310-cp310-win_amd64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 af1b43c7dcdde712e72e9c576580d459f0f404660202b42561a5f8919956a436
MD5 de7d9fc30858950058c79c6c8739a3bc
BLAKE2b-256 bafe61f22618280dc583d97d50434559beed65a445a917b70e184100b5b9ab96

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc1745c083e1a07f98529d35b12bff2c33fd63ab4c40097b79f32a225d503200
MD5 30a932fd2a59fbddb620a3681cc62cbc
BLAKE2b-256 0abad359e1ad9aebf55c5543b0dc68ddee185f13b38f13649ceb37d073012655

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyscaffolder-1.5.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 788.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyscaffolder-1.5.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1743048f0308acb4212d724bf90917ffefa607b80ec03c7aba90670402036bcc
MD5 55eb3955ec61bfdf6edbee3d6475e7fa
BLAKE2b-256 9f36500b5e8fc0c572fe921c00350bd5c307d4db33c66979596d44491fe8046d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp39-cp39-win_amd64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 446e969d941252f4c4da3434e933697fb2286a133c8b4d818a8bed6154bf06b3
MD5 5c443b184bd0f33410c99066c4e8e99b
BLAKE2b-256 40565bfd14ffef076fa035c2be80a4bb4f341da026188fe0c56988fddb802bbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea2d25d9e0297f160810f1a845383cc825056d915600bf0c5f99ae1c7c24f941
MD5 0dc1ede8c78606d4229266d1b1574e5d
BLAKE2b-256 2ec66b144181583fe1b863ec7176d7bfe2295aaff9784c2e337c85b96f89c106

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyscaffolder-1.5.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 786.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyscaffolder-1.5.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 97195415ca83a9627d8b951f03f228942964739527f18f171d95505e480ccbd0
MD5 13873517e57bea7a5b079cd7e7cc0029
BLAKE2b-256 163c30ce6b6a219b12820b833f695595ed7d7e4a92def746d1c5b43df014d401

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp38-cp38-win_amd64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 258e2698e3d58e283d35b1e5bf29a600eb2fc9fe19b684667a818c21993bbf5f
MD5 f18e7f046116a6a3ba8d42fd35f6fc6b
BLAKE2b-256 189fae16e2add5452ccbb9989a4faa48fe8c26d6b5bb628440ed13d9b8aa643d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyscaffolder-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyscaffolder-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94397bdc057b00f80948ee032c5125fbb15c37190ae463ed2dd96962757ee0df
MD5 f0201bf046a9fb01c65085ed523a3b15
BLAKE2b-256 276da43a352e0b94f3e355e5e784c39850853deb55673b19d59a61f62174f477

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscaffolder-1.5.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on nodtem66/Scaffolder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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