Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision ff449f8805685122cd6192fd6e21eadae8d97a70 authored by David Jourdan on 26 February 2024, 19:02:51 UTC, committed by David Jourdan on 26 February 2024, 19:02:51 UTC
remove unused
1 parent 0d89cc9
  • Files
  • Changes
  • 929e0ee
  • /
  • README.md
Raw File Download
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:ff449f8805685122cd6192fd6e21eadae8d97a70
directory badge Iframe embedding
swh:1:dir:929e0ee313556bd963a2bbd40c96773ddbd2e0f1
content badge Iframe embedding
swh:1:cnt:68acec0fcf7c8319b5cbd2e23a7562a391f8f8f6
Citations

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
README.md
# Shrink & Morph: 3D-printed self-shaping shells actuated by a shape memory effect
[![](https://github.com/DavidJourdan/shrink-morph/workflows/Build/badge.svg)](https://github.com/DavidJourdan/shrink-morph/actions)
David Jourdan, Pierre-Alexandre Hugron, Camille Schreck, Jonàs Martínez, and Sylvain Lefebvre
![Teaser image](data/teaser.png)

This repository contains the implementation associated with the paper "Shrink & Morph: 3D-printed self-shaping shells actuated by a shape memory effect"

## Installation instructions

Installation can be done using standard CMake routines. On a typical Linux/macOS machine, the following should work:
```
git clone https://github.com/DavidJourdan/shrink-morph
cd shrink-morph
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j $(nproc)
```
Provided that you have the necessary graphics packages installed (if not the case, see [here](Dependencies.md)) CMake will download the required dependencies and compile the executable.

## Optional dependencies 

These libraries can downloaded for better performance:
- [OR-Tools](https://developers.google.com/optimization/install/cpp/binary_linux): the path where the downloaded archive has been extracted should be specified in the ```${ORTOOLS_PATH}``` variable in ```CMakeLists.txt```.
- [MKL Pardiso](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html)

## How to run
From the command line, specify which mesh file (stored in ```/data/```) should be opened. For example with ```beetle.obj```  simply run
```
build/shrink_morph beetle
```
For those who prefer to use a command-line version of a the app, use the ```shrink_morph_cli``` executable:
```
build/shrink_morph_cli mesh wD width nFmin
```
with ```mesh``` the name of the input mesh, ```wD``` the smoothing factor (0 by default), ```width``` the width of the flattened plate in mm, and ```nFmin``` the minimum number of faces in the input mesh (it gets iteratively subdivided until reaching this value). For example, to generate the same results as the ```hat``` model in the paper, type:
```
build/shrink_morph_cli hat 0.1 100 10000
```

To generate the final gcode files, use the togcode.py script. Its inputs are the .path file generated by the app, the name of your printer (only a few a supported at moment), and optionally the name of the output file, here is an example:
```
python togcode.py ../data/input_file.path Creality_K1_Max -o output_file.gcode
```

## Display layers with Matplotlib
To generate SVG files showing the trajectories similar to Figure 7 in the paper, runthe ```plot-layer.py``` script:
```
cd ../data/
python plot-layer.py 1
python plot-layer.py 10
```
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API

back to top