development simulator: development simulator: a tool for
TRANSCRIPT
Development Simulator:Development Simulator:Development Simulator:Development Simulator: A Tool for Architects and Urban Designers
by
Doddy Samiaji
A thesis submitted in partial fulfillment
of the requirements for the degree of
Master of Architecture
University of Washington
2001
Program Authorized to Offer Degree: Architecture
University of Washington
Graduate School
This is to certify that I have examined this copy of a master’s thesis by
Doddy Samiaji
And have found that it is complete and satisfactory in all respects,
and that any and all revisions required by the final
examining committee have been made.
Committee Members:
Professor Mark D. Gross, Chairperson
Professor George R. Rolfe, Committee
Date:
In presenting this thesis in partial fulfillment of the requirements for a Master’s degree
at the University of Washington, I agree that the Library shall make its copies freely
available for inspection. I further agree that extensive copying of this thesis is allowable
only for scholarly purposes, consistent with “fair use” as prescribed in the U.S.
Copyright Law. Any other reproduction for any purposes or by any means shall not be
allowed without my written permission.
Signature:
Date:
i
Table of ContentsTable of ContentsTable of ContentsTable of Contents
Page
Table of Contents i
Chapter 1: Introduction 1 1.1. Project Thesis .........................................................................................2 1.2. Development Simulator...........................................................................3
Chapter 2: Learning from Practice 4 2.1. Case 1: Center for Urban Design Studies, Bandung .................................4 2.2. Case 2: Development Design Group Inc., Baltimore .................................7 2.3. Research question................................................................................. 10
Chapter 3: Computer Applications for Urban Design 12 3.1. Designers need tools to support designing: ............................................ 12 3.2. Existing computer tools for designers: ................................................... 13 3.3. Computer tools for urban designers....................................................... 14 3.4. Lessons Learned ................................................................................... 16
Chapter 4: Urban Design Measurable Variables 18 4.1. Lot area and dimension......................................................................... 19 4.2. Floor area ratio ..................................................................................... 20
4.2.1. FAR, density and distribution.........................................21 4.2.2. FAR Transfer and Air Rights Development ......................21
4.3. Building envelope:................................................................................. 22 4.4. Building type and typical building floor ................................................. 23 4.5. Summary.............................................................................................. 24
Chapter 5: The Process 25 5.1. The “Urban Design Meter” ..................................................................... 25 5.2. Development Simulator Evolution ......................................................... 27
ii
5.2.1. CAD applications: ..........................................................27 5.2.2. Spreadsheet application: ................................................27 5.2.3. The Box maker: (December, 2000) ..................................28 5.2.4. The Lot Identifier: (January, 2001)..................................29 5.2.5. The Envelope Maker: (February, 2001)............................30
5.3. Prototype Testing ..................................................................................30
Chapter 6: The Development Simulator 32 6.1. System requirements ............................................................................32 6.2. User interface .......................................................................................33 6.3. How Development Simulator works .......................................................34
6.3.1. Starting Development Simulator .....................................35 6.3.2. Start AutoCAD ...............................................................36 6.3.3. Open a site ....................................................................37 6.3.4. Identifying lots ...............................................................39 6.3.5. Number crunching process.............................................40 6.3.6. Simulating building(s) and envelope(s) ............................41 6.3.7. Redoing the exercise.......................................................43
6.4. Working backwards...............................................................................44
Chapter 7: Application Scenarios 45 7.1. Architect’s scenario ...............................................................................45 7.2. Urban designer’s scenario .....................................................................48
Chapter 8: Assessment, Future Work and Conclusion 51 8.1. Assessment...........................................................................................52
8.1.1. General..........................................................................52 8.1.2. Specific ..........................................................................53
8.2. Future work..........................................................................................54 8.3. Conclusion ...........................................................................................55
Bibliography 56
iii
Appendix A: Visual Basic Application Codes 58
Appendix B: Final Presentation Board 71
iv
List of FiguresList of FiguresList of FiguresList of Figures
Figure 2.1. Internal team meeting discussing how the team will approach the project.
The project was writing urban design guidelines for Kemayoran District in
Jakarta. ...................................................................................................5 Figure 2.2. A team member creates simulation and at the same time checks calculation
of building height and area using a calculator. ..........................................5 Figure 2.3. Other team members prepare urban design guidelines document.
Simulations and calculations will be input in the document. .....................6 Figure 2.4. Urban Design Guidelines produced by Center for Urban Design Guidelines.
(PSUD, 2000) ...........................................................................................7 Figure 2.5. Dreamland High Tech Park, early scheme (B). (DDG, 1999).........................8 Figure 2.6. Dreamland High Tech Park, early scheme (A). (DDG, 1999).........................9 Figure 2.7. Dreamland High Tech Park, final scheme. (DDG, 1999) ............................10 Figure 4.1. An example of a lot in downtown Seattle, the lot’s dimension, and the lot’s
area .......................................................................................................19 Figure 4.2. Floor Area Ratio illustration .....................................................................20 Figure 4.3. Anatomy of a building ..............................................................................22 Figure 4.4. Typical building floor of Washington Mutual Tower, Seattle. Architect: KPF,
New York. (APA, 1998) ............................................................................24 Figure 5.1. The Urban Design Meter (Samiaji, 2000)...................................................25 Figure 5.2. The Box Maker prototype. ........................................................................29 Figure 5.3. The Lot Identifier prototype ......................................................................29 Figure 5.4. The Envelope Maker.................................................................................30 Figure 6.1. Development Simulator user interface contains several toolbars. ..............33 Figure 6.2. Starting Development Simulator...............................................................35 Figure 6.3. Main Table and User Interface of Development Simulator .........................36 Figure 6.4. Launching AutoCAD from Development Simulator spreadsheet.................37 Figure 6.5. Opening a site drawing (file) from AutoCAD. .............................................37
v
Figure 6.6. Development Simulator with main table and AutoCAD window. ................ 38 Figure 6.7. AutoCAD displays the lot name and area after Identify lot process. .... 39 Figure 6.8. User can input variables and start calculate development numbers. ......... 41 Figure 6.9. Users can request a drawing of the building based on development
calculations. .......................................................................................... 42 Figure 7.1. These 3D building masses are design options for a lot. Development
Simulator generated the drawings. ......................................................... 46 Figure 7.2. Main Table with results of total area for each lots. .................................... 46 Figure 7.3. Elevations of building options shows their profile along with information of
total building areas and number of floors................................................ 47 Figure 7.4. Architects can produce this quick sketches by tracing over the hardcopy
produced by Development Simulator. ..................................................... 47 Figure 7.5. Site that will be developed........................................................................ 48 Figure 7.6. Multiple configuration of buildings test the impact of different Floor Area
Ratio value............................................................................................. 49
vi
AcknowledgmentsAcknowledgmentsAcknowledgmentsAcknowledgments
I have been fortunate to carry out this project under the wings of Design Machine
Group, a new established design computing research laboratory in College of
Architecture and Urban Planning. At the time this thesis was written, Design Machine
Group is only one year old, sustaining flowers of design computing research talent
blooming. To be involved in DMG’s early works, along with 18 other fellow research
staff, is a privilege for me.
I have been more fortunate to have Prof. Mark D. Gross, director of DMG, as my thesis
chair. After only several month of his arrival in University of Washington, Dr. Gross
introduced me to a new realm in intersection of architecture, design and computing. I
became used to a new endeavor where architects write codes and do computer
programming - besides other tons of skills he should be having. I gathered from Mark
that by writing algorithms and creating design tools we can perfect the way we design.
Prof. George R. Rolfe, chairman of the Urban Design Program, acted as thesis
committee of this project. His involvement was central from inception. George’s
background as a developer and designer gave insights and contributed critical thoughts
to the project. He assisted this project to being applicable in practice.
During numerous presentations and discussions in DMG, fellow researchers gave
positive critiques to this project. They are: Prof. Ellen Yi-Luen Do, Prof. Brian
R.Johnson, Thomas Jung, Nien-tze Chen, Ken Camarata, Mike Denlinger, Dustin
Eggink, Robert Harris, Ariel Kemp, Nan-Ching Tai, Glaang Therakomen, Sitt
Therakomen, William Washington, Michael Weller, Brian Porter and Mamoun Sakkal.
This project was inspired by works of Development Design Group, an international
architecture and planning firm in Baltimore, MD. And also by works of Center for
Urban Design Studies, ITB an urban design research group in Institut Teknologi
Bandung, Indonesia. Ahsin Rasheed (principal of DDG), Mark Willard (now principal of
Mark Willard & Associates), Prof. Mohamad Danisworo (director of CUDS-ITB) have
worked on teams with me delivering projects which inspires this thesis. Throughout my
vii
visit in ITB, Prof. Danisworo even gave advices and directions to creation of this project.
Friends in CUDS-ITB performed tests and gave comments to the project’s prototype.
Although not substantially related to this thesis, allow me to thank the University of
Washington Information Literacy Project (UWILL), for appointing me working as their
team member. This position has facilitated and supported me a great deal during my
years as a graduate student. I thank John Holmes (UWILL coordinator), Jill McKinstry
(head of Odegaard Library) and Betsy Wilson (director of UW Libraries).
Last but not least, I thank my wife, Rachmi Juniarti (Mia) for her love, support and
never-ending patients during completion of this project. Not to mention as this thesis
was written, Mia and I were expecting our first child. Also to Andy Senoaji and Rini
Dewi Nurwita, my brother and his wife, for their moral support and some Microsoft
Excel’s tips and tricks.
viii
Dedication Dedication Dedication Dedication
This project is dedicated to both of my parents: Mohamad Sriyanto and Mursiti Sriyanto, for whom they have awarded their children the best opportunities parents
can give to learning and education.
1
Chapter 1:
IntroductionIntroductionIntroductionIntroduction
The entire built environment that we live in has reasons, motives, and rationales behind
its creation: The living room where we chat, sit and talk. The house where we dwell. The
buildings that we use as cover, protection and places of activities. The city where we
work, play, shop, learn. From the smallest entity or unit such as a room - which has
dimensions and configuration that are the results of furniture arrangement, human
dimensions, climate control to the house we live in whose dimensions are the outcome
of many reasons.
The rationale behind the configuration of house would determine, for instance, how
many rooms are there, what their dimensions are, how they are arranged on its lot. The
grounds of a city's morphology would be, the land and the natural boundary, the
carrying capacity of the land, the accessibility and transportation.
The reasoning behind design of all built environment should be strong, from the
smallest unit of dwelling spaces such as rooms, to large entity of dwelling spaces such
as buildings and even cities.
Buildings must not be merely aesthetically pleasing. They must also have an excellent
rationale behind their creation. Otherwise they would not be created. If it will not pass
the building code, it’s illegal to build it. If a building will not achieve financial goals;
consequently it is not feasible. If it does not meet the ideal human dimension
configuration, it is not buildable. Being aesthetically pleasing is as important as having
excellent design rationale. All designed creation must have good reasoning, thought,
rationale, justification beyond “good” or “bad”. This is true for rooms, true for buildings
and true for cities. True for architecture, true for urban design, and true for city
planning.
2
1.1. Project Thesis
The project is about reasoning behind design. Architecture and urban design is about
making good, solid design decision using excellent information and calculation. The
beauty of a form is not necessarily just an aesthetic judgment but also the result of
reasoning. This is my thesis. In the scope of architecture and urban design:
(Urban) Design is not always and only about aesthetic values anymore, but
rather how to orchestrate the fit of buildings and environments into the city fabric,
how they achieve goals and meet city regulations, and how the numbers work to
accomplish development of the project. Architects and urban designers are
responsible for satisfying these whole aspects - so the buildings are not only
beautiful, but also they can be built.
In a pragmatic way, the thesis project is about the creation of a support device - a
computer-aided application to aid decision-making in architecture and urban design.
This thesis is not a design project with building plans, elevations and perspective
drawings. Rather the project aimed at developing a tool, which helps architects and
urban designers at early stages of design, well before they can draw building plans,
elevations or perspective drawings. A tool that operates at this early stage can inform
architects and urban designers with more useful data, on how to make better plans,
elevations or perspectives. It will support architects and urban designers with decision-
making information process on early design steps - prior to sketching plans, elevations
or sections.
The main focus of this urban design decision-making support system is an exploration
of quantifiable variables that are the basis of every urban design project.
This project aims to reveal the impact of development numbers in three-dimensional
building form. Studying these results in the early stages of design will empower
designers to work within guidelines that make their design more directed and
controlled. Therefore it reduces guessing and speculation, which are hazards of using
only intuition to project the form of a building.
3
1.2. Development Simulator
Development Simulator is a decision making support system, which helps urban
designers and architects, along with developers, city officials do urban design projects.
It serves as a two-in-one tool: a calculation tool and a form-making tool. As a calculating tool, it helps designers do calculation, computation and estimation.
Given criteria, it helps designers search for the optimal result.
As a form-making tool, it gives direction to building form driven by the results of
calculation, computation and estimation.
Combining these two features, Development Simulator serves as a tool that reduces
labor intensive, repetitive and time consuming tasks. As a result, architects can
optimize their effort and time to design effectively.
4
Chapter 2:
Learning from PracticeLearning from PracticeLearning from PracticeLearning from Practice
This project is inspired from the author’s experience taken from real projects done in
professional offices from 1995-1999. These offices are Center for Urban Design Studies
in Bandung, Indonesia and Development Design Group in Baltimore, Maryland. The
following background experience motivated the research questions of this thesis project.
2.1. Case 1: Center for Urban Design Studies, Bandung
From November 1995 to November 1997 I was appointed as a research staff and IT
Coordinator at the Center for Urban Design Studies ITB, known as PSUD – ITB, an
urban design research group affiliated with the Architecture Department, Institut
Teknologi Bandung in Bandung, Indonesia. During this appointment I was exposed to
mid to large-scale urban design projects in Jakarta and Surabaya.
Most of these urban design projects are producing sets of urban design guidelines for
historic districts and large-scale-urban-design new development, known as super
blocks.
5
Figure 2.1. Internal team meeting discussing how the team will approach the project. The project was writing urban design guidelines for Kemayoran District in Jakarta.
Creating these guidelines involves making a digital map of the site, surveying the site,
finding optimum solution or revising land use and regulations, planning long term
scenarios and simulating the extreme application of regulations. Rigorous calculation
and computation were made to make sure that the guidelines we were writing would be
applicable in practice. Three-dimensional visualization of these exercises examined the
feasibility of the guidelines.
Figure 2.2. A team member creates simulation and at the same time checks calculation of building height and area using a calculator.
6
In these projects, my role was generating three-dimensional simulations using a
drawing program to illustrate the results of computation done by other team members.
The simulation must correspond with the calculations. Then, at an internal planning
meeting, the four to six member teams of architects and urban designers, can compare
the sets of exercises and find the optimal option.
At each stage, the team met with the client (usually the city government) consider the
result and decide if the team’s chosen configuration matches the client’s aspirations. If
so, then the team can pursue the next level of detail: writing the building development
code and checking the results with another simulation. Now the simulation can use
specific design elements as if it were commissioned to an architect. If the client is not
satisfied with the work, the team can revisit the exercises and perform other
calculations and construct new visual simulations.
In some cases, a client may be unable to form an opinion. On these projects we had to
provide multiple sets of calculation and simulation to inform and educate client. This is
necessary to show the impact of possible decisions. But it adds more time and effort to
visualize more options.
Figure 2.3. Other team members prepare urban design guidelines document. Simulations and calculations will be input in the document.
As members of the team who are in charge of looking after both simulations and
calculations, we felt the burden of this process. This repetitious and labor-intensive
task takes days and weeks.
7
As an Information Technology Coordinator my task was also maximize productivity of
the team, employing essential hardware and software that helps them do the job. I
began to seek a way to automate these calculations while providing a visual simulation
of the 3D form. At the time it was a challenge that I could not overcome.
Figure 2.4. Urban Design Guidelines produced by Center for Urban Design Guidelines. (PSUD, 2000)
2.2. Case 2: Development Design Group Inc., Baltimore
For the period of November 1997 until June 1999, I served as an architect and junior
urban designer working for Development Design Group (DDG) in Baltimore, Maryland.
Development Design Group is an international architecture and planning firm that does
8
projects in North America, Asia, Africa and Middle East. With more than one hundred
employees consisting mostly of architects, DDG’s work is typically commercial and
residential, ranging from designing a shopping center in Johannesburg to planning new
development in West Java. In my position in this office, I worked with several urban
design teams consisting of architects, planners and landscape architects delivering
large-scale projects for private clients.
Most of DDG’s projects that I worked on were interesting, not only because I had
opportunities to exercise my design skills but also the chance to meet new people and
learn new urban design techniques. The project that intrigued me most was
”Dreamland High Tech Park” in Cairo.
Figure 2.5. Dreamland High Tech Park, early scheme (B). (DDG, 1999)
This project is a part of the whole “Dreamland” series project, a large-scale planning
and architecture project comprised of residential communities and resort, shopping
center and amenities not far from Cairo. This project aim is laying a plan for high tech
office park with rental offices and an international hospital.
We were given an eleven Ha site with direction to develop options and simulations for
the land. Working as a member of a seven-person-urban-design team, I was in charge of
doing area calculations and testing these calculations using three-dimensional
visualizations.
9
The first step was to create land divisions and find optimum lot sizes for each building.
The site was divided into blocks using internal and external streets. Each lot was then
assigned a building use. Sketches of options were made until a final scheme was
selected.
Figure 2.6. Dreamland High Tech Park, early scheme (A). (DDG, 1999)
Afterwards, I digitized each proposed block plan and inserted the plans in Bentley
Microstation, a drawing program. With careful attention to detail, I created a new block
plan, which was basically the digitized version of the final scheme. After finding the
exact lot area using the drawing program, I input these lot areas to a spreadsheet
program. The next step was calculating the building area and determining how many
floors each building will be allowed to have. The number of floors will in turn determine
the total development area, which clients use to run financial analyses of the project.
Numerous options of these calculations were made. Parallel to the spreadsheet
calculation result, I simulated the form of the buildings. At the end of these exercises,
the team met to discuss these configurations. At the time, it was not difficult, as the
team had established common goals: making these rental offices as spread out as
possible, use lower floor area ratios and build low rise instead of high rise, to respect
the suburban setting.
10
Figure 2.7. Dreamland High Tech Park, final scheme. (DDG, 1999)
After these stages were completed, the team made colored drawings of the simulations
and met the client in Cairo. The goals of the Cairo meeting were to get client approval
for the selected scheme. However the client suggested a different approach, which did
not match with the team’s judgment.
One week after the trip, the team met again in Baltimore and we decided to find ways to
accommodate both the team’s and the client’s interest by redoing the calculation along
with simulations. This was the tough part of the project. I went back to the spreadsheet
to revisit the numbers. Using the three-dimensional CAD program, Microstation
TriForma, I spent hours creating new simulations. It was a repetitious and labor-
intensive task.
Finally, after the team spent many hours working on new configurations, we came up
with a scheme that delighted the client. After this stage was completed we then
continued to create building plans and sketch elevations with perspectives. My job was
then taking each building to the design development stage.
This interesting experience sparked my interest in an easier visualization and
calculation tool to help architects and urban designers. This reminded me of my earlier
experiences in Bandung at Center for Urban Design Studies.
2.3. Research question
The two experiences in Bandung and Baltimore struck me and built a stronger desire
for an easier modeling and calculation tool to help architects and urban designer do
11
urban design projects. These inspired me to develop a three dimensional design
simulation tools linked to a calculation tool.
Both the Bandung and Baltimore offices had something in common. These are firms
that do urban design and planning projects. These have the resources and tools,
hardware and software including manpower trained to utilize not only their hand design
skills but also to employ the power of CAD. However the CAD software, regardless
whether Microstation or AutoCad, were applied only as drawing tools. The calculation
process, which deals more with reasoning and decision-making were done in a separate
application, the spreadsheet. The research question of this project, as inspired from
Baltimore and Bandung is: how we can create a tool for architects and urban designers which helps them visualize and calculate, at the same time and avoid from repetitious and labor intensive tasks.
12
Chapter 3:
Computer Applications for Urban DesignComputer Applications for Urban DesignComputer Applications for Urban DesignComputer Applications for Urban Design
This chapter will discuss why designers need sophisticated tools to help them do their
jobs, besides traditional pen and pencil (Section 3.1). Section 3.2 presents how existing
computer applications are used in current practice. Section 3.3 talks about computers
tools created specifically for urban design and lessons learned to build this application
These discussions are important to map Development Simulator in the constellation of
design tools, its similarities with existing tools.
3.1. Designers need tools to support designing:
The complexities and the difficulties that designers encounter while designing built
environments force them to seek new tools and methods. These tools and methods will
help them to address multifaceted problems in the design process. Modern tools such
as computer software and hardware are no different in this regard than traditional tools
and methods. Use of t-squares, pencils, circle templates, drawing boards, and
calculators, has the same principle as using drafting software and spreadsheet
applications to aid designers do design. As hardware and software are developed with
more powerful abilities to assist design, involving of these tools in the design process
becomes more important. In most cases, the role of computer aided design in projects is
crucial, as the projects present difficulties and complexities that designers cannot solve,
using only their hands and intuition.
Current design projects demand robust application to calculate and simulate. Clients
call for projects to be done in less time and with higher quality deliverables than before.
13
Major architectural projects are no longer about design of a house plan with elevation
and perspectives, but the design of complex buildings, blocks and super-blocks1.
Architects and urban designers are increasingly using computer tools to enhance their
designs improving their decision-making in urban design. Not only does computer
application allow more precision and error control, but also it relieves designers from
doing repetitious and labor-intensive tasks. The uses of these tools for tedious work
complement the architect’s intuition and creativity.
3.2. Existing computer tools for designers:
The application of existing computer-based tools in design has had tremendous
influence in the professional community of architects and urban designers. These tools
are becoming indispensable as architectural tasks and projects can no longer solely rely
on designers’ hand and intuition. Based on practices in professional offices and
observing how computer tools influences projects, here are categories of computer tools
that have helped architects and urban designers:
− Tools for enhancing presentation: The computer generates consistent hard lines drawings, photo realistic
renderings, help generate high quality of graphics with multiple typefaces,
animation and multimedia.
Examples of these tools are: 3d rendering software, graphic design tools, word
processors and multimedia applications.
− Tools for improving the design and drafting process: Using drawing applications, architects can make precise drawings, accurate
geometric modeling, easily arraying and copying lines and objects neatly and
quickly. These are what have traditionally been called computer aided design
applications.
− Tools for analysis and calculations: The computer helps designers do complex calculation with design variables that
would take a designer days or weeks to do by hand. Spreadsheets and other
calculation tools are examples of these applications.
1 Super-block is a term for large-scale urban development projects. This term was popular in North America during 1980s. Nowadays architects and urban designers in United States use “large scale development” rather than the term “super block”. In Southeast Asia, this term refers to large-scale high-density projects in an urban setting.
14
− Keeping track of management of project: Using project management applications architects can administer multifaceted
design projects, which involve multiple people and resources. Project
management software helps architects keep track of time and resources and
allocates them at the right place and time.
− Providing organized data and information: The computer helps designers by providing an array of information, for design.
By accessing these available data, architects can save time and effort doing
surveys and focus more on design. Such examples are: Geographical
Information System, database of project reference files, databases of building
standard dimensions and material specification.
− Facilitating collaboration and communication: By connecting multiple parties and stakeholders of a project, computers help
designers work together with other designers or clients in different places at the
same time. They help communicate design and results. The applications
include: electronic mail, file transfer, internet meeting and other online
collaboration tools. The Internet has also had a tremendous influence on
innovative web based applications. (Augenbroe, Eastman, 1999,p.xi).
3.3. Computer tools for urban designers
Urban Design lies between the disciplines of architecture - which has been losing its
influence on civic places and public space due to the parcel by parcel development –
and planning – planning’s tendency to deal with numerically based policy has had
undesired effects on urban form (Moudon, 1999, “Urban Form” Lectures). As a field that
sits at the intersection of architecture and planning, urban design has been gaining
more attention because:
“Decisions about growth patterns are made from two-dimensional land –use
plans, without considering the three dimensional relationship between buildings
and spaces.”(Trancik, 1986)
If urban design sits between both architecture and planning so should its tools.
Not as many tools have been created for urban design as for architecture and planning.
Several attempts have been made during the past 20 years to build decision support
tools for urban designers and architects. Some were prototypes others were real tools,
15
all were used in real architecture and urban design projects. These related works give
some lesson to how Development Simulator will be developed:
1. Interactive Urban Models (Mc.Cullough, 1993).
This application combines CAD tools and simulation tools with GIS maps and
data. The goal of this project was demonstrating practical possibilities for
applying computer applications in urban design. This project shows how we can
combine multiple tools in one.
2. Electronic Tool for Urban Design Analysis (Skauge, 1993).
This is a tool for urban designers to use in analyzing urban architectural
qualities. The project focuses on applying traditional methods and theories of
urban designers rather than developing new computer techniques. This project
brought useful lesson in visualizing how urban design work.
3. Program Generator Using Linear Programming (Devlin, 1995)
This is an effort to form feasibility analysis to inform the design process. This
thesis project is aimed towards architects and private sectors involved with real
estate development and urban design. This project shows how to implement a
decision support system in design process.
4. URBAN5 (Cross, 1977, p.43).
Developed by Negroponte and Groisser, this project is an early approach in
creation of computing tools for urban design. This tool allows designer to state
his design criteria and to see the design evolved, which are similar to the idea of
Development Simulator.
5. ARCHPLAN (Schmitt, 1992, p.90)
A well done tool to visualize site, cost and massing module of building. Although
geared towards architecture cases rather than urban design or planning cases,
Archplan interface is a perfect example and excellent case that can be applied
towards Development Simulator.
6. DISCOURSE (Cross, 1977, p.150)
This is a program for manipulating data in city-planning problems. This
application handles a variety of information about geographic area and rules for
how the information is transformed. Designers can store, retrieve and modify the
information and use it to explore planning policies and the effects of
environmental changes. This excellent tool provide a good model of an
application which visualize the impact of decision making (in planning).
16
3.4. Lessons Learned
These tools, regardless of whether they are prototype or working models contributed to
the Development Simulator. Using modern hardware and software, we have better
opportunities to build more powerful tools. However we can apply the same theories
and methods from previous cases to shape this tool. Some lessons that we are learned
from earlier tools include:
� There are not as many commercial tools created specifically for urban design process as for architecture and planning processes. Commercial
packages do drafting and improve presentation. Not as many as applications
support decision-making.
� Use of measurable design criteria. Why measurable? The very nature of
computer operations means, “the world of reality must at some point in time be
reduced to binary form” (Cross, 143). We need to analyze design process and
investigate quantifiable criteria, which have effects on design. These criteria will
be used as factors and variables in the application.
� Interactivity. The urban design process is not linear. It is about making
informed decisions, which involves multiple stakeholders with multiple agendas
(Gross et al., 1993, p.373). Urban design decision-making is information-
intensive. Generating numerous design options using criteria and information
should be effortless. It should be easy to explore alternatives. Therefore, the tool
should be as interactive as possible.
� Numerical based. Urban design lies between architecture, which is driven by
aesthetics besides building performance, and planning that depends mostly on
numerical based policies. Based on numerical calculation this tool must bridge
architecture and planning.
� Visualization and graphical. In order to communicate and explain design with
clients and to other parties involved, building masses must be presented three-
dimensionally. Visualizing using 3D simulation will not only make a clear
picture of the design, but also improve the design process.
17
� Integration. Development Simulator employs both calculation tool and form
generating tools. It integrates these applications, and provides ways for them to
communicate information.
18
Chapter 4:
Urban Design Measurable VariablesUrban Design Measurable VariablesUrban Design Measurable VariablesUrban Design Measurable Variables
Before we look at the algorithm and implementation of the Development Simulator, let
us analyze how urban design is done. The first step is looking at variables that
influence urban design. These criteria are those that need to be taken in to account
when we do urban design. They are foundations of urban design. These values ought to
be measured at early stages of design.
There are many urban design variables. We could write a book discussing about urban
design variables. Here are some examples of those variables:
View corridor, land use and zoning, streetscape, floor area ratio, parking
standard, building envelope, setback of building, footprint of building, open
spaces, density, skyline and building height, building coverage, linkage and
accessibility, elevation and architectural articulations.
The list continues; urban design is complex. We need to select few key in variables in
order to simplify our task. I selected four essential variables, which are:
1. Lot area and dimension; 2. Floor area ratio; 3. Building height; 4. Building type.
These variables are selected because:
− They are quantified and can be easily measured in and urban design;
− They are given, either from urban design guidelines or from properties of the
site;
− Architects and urban designers typically utilize these variables; in small to
large-scale projects.
19
4.1. Lot area and dimension
A lot or a site is a portion of land, part of a block2, on which the owner has legal rights
to build, in accordance to the zoning and ordinance. A lot has an area, which
determines whether it is feasible to build a particular type of building on the lot. Areas
vary from small to large, and so does building footprint size. If a building footprint size
is equal to or smaller than the lot area, the building can fit in the lot area. And on the
contrary, if a lot size is much larger than the building footprint area, the building may
fit, yet may be inefficient and may violate the building coverage guidelines.
If we do an in depth analysis of lot area, we will find that several lot with different
configurations may have the same areas. That is why, using area (only) cannot
determine if a certain type of building can fit inside the lot, or not. For that reason, we
introduce another criterion that is derived from the lot properties, which is lot dimension.
Dimensions are the distances between the lot’s corners, along perimeter of the lot.
Figure 4.1. An example of a lot in downtown Seattle, the lot’s dimension, and the lot’s area
Analyzing other selected variables we will see that lot area plays a major role in defining
the floor area ratio variable, which will be discussed next.
2 See definitions in figure Anatomy of a building
20
4.2. Floor area ratio
“Floor area ratio” is the relationship between the total usable areas of a building,
compared to the area of the lot in which the building sits. Floor Area Ratio or “FAR” is
expressed by the formula:
AreaLot area building usable Total FAR =
“Floor area ratio” or FAR, is expressed by numbers such as 1.1, 7.8, or 3.0. Figure 4.4
shows FAR values of different buildings built on the same site. A building that occupies
a quarter part of its site will have an FAR of 0.25. The same building with two stories
has an FAR of 0.25 x 2 = 0.5. With three stories, the building will have FAR of 3 x 0.25
= 0.75 and so on.
An FAR of 1.00 means that the same building (which occupies 0,25 part of the site) will
have four stories; or it might be that the building covers all of the site and have only one
story.
Figure 4.2. Floor Area Ratio illustration
The FAR value permitted typically is stated in the urban design guidelines and zoning
ordinance written by city government. These guidelines will specify maximum FAR for
21
specific sites. From this, and the lot size, we can calculate the maximum area of a
building that can be built on that site. We will know the maximum usable area of a site
that has, for instance an FAR of 5.5, and a lot area of 125,000 square feet. We know the
FAR and the area of the site so we calculate:
125,000area building usable Total 5.5 =
Total building area (maximum) is = feet square 687,500 125,000 5.5 =×
4.2.1. FAR, density and distribution
We can use FAR variables, to study the density of a particular site, districts or even a
city. Higher FAR means that more building area can be built. In other words, higher
FAR means higher density. For lots, which the same areas, higher FAR means a greater
number of building floors and taller buildings.
Using average FAR and total FAR, urban designers working for the city, can distribute
density using FAR values. For instance design guidelines might allow higher FAR in
downtown areas, as opposed lower FAR for rural areas. FAR distribution can be mapped
with different colors. We could also do 3D simulations for FAR distribution simulations.
4.2.2. FAR Transfer and Air Rights Development
In high-density cities, FAR is key variable. Developers prefer developing projects in
higher FAR areas, because the buildable area is directly proportional with the financial
return (profit) they can get. Cities give incentives to developers who build or improve
public spaces services, developers are rewarded with higher FAR.
If the maximum FAR of a particular district is reached, developers may “save” the
unused FAR to be “transferred” to other projects in sites which still has room for
additional FAR.
In North American cities and South East Asian cities, not only can FAR be transferred,
but also left-over FAR can be utilized to build commercial structure over streets or open
spaces. This practice is called “air rights development”. Air rights development is
popular not only because it utilizes spaces (that developers view as “unused”) such as
streets, plaza, or open spaces; moreover, it also links lots and blocks with retail and
bridges for pedestrian.
22
4.3. Building envelope:
Another urban design measurable criterion is the building envelope (See Figure 4.3.
Anatomy of a building.)
Figure 4.3. Anatomy of a building
Building envelope defines the three dimensional boundary of a building. The envelope
will guide the form of the building, in which cannot exceed building envelope. Exceeding
the building envelope violates the urban design guidelines.
The building envelope style varies in cities. In cities where development is tight (i.e.
distance between buildings are relatively small), the envelope guides several setbacks
23
along the building tower3. The envelope guides the form of a building to setback several
distances, with increased setbacks, as building height gets higher. As a consequence,
sunlight can penetrate to streets. A major effect of the building envelope is limiting the
building height. Maximum building height is determined by the top boundary of
building envelope.
The relationship between building height and number of floors can be regulated in
different ways. For example:
• In Jakarta, the maximum building height is determined by maximum number of
building floors. If the maximum number of building floor for a particular site is, for
example, 30 (PSUD, 2000), then the maximum building height is set to 30 times the
floor-to-floor height. Floor to floor height ranges from 3 meter to 4 meter. The total
height of a building built on this site would not exceed 120 meter.
• Seattle, unlike Jakarta, uses another standard. Building envelope is determined by
building height in feet (City of Seattle, 2000). Instead of using number of floors to
determine maximum building height, Seattle zoning ordinance uses feet as units. So
Seattle zoning ordinance will state 400 feet for maximum building height to regulate
maximum building height of 120 meter. Using this height, we can build roughly 30
stories building (using 13 feet as floor-to-floor height)
4.4. Building type and typical building floor
As a result of space layouts, furniture arrangement, structural constraints, utilities and
infrastructure, we can identify various building types. Each building type tends to have
approximately the same floor plate dimensions. These dimensions will vary somewhat
depending on design and programs; however, it uses standard of building type. An
office tower, for instance will not have a width of more than 180 feet. (If it exceeds 180
feet, then the floors will have ineffective, unleaseble space, which cannot be justified in
terms of efficiency and financial payback). Most office buildings will have a width
dimensions of approximately 120 feet.
The same principle applies to other building types such as apartments and hotels.
Referring to the anatomy of a building figure (figure 6.6), we see that the tower part of a
building will have the same floor dimension from bottom to top. That is why these tower
3 A good example of setback building envelope is in New York City. Tall buildings must have a setback for every 10 floor. In a dense city with tight development, this guideline allows sunlight to reach all building windows including the street level.
24
floors are called “typical floors”. The dimensions and area are nearly the same for each
floor. Small variations may exist in response to elevation and structural considerations;
nonetheless they will not be extreme.
Figure 4.4. Typical building floor of Washington Mutual Tower, Seattle. Architect: KPF, New York. (APA, 1998)
4.5. Summary
We have explored four basic measurable variables that are important in urban design.
Development Simulator uses these criteria. Of course there are other variables that we
could incorporate in the future.
25
Chapter 5:
The ProcessThe ProcessThe ProcessThe Process
Equipped with four important urban design measurable variables: the lot properties,
the FAR, the building envelope and the building type; I begin investigating ways to
approach the project. This chapter discusses the process from prototyping, testing and
evaluating.
5.1. The “Urban Design Meter”
The work continues by building prototype using technologies that can be employed for
Development Simulator. The project: Urban Design Meter was the first attempt at
creating a prototype tool, which has both a calculation and form visualization function.
Urban Design Meter enables architects calculate while seeing the impact of these
decisions in building form. The project is available at:
http://students.washington.edu/doddys/udmeter/case.html
Figure 5.1. The Urban Design Meter (Samiaji, 2000)
26
The project used two technologies:
• VRML (Virtual Reality Markup Language) to display the 3D building form in
virtual world and;
• JavaScript language, which was used to create an application that performed
calculation.
The goal of the Urban Design Meter was to enable the designer to perform development
calculations - finding the maximum area that can be built in a lot according to specific
FAR, designated building type, and numbers of floors. At the same time the designer
can also see the impact of these calculation on building form.
In practice, each parts of the application work well by itself. The VRML displays the
geometry and gives designers the opportunity to study the model, examine the model
from different viewpoints and performs walkthrough functions. The JavaScript, which
was used to do forms and functions to calculate development numbers, worked well
also. Nevertheless the two parts of the Urban Design Meter did not communicate well,
and works well, only if the two functions – calculation and visualization- performed
independently.
From this project I gathered some useful lessons:
• Both the form-simulation tool and calculation tool must be able to send or
receive values to each other. Designers can take advantage of this feature
(having the VRML console display 3D form corresponding to their calculation
results).
• Urban Design Meter does not support designers to overlay the computer
generated drawing in hardcopy. The user can only see a model on the screen but
cannot print or edit the model. The print and edit functions are crucial because
designers need to work both on the screen and on the drawing board. Urban
Design Meter gave no opportunity for designers to open or input their own
model.
• Given these limitations, I determined that the environment of VRML world with
JavaScript were unsuitable as a platform in Development Simulator
Despite its limitations, Urban Design Meter conveyed the basic idea of Development
Simulator.
27
5.2. Development Simulator Evolution
Learning from The Urban Design Meter project, I stepped back and surveyed several
existing software and determined whether they would be appropriate for building this
application. The reasons for looking at existing tools were:
• Designers are familiar with these tools;
• It will be easier to deploy and implement Development Simulator in practice
because designers have acquainted using its components.
I listed a number of CAD applications along with spreadsheet applications that
designers have been using especially in the offices that I have worked for. They are:
5.2.1. CAD applications:
− AutoCAD. AutoCAD is a drawing program created for architects, designers, civil
and mechanical engineers. It helps designers do 2D and 3D drawings. Since first
released in 1982 under the name of Micro CAD, AutoCAD has the most market
share in the AEC4 industry (Sutphin, 1999). The maker’s company, AutoDesk,
claims that most CAD users use AutoCAD. Since AutoCAD Release 14,
AutoDesk has developed capabilities that allow this product to be customized by
users or software developers. Customizing can be done using another
programming environment: Auto LISP, ObjectARX and Visual Basic for
Application (VBA).
− Microstation SE and Microstation TriForma is a CAD application by Bentley.
Microstation SE is a computer aided design application that helps a designer
create a 2D drawing. TriForma is for 3D. Using the Microstation Development
Language (MDL), designers can develop and customize new applications.
5.2.2. Spreadsheet application:
− 1-2-3. Although it was not the first spreadsheet application created, 1-2-3 is the
first successful integrated spreadsheet application. Lotus, the makers of 1-2-3,
created 1-2-3 with a powerful electronic spreadsheet, graphics and database
features. (Walkenbach, 1999). After the release of Windows 3.0 by Microsoft and
as Windows changed the way PC users work, Lotus was slow to adapt 1-2-3 in
this environment. This caused 1-2-3 to lose market share and its main
competitor, Excel became the leading spreadsheet in the Windows environment.
4 AEC stands for Architectural, Engineering and Construction
28
− Excel. Like 1-2-3, Excel is a spreadsheet application, which integrates graphs,
chart and database features. Developed later and based on Microsoft Multiplan
application by Microsoft, Excel has lured many users because of its easy to use
user interface. Excel works in Windows and can be customized. Developers can
customize Excel using Visual Basic for Application.
Based on these considerations, I selected AutoCAD (version 15 or AutoCAD 2000) and
Excel (version 9 or Excel 2000) as the existing application as components of
Development Simulator. They are:
− Market share of these products - more designers are using these applications,
− Programmability - both applications, can easily be customized using the same
programming environment. Both AutoCAD and Excel can be customized using
VBA.
− Support - 1-2-3 was not chosen for Development Simulator because Lotus will
no longer support 1-2-3.
With AutoCAD and Excel as the selected existing software that Development Simulator
will be based, I started learning Visual Basic for Applications and tested several
prototypes.
5.2.3. The Box maker: (December, 2000)
Box maker is the first application I wrote using Visual Basic Application to test
connectivity of Excel and AutoCAD. Using this application, we can input box
dimensions in an Excel sheet. With a click of a button, these box dimensions are sent to
AutoCAD and used to draw a three-dimensional box. (See Figure 5.2).
29
Figure 5.2. The Box Maker prototype.
5.2.4. The Lot Identifier: (January, 2001)
Unlike Box maker, in which have Excel sends variables to AutoCAD, the Lot Identifier
(see Figure 5.3) works the other way. AutoCAD sends lot areas to the spreadsheet
application.
From polygons of lot lines drawn in AutoCAD, this application takes computes areas
and input them to designated cells in spreadsheet. At the same time, the text of lot
names and lot areas are displayed in the center of the lot lines.
The method “Identify lot” later became one of Development Simulator methods.
Figure 5.3. The Lot Identifier prototype
30
5.2.5. The Envelope Maker: (February, 2001)
In Envelope Maker, after identifying lot lines in AutoCAD, the user can input FAR
values to be calculated and simulated in 3D. A box is extruded on the lot line to
represent the building envelope as a result of FAR calculation. Also, using this
prototype the user can perform AutoCAD’s view functions from Excel. Using command
buttons on a spreadsheet, users can zoom in and out, and obtain isometric views of a
particular lot. Getting the prototype to do these simple calculations, simulation, and
view functions were giant leaps for development of this project. These methods are the
basics of the next steps. (See Figure 5.4).
Figure 5.4. The Envelope Maker
5.3. Prototype Testing
During the month of March 2001, I have a chance to visit Center for Urban Design
Studies in Bandung to present a prototype of Development Simulator. During this visit
and presentation the staff of CUDS tested the prototype.
The response from these potential users of Development Simulator was encouraging. I
noted several interesting comments:
1. Development Simulator (if developed further) will definitely save time and effort
for doing large-scale projects such as writing Urban Design Guidelines for a
district in the city of Jakarta. Tables of lot area, FAR and their calculation can
31
be generated as easily as entering numbers at the same time as the 3D forms
were constructed.
2. A staff member asked if we could include the carrying capacity of land as
another measurable variable. That way, FAR distribution would not only be
based on urban and suburban setting only, which sometimes does not relate
proportionally with the carrying capacity of land.
3. Some staff member are way behind in doing the projects. They still used mini
calculators and do all calculation manually. Reacting to The Development
Simulator they saw that this tool would help them avoid human error. User can
be prevented from inputting lot areas manually, which is one chief source of
errors.
32
Chapter 6:
The Development SimulatorThe Development SimulatorThe Development SimulatorThe Development Simulator
This chapter will take an in-depth look at Development Simulator, from software and
hardware requirements to explaining how the application works. The application of this
tool in architecture and urban design scenarios will be presented in Chapter 7. Section
1.1 will discuss the minimum hardware and software configuration needed to allow
Development Simulator to work. Section 1.2, 1.3, 1.4 gives a walkthrough inside
Development Simulator, showing the methods step by step along with the
corresponding VBA code.
6.1. System requirements
Development Simulator is a set of macro that runs inside an Excel spreadsheet. The
application runs on a Personal Computer (PC) with Windows operating system.
Development Simulator runs with these minimum hardware and software
requirements:
1. Personal Computer (PC) with Intel Pentium processors running Windows 2000
or Windows NT operating system with a minimum RAM of 64 MB (Windows
2000 with 128 MB memory is recommended);
2. Microsoft Excel 2000 with Visual Basic Application enabled5;
3. AutoCAD 2000.
Throughout development, I used my PC, an Intel Pentium II 266 notebook outfitted with
196 RAM and 2 gigabytes of free hard drive space running Windows 2000 with service
pack 1, Excel 2000 and AutoCAD 2000. Development Simulator (Release 1.00) ran
seamlessly during several tests and presentation.
5 A typical installation of Microsoft Excel 2000 (note: not minimum installation) should be providing VBA capabilities to this application.
33
Using AutoCAD 14, this application will not run, because AutoDesk did not fully
support VBA until Release 15 (AutoCAD 2000) (Roe, 2000). Neither does Excel 97 (an
earlier version of Excel 2000), which does not have enhancements that Microsoft
included Excel 2000. (Walkenbach, 2000)
6.2. User interface
Figure 6.1. Development Simulator user interface contains several toolbars.
Figure 6.1 shows the user interface. The buttons that control the application are divided
into several “toolbars”. They are indicated in the callout lines in figure 6.1.
34
− Launch AutoCAD: This tool opens AutoCAD 2000 and establishes communication and interaction
with Excel.
− Identify Lots: This tool will make this application record all lots that are to be developed. The
lot name and area will appear as text in the center of each lot. Later on, the lot
properties (dimensions, positions and area) will be transferred from AutoCAD to
Excel.
− Draw Envelope: Renders the envelope line provided by maximum building height data from Excel
in AutoCAD. Envelope will be drawn in red dash dot lines to distinguish them
with building lines.
− Draw Podium: Draws base of building with number of floors corresponding to podium data in
Excel.
− Draw Tower: Draws tower of building with number of floors corresponding to tower data in
Excel.
− Zoom commands: Performs basic AutoCAD zoom commands. Zoom all will do zoom to all of
drawing, zoom window will zoom to a picked area; zoom previous opens the
preceding view.
− Isometric: Performing isometric views of drawing in AutoCAD. Isometric 1,2,3,4 are
different isometric view angle.
− Hide and Regen: Hide will hide all lines that are not visible because there are objects in front.
Regen will redraw and cleanup lines.
− Clear numbers: Deletes numbers and variables in Excel worksheet
6.3. How Development Simulator works
This section explains how to use Development Simulator. I have also included the
Visual Basic Application code, which shows how the methods work.
35
6.3.1. Starting Development Simulator
To start Development Simulator, we do the following (see Figure 6.2):
1. Launch Microsoft Excel 2000;
2. Open the Development Simulator spreadsheet (Development Simulator.xls).
Development Simulator is an Excel Spreadsheet equipped with macros, which
performs commands.
3. When prompted by Excel to enable or disable macros, select enable. (Excel is
offering to prevent macros from running in the spreadsheet - to avoid macro
viruses.)
Figure 6.2. Starting Development Simulator.
As we can see in Figure 6.3, Development Simulator consists of a plain Excel worksheet
outfitted with commands buttons in a user interface. The spreadsheet has built in
formulas that execute the development calculations. These calculations add the total
building area and calculate maximum allowable built area. The user interface with
command buttons manages data sharing with the CAD program.
36
Figure 6.3. Main Table and User Interface of Development Simulator
6.3.2. Start AutoCAD
Using the “launch AutoCAD” function, open AutoCAD application. You may find that
the application windows overlap on the desktop. To see both programs at the same
time, we need to resize the windows and put them side-by-side. (See Figure 6.4)
Clicking the “Launch AutoCAD” button runs the sub routine (sub) openacad.
This sub will launch AutoCAD 2000 and link it with the Excel spreadsheet.
Sub openacad() 'Create autocad application as new object Set acad = CreateObject("autocad.application") 'Make acad visible (not just running in background) acad.Visible = True
37
Figure 6.4. Launching AutoCAD from Development Simulator spreadsheet.
6.3.3. Open a site
We will now open a digitized site, which has blocks or site that we develop, in AutoCAD.
Using File, Open from AutoCAD, select and open the drawing file.
Figure 6.5. Opening a site drawing (file) from AutoCAD.
38
After the site is opened, we can analyze the site using basic AutoCAD’s view commands.
These commands have been embedded in Development Simulator. From the user
interface, we can execute the following view commands: Zoom all, Zoom window,
Isometric view 1, isometric view 2, isometric view 3, isometric view 4.
Figure 6.6. Development Simulator with main table and AutoCAD window.
The zoom buttons will send commands to AutoCAD:
Sub zoomall() acad.zoomall End Sub Sub zoomwindow() acad.ZoomPickWindow End Sub Sub zoomprevious() acad.zoomprevious End Sub Sub zoomextents() acad.zoomextents End Sub
The isometric views commands will send this VBA commands to AutoCAD:
Sub v1() 'view 1 isometric acad.ActiveDocument.SendCommand "v1" & vbCr End Sub Sub v2() 'view 2 isometric acad.ActiveDocument.SendCommand "v2" & vbCr End Sub Sub v3() 'view 3 isometric acad.ActiveDocument.SendCommand "v3" & vbCr End Sub Sub v4() 'view 4 isometric acad.ActiveDocument.SendCommand "v4" & vbCr End Sub
39
6.3.4. Identifying lots
Using the view and zoom commands, we can focus on a particular lot or multiple lots
that we are interested to develop. We will enter our lot using the identify lot
command. Identify lot command will ask us to pick a site or multiple sites. We click
at the polygon lines that represent property lines of our sites one by one.
Figure 6.7. AutoCAD displays the lot name and area after Identify lot process.
This method will call on AutoCAD to execute the getareafromautocad VBA which
prompts us to select a lot.
Sub getareafromautocad() 'Prompt user to click lot acad.ActiveDocument.Utility.GetEntity lotline, , "Select the lot" 'Make the lot line's color blue lotline.Color = acBlue
After we selected a lot or multiple lots, then the area property of the polygon(s) (i.e. the
lots) will be transferred to the Main Table in the spreadsheet.
'Get lot area lotarea = lotline.Area
Their coordinates will also be transferred to the Lot Data sheet.
'Get lot coordinate lotcoordinate = lotline.Coordinates()
The areas of the lots are calculated, sent to Excel and placed in appropriate cells in the
sheet (see Figure 6.7).
'place data into excel in sheet "Main Table" for lot name and round the lot area
With Worksheets("Main Table")
40
.Cells(integerrow, 2).Value = lotarearound .Cells(integerrow, 1).Value = "Lot " & integerrow - 3 End With
Positions of lots (i.e. coordinates), are input to Excel as an array and placed in an
appropriate range of the Lot Data sheet.
'place data into excel in sheet "Lot Data" for lot area and their coordinates
With Worksheets("Lot Data") .Cells(integerrow, 1).Value = "Lot " & integerrow - 3 .Cells(integerrow, 2).Value = lotarearound
.Range(.Cells(integerrow, 3), .Cells(integerrow, 10)).Value = lotcoordinate
End With At the same time, Development Simulator writes the Lot Name text (with a number
index), with Lot Area text, in the center of the polygon.
textforlotname = "Lot " & integerrow - 3 textforarea = "Area =" & lotarearound insertionpoint1(0) = Worksheets("Lot Data").Cells(integerrow, 12).Value - 30 insertionpoint1(1) = Worksheets("Lot Data").Cells(integerrow, 13).Value insertionpoint2(0) = Worksheets("Lot Data").Cells(integerrow, 12).Value - 30 insertionpoint2(1) = Worksheets("Lot Data").Cells(integerrow, 13).Value - 15
6.3.5. Number crunching process
After all the lot variables have been recorded (areas, coordinates), then we can start
doing the calculation process. In this process we are asked to enter:
− FAR value for each lot;
− Maximum number of floors6
Both of these are urban design variables that are stated in urban design guidelines or
the zoning ordinance of the district.
The next phase is inputting the designated building type. We can select from the
available list of building uses from Rental Office Type 1, 2, 3, 4, etc to Residential 1,2,3.
This procedure is an implementation of using the Building Type variable (See section
4.4. Building type). The drop down list refers to another table at the right hand side of
Main Table that provides an inventory of building libraries. This building inventory
supplies data of typical building floor area, dimensions of building and our comments
on each building type. As a designer becomes experienced in utilizing Development 6 Development Simulator uses an extruded box as building envelope. Using this style, the maximum building height is determined by maximum number of floors (See section 4.3. Building envelope). With a simple change in the spreadsheet formula, user can customize this style and have building envelope determined by height instead of number of floors.
41
Simulator, he or she can build an individual building catalog, which consists of ideal
floor plates for each kind of building type. The terms “Rental Office Type 1”, “Rental
Office Type 2”, etc. could be replaced by custom names designated by us.
Figure 6.8. User can input variables and start calculate development numbers.
Once all the given data has been entered into the Development Simulator Main Table
spreadsheet, we can begin to determine the number of floors they want to build for each
building. The number of floors column is divided into two parts: the podium and the
tower7.
It is possible that we input more floors than permitted, which violates the design
guidelines. If this occurs, Development Simulator will detect the error and alert us.
6.3.6. Simulating building(s) and envelope(s)
After the we are satisfied with the development calculation in the Excel sheet. Users can
begin sending these results back to the CAD program. These variables are information
used by AutoCAD to draw the buildings and their envelopes. At this important stage we
will see in AutoCAD window the three-dimensional form generated from the
development parameters they specified.
7 See podium and tower definitions in section 4.3.
42
Figure 6.9. Users can request a drawing of the building based on development calculations.
Pressing the simulate envelope button will run the simulate_envelope sub procedure8.
Sub simulate_envelope() 'Building height is number of storeys times floor to floor distance
buildingheight = (Worksheets("Main Table").Cells(i, 4).Value) * (Worksheets("Settings").Cells(4, 3).Value)
'Draw line on the base of the podium with red dashdot linetypes
Set myline = acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points)
'Copy the base line on itself and move it to the top of the envelope line Set myline2 = myline.Copy myline2.Move points1, points11 'Draw the vertical lines from the base to the thop Set line1 = acad.ActiveDocument.ModelSpace.AddLine(points1, points11) line1.Color = acRed line1.Linetype = "dashdot" line1.LinetypeScale = 2 'Copy the first vertical lines to the same coordinates Set line2 = line1.Copy() Set line3 = line1.Copy() Set line4 = line1.Copy()
Clicking draw podium will trigger draw_podium sub procedure.
Sub draw_podium() 'Podium height is podium number of stories times the floor to floor distance podiumheight = (Worksheets("Main Table").Cells(i, 9).Value) * (Worksheets("Settings").Cells(4, 3).Value)
8 Visual Basic codes shown are simplified to show how it works. Actual codes is more extensive. See appendix A for the complete code.
43
'Draw the footprint of the podium line
Set footprint_line = acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points)
footprint_line.Closed = True 'Draw the top of podium
Set vertical_line = acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points)
vertical_line.Closed = True vertical_line.Thickness = podiumheight
Clicking the draw tower button will trigger the draw_tower sub procedure.
Sub draw_tower() 'Set blockname, taken from worksheet 'The blockname basically is the floorplate of the tower blockname = Worksheets("Main Table").Cells(i, 18).Value 'Set position of block (tower base plate) - slightly over the podium coordinate(0) = Worksheets("Lot Data").Cells(i, 12).Value coordinate(1) = Worksheets("Lot Data").Cells(i, 13).Value
coordinate(2) = (Worksheets("Main Table").Cells(i, 9).Value) * (Worksheets("Settings").Cells(4, 3).Value)
'Set rotation angle of block 'Rotation of block is an arc tg of the lot coordinates (in radian) rotation_angle = Worksheets("Lot Data").Cells(i, 19).Value 'Insert block of building floorplate
Set blockObj = acad.ActiveDocument.ModelSpace.InsertBlock(coordinate, blockname, 1#, 1#, 1#, rotation_angle)
'Arraying the tower floors to show floor lines using 3d array numberOfLevels = (Worksheets("Main Table").Cells(i, 12).Value) + 1 distanceBwtnRows = 1 distanceBwtnColumns = 1 distanceBwtnLevels = (Worksheets("Settings").Cells(4, 3).Value) Dim retObj As Variant retObj = blockObj.ArrayRectangular(numberOfRows, numberOfColumns,
numberOfLevels, distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels)
6.3.7. Redoing the exercise
After seeing the impact of the development calculation, we can evaluate the form
created. If for any reason we are unsatisfied with the form of the drawn building, they
can always go back to Excel and adjust building parameters.
At these stage, we can also add more lots, and repeat the development simulation for
each lot.
44
6.4. Working backwards
In the case presented above, we are asked to input the following variables in a specific
order:
FAR → Max. Building floor → Selection of the designated building type → Podium floor →
Tower floor.
As a result, Development Simulator will calculate the total area. The total area can be
changed by editing the values of other variables (FAR, Max. building floor, Building type
or combination of podium and tower floors). This case presents how a typical user uses
Development Simulator, which finding the solution to building areas.
Another user e.g., an urban designer working for city officials, might be interested to
work the other way around. He would be interested to find the best FAR as a result of
calculating number of floors for a designated building type9. With a simple modification
in the Excel spreadsheet formula, the user can find optimum FAR. Here are the steps:
Selection of the designated building type → Podium floor → Tower floor → Total Area →
FAR.
There are various ways a user can apply Development Simulator for his projects. The
user can customize Development Simulator’s capabilities by modifying the VBA code.
Because Development Simulator is built on the foundation of existing tools (AutoCAD
and Excel) this customization is straightforward.
An architect, for example, would generate options for development of a site. He would
make copies of this site in AutoCAD, input these sites and explore development options
of alternatives.
A developer may find this tool valuable. Not only that does it not require him to be
skilled at using a drawing program, but also he can without difficulty, customize the
Excel spreadsheet to perform additional financial calculations.
The next chapter of Application Scenarios to see in detail, how architects and urban
designers can apply this tool in architecture and urban design projects.
9 The term building type here is basically the land use for the lot. On this application case, the urban designer is interested in finding the best FAR for particular site(s).
45
Chapter 7:
Application ScenariosApplication ScenariosApplication ScenariosApplication Scenarios
Now that we have seen how the Development Simulator works, we will examine how
this decision support system can be used in multifaceted urban design projects. This
chapter presents two potential application scenarios, where this program plays a critical
role in helping users do architecture and urban design projects. Section 7.1 presents
how an architect or a team of architects might employ Development Simulator to
rapidly produce sets of development options. Generating design alternative is important
to give clients choices and comparisons of designs. Section 7.2 discusses how a team of
urban designer might resolves the distribution of FAR and establish building envelopes
for a district. Development Simulator, with its capabilities of handling multiple lots,
helps users to illustrate possible scenarios.
7.1. Architect’s scenario
Besides producing buildings that are satisfying in all aspects, architecture is also about
producing alternatives. By generating design options, architects and clients can review
and decide which alternatives best solve their problem. At stages before the conceptual
design stage, clients often ask architects to produce sketches of design options. These
sketches will help clients visualize the end product at an early stage. Creating sketches
of aesthetically pleasing building is not a difficult task. However, producing numerous
design sketches quickly does not necessarily result in an explanation of the rationales
and justification behind each alternative.
Development Simulator brings addresses these issues by providing three-dimensional
outlines of building masses and at the same time, the numerical justification to them.
46
In this scenario, architects were asked to produce three design solutions for a single lot
that will be developed. Having the site digitized in dwg format, architects can begin
making copies of this site in AutoCAD to generate three design alternative.
Figure 7.1. These 3D building masses are design options for a lot. Development Simulator generated the drawings.
The lot properties then were entered in Excel spreadsheet. FAR values and Maximum
number of floor values, as stated in zoning ordinance were also input. The architect can
begin setting development parameters and designate the building type the client wants
to build. Here, the client is interested in developing a Rental Office building. By testing
more than one floor plate (Rental Office Type 3 and 4) with variations in podium and
tower floors, the architects can begin to see the shape of the buildings along with its
total floor area implications. Figure 7.3 shows a table of development numbers
calculated in Development Simulator.
Lot Name
Lot Area
(in sqft) FAR
Maximum Number of
floor
Maximum Floor Area
(in sqft) Designated Building
Type Podium Floor
Podium Floor plate
Tower Floor
Tower Floor plate
Total Floor Area
Total floors
Lot 1 26910 5 40 floor 134551 Rental Office Type 3 4 floor 26910 36 floor 98 111168.4 40 floor
Lot 2 26910 5 40 floor 134551 Rental Office Type 4 3 floor 26910 20 floor 110 82930.3 23 floor
Lot 3 26910 5 40 floor 134551 Rental Office Type 4 2 floor 26910 24 floor 110 56460.2 26 floor
Figure 7.2. Main Table with results of total area for each lots.
47
Architects can go back and forth examining results in Excel spreadsheet numbers and
AutoCAD drawings. Figure 7.3 shows the buildings in elevation view. This diagram
shows how many floors these building have, and how tall they are, and also gives an
opportunity of studying the building proportion and scale. Most intriguingly, it also
provides numerical reasons behind them.
Option 1
111,168 square feet 48 floors
Option 2 82,930 square feet
23 floors
Option 3 56,460 square feet
26 floors Figure 7.3. Elevations of building options shows their profile along with information of total building areas and number of floors
Option 1
111,168 square feet 48 floors
Option 2 82,930 square feet
23 floors
Option 3 56,460 square feet
26 floors Figure 7.4. Architects can produce this quick sketches by tracing over the hardcopy produced by Development Simulator.
48
Finally, the best feature is the ability to have designers do design the way they always
have been doing: overlay sketching. Here though, designers will overlay their tracing
paper over hard lines of computer-generated form, which is based on numerical
calculation.
7.2. Urban designer’s scenario
In addition to helping architects do design of single lots, Development Simulator can
also be exploited for large-scale urban design development. This scenario involves a
team of designers, which has the city officials as their client. The city government is
responsible for writing zoning ordinances and urban design guidelines, which will be
the main reference to anyone who wants to undertake a development project. Most
likely, instead of doing this by themselves, city officials will ask a team of urban design
consultant to produce these legal documents.
In this particular case, a team or urban designer was asked by the City official to review
and recreate urban design guidelines for particular lots in a district. See figure 7.5.
Two issues are involved in these types of urban design projects:
1. The urban design guidelines should provide a good plan for distributing floor
area ratios;
2. Urban design guidelines can act as an instrument to shape the city skyline by
creating landmarks and open spaces. By exercising judicious floor area ratio
distribution, urban designers have opportunities to shape a city’s skyline.
Figure 7.5. Site that will be developed.
Using Development Simulator, the urban design team tested several schemes using
different FAR, maximum building height and found the best feasible solutions.
49
With the help of Development Simulator the team produced these solutions (see figure
7.6) rapidly. Using the total area built as a fixed variable, the team worked backwards10.
Making the total area constant, while finding FAR as a result of numbers of building
floors (i.e. building height) and designated building type (i.e. land use). That way, the
schemes are not only tested and have good solutions for the urban space, but also the
total area and FAR are always controlled.
Figure 7.6. Multiple configuration of buildings test the impact of different Floor Area Ratio value.
The team finds that the third simulation shown in figure 7.6 is the best. The third
scheme provides a stepping configuration. The tallest building is put next to the open
space, while others complement the arrangement.
10 See Section 6.4.
1 2
3
50
Using Development Simulator, the team also made an effort to ensure that the zoning
ordinance and the design guidelines can be applied. By testing each lot with footprint of
ideal building type, errors11 that traditional urban design guidelines cannot anticipate,
can be avoided.
11 Example of zoning ordinance error is lots that have land use, which does not correspond with the optimum requirement for a certain building type. For instance, a lot that may be specified by design guidelines to be residential with FAR 4, but has no basic dimensions that fit any residential apartment. These error make these lots unbuildable.
51
Chapter 8:
Assessment, Future Work and ConclusionAssessment, Future Work and ConclusionAssessment, Future Work and ConclusionAssessment, Future Work and Conclusion
This thesis has introduced a device for assisting designers to design built environments
in a more efficient and effective way. Some designers may have been using the design
methods used in this thesis consciously or unconsciously. The methods used in
Development Simulator, may not be new for some experienced designers. For them, the
tool may not be as effective to help them do their job, as for other designers. Some may
not need this tool to help designing; as years of experience and strong intuition have
given more result compared to with using another design tool. Intuition, instinct and
intelligence may still be better than any tool created.
Nevertheless, the main point of this thesis, is more than just a creation of a supporting
tool for designers. Moreover, it reacted to the process in the design practice. It gives
more attention to the design process, and sparked us to ask if design process can
somehow be improved in any way.
This project is also about making design sounder and more solid by providing excellent
base and rationale. With outstanding justification, our design will not only be looking
good on our tracing paper nor our computer screen, but also can be built and
developed. Architects and urban designers have been producing admirable urban
design, and will always be. This application, as opposed to concerns from one of the
jurors during the presentation of this thesis, will not replace any designers’ role.
Architects’ and urban designers’ intuition, intelligent and instinct, however imperfect
they are, will still be controlling design. They are the hands behind the pencils, the
keyboard and the mouse. This thesis is about perfecting designer’s intuition, and not
replacing them.
By using all means and devices to design, architects and urban designers can allocate
their extra time and effort to concentrate on tasks that request more attention and more
hands on. As design has no limit, architects and designers would focus their time on
52
their creativity and keeping their design better, disregarding any repetitious and labor
intensive duties. They can have the machine do these tedious works.
8.1. Assessment
8.1.1. General
In pragmatic way, here are some findings and lessons learned from completion of this
project:
The shaping of our cities. City developments are mostly driven by zoning ordinance,
urban design guidelines and by numerous political, economic and social
decisions made. Architects and urban designers do not necessarily have power
to shape our cities. Political leader, city officials and developers may have more
domination over how our cities are formed. As my former mentor have been
saying:
“Urban design is a result and collections of all decisions made overtime.”
(Mohamad Danisworo)
Zoning ordinance and urban design guidelines should be tested and retested
before being implemented. Preparing zoning ordinance and urban design
guidelines with extra time and effort early, will prevent undesired effects on our
built environments. Making informed decisions as early as possible, using any
means and supporting tools will avoid mistakes and errors, which cannot be
undone.
Nonetheless it is not on our hand, architects and urban designers should be pro
active, using all means and devices in being political leaders’, city officials’ and
developers’ partners, to make better urban design.
Design tools are not replacement of designers’ intelligence and intuition. Designers should realize that innovations and creations of design instrument
would never take over them. Tools are just supporting devices, created as
response to overcome multifaceted problems surrounding. Tools will never
replace designer’s intelligence. However, using the right supporting devices,
designer’s intuition and intelligence will be empowered. Employing effective
tools, designers will design effectively and efficiently.
Good rationale justifies good design. As the world becomes complex with multi
dimension and multifaceted problems, design is not always and only about
creating aesthetically pleasing artifact. There are more and more factors and
53
criteria involved to conclude good design. Design is generating options and
solutions with excellent rationales. Better reasoning and rationale behind
design is also a dominant criterion to judge design.
8.1.2. Specific
Development Simulator is one attempt, out of many that has been done, to provide good
decision supporting system for architects and urban designers to designing. We
conclude that using Development Simulator will benefit us in ways:
A solution to complex urban design problem. Development Simulator is created to
support today’s complex urban design projects. If computer aided drafting was
an answer to precision drafting, Development Simulator is one of many solution
to deal with sophisticated projects. Designers cannot rely only on their intuition,
pen and calculator; they need a more powerful tool to challenge current
multidimensional urban design problems.
Giving guidance to design. Reminding and keeping track of design process. Informing
architects at early stages of design. Using Development Simulator, architects will
be forced to work with the directions set by constraint. The sample projects in
Chapter 7, reveals that using both calculation and simulation tool, architects
can produced design that not only in no time, but also with more accuracy.
Revealing the impact of calculation in form. As a form generator, Development
Simulator translates development numbers, design guidelines in three-
dimensional massing. That way, designers can uncover the influence of
development numbers and other constraint in accurate three-dimensional form.
Architects and urban designer can test several development scenarios without
leaving their spreadsheet.
Avoid tedious work. Development Simulator is saves users’ time by helping do
repetitious, computational and labor-intensive tasks. That way, designers can
spend more time on more challenging task, which rely more on their intuition
and intelligence.
Supporting decisions. Development Simulator gives decision support for city officials
before implementing zoning ordinances and urban design guidelines. Avoiding
mistakes and error, which makes zoning ordinance, and design guidelines
inapplicable.
Measuring urban design variables. Development Simulator pushes designers to see
that urban design variables can be measured. Quantifying and modeling more
54
urban design variables means opening more ways to solve urban design
problem.
8.2. Future work
While this project has demonstrated many potentials of helping designers reveal the
impact of development numbers to three-dimensional building form, many
opportunities for extending the work remain. This section presents a few of the potential
directions that can be carry on in the future.
Scaling. Development Simulator is a solution to do small to large-scale urban design
projects, from single to multiple lots. The most complex projects Development
Simulator will be employed are in large-scale urban design projects. However,
that is not to say that this application cannot be expanded to be used in a larger
scale planning projects. Connecting Development Simulator with Geographical
Information System (GIS) Data will make this small scale application become a
large scale powerful tool to help analyze and design cities. Using databases and
digital maps, we can simulate FAR and building envelopes for districts or even
cities.
Feasibility simulator. Due to limited time assigned to this project, there are some
potential extensions that have not been explored, which will make this
application even more influential. These extensions include making seamless
connection with proforma worksheet. Development Simulator will help
determine development opportunities from areas, visualize the 3D form and
furthermore calculate investment return by using total area. Developers could
explore best options by looking at the form, the total development area and
financial results.
Development Solver. An investigation that was not fully completed is finding ways to
create "Development Solver"; a tool for developer to determine the maximum
building areas built using FAR constraints and maximum building height
constraints. Development Solver will be another extension of Development
Simulator, which will find optimum solution without creating multiple options.
Building building library. A further development of Development Simulator can be
done by users. By providing an easy mechanism to build collections of building
libraries, users are able to create, edit and add design templates, which can be
used on new projects. They can create not only Rental Office Type 1, 2 and 3;
55
but also take and use public domain data of built designs. For example: linking
Development Simulator with Urban Land Institute’s Project Reference File12
which have extensive collection of building layout.
Explore and involve more urban design variables. As discussed in Chapter 4: Urban
Design Measurable Variables, the variables that Development Simulator used
are only four out of numerous. It may be a while until we can see an application,
which can employ all of these numerous variables to produce design.
Nevertheless, we could continue the work to incorporate one, two or three
additional variables. I can see the potentials that these measurable variables can
be integrated next: building coverage, setbacks and parking ratio.
8.3. Conclusion
(Urban) design is not just an intuitive process, without any support of reasoning,
information or decision supporting. Using customized design tools, architects and
designers can do their task not only relying on their intuition, but also from existing
data, opportunities and constraints, easily. Using customized tool, mistakes and errors
in design process can be eliminated at early stages of design. Design of buildings should
not only be beautiful in presentation boards, but they should also be buildable.
Development Simulator is an attempt to provide excellent reasoning behind design, by
empowering designers intuition and creativity with accurate calculation and
visualization.
This project should be continued by more and more interesting and compelling work,
that reveals design process and how we can perfect it.
12 Project Reference Files (PRF) is a publication by the Urban Land Institute (ULI). This publication provides extensive data of successful project developments. Ranging from residential and commercial projects, this collection of information provides useful source for architects and developers to begin developing new projects.
56
BibliographyBibliographyBibliographyBibliography
Cross, N (1977). The Automated Architect. London: Pion Limited.
Devlin, Doug (1995). A Computer Modeling Tool for the Analysis of Building and Design Programs using Liner Programming, MUP Thesis. Seattle: University of
Washington.
Fox, C. William (1993). An Interactive Urban Database, In Education and Practice: The
Critical Interface, ACADIA.
Gross, Mark D., Parker, Laura., Elliott, Ame M. (1997). MUD: Exploring Tradeoffs in Urban Design. In CAAD Futures 1997, Proceedings of the 7th. International
Conference on Computer Aided Architectural Design Futures held in Munich,
Germany, 4-6 August 1997. Dordrecht: Kluwer Academic Publishers.
Kalay, Yehuda ed. (1987). Computability of Design. John Wiley and Sons New York.
Kalay, Yehuda ed. (1992). Evaluating and Predicting Design Performance. John
Wiley and Sons New York.
McCullogh, Malcolm (1993). Interactive Urban Models. In Education and Practice: The
Critical Interface, ACADIA.
Pusat Studi Urban Desain (2000). Panduang Rancang Kota: Kota Baru Bandar Kemayoran. PSUD: Bandung.
Samiaji, Doddy (1999). 3D GIS, Arch 498 Virtual Environments Assignments,
University of Washington Winter 1999 [Online]. Available URL:
http://students.washington.edu/doddys/ve
Samiaji, Doddy (2000). Urban Design Meter, Arch 498 Advanced Computer Projects
Assignment, University of Washington Spring 2000 [Online]. Available URL:
http://students.washington.edu/doddys/udmeter
Schmitt, Gerhard (1992). Design for Performance, in Evaluating and Predicting Design
Performance. John Wiley and Sons: New York
Skauge, Jorn (1993). An Electronic Tool for Urban Design Analysis. In Education and
Practice: The Critical Interface, ACADIA.
57
Suter, George., Mahdafi Ardeshir., Kirshnamurti, Ramesh., A Performance-inspired Building Representation for Computational Design. In Computers in
Building: Proceedings of the CAADfutures’99 Conference held in Atlanta, GA 7-8
June 1999, Dordrecht: Kluwer Academic Publishers.
Sutphin, Joe (1999). AutoCAD 2000 VBA. Birmingham: Wrox Publishing.
Roe, Andrew G (2001). Using Visual with AutoCAD Second Edition. New York: AutoDesk
Press.
Trancik, Roger (1986). Finding Lost Space. Van Nostrand Reinhold: New York.
Turner, James A (1993). Computers in the Urban Landscape: Introduction. In
Education and Practice: The Critical Interface, ACADIA.
Walkenbach, John (1999). Microsoft Excel 2000 Power Programming with VBA.
Foster City: IDG Books Worldwide.
Wiezel, Avi., Becker, Rachel (1992). Integration of Performance Evaluation in Computer-Aided Design. In Evaluating and Predicting Design Performance. New
York: John Wiley and Sons.
58
Appendix A:
Visual Basic Application CodesVisual Basic Application CodesVisual Basic Application CodesVisual Basic Application Codes
'************************************************************ 'DEVELOPMENT SIMULATOR 1.00 'A TOOL FOR ARCHITECTS AND URBAN DESIGNER 'A PROJECT BY DODDY SAMIAJI '[email protected] 'http://students.washington.edu/doddys/devsimulator 'DESIGN MACHINE GROUP, UNIVERSITY OF WASHINGTON, SEATTLE 'http://depts.washington.edu/dmachine 'You need to have, MS Office, MS Excel 2000 and AutoCAD 2000 'installed to run this application '************************************************************ 'Make all option explicit, to be defined explicitly in the document Option Explicit 'Create Autocad application as public object Public acad As Object '--------------------------------- 'This sub procedure will open AutoCAD application and will be 'executed by after the command button is clicked 'Open Autocad application and make acad refered to AutoCAD 'application Sub openacad() 'Create autocad application as new object Set acad = CreateObject("autocad.application") 'Make acad visible (not just running in background) acad.Visible = True 'We can open a document with following command (currently) 'not activated 'acad.Documents.Open ("C:\myfiles\Sekolah\thesis\prototype\drawing2.dwg") 'Load autocad "dashdot" line type which will be used in the draw_envelope 'procedure. This procedure checks if the linetype is currently loaded, if 'not, it will be loaded. Dim entry As AcadLineType
59
Dim found As Boolean found = False For Each entry In acad.ActiveDocument.Linetypes If StrComp(entry.Name, "DASHDOT", 1) = 0 Then found = True Exit For End If Next If Not (found) Then acad.ActiveDocument.Linetypes.Load "DASHDOT", "acad.lin" 'Zoom to extents of drawing to show the whole drawing content. acad.zoomextents 'Update drawing acad.Update End Sub '--------------------------------- '--------------------------------- 'This sub procedure will create Development Simulator toolbar in 'Excel document. The procedure is executed at the time 'this worksheet opened. Sub CreateToolbar() Const SM_CXSCREEN = 0 Const SM_CYSCREEN = 1 Dim TBar As CommandBar Dim Btn As CommandBarControl Dim Btn1 As CommandBarControl Dim Btn2 As CommandBarControl Dim iconsheet As Worksheets 'Delete the toolbar if it exists On Error Resume Next CommandBars("Development Simulator 1.00").Delete On Error GoTo 0 'Create toolbar and position them in the screen Set TBar = CommandBars.Add With TBar .Name = "Development Simulator 1.00" .Left = 10 .Top = 500 .height = 100 .Width = 600 .Protection = msoBarNoChangeDock .Visible = True End With 'Set iconsheet = Worksheets("icon") 'Add buttons to launch AutoCAD (this will run sub openacad) Set Btn = TBar.Controls.Add(Type:=msoControlButton)
60
Btn.BeginGroup = True Btn.OnAction = "openacad" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Launch AutoCAD" 'Btn.FaceId = 544 Btn.TooltipText = "Start AutoCAD" Worksheets("icon").Shapes(1).Copy Btn.PasteFace 'Add buttons to identify lot (this will run sub getareafromautocad) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = True Btn.OnAction = "getareafromautocad" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Identify Lots" Btn.FaceId = 544 Btn.TooltipText = "Transfer lot area to Excel" Worksheets("icon").Shapes(2).Copy Btn.PasteFace 'Add buttons to simulate building envelope (this will run sub simulate_envelope) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "simulate_envelope" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Draw Envelope" Btn.FaceId = 544 Btn.TooltipText = "Simulate envelope of buildings" Worksheets("icon").Shapes(3).Copy Btn.PasteFace 'Add buttons to make building podium (this will run sub draw_podium) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "draw_podium" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Draw podium" Btn.FaceId = 544 Btn.TooltipText = "Simulate podium of buildings" Worksheets("icon").Shapes(4).Copy Btn.PasteFace 'Add buttons to make building tower (this will run sub draw_tower) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "draw_tower" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Draw tower" Btn.FaceId = 544 Btn.TooltipText = "Simulate tower of buildings" Worksheets("icon").Shapes(5).Copy Btn.PasteFace 'Add buttons to clear numbers Excel sheet (this will run subclear_numbers)
61
Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = True Btn.OnAction = "clear_numbers" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Clear numbers" Btn.FaceId = 544 Btn.TooltipText = "Delete number in worksheet" Worksheets("icon").Shapes(6).Copy Btn.PasteFace 'Add buttons to zoom all drawing (this will run sub zoomall) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = True Btn.OnAction = "zoomall" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Zoom All" Btn.FaceId = 544 Btn.TooltipText = "zoom" Worksheets("icon").Shapes(7).Copy Btn.PasteFace 'Add buttons to zoom a part of a drawing (this will run sub zoomwindow) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "zoomwindow" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Zoom Window" Btn.FaceId = 544 Btn.TooltipText = "zoom" Worksheets("icon").Shapes(8).Copy Btn.PasteFace 'Add buttons to zoom a part of a drawing (this will run sub zoomprevious) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "zoomprevious" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Zoom Previous" Btn.FaceId = 544 Btn.TooltipText = "zoom" Worksheets("icon").Shapes(9).Copy Btn.PasteFace 'Add buttons to do isometric 1 view (this will run sub v1) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = True Btn.OnAction = "v1" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Isometric 1" Btn.FaceId = 544 Btn.TooltipText = "isometric" Worksheets("icon").Shapes(10).Copy Btn.PasteFace 'Add buttons to do isometric 2 view (this will run sub v2)
62
Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "v2" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Isometric 2" Btn.FaceId = 544 Btn.TooltipText = "isometric" Worksheets("icon").Shapes(11).Copy Btn.PasteFace 'Add buttons to do isometric 3 view (this will run sub v3) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "v3" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Isometric 3" Btn.FaceId = 544 Btn.TooltipText = "isometric" Worksheets("icon").Shapes(12).Copy Btn.PasteFace 'Add buttons to do isometric 4 view (this will run sub v4) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = False Btn.OnAction = "v4" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Isometric 4" Btn.FaceId = 544 Btn.TooltipText = "isometric" Worksheets("icon").Shapes(13).Copy Btn.PasteFace 'Add buttons to hide invisible lines (this will run sub v4) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = True Btn.OnAction = "HIDE" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Hide Lines" Btn.FaceId = 544 Btn.TooltipText = "Hide invisible lines" Worksheets("icon").Shapes(14).Copy Btn.PasteFace 'Add buttons to regenerate lines in autocad (this will run sub regen) Set Btn = TBar.Controls.Add(Type:=msoControlButton) Btn.BeginGroup = True Btn.OnAction = "REGEN" Btn.Style = msoButtonIconAndWrapCaptionBelow Btn.Caption = "Regen Lines" Btn.FaceId = 544 Btn.TooltipText = "Regenerate AutoCAD lines" Worksheets("icon").Shapes(15).Copy Btn.PasteFace End Sub '---------------------------------
63
'--------------------------------- 'This sub procedure will delete Development Simulator toolbar in 'Excel document if it exist before loading and after exiting. Sub DeleteToolbar() CommandBars("Development Simulator 1.00").Delete End Sub '--------------------------------- '--------------------------------- 'These sub procedures will do view commands: zooms and isometrics. Sub zoomall() acad.zoomall End Sub Sub zoomwindow() acad.ZoomPickWindow End Sub Sub zoomprevious() acad.zoomprevious End Sub Sub zoomextents() acad.zoomextents End Sub Sub v1() 'view 1 isometric acad.ActiveDocument.SendCommand "v1" & vbCr End Sub Sub v2() 'view 2 isometric acad.ActiveDocument.SendCommand "v2" & vbCr End Sub Sub v3() 'view 3 isometric acad.ActiveDocument.SendCommand "v3" & vbCr End Sub Sub v4() 'view 4 isometric acad.ActiveDocument.SendCommand "v4" & vbCr End Sub Sub HIDE() acad.ActiveDocument.SendCommand "hide" & vbCr End Sub Sub REGEN() acad.ActiveDocument.SendCommand "regen" & vbCr End Sub '--------------------------------- '--------------------------------- 'This sub procedure deletes the splash screen after loading for 3 seconds. Sub deleteform() Unload UserForm1
64
End Sub '--------------------------------- '--------------------------------- 'This sub procedure will "identify lot": take the lot area, lot coordinates, 'and writes lot name and writes lot area on the centroid of the lot. Sub getareafromautocad() Dim lotline As AcadObject Dim lotarea As Double Dim textforarea As String Dim textforlotname As String Dim lotarearound As Double Dim lotcoordinate As Variant Dim integerrow As Integer Dim insertionpoint1(0 To 2) As Double Dim insertionpoint2(0 To 2) As Double Dim text_lotname_object As Object Dim text_area_object As Object Dim textheight_1 As Double Dim textheight_2 As Double Dim centroid_x As Double Dim centroid_y As Double Dim entityhandle As String Dim entity As AcadEntity Dim myobjectid As AcadDictionary Dim myobjectidstring As Long 'Use function countA to count how many rows are in worksheet integerrow = Application.WorksheetFunction.CountA(Range("b4:b30")) + 4 'Prompt user to click lot acad.ActiveDocument.Utility.GetEntity lotline, , "Select the lot" 'Make the lot line's color blue lotline.Color = acBlue 'Get lot area lotarea = lotline.Area 'Get lot coordinate lotcoordinate = lotline.Coordinates() 'Set text height for lot name and lot area textheight_1 = 15 textheight_2 = 10 'Take the lot area, round it to two decimals lotarearound = Application.WorksheetFunction.round(lotarea, 2) 'this is to transfer variables to excel Dim excel As Object 'place data into excel in sheet "Main Table" for lot name and rounded lot area
65
With Worksheets("Main Table") .Cells(integerrow, 2).Value = lotarearound .Cells(integerrow, 1).Value = "Lot " & integerrow - 3 End With 'place data into excel in sheet "Lot Data" for lot area and their coordinates With Worksheets("Lot Data") .Cells(integerrow, 1).Value = "Lot " & integerrow - 3 .Cells(integerrow, 2).Value = lotarearound .Range(.Cells(integerrow, 3), .Cells(integerrow, 10)).Value = lotcoordinate End With 'place objects data into excel in sheet "my objects" 'This lines defines the label for lot name and lot area, 'put it in the centroid of the lot. The centroid is an average of function 'of the coordinates which is calculated in Excel. textforlotname = "Lot " & integerrow - 3 textforarea = "Area =" & lotarearound insertionpoint1(0) = Worksheets("Lot Data").Cells(integerrow, 12).Value - 30 insertionpoint1(1) = Worksheets("Lot Data").Cells(integerrow, 13).Value insertionpoint2(0) = Worksheets("Lot Data").Cells(integerrow, 12).Value - 30 insertionpoint2(1) = Worksheets("Lot Data").Cells(integerrow, 13).Value - 15 'Put the lot name and lot area, color them green Set text_lotname_object = acad.ActiveDocument.ModelSpace.AddText(textforlotname, insertionpoint1, textheight_1) Set text_area_object = acad.ActiveDocument.ModelSpace.AddText(textforarea, insertionpoint2, textheight_2) text_lotname_object.Color = acGreen End Sub '--------------------------------- '--------------------------------- 'This sub procedure will draw the building's envelope Sub simulate_envelope() Dim myline As AcadLWPolyline Dim myline2 As Object Dim line1 As AcadLine Dim line2 As Object Dim line3 As Object Dim line4 As Object Dim points(0 To 7) As Double Dim points1(0 To 2) As Double Dim points11(0 To 2) As Double Dim points2(0 To 2) As Double Dim points3(0 To 2) As Double Dim points4(0 To 2) As Double
66
Dim points5(0 To 2) As Double Dim points6(0 To 2) As Double Dim points7(0 To 2) As Double Dim points8(0 To 2) As Double Dim buildingheight As Double Dim x As Integer Dim i As Integer x = rowsselected("Main Table") For i = 4 To x 'Building height is number of storeys times floor to floor distance buildingheight = (Worksheets("Main Table").Cells(i, 4).Value) * (Worksheets("Settings").Cells(4, 3).Value) 'Take the lot coordinate of the lot from excel (in worksheet "Lot Data") points(0) = Worksheets("Lot Data").Cells(i, 3).Value points(1) = Worksheets("Lot Data").Cells(i, 4).Value points(2) = Worksheets("Lot Data").Cells(i, 5).Value points(3) = Worksheets("Lot Data").Cells(i, 6).Value points(4) = Worksheets("Lot Data").Cells(i, 7).Value points(5) = Worksheets("Lot Data").Cells(i, 8).Value points(6) = Worksheets("Lot Data").Cells(i, 9).Value points(7) = Worksheets("Lot Data").Cells(i, 10).Value 'Define points of the lot coordinate points1(0) = Worksheets("Lot Data").Cells(i, 3).Value points1(1) = Worksheets("Lot Data").Cells(i, 4).Value points1(2) = 0 points11(0) = Worksheets("Lot Data").Cells(i, 3).Value points11(1) = Worksheets("Lot Data").Cells(i, 4).Value points11(2) = buildingheight points2(0) = Worksheets("Lot Data").Cells(i, 5).Value points2(1) = Worksheets("Lot Data").Cells(i, 6).Value points2(2) = 0 points3(0) = Worksheets("Lot Data").Cells(i, 7).Value points3(1) = Worksheets("Lot Data").Cells(i, 8).Value points3(2) = 0 points4(0) = Worksheets("Lot Data").Cells(i, 9).Value points4(1) = Worksheets("Lot Data").Cells(i, 10).Value points4(2) = 0 'Draw line on the base of the podium with dashdot linetypes and color it red Set myline = acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points) myline.Closed = True myline.Color = acRed myline.Linetype = "dashdot" 'Copy the base line on itself and move it to the top of the envelope line Set myline2 = myline.Copy myline2.Move points1, points11 'Draw the vertical lines from the base to the thop Set line1 = acad.ActiveDocument.ModelSpace.AddLine(points1, points11) line1.Color = acRed
67
line1.Linetype = "dashdot" line1.LinetypeScale = 2 'Copy the first vertical lines to the same coordinates Set line2 = line1.Copy() Set line3 = line1.Copy() Set line4 = line1.Copy() 'Move the vertical lines to all three corners line2.Move points1, points2 line3.Move points1, points3 line4.Move points1, points4 'The i is an index which changes one by one from beginning of the line 'to the end of the line. It is used so the program reads all rows used 'in Excel. Next i 'Update autocad drawing (this procedure needs to be on every end of 'a draw procedure acad.Update End Sub '--------------------------------- '--------------------------------- 'This sub procedure will draw the building's podium Sub draw_podium() Dim footprint_line As AcadLWPolyline Dim vertical_line As AcadLWPolyline Dim podium_line As AcadPolyline Dim podium_face(0 To 1) As AcadEntity Dim points(0 To 7) As Double Dim points1(0 To 8) As Double Dim points2(0 To 8) As Double Dim podium_region As Variant Dim podium_vertical_line As Object Dim podiumheight As Double 'This counts the numbers of rows used Dim x As Integer Dim i As Integer x = rowsselected("Main Table") For i = 4 To x 'Podium height is podium number of stories times the floor to floor distance podiumheight = (Worksheets("Main Table").Cells(i, 9).Value) * (Worksheets("Settings").Cells(4, 3).Value) 'These are podium base's coordinates which are on the lotlines points(0) = Worksheets("Lot Data").Cells(i, 3).Value points(1) = Worksheets("Lot Data").Cells(i, 4).Value points(2) = Worksheets("Lot Data").Cells(i, 5).Value points(3) = Worksheets("Lot Data").Cells(i, 6).Value points(4) = Worksheets("Lot Data").Cells(i, 7).Value
68
points(5) = Worksheets("Lot Data").Cells(i, 8).Value points(6) = Worksheets("Lot Data").Cells(i, 9).Value points(7) = Worksheets("Lot Data").Cells(i, 10).Value 'Draw first polyline points1(0) = Worksheets("Lot Data").Cells(i, 3).Value points1(1) = Worksheets("Lot Data").Cells(i, 4).Value points1(2) = 0 points1(3) = Worksheets("Lot Data").Cells(i, 9).Value points1(4) = Worksheets("Lot Data").Cells(i, 10).Value points1(5) = 0 points1(6) = Worksheets("Lot Data").Cells(i, 7).Value points1(7) = Worksheets("Lot Data").Cells(i, 8).Value points1(8) = 0 'Draw second polyline points2(0) = Worksheets("Lot Data").Cells(i, 7).Value points2(1) = Worksheets("Lot Data").Cells(i, 8).Value points2(2) = 0 points2(3) = Worksheets("Lot Data").Cells(i, 5).Value points2(4) = Worksheets("Lot Data").Cells(i, 6).Value points2(5) = 0 points2(6) = Worksheets("Lot Data").Cells(i, 3).Value points2(7) = Worksheets("Lot Data").Cells(i, 4).Value points2(8) = 0 'Draw the footprint of the podium line Set footprint_line = acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points) footprint_line.Closed = True 'Draw the top of podium Set vertical_line = acad.ActiveDocument.ModelSpace.AddLightWeightPolyline(points) vertical_line.Closed = True vertical_line.Thickness = podiumheight 'Draw faces of podium from polyline Set podium_face(0) = acad.ActiveDocument.ModelSpace.AddPolyline(points1) Set podium_face(1) = acad.ActiveDocument.ModelSpace.AddPolyline(points2) podium_face(0).Elevation = podiumheight podium_face(1).Elevation = podiumheight 'Make both polyline a region podium_region = acad.ActiveDocument.ModelSpace.AddRegion(podium_face) 'Arraying the podium floors to show floor lines using 3d array Dim numberOfRows As Long Dim numberOfColumns As Long Dim numberOfLevels As Long Dim distanceBwtnRows As Double Dim distanceBwtnColumns As Double Dim distanceBwtnLevels As Double numberOfRows = 1
69
numberOfColumns = 1 numberOfLevels = (Worksheets("Main Table").Cells(i, 9).Value) + 1 distanceBwtnRows = 1 distanceBwtnColumns = 1 distanceBwtnLevels = (Worksheets("Settings").Cells(4, 3).Value) Dim retObj As Variant retObj = footprint_line.ArrayRectangular(numberOfRows, numberOfColumns, numberOfLevels, distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels) 'The i is an index which changes one by one from beginning of the line 'to the end of the line. It is used so the program reads all rows used 'in Excel. Next i 'Update autocad drawing (this procedure needs to be on every end of 'a draw procedure acad.Update End Sub '--------------------------------- '--------------------------------- 'This sub procedure will draw the building's tower Sub draw_tower() Dim blockname As String Dim varinsertionpoint As Variant Dim coordinate(0 To 2) As Double Dim rotation_angle As Double Dim dbly As Double Dim dblz As Double Dim dblrotation As Double Dim blockObj As AcadBlockReference Dim explodedobject As AcadLWPolyline Dim polyline1 As AcadLWPolyline Dim x As Integer Dim i As Integer x = rowsselected("Main Table") For i = 4 To x 'Set blockname, taken from worksheet 'The blockname basically is the floorplate of the tower blockname = Worksheets("Main Table").Cells(i, 18).Value 'Set position of block (tower base plate) - slightly over the podium coordinate(0) = Worksheets("Lot Data").Cells(i, 12).Value coordinate(1) = Worksheets("Lot Data").Cells(i, 13).Value coordinate(2) = (Worksheets("Main Table").Cells(i, 9).Value) * (Worksheets("Settings").Cells(4, 3).Value) 'Set rotation angle of block 'Rotation of block is an arc tg of the lot coordinates (in radian) rotation_angle = Worksheets("Lot Data").Cells(i, 19).Value 'Insert block of building floorplate Set blockObj = acad.ActiveDocument.ModelSpace.InsertBlock(coordinate, blockname, 1#, 1#, 1#, rotation_angle)
70
'This is the point where I would like to make the tower to be hidden 'It still needs some more work. 'explodedobject = blockObj.Explode 'explodedobject.Thickness = 200 Dim typicalfloorbase_line As AcadLWPolyline Dim points(0 To 7) As Double Dim typicalfloor_line As Variant 'Arraying the tower floors to show floor lines using 3d array Dim numberOfRows As Long Dim numberOfColumns As Long Dim numberOfLevels As Long Dim distanceBwtnRows As Double Dim distanceBwtnColumns As Double Dim distanceBwtnLevels As Double numberOfRows = 1 numberOfColumns = 1 numberOfLevels = (Worksheets("Main Table").Cells(i, 12).Value) + 1 distanceBwtnRows = 1 distanceBwtnColumns = 1 distanceBwtnLevels = (Worksheets("Settings").Cells(4, 3).Value) Dim retObj As Variant retObj = blockObj.ArrayRectangular(numberOfRows, numberOfColumns, numberOfLevels, distanceBwtnRows, distanceBwtnColumns, distanceBwtnLevels) Next i acad.Update End Sub '--------------------------------- '--------------------------------- 'This sub procedure will clear the numbers in the excel sheet. Sub clear_numbers() 'Clear numbers in "Main Table" sheet Worksheets("Main Table").Range("a4:d15").ClearContents Worksheets("Main Table").Range("i4:i15").ClearContents Worksheets("Main Table").Range("l4:l15").ClearContents 'Clear numbers in "Lot Data" sheet Worksheets("Lot Data").Range("a4:j14").ClearContents End Sub '--------------------------------- '--------------------------------- 'This function is to count the rows selected and make the program run through 'every rows. Function rowsselected(datasheetname As String) As Integer Sheets(datasheetname).Select rowsselected = Application.WorksheetFunction.CountA(Range("b4:b30")) + 3 End Function '************************************************************ 'END OF MODULE '************************************************************
Appendix B:
Final Presentation BoardFinal Presentation BoardFinal Presentation BoardFinal Presentation Board
Presentation board, printed tiled on three sheets, each mounted in 32x40 inch foam core. Explains what and how Development Simulator work, including application scenarios.
71