D3D Fusion Printer Conceptual Design: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
No edit summary
(Redirected page to D3D Printer Design Process)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
All creative work can be seen as searching or navigating the space of all thinkable outcomes (See for example [https://youtu.be/fThhbt23SGM?t=14m8s 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.
#REDIRECT [[D3D Printer Design Process]]
 
= The Search Algorithm/Design Recipe =
The formal methodology is inspired by the "design recipe" (DR) described in the book [http://www.ccs.neu.edu/home/matthias/HtDP2e/ ''How to Design Programs'']<ref name="htdp" />(HtDP2e).
DR is a systematic approach to designing computer programs.
 
==Generalization of DR==
 
DR consists of six steps that we'll use in the following very rough and generalized form:
#'''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").
#'''Purpose Statement''' Reformulate eventual problem statements into a couple of sentences explaining the purpose of the thing we're designing.
#'''Examples''' Illustrate the purpose statement by listing some example usages of the soon-to-be designed thing. These serve as criteria of success and are used as tests later.
#'''Sketches''' Some basic shape and logic of the design is already given at this stage. Write it down.
#'''Being creative''' This is where the designer starts test putting together parts in ways that will solve the problem.
                      The designer might notice need for further specification of inputs and/or sub-modules.
#'''Testing''' The creation of a test suite from examples ensuring small inputs work as expected.
 
We will apply it to modules and sub-modules recursively, searching the 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.
 
==Design Algorithm==
#Initialize design by going through all six steps, keeping inputs general
#For all inputs describe
##Possible shapes
##Chosen shape
 
 
 
= 3D Printer =
== Signature ==
From an abstract input/output point of view, a 3D printer can be said to have the following signature.
 
:<big><font face="bookman">3D Printer: Power, Build material, Supporting surface(s), Instructions &rarr; Physical object </font></big>
 
== 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:
[[Image:3_phase_AC_waveform.svg|250px]][[Image:Cable_Cross_Section.svg|300px]]
 
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]]
#[http://reprap.org/wiki/RepRap_Interface_Standard RepRap Interface Standard]
#The mantra: ''The shape of the input determines the shape of the design and tests.''<ref name="htdp" />
 
 
=References=
{{#tag:ref|FELLEISEN, Matthias. [http://www.ccs.neu.edu/home/matthias/HtDP2e/ How to Design Programs]: an introduction to programming and computing. MIT Press, 2001.|name="htdp"}}

Latest revision as of 23:38, 7 January 2016