Designers often create physical works-like prototypes early in the product development cycle to explore possible mechanical architec- tures for a design. Yet, creating functional prototypes requires time and expertise, which discourages rapid design iterations. Designers must carefully specify part and joint parameters to ensure that parts move and fit and together in the intended manner. We present an interactive system that streamlines the process by allowing users to annotate rough 3D models with high-level functional relationships (e.g., part A fits inside part B). Based on these relationships, our system optimizes the model geometry to produce a working design. We demonstrate the versatility of our system by using it to design a variety of works-like prototypes.
We used our system to create works-like prototypes for 8 different designs. Our submission video shows how the various parts move and fit together. Creating each working model in our system took between 1–10 minutes of user interaction. Modeling the parts and adding joints took about three quarters of the time, and the remaining time was spent specifying functional relationships. In addition to cover, fit-inside, support and flush relationships, we added 4 geometric constraints: 2 symmetry constraints for the top two cabinet doors and the two folding sections of the crate bar; and 2 to make the folding parts of the tablet and crate bed the same thickness.
While some of our prototypes may appear simple, mechanisms with even a small number of moving parts often involve non-obvious geometric dependencies. By automatically maintaining the specified functional relationships, our system helps users create an initial working design from a rough input model and modify that design to generate variations.
For example, the crate bed only has three parts, but creating variations of the design with different arrangements of the head and footboards requires non-trivial adjustments to the double pivot joint parameters (Figures c–d). The folding sofa also has interesting dependencies due to the fact that the top bunk must be supported when the model is unfolded into the bed configuration and then fit together with the headrest and base when folded into the sofa configuration. Figures a–b) shows two variations that we created by changing the height of the headrest. The system automatically updated the other part and joint parameters appropriately to maintain the functional relationships.
Our system also supports discrete edits. For example, our submission video shows an editing sequence with a jewelry box design where removing various compartments causes the remaining parts to update in different ways.