Table of Contents
Fetching ...

DiffCheck: a Scan-CAD Evaluation Tool for Digital Manufacturing and Assembly Processes in Timber Construction

Andrea Settimi, Damien Gilliard, Eleni Skevaki, Marirena Kladeftira, Julien Gamerro, Stefana Parascho, Yves Weinand

TL;DR

This work introduces diffCheck, an open-source C++/Python Grasshopper plug-in designed to unify scan-to-CAD evaluation for timber construction. By integrating a modular point-cloud processing core with timber-specific data structures and an error-analysis framework, diffCheck enables direct comparison of scans with CAD models across both assembly and subtractive fabrication scenarios. The authors demonstrate the tool on multiple case studies, providing quantitative metrics and visual heatmaps to assess joint placement and element accuracy, supported by publicly available data and tutorials. The approach lowers barriers to benchmarking digital timber fabrication, with potential extensions to real-time feedback in robotic workflows and broader applicability to other materials. Overall, diffCheck advances reproducible, open-science evaluation in digital fabrication for timber structures and establishes a foundation for cross-domain benchmarking tools.

Abstract

In digital timber construction, scanning technologies and point cloud data are widely used due to the accessibility of affordable 3D sensors, photogrammetry, and user-friendly CAD tools. While typically not employed for accuracy checks in timber fabrication due to the precision of standard machinery, experimental research and prototyping with joinery and assembly can benefit from precision and accuracy evaluation tools. We introduce diffCheck, a C++/Python software integrated into Grasshopper to address this need. It uses advanced point cloud analysis to compare scans of fabricated timber structures with their respective CAD models, helping to identify discrepancies. Tested on various timber elements and digital fabrication methods like robotic assembly, AR-assisted woodworking, and CNC machining, diffCheck aims to establish a user-friendly benchmark framework for digital fabrication systems using timber components, with the potential to find applications in other materials. Its source code and the analyzed data are openly shared with the digital fabrication community under a permissive license.

DiffCheck: a Scan-CAD Evaluation Tool for Digital Manufacturing and Assembly Processes in Timber Construction

TL;DR

This work introduces diffCheck, an open-source C++/Python Grasshopper plug-in designed to unify scan-to-CAD evaluation for timber construction. By integrating a modular point-cloud processing core with timber-specific data structures and an error-analysis framework, diffCheck enables direct comparison of scans with CAD models across both assembly and subtractive fabrication scenarios. The authors demonstrate the tool on multiple case studies, providing quantitative metrics and visual heatmaps to assess joint placement and element accuracy, supported by publicly available data and tutorials. The approach lowers barriers to benchmarking digital timber fabrication, with potential extensions to real-time feedback in robotic workflows and broader applicability to other materials. Overall, diffCheck advances reproducible, open-science evaluation in digital fabrication for timber structures and establishes a foundation for cross-domain benchmarking tools.

Abstract

In digital timber construction, scanning technologies and point cloud data are widely used due to the accessibility of affordable 3D sensors, photogrammetry, and user-friendly CAD tools. While typically not employed for accuracy checks in timber fabrication due to the precision of standard machinery, experimental research and prototyping with joinery and assembly can benefit from precision and accuracy evaluation tools. We introduce diffCheck, a C++/Python software integrated into Grasshopper to address this need. It uses advanced point cloud analysis to compare scans of fabricated timber structures with their respective CAD models, helping to identify discrepancies. Tested on various timber elements and digital fabrication methods like robotic assembly, AR-assisted woodworking, and CNC machining, diffCheck aims to establish a user-friendly benchmark framework for digital fabrication systems using timber components, with the potential to find applications in other materials. Its source code and the analyzed data are openly shared with the digital fabrication community under a permissive license.

Paper Structure

This paper contains 12 sections, 6 figures.

Figures (6)

  • Figure 1: A data flow diagram illustrating the composition and distribution of DiffCheck. Leveraging Rhino’s CPython interpreter, most of the source code is modularly developed and distributed, enabling a streamlined, user-friendly installation process within Grasshopper.
  • Figure 2: Illustration of the assembly evaluation: (1) the ground truth $P_t$ and scanned $P_s$ point clouds are registered to the same reference system, (2) segmentation by normal and face association, (3) each beam is finally detected within the scan.
  • Figure 3: Illustration of the mean error results per element on the CAD model for three assembly study cases: (1) roof structure segment crafted by augmented workers and assembled manually, (2) frame structure with four wood logs connected by CNC-fabricated half-lap cross joints, (3) spatial structure assembled by two robots and a human.
  • Figure 4: Screen capture of the Rhino workspace. (1.a) and (2.a): close-ups on single joints, (1.b) and (2.b) bottom: scan of the evaluated piece, above: 3d model and highlighted scan evaluation.
  • Figure 5: Representation of the per-joint and per-joint-face evaluations: (1) the ground truth $P_t$ and scanned $P_s$ point clouds are registered to the same reference system, (2) segmentation phase, (3a) per-joint, and (3b) per-joint-face processing.
  • ...and 1 more figures