Skip to content

wenleiyah/SmartCLT

Repository files navigation

SmartCLT Workshop Repository

Scanning Sequence

scanning log geometries, and choosing optimal stacking configurations

Optimisation Sequence

using simulated annealing to minimise the total overlap cost

SmartCLT documents a multi-disciplinary workshop focused on reimagining cross-laminated timber (CLT) through data-driven design, imaging, and fabrication. At its core is the simulated-annealing optimisation pipeline developed during the Algorithm track to compute minimal overlap stacking sequences for scanned logs. The repository aggregates the contributions from several focused tracks that feed into and build upon this optimisation work:

  • Imaging – capturing raw log geometry and preparing masks for downstream analysis (T_Imaging/).
  • Algorithm – computing optimal log stacking sequences that minimise material overlap and waste (T_Algorithm/).
  • Construction – translating algorithmic layouts into buildable assemblies (T_Construction/).
  • Fabrication – preparing CNC-ready toolpaths and DXF exports (T_Fabrication/).
  • Workflow & Data – documenting collaborative processes and experimenting with structured data hand-offs (T_Workflow/).

Overlapped log layout generated by the algorithm

Repository structure

Photos/          Reference imagery and final physical prototypes
Scan0-2/         Raw scan data used for testing the imaging and algorithm pipelines
T_Algorithm/     Jupyter notebooks, intermediate outputs, and evaluation imagery for stacking optimisation
T_Construction/  Physical assembly drawings and material breakdowns
T_Fabrication/   CAD/CAM exports used during the workshop build session
T_Imaging/       Capture notes and masks generated from the log scans
T_Workflow/      Team workflow notes plus early dataframe experiments
presentation_poster.jpg  High-level poster summarising the workshop narrative

Algorithm track (work contribution)

The T_Algorithm/IN-CODE notebooks house the optimisation work that I worked on for the workshop. The core objectives were:

  1. Pre-processing – batch loading the masked log silhouettes, normalising their scale, and reducing resolution for rapid prototyping.
  2. Pairwise alignment – sliding adjacent logs to quantify their overlap and compute a loss value for each pairing (align_linear).
  3. Search strategy – using simulated annealing to explore permutations of log ordering, flipping, and rotation states while minimising the total overlap cost (objective_function, simulated_annealing).
  4. Result extraction – exporting the best-performing sequence as both high-resolution composites for fabrication and CSV schedules for the construction team.

Intermediate visualisations of the optimisation process and solutions are available under T_Algorithm/TEST/, while final stacked layouts are exported in T_Algorithm/OUT-CutLine/ and T_Algorithm/OUT-DXF/ for downstream tooling.

Getting started

  1. Clone the repository
    git clone https://github.com/<your-org>/SmartCLT.git
    cd SmartCLT
  2. Create a virtual environment (Python 3.10+ recommended) and install the required packages:
    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt  # or install numpy, opencv-python, pandas, matplotlib manually
  3. Launch Jupyter Lab/Notebook to explore the algorithm notebooks:
    jupyter lab
    Open T_Algorithm/IN-CODE/SmartCLT_ALGO_Team.ipynb for an end-to-end walkthrough of the optimisation workflow.

Tip: The notebooks expect the scan masks to be present under Scan2/GOOD_SCAN. Update the data paths at the top of the notebooks if your directory layout differs.

Reproducing the minimal-overlap optimisation

  1. Run the pre-processing cells to load and downsample the log silhouettes.
  2. Execute the simulated annealing block to search for the best ordering/flipping configuration. Tweak the temperature schedule, number of iterations, and mutation operators to experiment with alternative solutions.
  3. Use the provided export cells to save composite images and tabular summaries for fabrication and construction teams.

Example outputs are already saved in the repository for quick reference:

  • Photos/3_final_cut_logs.jpg – final curated arrangement used for fabrication hand-off.
  • T_Algorithm/RESULTS/ – comparison plots of candidate solutions and loss curves.

Credits

This workshop was delivered by a multi-disciplinary team covering imaging, algorithm development, construction planning, fabrication, and workflow design. I focused on the Algorithm track, working on the development of the simulated-annealing-based approach for computing minimal overlap between logs and coordinating the data hand-offs to the downstream teams.

For a visual summary, refer to presentation_poster.jpg and the reference photos in the Photos/ directory.

Supervised by: prof. Carlo Ratti, Mykola Murashko, Nikita Klimenko, and workshop participants.

final presentation poster

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors