SlideShare a Scribd company logo
1 of 36
Download to read offline
:
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_designanddigital_fabrication_visual_programing.pdf

More Related Content

Similar to 02_computational_designanddigital_fabrication_visual_programing.pdf

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
 
Scaling design with a design system
Scaling design with a design systemScaling design with a design system
Scaling design with a design systemSonja Krogius
 
Lesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptLesson_1_Graphics_Communication_Intro.ppt
Lesson_1_Graphics_Communication_Intro.pptPabloAntonioSanMarti1
 
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_recommendedpluginsPirouz Nourian
 
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
 
Classification Engineering graphics & design
Classification Engineering graphics & designClassification Engineering graphics & design
Classification Engineering graphics & designManish Gupta
 
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 CasesBrittany Allen
 
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 environmenteSAT Journals
 
A seminar report on mechanical designing software/tools
A seminar report on    mechanical designing software/toolsA seminar report on    mechanical designing software/tools
A seminar report on mechanical designing software/toolsmdnawab1995
 
History of Interaction Design
History of Interaction DesignHistory of Interaction Design
History of Interaction DesignDave Malouf
 
UI UX - The Bigger Picture
UI UX - The Bigger PictureUI UX - The Bigger Picture
UI UX - The Bigger PictureMayank Lambhate
 
Freehand Drawing VS Transformed Digital Drawing
Freehand Drawing VS Transformed Digital DrawingFreehand Drawing VS Transformed Digital Drawing
Freehand Drawing VS Transformed Digital DrawingMohd Syahmi
 
Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan RosuRazvan Rosu
 
04 computational design and digital fabrication intro to digital fabrication
04 computational design and digital fabrication intro to digital fabrication04 computational design and digital fabrication intro to digital fabrication
04 computational design and digital fabrication intro to digital fabricationAyele Bedada
 
Course curriculum, Department of Design, IITG- India
Course curriculum, Department of Design, IITG- IndiaCourse curriculum, Department of Design, IITG- India
Course curriculum, Department of Design, IITG- IndiaSandeep Supal
 

Similar to 02_computational_designanddigital_fabrication_visual_programing.pdf (20)

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
 
Digital design
Digital designDigital design
Digital design
 
Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)Cs 1023 lec 4 (week 1)
Cs 1023 lec 4 (week 1)
 
Classification Engineering graphics & design
Classification Engineering graphics & designClassification Engineering graphics & design
Classification Engineering graphics & design
 
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
 
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
 
A seminar report on mechanical designing software/tools
A seminar report on    mechanical designing software/toolsA seminar report on    mechanical designing software/tools
A seminar report on mechanical designing software/tools
 
History of Interaction Design
History of Interaction DesignHistory of Interaction Design
History of Interaction Design
 
livingin3d
livingin3dlivingin3d
livingin3d
 
UI UX - The Bigger Picture
UI UX - The Bigger PictureUI UX - The Bigger Picture
UI UX - The Bigger Picture
 
Freehand Drawing VS Transformed Digital Drawing
Freehand Drawing VS Transformed Digital DrawingFreehand Drawing VS Transformed Digital Drawing
Freehand Drawing VS Transformed Digital Drawing
 
Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan Rosu
 
04 computational design and digital fabrication intro to digital fabrication
04 computational design and digital fabrication intro to digital fabrication04 computational design and digital fabrication intro to digital fabrication
04 computational design and digital fabrication intro to digital fabrication
 
Course curriculum, Department of Design, IITG- India
Course curriculum, Department of Design, IITG- IndiaCourse curriculum, Department of Design, IITG- India
Course curriculum, Department of Design, IITG- India
 

Recently uploaded

Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Narsimha murthy
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfParomita Roy
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...Suhani Kapoor
 
Design Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William VickeryDesign Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William VickeryWilliamVickery6
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonDelhi Call girls
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpmainac1
 
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightCheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightDelhi Call girls
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdfSwaraliBorhade
 
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVAAnastasiya Kudinova
 
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Roomdivyansh0kumar0
 
NATA 2024 SYLLABUS, full syllabus explained in detail
NATA 2024 SYLLABUS, full syllabus explained in detailNATA 2024 SYLLABUS, full syllabus explained in detail
NATA 2024 SYLLABUS, full syllabus explained in detailDesigntroIntroducing
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130Suhani Kapoor
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)jennyeacort
 
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 nightCheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 nightDelhi Call girls
 

Recently uploaded (20)

Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...Revit Understanding Reference Planes and Reference lines in Revit for Family ...
Revit Understanding Reference Planes and Reference lines in Revit for Family ...
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
 
Design Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William VickeryDesign Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William Vickery
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUp
 
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightCheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf
 
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
 
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
 
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
 
NATA 2024 SYLLABUS, full syllabus explained in detail
NATA 2024 SYLLABUS, full syllabus explained in detailNATA 2024 SYLLABUS, full syllabus explained in detail
NATA 2024 SYLLABUS, full syllabus explained in detail
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
 
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
Call Us ✡️97111⇛47426⇛Call In girls Vasant Vihar༒(Delhi)
 
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 nightCheap Rate Call girls Kalkaji 9205541914 shot 1500 night
Cheap Rate Call girls Kalkaji 9205541914 shot 1500 night
 

02_computational_designanddigital_fabrication_visual_programing.pdf

  • 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
  • 25. Dynamo(.dyn) • Exercise on other nodes : 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