Skip to content

thometnanni/unfolding-the-archive

Repository files navigation

Unfolding the Archive

This project is part of Unfolding the Archive: New Dimensions of Access to Born-digital Architecture Collections, led by Ania Molenda at the Nieuwe Instituut. It explores new ways to access and interpret born-digital architecture archives, combining methods from museum studies, archival studies, architecture, and digital humanities. The goal is to develop prototypes and tools that enable dynamic, multimodal, and participatory exploration of digital archival materials, focusing on underused metadata as new forms of discovery.


This repository provides scripts to extract, count, and filter geometries and layer names from a collection of AutoCAD DWG/DXF files. It also includes utilities for handling plot styles and visualizing the results.

Folder Structure

unfolding-the-archive/
├── data/                      # Source DWG/DXF files (not included in repo)
├── extract-layer-names/       # Scripts for extracting layer names and plot styles
├── file-structure/            # Scripts to generate file-structure.json
├── file-structure-app/        # Svelte app for visualization
├── geometries/                # Scripts for extracting and filtering geometry data
├── output/                    # Generated JSON files (results)
├── libredwg/                  # LibreDWG integration
├── dxf-json/                  # DXF to JSON utilities
├── dxf2json/                  # Alternative DXF to JSON utilities
├── prototypes/                # Experimental or prototype scripts
├── package.json
├── readme.md

Requirements

  • Node.js (v18+ recommended)
  • DWG/DXF files in the data/ folder

Usage

1. Generate File Structure

From the project root:

cd file-structure
node index.js --folder "Folder Name"

This will scan the data/ folder and generate output/file-structure-Project_Name.json, which is required by the other scripts.

2. Extract Layer Names

cd extract-layer-names
node index.js --folder "Folder Name"

This will process all DWG/DXF files listed in output/file-structure-Project_Name.json and write the results to output/layer-names-Project_Name.json.

3. Extract Geometries

cd geometries
node index.js --folder "Folder Name"

This will process the files and output:

  • output/geometries-Project_Name.json — all geometries
  • output/geometries-count-Project_Name.json — geometry usage counts

4. Plot Styles

To parse CTB plot style files:

cd extract-layer-names/plot-styles
node index.js

This will parse all .ctb files in data/ and output JSON files in output/. This is helpful when visualising the layer names.

Visualization

The prototypes/ folder contains additional SvelteKit prototypes. For more details, see the README files within those folders.

Acknowledgements

This project uses LibreDWG and dxf-parser, among other open-source tools.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •