D3D Fusion Printer Conceptual Design
All creative work can be seen as searching or navigating the space of all thinkable outcomes (See for example Mike Bostock presentation for more on this statement), and 3D printer design is no exception. This document makes the D3D Printer design search process as explicit as possible. Decisions and reasoning behind them are listed in chronological order.
We'll walk a tree of choices on three basic levels
- Choice of inputs (completion of functional requirements input specification)
- Choice of primitive design elements (specification of BOM)
- Choice of language/concepts/higher order design elements (specification of concepts and sub-modules)
The second half of the functional requirements specification, the desired output of the machine, should have been specified before design work begins. If we're unsure about how the quality of the machine's output will be measured, then we risk searching the wrong space of thinkable machines. The more well known the output quality tests, the more well defined the design problem, and the better the compass we have to navigate design space with.
The Search Algorithm/Design Procedure
Our search will use three sub-procedures:
Stepwise Definition: | Heavily inspired by DE's six steps[1]. Used to describe how we've understood the design (sub)problem at hand. |
Input Decision: | Used shrink design space by narrowing the range of accepted inputs. |
Concept Creation: | Designing things that might be useful for whatever reason. Used to define paths named through design space. |
These will be applied to modules and sub-modules recursively, searching the design space in a best-first manner. That is, when we find a promising sub-design, we continue working on that sub-design and its sub-sub-designs until either it is complete or until we meet difficulties.
The calling process is always re-entered at an earlier point than where
Stepwise Definition
1. | Problem Analysis: | Give the thing we're going to design and build a name and describe the types of input and output (a "signature" or "contract"). |
2. | Purpose Statement: | Reformulate eventual problem statements into a couple of sentences explaining the purpose of the thing we're designing. |
3. | Examples: | Illustrate the purpose statement by listing some example usages of the soon-to-be designed thing. Serve as criteria of success and are used as tests later. |
4. | Sketches: | Some basic shape and logic of the design is already given at this stage. Write it down. |
5. | Being creative: | Put together parts in ways that will solve the problem. If there's need for further specification of input go to Input Decision. sub-modules. |
6. | Testing: | The creation of a test suite from examples ensuring small inputs work as expected. |
Input Decision
- List available choices (that we can think of and express, and in reasonable detail)
- If list seems unfinished: Go into Concept Creation
- Explicitly reason around what's known, what's unknown and general pros and cons related to all the different choices
- Make a decision
- Be very explicit about how this limits the design space
- Validate that the chosen limitation doesn't violate requirements in any obvious way.
Concept Creation
Whenever language gets too formal, or design progress is so slow that we loose track it can be a good idea to jump out of the loop and define some higher order concepts to build upon later. If the defined concept aren't readily definable/manufacturable from already known concepts in a single step, then the design becomes "abstract" or "lazy" and might prove to be impossible to manufacture.
1. | Dive into the space of potentially useful (for whatever reason) concepts. Define them with the Stepwise Definition procedure to define them. |
2. | Do basic validation that the concept should be completely definable/manufacturable. Actually defining/manufacturing it is recommended. |
3. | Review previous design process and re-enter it from where you estimate the best overall probability to arrive at a good design. The re-entrance is what makes the algorithm best-first. |
Design Algorithm
- Initialize design by going through all six steps, keeping inputs general
- For all inputs describe
- Possible shapes
- Chosen shape
Design Process
3D Printer Signature
Input: Power, Build material, Supporting surface(s), Instructions Output: Physical object
Purpose Statement
A 3D printer is a machine that synthesizes build material into 3D objects according to a series of pre-determined instructions.
Examples
We will assume that a mains voltage will power the 3D printer, with the constant shape:
For the build material, we will assume filaments behaving roughly as thermoplastics with the constant shape: ...
Being Creative
Shape of Inputs
Build Material
We expect
Sources Driving Design Desicions in Priority Order
- D3D_Fusion_printer_design#Higher_Level_Goals
- D3D_Fusion_printer_design#Desired_Attributes
- D3D_Fusion_printer_design#Functional_Requirements
- RepRap Interface Standard
- The shape of the input determines the shape of the design and tests.[1]
References
- ↑ 1.0 1.1 1.2 FELLEISEN, Matthias. How to Design Programs: an introduction to programming and computing. MIT Press, 2001.