SlideShare a Scribd company logo
:Computational Design and
Digital Fabrication
Date: April 12, 2017
I
Notes (recaps)
Computational Design
-Computational-
• algorithmic, procedural, generative, rule-based
-Design-
• making, creating designs
Form as a process (x)
Focus on developing interactive processes that designers can engage with.
Instead of creating static design create dynamic system
Instead of making structure grow them
“ Creativity is not a talent, it is a way of operating. “ John Cleese.
The ideas the designer might never have imagined and the whole set of solutions provided
(???)
Exploration, innovation, explanation (dynamic)
:Computational Design and
Digital Fabrication
Date: April 12, 2017
I
Generative design
:Computational Design and
Digital Fabrication GD
Generative design
“Generative Design is a morphogenetic process using algorithms structured as non-linear
systems for endless unique and unrepeatable results performed by an idea-code, as in
Nature” Celestino Soddu, 1992
“Generative design is not about designing a building. It’s about designing the system that
designs a building.” Lars Hesselgren, Director of KPF Research (cit. in Stocking, 2009)
Algorithmic systems are at the foundation of all Generative Systems. Stiny and Gips (1978a)
defined an algorithm as an explicit statement of a sequence of operations needed to perform
some task. Computation is the act of performing those operations.
:Computational Design and
Digital Fabrication GD
Design method in which the output, image, sound, architectural models, animation , is
generated by a set of rules or an algorithm, normally by using a computer program.
Generative design has: A design scheme , A means of creating variations, A means of
selecting desirable outcomes.
The development of information environments such as the world wide web show an
accelerated evolution and adaptation when compared to more traditional media such as the
printed page.
:Computational Design and
Digital Fabrication GD
Properties of Generative Systems
• The ability to generate complexity, many orders of magnitude greater than their
specification.
• The complex and interconnected relationship between organism and environment.
• The ability to self-maintain and self-repair
• The ability to generate novel structures, behaviors, outcomes or relationships.
Methodologies for Generative Design
• Self-organization and self-assembly
• Evolutionary Systems
• Generative grammars
:Computational Design and
Digital Fabrication GD
Generative Design Techniques
• Parametric(variable geometry),
• combinatorial (Rule based system, templating) ,
• Substitution (L System , shape grammars),
• Agent based (artificial life swarming),
• Mathematical ( Description by equation, algorithm),
• Special partitioning (recursive Subdivision of space, voxels) ,
• procedural shape languages ( such us reptile),
• Parallel descript computation ( Polyautomata, Cellular automata)
:Computational Design and
Digital Fabrication GD
Generative design
Generative Design Process
(to create generative design)
:Computational Design and
Digital Fabrication GD
Generative design
Most generative design, in which the output could be images, sounds, architectural
models, animation etc., is based on algorithmic and parametric modelling. It is a fast
method of exploring design possibilities that is used in various design fields such as Art,
Architecture, Communication design and Product design.
Generative design is becoming more important, largely due to new programming
environments (Proceessing, Vvv, Quartz Composer, Open Frame Works) or scripting
capabilities ( Grasshopper, Dynamo, Scriptographer) that have made it relatively easy, even
for designers with little programming experience, to implement their ideas. But it can
also be related with data driven architecture. Parametric architecture includes both program
generated and data-driven software.
The feedback loop: Generative methods have their roots deep in the system dynamics
modelling and are by nature repetitive processes where the solution is developed during
several iterations of design operations.
:Computational Design and
Digital Fabrication GD
In traditional design, the role of the designer is to explore a solution space. Solutions may be
aesthetic, semiotic, cultural, dynamic, industrial, corporate, political, or any combination of
these and other determinants. The key relationship between designer and artefact is a
direct one (even if mediated via some third-party or medium). There is a direct relationship
between the designer’s intentions and that of the designed artefact. In contrast, design using
generative methods involves the creation and modification of rules or systems that
interact to generate the finished design autonomously. Hence, the designer does not
directly manipulate the produced artefact, rather the rules and systems involved in the
artefact’s production. The design process becomes one of meta-design where a finished
design is the result of the emergent properties of the interacting system (McCormack & Dorin
2001).
:Computational Design and
Digital Fabrication GD
“Generative design mimics nature’s evolutionary approach to design. Designers or engineers
input design goals into generative design software, along with parameters such as
materials, manufacturing methods, and cost constraints. Then, using cloud
computing, the software explores all the possible permutations of a solution, quickly
generating design alternatives. It tests and learns from each iteration what works and
what doesn’t.”
Quickly generate high performing design alternatives, many that designers would never never
think of on their own, from a single idea.
:Computational Design and
Digital Fabrication GD
In computing, a visual programming language (VPL) is any programming language that lets
users create programs by manipulating program elements graphically rather than by
specifying them textually. A VPL allows programming with visual expressions, spatial
arrangements of text and graphic symbols, used either as elements of syntax or secondary
notation. For example, many VPLs (known as dataflow or diagrammatic programming) are
based on the idea of "boxes and arrows", where boxes or other screen objects are treated as
entities, connected by arrows, lines or arcs which represent relations
Example:
Design By Numbers was created for visual designers and artists as an introduction to computational design. It is
the result of a continuing endeavor by Professor John Maeda to teach the “idea” of computation to designers and
artists.
It is his belief that the quality of media art and design can only improve through establishing educational
infrastructure in arts and technology schools that create strong, cross-disciplinary individuals.
DBN is both a programming environment and language. The environment provides a unified space for writing and
running programs and the language introduces the basic ideas of computer programming within the context of
drawing. Visual elements such as dot, line, and field are combined with the computational ideas of variables and
conditional statements to generate images.
:Computational Design and
Digital Fabrication
Visual Programing (VP)
VP
Visual Programing
Processing is an open source computer programming language and integrated development
environment (IDE) built for the electronic arts, new media art, and visual design communities
with the purpose of teaching the fundamentals of computer programming in a visual
context, and to serve as the foundation for electronic sketchbooks.
Dynamo, the application, is a software that can be downloaded and run in either stand-alone
"Sandbox" mode or as a plug-in for other software like Revit or Maya. It is described as: A
visual programming tool that aims to be accessible to both non-programmers and
programmers alike
Grasshopper is a visual programming language and environment developed by David Rutten
at Robert McNeel & Associates, that runs within the Rhinoceros 3D computer-aided design
(CAD) application. Programs are created by dragging components onto a canvas. The outputs
to these components are then connected to the inputs of subsequent components.
:Computational Design and
Digital Fabrication VP
Processing
:Computational Design and
Digital Fabrication VP
Parametric design:
Software application
popular in EiABC
Dynamo to Revit as
grasshopper to
rhinoceros
:Computational Design and
Digital Fabrication VP
Dynamo
:Computational Design and
Digital Fabrication VP
Parametric design:
Software application
popular in EiABC
Dynamo to Revit as
grasshopper to
rhinoceros
Relations of elements
in design (size, material
(color,…), … )
Visual programing
:Computational Design and
Digital Fabrication VP
Software application popular in EiABC
Dynamo to Revit as grasshopper to rhinoceros
Relations of elements in design (size, material (color,…), … )
: VP
Dynamo(.dyn)
• An open source Visual programming plugin for Revit
architecture
• Stand alone software (stand alone version) called Dynamo studio
o Integrates computational design capability to BIM (building
information model)
o Parametric capability of Revit and visual programing environment in
dynamo = computation design in BIM
o Sophisticated data manipulation
o Geometric control
: VP
Dynamo(.dyn)
• Definition
Nodes
o Nodes are building blocks of dynamo definition, nods have inputs
and outputs called ports
o There are different types of nodes example: number node, point
node, watch node …in dynamo a point is an abstract coordinate, Not
an actual geometry.
o Watch node helps to inspect the current status of a node by viewing
the output data
: VP
Dynamo(.dyn)
• Definition
Nodes
o Nodes are building blocks of dynamo definition, nods have ports that
have inputs and outputs side
o There are different types of nodes example: number node (core -
input), point node (geometry), watch node(core_view), sin (core-
math)…
These nodes have different functions, Eg. Watch node helps to inspect
the current status of a node by viewing the output data
o In dynamo a point is an abstract coordinate, Not an actual geometry.
We can transfer this point to revit (revit_point).
: VP
Dynamo(.dyn)
Dynamo definition
• Node (building block of
a definition)
• Ports (input an output types)
• Connecting wires
• Watch node / watch 3d node
• Code blocks (numbers, strings
and formulas)(eg. 10; , “eiabc!”;
10*5;) read this with watch node
To apply code blocks double
in dynamo
• Packaging
: VP
Dynamo(.dyn)
• Sequence of numbers (start, amount, step)
• Range of numbers (start, end, step)
• (L..M) (starts with L and ends with M. The numbers step by one in
default) (range of numbers)
• (L..M..N) (starts with L and ends with M. The numbers step by N)
(range of numbers)
• (L..M..#N) (starts with L and ends with M. The numbers step by equal
range. The number of values are N) (range of numbers)
• (L..#M..N) (starts with L. Steps by N and has M values) (sequence of
numbers)
• (L..XCount..Spacing) or (L..Ycount..Spacing)
: VP
Dynamo(.dyn)
• Exercise on other nodes
: VP
Syntax for Formulas Revit architecture
Formulas support the following arithmetic operations: addition, subtraction,
multiplication, division, exponentiation, logarithms, and square roots.
Formulas also support the following trigonometric functions: sine, cosine,
tangent, arcsine, arccosine, and arctangent.
The valid formula abbreviations for arithmetic operations and trigonometric
functions are
•Additionó +
•Subtractionó -
•Multiplicationó*
•Divisionó/
•Exponentiationó^: x^y, x raised to the power of y
•Logarithmólog
•Square rootósqrt: sqrt(16)
•Sineó sin
•Cosineó cos
•Tangentó tan
•Arcsineóa sin
•Arccosineó acos
•Arctangentó atan
•e raised to an x poweró exp
•Absolute Valueó abs
Syntax for Formulas Revit architecture
You can enter integers, decimals, and fractional values in formulas, using
normal mathematical syntax, as shown in the examples below:
•Length = Height + Width + sqrt(Height*Width)
•Length = Wall 1 (11000mm)+ Wall 2 (15000mm)
•Area = Length (500mm) * Width (300mm)
•Volume = Length (500mm) * Width (300mm) * Height (800 mm)
•Width = 100m * cos(angle)
•x = 2*abs(a) + abs(b/2)
•ArrayNum = Length/Spacing
Parameter names in formulas are case sensitive. For example, if a
parameter name begins with a capital letter, such as Width, you must enter
it in the formula with an initial capital letter. If you enter it in a formula
using lower-case letters instead, for example, width * 2, the software will
not recognize the formula.
Note: It is recommended that you do not use a dash (-) when naming
parameters.
You can use conditional statements in formulas to define actions in a family
that depend on the state of other parameters. With conditional statements,
the software enters values for a parameter based on whether a specified
condition is satisfied. Conditional statements are useful in certain
circumstances; however, they make families more complex and should be
used only when necessary.
Syntax for Formulas Revit architecture
For most type parameters, conditional statements are unnecessary because
the type parameter itself is like a conditional statement: If this is the type,
then set this parameter to a specified value. Instance parameters are a
more productive place to use conditional statements, particularly when they
are used to set a parameter that does not vary continuously.
Syntax for Conditional Statements
A conditional statement uses this structure: IF (<condition>, <result-if-
true>, <result-if-false>)
This means that the values entered for the parameter depend on whether
the condition is satisfied (true) or not satisfied (false). If the condition is
true, the software returns the true value. If the condition is false, it returns
the false value.
Conditional statements can contain numeric values, numeric parameter
names, and Yes/No parameters. You can use the following comparisons in a
condition: <, >, =. You can also use Boolean operators with a conditional
statement: AND, OR, NOT. Currently, <= and >= are not implemented. To
express such a comparison, you can use a logical NOT. For example, a<=b
can be entered as NOT(a>b).
Syntax for Formulas Revit architecture
The following are sample formulas that use conditional statements.
Simple IF: =IF (Length < 3000mm, 200mm, 300mm)
IF with a text parameter: =IF (Length > 35', ĂŹString1ĂŽ, ĂŹString2ĂŽ)
IF with logical AND: =IF ( AND (x = 1 , y = 2), 8 , 3 )
IF with logical OR: =IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )
Embedded IF statements: =IF ( Length < 35' , 2' 6" , IF ( Length < 45' , 3'
, IF ( Length < 55' , 5' , 8' ) ) )
IF with Yes/No condition: =Length > 40 (Note that both the condition and
the results are implied.)
Examples of Conditional Statement Usage
Typical uses for conditional statements in formulas include calculating array
values and controlling an elementĂ­s visibility based on a parameter value.
For example, you can use conditional statements to
•Prevent an array parameter from taking a value less than 2.In Revit
Architecture, arrays can only have an integer value of 2 or greater. In some
situations, it may be useful to create a conditional formula that maintains
an array parameter of 2 even if the calculated value is 1 or 0. With such a
formula, if the calculated array value is 2 or greater, the formula retains the
value. However, if the calculated value is 1 or 0, the formula changes the
value to 2.
Syntax for Formulas Revit architecture
•Formula: Array number = IF (Arrayparam < 2, 2, Arrayparam)
•Make muntins visible only when the number of window lights is greater
than 1.For example, if you have a Lights parameter that you want to use to
control the visibility of muntin geometry, you can create a Yes/No parameter
like MuntinVis, and assign it to the Visible parameter on the Properties
palette for the muntin geometry. Because the MuntinVis parameter is a
Yes/No (or Boolean) operation, both the condition (IF) and the results are
implied. In this example, when the condition is met (true), the MuntinVis
parameter value is selected, and the muntin geometry is visible. Conversely,
when the condition is not met (false), the MuntinVis parameter is cleared,
and the muntin geometry is not visible.
•Formula: MuntinVis = Lights > 1
Grasshopper
:Computational Design and
Digital Fabrication VP
Visual Programing
Processing
:Computational Design and
Digital Fabrication P
Visual Programing
Processing
See Manual
Class exercise….
:Computational Design and
Digital Fabrication P
IDE ,integrated
development
environment
• Write Code
• Compile
• Debug
Visual Programing
Processing
Exercise 1
https://processing.org/examples/mo
use1d.html
void setup (){ … }
void draw (){…}
Size (a,b);
Shape (a,b,c,d);
Backgrund (r,g,b);
frameRate (60);
float x=20; Declare
float x;
X=20; Initiate
:Computational Design and
Digital Fabrication
Mouse 1D.
Move the mouse left and right to shift the
balance. The "mouseX" variable is used to control
both the size and color of the rectangles.
void setup() {
size(640, 360);
noStroke();
colorMode(RGB, height, height, height);
rectMode(CENTER);
}
void draw() {
background(0.0);
float r1 = map(mouseX, 0, width, 0, height);
float r2 = height-r1;
fill(r1);
rect(width/2 + r1/2, height/2, r1, r1);
fill(r2);
rect(width/2 - r2/2, height/2, r2, r2);
}
Visual Programing
Processing
Example, free source:
https://processing.org/examples/
:Computational Design and
Digital Fabrication
02 computational design and digital fabrication visual programing

More Related Content

What's hot

Surface Reality-web
Surface Reality-webSurface Reality-web
Surface Reality-webPeter McPherson
 
3D Printing, Architectural visualization and the Future of architectural visu...
3D Printing, Architectural visualization and the Future of architectural visu...3D Printing, Architectural visualization and the Future of architectural visu...
3D Printing, Architectural visualization and the Future of architectural visu...
Ogbuagu Kelechi Uchamma
 
FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...
FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...
FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...
Direct Dimensions, Inc.
 
Auckland RUG - Building Digital Bridges
Auckland RUG - Building Digital BridgesAuckland RUG - Building Digital Bridges
Auckland RUG - Building Digital Bridges
David Harrison
 
Disruptive technologies project
Disruptive technologies projectDisruptive technologies project
Disruptive technologies project
sabrena moore
 
DDiMIT Workshop: 3D Printing
DDiMIT Workshop: 3D PrintingDDiMIT Workshop: 3D Printing
DDiMIT Workshop: 3D Printingrobertree
 
3D Printing: Edge Manufacturing - Executive Overview
3D Printing: Edge Manufacturing - Executive Overview3D Printing: Edge Manufacturing - Executive Overview
3D Printing: Edge Manufacturing - Executive Overview
Patrick Seaman
 
3d printing technology
3d printing technology3d printing technology
3d printing technologyPrachi Agarwal
 
The Moon Shot Project Business Plan
The Moon Shot Project Business PlanThe Moon Shot Project Business Plan
The Moon Shot Project Business Plan
Juliet John
 
3-D Printing_feb_13_2014
3-D Printing_feb_13_20143-D Printing_feb_13_2014
3-D Printing_feb_13_2014James Sutter
 
3D printing and embedded Electronics concepts from Arch Science
3D printing and embedded Electronics concepts from Arch Science3D printing and embedded Electronics concepts from Arch Science
3D printing and embedded Electronics concepts from Arch Science
Michael Senkow
 
3d Printing XAnge
3d Printing XAnge3d Printing XAnge
3d Printing XAnge
Rodolphe Menegaux
 
3D Printing Technology in Civil Engineering
3D Printing Technology in Civil Engineering3D Printing Technology in Civil Engineering
3D Printing Technology in Civil Engineering
Arun Arun
 
Vision 10 3D TECH
Vision 10 3D TECHVision 10 3D TECH
Vision 10 3D TECHMatthew Hussey
 
3D Printing
3D Printing3D Printing
3D Printing
Anand Balu
 
3D printer construction
3D printer construction3D printer construction
3D printer construction
UMASOYA_KARTHIKEYAN
 
Agra- Show and Tell
Agra- Show and TellAgra- Show and Tell
Agra- Show and Tell
Eliane Agra
 
Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...
Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...
Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...
Direct Dimensions, Inc.
 
Image processing1 introduction
Image processing1 introductionImage processing1 introduction
Image processing1 introduction
Shingrakhia Hansa
 

What's hot (20)

Surface Reality-web
Surface Reality-webSurface Reality-web
Surface Reality-web
 
3D Printing, Architectural visualization and the Future of architectural visu...
3D Printing, Architectural visualization and the Future of architectural visu...3D Printing, Architectural visualization and the Future of architectural visu...
3D Printing, Architectural visualization and the Future of architectural visu...
 
FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...
FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...
FARO 2014 3D Documentation Presentation by Direct Dimensions "3D Scanning for...
 
Auckland RUG - Building Digital Bridges
Auckland RUG - Building Digital BridgesAuckland RUG - Building Digital Bridges
Auckland RUG - Building Digital Bridges
 
Disruptive technologies project
Disruptive technologies projectDisruptive technologies project
Disruptive technologies project
 
DDiMIT Workshop: 3D Printing
DDiMIT Workshop: 3D PrintingDDiMIT Workshop: 3D Printing
DDiMIT Workshop: 3D Printing
 
3D Printing: Edge Manufacturing - Executive Overview
3D Printing: Edge Manufacturing - Executive Overview3D Printing: Edge Manufacturing - Executive Overview
3D Printing: Edge Manufacturing - Executive Overview
 
3d printing technology
3d printing technology3d printing technology
3d printing technology
 
The Moon Shot Project Business Plan
The Moon Shot Project Business PlanThe Moon Shot Project Business Plan
The Moon Shot Project Business Plan
 
3-D Printing_feb_13_2014
3-D Printing_feb_13_20143-D Printing_feb_13_2014
3-D Printing_feb_13_2014
 
3D printing and embedded Electronics concepts from Arch Science
3D printing and embedded Electronics concepts from Arch Science3D printing and embedded Electronics concepts from Arch Science
3D printing and embedded Electronics concepts from Arch Science
 
3d Printing XAnge
3d Printing XAnge3d Printing XAnge
3d Printing XAnge
 
3D Printing Technology in Civil Engineering
3D Printing Technology in Civil Engineering3D Printing Technology in Civil Engineering
3D Printing Technology in Civil Engineering
 
Vision 10 3D TECH
Vision 10 3D TECHVision 10 3D TECH
Vision 10 3D TECH
 
3D Printing
3D Printing3D Printing
3D Printing
 
3D_Printing
3D_Printing3D_Printing
3D_Printing
 
3D printer construction
3D printer construction3D printer construction
3D printer construction
 
Agra- Show and Tell
Agra- Show and TellAgra- Show and Tell
Agra- Show and Tell
 
Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...
Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...
Digifab Conf - Direct Dimensions - 3D Scanning for 3D Printing, Making Realit...
 
Image processing1 introduction
Image processing1 introductionImage processing1 introduction
Image processing1 introduction
 

Similar to 02 computational design and digital fabrication visual programing

A 3D Shape Generative Method For Aesthetic Product Design
A 3D Shape Generative Method For Aesthetic Product DesignA 3D Shape Generative Method For Aesthetic Product Design
A 3D Shape Generative Method For Aesthetic Product Design
Martha Brown
 
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 20113DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
Tom Burns
 
Communication &amp; Coordination on a Construction Project Through Building I...
Communication &amp; Coordination on a Construction Project Through Building I...Communication &amp; Coordination on a Construction Project Through Building I...
Communication &amp; Coordination on a Construction Project Through Building I...muhammad87
 
Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...
Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...
Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...
IJERA Editor
 
Chpt 8 Designing With Technologies
Chpt 8 Designing With TechnologiesChpt 8 Designing With Technologies
Chpt 8 Designing With Technologiessears09
 
Design concepts and principle,
Design concepts and principle, Design concepts and principle,
Design concepts and principle,
awikhan12
 
Specialized Application.pdf
Specialized Application.pdfSpecialized Application.pdf
Specialized Application.pdf
khalid khan
 
DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para...
 DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para... DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para...
DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para...
Facultad de InformĂĄtica UCM
 
Derix 2010: mediating spatial phenomena through computational heuristics
Derix 2010:  mediating spatial phenomena through computational heuristicsDerix 2010:  mediating spatial phenomena through computational heuristics
Derix 2010: mediating spatial phenomena through computational heuristicsArchiLab 7
 
Derix 2010: mediating spatial phenomena through computational heuristics
Derix 2010:  mediating spatial phenomena through computational heuristicsDerix 2010:  mediating spatial phenomena through computational heuristics
Derix 2010: mediating spatial phenomena through computational heuristicsArchiLab 7
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architecturesMajong DevJfu
 
Digital technology 1
Digital technology 1Digital technology 1
Scaling design with a design system
Scaling design with a design systemScaling design with a design system
Scaling design with a design system
Sonja Krogius
 
Lesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptLesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.ppt
PabloAntonioSanMarti1
 
Intro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsIntro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedplugins
Pirouz Nourian
 
A Conceptual Model For HCI Design Cases
A Conceptual Model For HCI Design CasesA Conceptual Model For HCI Design Cases
A Conceptual Model For HCI Design Cases
Brittany Allen
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)stanbridge
 
Digital design
Digital designDigital design
Digital design
Sheetu Goel
 
Digital architecture manifesting an accurate virtual built environment
Digital architecture manifesting an accurate virtual built environmentDigital architecture manifesting an accurate virtual built environment
Digital architecture manifesting an accurate virtual built environment
eSAT Journals
 
Classification Engineering graphics & design
Classification Engineering graphics & designClassification Engineering graphics & design
Classification Engineering graphics & design
Manish Gupta
 

Similar to 02 computational design and digital fabrication visual programing (20)

A 3D Shape Generative Method For Aesthetic Product Design
A 3D Shape Generative Method For Aesthetic Product DesignA 3D Shape Generative Method For Aesthetic Product Design
A 3D Shape Generative Method For Aesthetic Product Design
 
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 20113DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
3DCAD As A Boundary Object – Presented at May Seminar Texas Tech 2011
 
Communication &amp; Coordination on a Construction Project Through Building I...
Communication &amp; Coordination on a Construction Project Through Building I...Communication &amp; Coordination on a Construction Project Through Building I...
Communication &amp; Coordination on a Construction Project Through Building I...
 
Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...
Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...
Implementation of a Simulation Model Using the Systems Dynamics: Case Study f...
 
Chpt 8 Designing With Technologies
Chpt 8 Designing With TechnologiesChpt 8 Designing With Technologies
Chpt 8 Designing With Technologies
 
Design concepts and principle,
Design concepts and principle, Design concepts and principle,
Design concepts and principle,
 
Specialized Application.pdf
Specialized Application.pdfSpecialized Application.pdf
Specialized Application.pdf
 
DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para...
 DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para... DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para...
DiseĂąo de escenarios interactivos de aprendizaje con realidad aumentada para...
 
Derix 2010: mediating spatial phenomena through computational heuristics
Derix 2010:  mediating spatial phenomena through computational heuristicsDerix 2010:  mediating spatial phenomena through computational heuristics
Derix 2010: mediating spatial phenomena through computational heuristics
 
Derix 2010: mediating spatial phenomena through computational heuristics
Derix 2010:  mediating spatial phenomena through computational heuristicsDerix 2010:  mediating spatial phenomena through computational heuristics
Derix 2010: mediating spatial phenomena through computational heuristics
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
Digital technology 1
Digital technology 1Digital technology 1
Digital technology 1
 
Scaling design with a design system
Scaling design with a design systemScaling design with a design system
Scaling design with a design system
 
Lesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptLesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.ppt
 
Intro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsIntro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedplugins
 
A Conceptual Model For HCI Design Cases
A Conceptual Model For HCI Design CasesA Conceptual Model For HCI Design Cases
A Conceptual Model For HCI Design Cases
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
Digital design
Digital designDigital design
Digital design
 
Digital architecture manifesting an accurate virtual built environment
Digital architecture manifesting an accurate virtual built environmentDigital architecture manifesting an accurate virtual built environment
Digital architecture manifesting an accurate virtual built environment
 
Classification Engineering graphics & design
Classification Engineering graphics & designClassification Engineering graphics & design
Classification Engineering graphics & design
 

More from Ayele Bedada

Data visualization ananlysis_lecture 7
Data visualization ananlysis_lecture 7Data visualization ananlysis_lecture 7
Data visualization ananlysis_lecture 7
Ayele Bedada
 
Design_research_Ethioplugin research reflections
Design_research_Ethioplugin research reflectionsDesign_research_Ethioplugin research reflections
Design_research_Ethioplugin research reflections
Ayele Bedada
 
https://www.facebook.com/Ethioplugin
https://www.facebook.com/Ethioplugin  https://www.facebook.com/Ethioplugin
https://www.facebook.com/Ethioplugin
Ayele Bedada
 
Window door schedule on revit architecture 2014
Window door schedule on revit architecture 2014Window door schedule on revit architecture 2014
Window door schedule on revit architecture 2014
Ayele Bedada
 
Autocad and computer introduction for beginers
Autocad and computer introduction for beginers Autocad and computer introduction for beginers
Autocad and computer introduction for beginers Ayele Bedada
 
Professional Autocad
Professional AutocadProfessional Autocad
Professional AutocadAyele Bedada
 
Adobe photoshop
Adobe photoshopAdobe photoshop
Adobe photoshopAyele Bedada
 

More from Ayele Bedada (7)

Data visualization ananlysis_lecture 7
Data visualization ananlysis_lecture 7Data visualization ananlysis_lecture 7
Data visualization ananlysis_lecture 7
 
Design_research_Ethioplugin research reflections
Design_research_Ethioplugin research reflectionsDesign_research_Ethioplugin research reflections
Design_research_Ethioplugin research reflections
 
https://www.facebook.com/Ethioplugin
https://www.facebook.com/Ethioplugin  https://www.facebook.com/Ethioplugin
https://www.facebook.com/Ethioplugin
 
Window door schedule on revit architecture 2014
Window door schedule on revit architecture 2014Window door schedule on revit architecture 2014
Window door schedule on revit architecture 2014
 
Autocad and computer introduction for beginers
Autocad and computer introduction for beginers Autocad and computer introduction for beginers
Autocad and computer introduction for beginers
 
Professional Autocad
Professional AutocadProfessional Autocad
Professional Autocad
 
Adobe photoshop
Adobe photoshopAdobe photoshop
Adobe photoshop
 

Recently uploaded

Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Chapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdfChapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdf
Kartik Tiwari
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 

Recently uploaded (20)

Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Chapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdfChapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdf
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 

02 computational design and digital fabrication visual programing

  • 1.
  • 2. :Computational Design and Digital Fabrication Date: April 12, 2017 I
  • 3. Notes (recaps) Computational Design -Computational- • algorithmic, procedural, generative, rule-based -Design- • making, creating designs Form as a process (x) Focus on developing interactive processes that designers can engage with. Instead of creating static design create dynamic system Instead of making structure grow them “ Creativity is not a talent, it is a way of operating. “ John Cleese. The ideas the designer might never have imagined and the whole set of solutions provided (???) Exploration, innovation, explanation (dynamic) :Computational Design and Digital Fabrication Date: April 12, 2017 I
  • 4. Generative design :Computational Design and Digital Fabrication GD
  • 5. Generative design “Generative Design is a morphogenetic process using algorithms structured as non-linear systems for endless unique and unrepeatable results performed by an idea-code, as in Nature” Celestino Soddu, 1992 “Generative design is not about designing a building. It’s about designing the system that designs a building.” Lars Hesselgren, Director of KPF Research (cit. in Stocking, 2009) Algorithmic systems are at the foundation of all Generative Systems. Stiny and Gips (1978a) defined an algorithm as an explicit statement of a sequence of operations needed to perform some task. Computation is the act of performing those operations. :Computational Design and Digital Fabrication GD
  • 6. Design method in which the output, image, sound, architectural models, animation , is generated by a set of rules or an algorithm, normally by using a computer program. Generative design has: A design scheme , A means of creating variations, A means of selecting desirable outcomes. The development of information environments such as the world wide web show an accelerated evolution and adaptation when compared to more traditional media such as the printed page. :Computational Design and Digital Fabrication GD
  • 7. Properties of Generative Systems • The ability to generate complexity, many orders of magnitude greater than their specification. • The complex and interconnected relationship between organism and environment. • The ability to self-maintain and self-repair • The ability to generate novel structures, behaviors, outcomes or relationships. Methodologies for Generative Design • Self-organization and self-assembly • Evolutionary Systems • Generative grammars :Computational Design and Digital Fabrication GD
  • 8. Generative Design Techniques • Parametric(variable geometry), • combinatorial (Rule based system, templating) , • Substitution (L System , shape grammars), • Agent based (artificial life swarming), • Mathematical ( Description by equation, algorithm), • Special partitioning (recursive Subdivision of space, voxels) , • procedural shape languages ( such us reptile), • Parallel descript computation ( Polyautomata, Cellular automata) :Computational Design and Digital Fabrication GD
  • 9. Generative design Generative Design Process (to create generative design) :Computational Design and Digital Fabrication GD
  • 10. Generative design Most generative design, in which the output could be images, sounds, architectural models, animation etc., is based on algorithmic and parametric modelling. It is a fast method of exploring design possibilities that is used in various design fields such as Art, Architecture, Communication design and Product design. Generative design is becoming more important, largely due to new programming environments (Proceessing, Vvv, Quartz Composer, Open Frame Works) or scripting capabilities ( Grasshopper, Dynamo, Scriptographer) that have made it relatively easy, even for designers with little programming experience, to implement their ideas. But it can also be related with data driven architecture. Parametric architecture includes both program generated and data-driven software. The feedback loop: Generative methods have their roots deep in the system dynamics modelling and are by nature repetitive processes where the solution is developed during several iterations of design operations. :Computational Design and Digital Fabrication GD
  • 11. In traditional design, the role of the designer is to explore a solution space. Solutions may be aesthetic, semiotic, cultural, dynamic, industrial, corporate, political, or any combination of these and other determinants. The key relationship between designer and artefact is a direct one (even if mediated via some third-party or medium). There is a direct relationship between the designer’s intentions and that of the designed artefact. In contrast, design using generative methods involves the creation and modification of rules or systems that interact to generate the finished design autonomously. Hence, the designer does not directly manipulate the produced artefact, rather the rules and systems involved in the artefact’s production. The design process becomes one of meta-design where a finished design is the result of the emergent properties of the interacting system (McCormack & Dorin 2001). :Computational Design and Digital Fabrication GD
  • 12. “Generative design mimics nature’s evolutionary approach to design. Designers or engineers input design goals into generative design software, along with parameters such as materials, manufacturing methods, and cost constraints. Then, using cloud computing, the software explores all the possible permutations of a solution, quickly generating design alternatives. It tests and learns from each iteration what works and what doesn’t.” Quickly generate high performing design alternatives, many that designers would never never think of on their own, from a single idea. :Computational Design and Digital Fabrication GD
  • 13. In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs (known as dataflow or diagrammatic programming) are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations Example: Design By Numbers was created for visual designers and artists as an introduction to computational design. It is the result of a continuing endeavor by Professor John Maeda to teach the “idea” of computation to designers and artists. It is his belief that the quality of media art and design can only improve through establishing educational infrastructure in arts and technology schools that create strong, cross-disciplinary individuals. DBN is both a programming environment and language. The environment provides a unified space for writing and running programs and the language introduces the basic ideas of computer programming within the context of drawing. Visual elements such as dot, line, and field are combined with the computational ideas of variables and conditional statements to generate images. :Computational Design and Digital Fabrication Visual Programing (VP) VP
  • 14. Visual Programing Processing is an open source computer programming language and integrated development environment (IDE) built for the electronic arts, new media art, and visual design communities with the purpose of teaching the fundamentals of computer programming in a visual context, and to serve as the foundation for electronic sketchbooks. Dynamo, the application, is a software that can be downloaded and run in either stand-alone "Sandbox" mode or as a plug-in for other software like Revit or Maya. It is described as: A visual programming tool that aims to be accessible to both non-programmers and programmers alike Grasshopper is a visual programming language and environment developed by David Rutten at Robert McNeel & Associates, that runs within the Rhinoceros 3D computer-aided design (CAD) application. Programs are created by dragging components onto a canvas. The outputs to these components are then connected to the inputs of subsequent components. :Computational Design and Digital Fabrication VP
  • 16. Parametric design: Software application popular in EiABC Dynamo to Revit as grasshopper to rhinoceros :Computational Design and Digital Fabrication VP
  • 18. Parametric design: Software application popular in EiABC Dynamo to Revit as grasshopper to rhinoceros Relations of elements in design (size, material (color,…), … ) Visual programing :Computational Design and Digital Fabrication VP
  • 19. Software application popular in EiABC Dynamo to Revit as grasshopper to rhinoceros Relations of elements in design (size, material (color,…), … ) : VP
  • 20. Dynamo(.dyn) • An open source Visual programming plugin for Revit architecture • Stand alone software (stand alone version) called Dynamo studio o Integrates computational design capability to BIM (building information model) o Parametric capability of Revit and visual programing environment in dynamo = computation design in BIM o Sophisticated data manipulation o Geometric control : VP
  • 21. Dynamo(.dyn) • Definition Nodes o Nodes are building blocks of dynamo definition, nods have inputs and outputs called ports o There are different types of nodes example: number node, point node, watch node …in dynamo a point is an abstract coordinate, Not an actual geometry. o Watch node helps to inspect the current status of a node by viewing the output data : VP
  • 22. Dynamo(.dyn) • Definition Nodes o Nodes are building blocks of dynamo definition, nods have ports that have inputs and outputs side o There are different types of nodes example: number node (core - input), point node (geometry), watch node(core_view), sin (core- math)… These nodes have different functions, Eg. Watch node helps to inspect the current status of a node by viewing the output data o In dynamo a point is an abstract coordinate, Not an actual geometry. We can transfer this point to revit (revit_point). : VP
  • 23. Dynamo(.dyn) Dynamo definition • Node (building block of a definition) • Ports (input an output types) • Connecting wires • Watch node / watch 3d node • Code blocks (numbers, strings and formulas)(eg. 10; , “eiabc!”; 10*5;) read this with watch node To apply code blocks double in dynamo • Packaging : VP
  • 24. Dynamo(.dyn) • Sequence of numbers (start, amount, step) • Range of numbers (start, end, step) • (L..M) (starts with L and ends with M. The numbers step by one in default) (range of numbers) • (L..M..N) (starts with L and ends with M. The numbers step by N) (range of numbers) • (L..M..#N) (starts with L and ends with M. The numbers step by equal range. The number of values are N) (range of numbers) • (L..#M..N) (starts with L. Steps by N and has M values) (sequence of numbers) • (L..XCount..Spacing) or (L..Ycount..Spacing) : VP
  • 26. Syntax for Formulas Revit architecture Formulas support the following arithmetic operations: addition, subtraction, multiplication, division, exponentiation, logarithms, and square roots. Formulas also support the following trigonometric functions: sine, cosine, tangent, arcsine, arccosine, and arctangent. The valid formula abbreviations for arithmetic operations and trigonometric functions are •AdditionĂł + •SubtractionĂł - •MultiplicationĂł* •DivisionĂł/ •ExponentiationĂł^: x^y, x raised to the power of y •LogarithmĂłlog •Square rootĂłsqrt: sqrt(16) •SineĂł sin •CosineĂł cos •TangentĂł tan •ArcsineĂła sin •ArccosineĂł acos •ArctangentĂł atan •e raised to an x powerĂł exp •Absolute ValueĂł abs
  • 27. Syntax for Formulas Revit architecture You can enter integers, decimals, and fractional values in formulas, using normal mathematical syntax, as shown in the examples below: •Length = Height + Width + sqrt(Height*Width) •Length = Wall 1 (11000mm)+ Wall 2 (15000mm) •Area = Length (500mm) * Width (300mm) •Volume = Length (500mm) * Width (300mm) * Height (800 mm) •Width = 100m * cos(angle) •x = 2*abs(a) + abs(b/2) •ArrayNum = Length/Spacing Parameter names in formulas are case sensitive. For example, if a parameter name begins with a capital letter, such as Width, you must enter it in the formula with an initial capital letter. If you enter it in a formula using lower-case letters instead, for example, width * 2, the software will not recognize the formula. Note: It is recommended that you do not use a dash (-) when naming parameters. You can use conditional statements in formulas to define actions in a family that depend on the state of other parameters. With conditional statements, the software enters values for a parameter based on whether a specified condition is satisfied. Conditional statements are useful in certain circumstances; however, they make families more complex and should be used only when necessary.
  • 28. Syntax for Formulas Revit architecture For most type parameters, conditional statements are unnecessary because the type parameter itself is like a conditional statement: If this is the type, then set this parameter to a specified value. Instance parameters are a more productive place to use conditional statements, particularly when they are used to set a parameter that does not vary continuously. Syntax for Conditional Statements A conditional statement uses this structure: IF (<condition>, <result-if- true>, <result-if-false>) This means that the values entered for the parameter depend on whether the condition is satisfied (true) or not satisfied (false). If the condition is true, the software returns the true value. If the condition is false, it returns the false value. Conditional statements can contain numeric values, numeric parameter names, and Yes/No parameters. You can use the following comparisons in a condition: <, >, =. You can also use Boolean operators with a conditional statement: AND, OR, NOT. Currently, <= and >= are not implemented. To express such a comparison, you can use a logical NOT. For example, a<=b can be entered as NOT(a>b).
  • 29. Syntax for Formulas Revit architecture The following are sample formulas that use conditional statements. Simple IF: =IF (Length < 3000mm, 200mm, 300mm) IF with a text parameter: =IF (Length > 35', ĂŹString1ĂŽ, ĂŹString2ĂŽ) IF with logical AND: =IF ( AND (x = 1 , y = 2), 8 , 3 ) IF with logical OR: =IF ( OR ( A = 1 , B = 3 ) , 8 , 3 ) Embedded IF statements: =IF ( Length < 35' , 2' 6" , IF ( Length < 45' , 3' , IF ( Length < 55' , 5' , 8' ) ) ) IF with Yes/No condition: =Length > 40 (Note that both the condition and the results are implied.) Examples of Conditional Statement Usage Typical uses for conditional statements in formulas include calculating array values and controlling an elementĂ­s visibility based on a parameter value. For example, you can use conditional statements to •Prevent an array parameter from taking a value less than 2.In Revit Architecture, arrays can only have an integer value of 2 or greater. In some situations, it may be useful to create a conditional formula that maintains an array parameter of 2 even if the calculated value is 1 or 0. With such a formula, if the calculated array value is 2 or greater, the formula retains the value. However, if the calculated value is 1 or 0, the formula changes the value to 2.
  • 30. Syntax for Formulas Revit architecture •Formula: Array number = IF (Arrayparam < 2, 2, Arrayparam) •Make muntins visible only when the number of window lights is greater than 1.For example, if you have a Lights parameter that you want to use to control the visibility of muntin geometry, you can create a Yes/No parameter like MuntinVis, and assign it to the Visible parameter on the Properties palette for the muntin geometry. Because the MuntinVis parameter is a Yes/No (or Boolean) operation, both the condition (IF) and the results are implied. In this example, when the condition is met (true), the MuntinVis parameter value is selected, and the muntin geometry is visible. Conversely, when the condition is not met (false), the MuntinVis parameter is cleared, and the muntin geometry is not visible. •Formula: MuntinVis = Lights > 1
  • 33. Visual Programing Processing See Manual Class exercise…. :Computational Design and Digital Fabrication P IDE ,integrated development environment • Write Code • Compile • Debug
  • 34. Visual Programing Processing Exercise 1 https://processing.org/examples/mo use1d.html void setup (){ … } void draw (){…} Size (a,b); Shape (a,b,c,d); Backgrund (r,g,b); frameRate (60); float x=20; Declare float x; X=20; Initiate :Computational Design and Digital Fabrication Mouse 1D. Move the mouse left and right to shift the balance. The "mouseX" variable is used to control both the size and color of the rectangles. void setup() { size(640, 360); noStroke(); colorMode(RGB, height, height, height); rectMode(CENTER); } void draw() { background(0.0); float r1 = map(mouseX, 0, width, 0, height); float r2 = height-r1; fill(r1); rect(width/2 + r1/2, height/2, r1, r1); fill(r2); rect(width/2 - r2/2, height/2, r2, r2); }
  • 35. Visual Programing Processing Example, free source: https://processing.org/examples/ :Computational Design and Digital Fabrication