Table of Contents
Fetching ...

FabHacks: Transform Everyday Objects into Functional Fixtures

Yuxuan Mei, Benjamin Jones, Dan Cascaval, Jennifer Mankoff, Etienne Vouga, Adriana Schulz

TL;DR

FabHacks presents a solver-aided DSL, FabHaL, to design and validate fixture hacks built from everyday objects. By extracting eight connector primitives from 24 rigid hacks and coupling them with a physics-based solver, the system enables partial, high-level specifications that are completed by optimization and gravity relaxation. A user study shows FabHacks is more efficient and intuitive than traditional CAD for assembling and exploring hack designs, highlighting its potential for sustainable DIY design. The work advances end-user design tools that bridge everyday objects with formalized, verifiable assemblies suitable for real-world fabrication.

Abstract

Storage, organizing, and decorating are an important part of home design. While one can buy commercial items for many of these tasks, this can be costly, and re-use is more sustainable. An alternative is a "home hack", a functional assembly that can be constructed from existing household items. However, coming up with such hacks requires combining objects to make a physically valid design, which might be difficult to test if they are large, require nailing or screwing something to the wall, or the designer has mobility limitations. In this work, we present a design and visualization system for creating workable functional assemblies, FabHacks, which is based on a solver-aided domain-specific language (S-DSL) FabHaL. By analyzing existing home hacks shared online, we create a design abstraction for connecting household items using predefined types of connections. We provide a UI for FabHaL that can be used to design assemblies that fulfill a given specification. Our system leverages a physics-based solver that takes an assembly design and finds its expected physical configuration. Our validation includes a user study showing that users can create assemblies successfully using our UI and explore a range of designs.

FabHacks: Transform Everyday Objects into Functional Fixtures

TL;DR

FabHacks presents a solver-aided DSL, FabHaL, to design and validate fixture hacks built from everyday objects. By extracting eight connector primitives from 24 rigid hacks and coupling them with a physics-based solver, the system enables partial, high-level specifications that are completed by optimization and gravity relaxation. A user study shows FabHacks is more efficient and intuitive than traditional CAD for assembling and exploring hack designs, highlighting its potential for sustainable DIY design. The work advances end-user design tools that bridge everyday objects with formalized, verifiable assemblies suitable for real-world fabrication.

Abstract

Storage, organizing, and decorating are an important part of home design. While one can buy commercial items for many of these tasks, this can be costly, and re-use is more sustainable. An alternative is a "home hack", a functional assembly that can be constructed from existing household items. However, coming up with such hacks requires combining objects to make a physically valid design, which might be difficult to test if they are large, require nailing or screwing something to the wall, or the designer has mobility limitations. In this work, we present a design and visualization system for creating workable functional assemblies, FabHacks, which is based on a solver-aided domain-specific language (S-DSL) FabHaL. By analyzing existing home hacks shared online, we create a design abstraction for connecting household items using predefined types of connections. We provide a UI for FabHaL that can be used to design assemblies that fulfill a given specification. Our system leverages a physics-based solver that takes an assembly design and finds its expected physical configuration. Our validation includes a user study showing that users can create assemblies successfully using our UI and explore a range of designs.
Paper Structure (52 sections, 4 equations, 22 figures, 4 tables)

This paper contains 52 sections, 4 equations, 22 figures, 4 tables.

Figures (22)

  • Figure 1: We analyzed 24 rigid undeformed fixture hacks and extracted eight connector primitive types found on objects in those hacks. Each connector is shown next to an example hack where it appears. The eight example hacks (left to right, top to bottom) are cup hanger (No.24), scarf organizer (No.22), toothbrush holder (No.7), charger holder (No.18), bathroom organizer (No.11), nonslip hanger (No.3), pants hanger (No.8), soap bottle bag (No.1) as numbered in Table \ref{['tab:24hacks']}.
  • Figure 2: Three examples of rod-hook connections.
  • Figure 3: The overview of the FabHacks system. The user can either directly code in FabHaL or use the UI to create programs. FabHaL programs build on top of an annotated object library and the FabHaL DSL. They are partial specifications of parts and the connections between them, and the 3D configurations of the parts are then completed by the automatic solver. Users can get visual feedback from the program viewer after this solve and use the feedback to iterate on the design. Finally, when satisfied with the design the user fabricates the hack in the real world.
  • Figure 4: Top: the OnShape plugin for tagging 3D models with the eight connector primitives. Bottom: an example showing how we defined the hook shape parametrically with its arc angle, arc radius, and thickness, and three parts tagged with a hook primitive each with different parameters.
  • Figure 5: Six hacks created by directly programming in FabHaL, with photos and renderings of the corresponding programs (see Appendix \ref{['appendix:programs']}) in our viewer.
  • ...and 17 more figures