+ All Categories
Home > Documents > Heshan Galahitiyawa · Web viewIn addition, the team have shown that it is possible to incorporate...

Heshan Galahitiyawa · Web viewIn addition, the team have shown that it is possible to incorporate...

Date post: 04-Feb-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
91
Konstructor – 3D based Intelligent Interactive House Building System Submitted to Sri Lanka Institute of Information Technology
Transcript

Konstructor – 3D based Intelligent Interactive House Building System

Submitted to

Sri Lanka Institute of Information Technology

In partial fulfillment of the requirements for the

Degree of Bachelor of Science in Information Technology

Specializing in Interactive Multimedia Technology

August, 2013

Declaration

We hereby declare that the project work entitled “Konstructor – 3 D based Intelligent Interactive House Building System”, submitted to the Sri Lanka Institute of Information Technology is a record of an original work done by us, under the guidance of our Supervisor Mr. Dilhan Manawadu. This project work is submitted in the partial fulfillment of the requirement for the award of the degree of Bachelor of Science in Information Technology Specializing in Interactive Multimedia Technology. The results embodied in this report have not been submitted to any other University or Institution for the award of any degree or diploma. Information derived from the published or unpublished work of others has been acknowledged in the text and a list of references is given.

Project Title: Konstructor – 3D based Intelligent Interactive House Building System

Project ID:

Names of the Authors:

Student ID

Student Name

Signature

IT 11 1562 84

Laknath K.L.I

IT 11 2259 66

Sumanasena R.E.L.K

IT 11 0784 56

Ariyawansa A.R.M.D.P

IT 11 2265 74

Wijerathne B.N

IT 09 0755 28

Galahitiyawa H.M

IT 09 6121 98

Iddamalgoda I.M.D.H.S

IT 11 1773 88

Harankahawa R.D.B

Date of Submission:

Internal Supervisor:

Mr. Dilhan Manawadu

Name

Signature

Date

Acceptance by Lecture in charge:

Mr. Dilhan Manawadu

Name

Signature

Date

Abstract

To keep pace with projected global growth through 2030, the world will have to spend $57 trillion on infrastructure [1]. When it comes to building infrastructure, anyone from large construction companies that build skyscrapers to individuals who are trying to build their dream house, have to consume a large amount of data, before starting the construction process. One of these is the compression of soil. If the proper calculations are not done, there is a high risk of subsidence. In addition, traditional architectural fables (“Vastu Vidya”) also play a significant role in building construction, especially in the South-Asian countries like Sri Lanka [2]. Currently, if a building plan has to be altered in order to reduce the risk of subsidence, there is no option for anyone to see how the changes would affect the final appearance of the structure, and whether it would match their beliefs, until an architect makes all the necessary changes and completes a new 3D model. This research is aimed at tackling these issues and coming up with a real time 3D, intelligent and interactive virtual environment that will be integrated with a new algorithm specially designed to calculate the impact that a building’s weight has on the soil. The solution consists of two main components, an interactive 3D construction component and a soil compression calculator, which are integrated through special algorithms. The soil compression calculator performs calculations for any changes that are made to the 3D model and compares it with the maximum weight level that particular land can bear. The changes can also be cross-checked with traditional architectural fables. This offers a chance for the users to make changes to the building plan before starting the actual construction process.

Table of Contents

iDeclaration

iiAbstract

iiiTable of Contents

vList of Figures and Tables

viList of Abbreviations

11.Introduction

11.1Research Problem

21.2Background Context

41.3Research Gap

51.4Research Questions

62.Overall Research Description

62.1Addressing the literature

102.2Methodology

112.2.1Reasons for Selecting the Prototype Development Methodology

112.2.2Purpose of Using Prototype Development Method

112.2.3Phase 1– Planning

112.2.4Phase 2 –Analysis

122.2.5Phase 3 – Design

122.2.6Phase 4 – Implementation

312.2.7Resources

322.2.8Reasoning for Resource Selection

322.2.9User Experience

332.3Research findings

343.Results & Discussion

343.1Evidence

443.2Discussion

464.Conclusion

464.1Importance of the outcome

474.2Limitations

474.3Future work

48References

50Appendices

50Appendix A: Konstructor - The Logo

50Appendix B: Sample Questionnaire

51Appendix C: Sample Interview Outline

52Appendix D: Interview #1

53Appendix E: Interview #2

54Appendix F: Login Interface

54Appendix G: Prototype Screen-Shots

56Appendix H: Use Case Diagram

57Appendix I: Models

61Appendix J: Consolidation Test Paper - Soil Mechanics Laboratory, Department of Civil Engineering, University Of Moratuwa, Sri Lanka

List of Figures and Tables

1Figure 1 - Causes of Delay [3]

2Figure 2 - Walls damaged due to subsidence

3Figure 3 - How people responded when they were asked whether they believe in traditional architectural fables

4Figure 4 - System Diagram

4Table 1 - Konstructor vs. other related or competing products in the market

10Figure 5 - Prototype Development Methodology

12Table 2 - WBS (Work Breakdown Structure)

13Figure 6 - Main House Model

34Figure 7 - Login Interface

37Figure 10 - Check Astrology

38Figure 11 - Change Wall Colors

39Figure 12 - Go to Aerial View

40Figure 13 - Move Objects

41Figure 14 - Preset Models

42Figure 15 - View Preset Model

43Figure 16 - Instructions Page

50Figure 17 - Konstructor - The logo

54Figure 18 - Login Interface

54Figure 19 - Prototype Screen-Shot (01)

55Figure 20 - Prototype Screen-Shot (02)

55Figure 21 - Unity Workspace

56Figure 22 - Use Case Diagram

57Figure 23 - House Models

58Figure 24 - Other Models (01)

59Figure 25 - Other Models (02)

60Figure 26 - Other Models (03)

List of Abbreviations

2D

Two-dimensional

3D

Three-dimensional

AR

Augmented Reality

CGI

Computer-generated Imagery

ICT

Information and Communication Technologies

IT

Information Technology

MS

Microsoft

TC

Test Case

VR

Virtual Reality

WBS

Work Breakdown Structure

1. Introduction1.1 Research Problem

Constructing a building is not as easy as it seems. There are many reasons that can jeopardize a construction project or delay the project delivery time [see figure 1]. All of them, both short and long term, have to be considered before starting a construction project.

Figure 1 - Causes of Delay [3]

There are many difficulties when building a house on compressed soil and in different areas which have diverse raining patterns. Before starting the construction process, proper calculations have to be done. At present, these calculations are done manually using calculators, which is highly time consuming.

At the beginning of this project, the research team made inquiries about building construction from architects, contractors and customers. They stated that sinking of the buildings (due to subsidence) and problems regarding traditional beliefs were two of the main issues they regularly encountered.

Most of the people do not think of the soil constitution of the land before starting to build a house. Some may use marsh lands for construction after being filled with soil, which magnifies the risk of subsidence later on. If the construction is done through a company, the end customer might not even be aware of this matter. It should however be kept in mind before choosing a land and before starting construction. If not many problems will arise after the construction is completed.

Figure 2 - Walls damaged due to subsidence

The traditional architectural fables and astrology plays a huge role in building construction in Asian cultures. Even if a particular customer does not pay much attention to these views at the onset, he might have some doubts later, while the construction is going on or once it is finished. This may create problems as it is difficult to change plans at this stage. It will also cause distress to the customer as well as to the architect giving an unsatisfied outcome.

Even after searching thoroughly for an effective way to solve all these problems, the team did not come across any system that would satisfactorily give solutions to all these issues.

1.2 Background Context

The proposed software solution can be used in several aspects, such as defining the soil constitution, calculating the weight of the building the soil can endure and using the architectural fables in an appropriate manner.

Even though the main target groups of the soft-ware are architectures and building constructors, any other person or group who is interested in constructing buildings can use the software. They do not need much knowledge in IT to use this product.

Defining the soil constitution is somewhat difficult using manual methods. The team was able to get data related to soil compression and subsidence through one of the companies that deals with these type of work. After deciding the soil constitution of the particular land using that data, the users have the ability to enter those values into Konstructor. The user will then be able to plan the house/building construction plan accordingly. This will also help get an idea as to whether it is possible to add more walls or sections to the building or whether some parts of it need to be removed in order to reduce the weight of the building to match the weight which the soil can endure.

Most of the Sri Lankans believe in architectural fables such as Vastu Vidya and astrology. Therefore the research team has integrated a database of traditional architectural fables into the system. The research done by the team showed that about 81% of the Sri Lankan population believes in traditional architectural fables. However, if someone does not have much belief in such architectural fables, they can ignore that facility.

Figure 3 - How people responded when they were asked whether they believe in traditional architectural fables

Other than the facilities mentioned above, the end user can have a look or even have an interactive tour inside the building he is planning to construct, before the construction is started. They can also decide on the interior decoration using this software. Through the research, the team members found out that more than 95% of the people prefer being able to check out a 3D model of a building before starting the construction process. However, only about 38% of people have had the chance to do so.

Figure 4 - System Diagram

1.3 Research Gap

Below is a comparison of Konstructor with other such products in the market.

Software

Can calculate weight

Consider architectural fables

Virtual tour

Interior designing

User-friendly

Probuilder [4]

X

X

X

Maya [5]

X

X

3Ds Max [6]

X

X

Unity [7]

X

X

AutoCAD [8]

X

X

X

X

Konstructor

Table 1 - Konstructor vs. other related or competing products in the market

As no systems or software can currently offer the services that the research team expects to deliver at the end of the project, they decided to go forth with it.

1.4 Research Questions

· How to measure the weight of 3D models designed using particular algorithms and predict weight of buildings?

· How to incorporate the astrological and traditional architectural fables into a virtual 3D environment?

· How to integrate 3D models into Unity 3D environment in order to build a comprehensive interactive virtual world?

2. Overall Research Description2.1 Addressing the literature

Usually, before starting the construction of a building, proper calculations have to be done to calculate the compression of soil. At present, these calculations are done manually using calculators, which is highly time consuming. Many researchers have done researches regarding this problem and they are described within this section.

One of the main components of the project was calculating the subsidence. And soil compaction is the most important factor that determines the subsidence value of a land. The definition of soil compaction is - “Compaction is densification of soil by removing air using mechanical equipment. The degree of compaction is measured by its dry unit weight”. Back in 1980, W. E. Larson recognized that “Compression curves determined for soils at different water contents were approximately parallel to each other over the range of initial pore water potentials from −0.05 to −1.0 bar.[9]” They have used some methods to get the results, “determined on 36 world agricultural soil samples at given water content were linear over the range of stresses from about 1 to 10 kg cm−2.[9]”

Another soil compression research, done in 2011, states that, “Simulated soil compression and piling, vehicles leaving tire traces spinning, skidding and even sinking. This first step is the simulation of the soil object system at a discretization scale that can be termed "intermediate". A subsequent step consists of the simulation of a finer physical soil model in order to account for smaller scale dynamic phenomena.[10]”

Another section the project is focusing on is, Interactivity. According to J. F. Jensen, “In summary, it can be said that while ‘interaction’ in the sociological sense refers to a reciprocal relationship between two or more people, and in the informatic sense refers to the relationship between people and machines (but not communication between people mediated by machines), in communication studies it refers, among other things, to the relationship between the text and the reader, but also to reciprocal human actions and communication associated with the use of media as well as (para-social) interaction via a medium.[11]”

Interactivity can also be defined as “Computer program, device, game, etc., that (in response to a user's action or request) presents choices (paths) depending on where in the program the user initiated the action. By following different choices, the user can accordingly control or change the action of the device or outcome of a game or program.” There are also some researches regarding interactivity. In 1998, University of Kansas Lawrence has conducted a research which says “The current paradigm evaluates speech recognition technology in terms of word recognition accuracy on large vocabulary transcription tasks, such as telephone conversations or media broadcasts.[12]”And they have introduced a solution for that problem, “more productive and more accessible paradigm for spoken language research, in which research advances are evaluated in the context of interactive systems that allow people to perform useful tasks, such as accessing information from the World Wide Web, while driving a car.[13]”

3D designing is another aspect of Konstructor. The definition of 3D is “Three-dimensional model that displays a picture or item in a form that appears to be physically present with a designated structure. Essentially, it allows items that appeared flat to the human eye to be display in a form that allows for various dimensions to be represented. These dimensions include width, depth, and height” A number of researches regarding 3D designing have already been conducted. In 1997, the Department of Computer Science and Graduate School of Architecture have done a research which says “We introduce an application that presents information about our university's campus, using a head-tracked, see-through, head-worn, 3D display, and an untracked, opaque, hand-held, 2D display with stylus and track pad. We provide an illustrated explanation of how our prototype is used, and describe our rationale behind designing its software infrastructure and selecting the hardware on which it runs.[14]” Another research in Sientific.net says “face recognition system based on 3D head modeling that is able to tolerate facial rotation angles was constructed by leveraging the Open source graphic library (OpenGL) framework.[15]”

The project then features a Virtual Environment. The definition of virtual environment is “a computer-generated, three-dimensional representation of a setting in which the user of the technology perceives themselves to be and within which interaction takes place”. In 1997, the Northeastern University Boston has conducted a research project. They have produced a virtual driver simulator and they say “when the lead driver in a car-following situation suddenly brakes, the following car driver needs to respond as quickly as possible to avoid a collision. Such driving paradigms suggest that broadcasting and dead-reckoning may be applicable only if the human controlled actors are further apart than some delta time value.[16]” Another research was conducted in freepatentsonline.com and it says “The system consists of a server and client architecture. Within this architecture, the server or controller plays a "master" role, puffing, storing, and delivering media content from a plurality of client sources. The master server or controller manipulates the storage and delivery of these streams through an intelligent database and programming architecture.[16]”

Above are some of the key previous researches related to this project. There are also some projects that are somewhat similar to Konstructor, but do not present the same outcome.

In 2002, Fuzhou University has conducted a similar project. They have done a virtual plant project which says “The purpose of the software package is to provide an integrated software solution to realistic plant modeling, real-time scene rendering, growth simulation and applications at different scales from individual, stand (population, community) to landscape. We are used to build individual plant model. Para Tree combines geometric modeling and parameterized modeling.[17]” The most important thing is that this software does not require much knowledge of biology from the users.

Another project has been done for producing a VR visualization experience and they say “The system aims towards a cost-effective, clearly presented and timely accessible system that follows a threefold approach; It entails managing the extensive amount of the daily produced medical data, combining the scattered information related to one patient in one interface with a filtering criteria to the required information, and visualizing in 3D the data from different sources, in order to improve 3D mental mapping, increase productivity and consequently ameliorate quality of service and management.[18]” Medical industries can get more advantages using this system.

There is another project that has been done targeting the crane operators. This says “The proposed system has a function called multimodal display which presents various kinds of operational assistance. We consider the realization of the training system by adaptation of the strength of operational assistance based on operator’s state; we focus on the operator’s skill level.[19]” Someone who likes to be a crane operator can get training using this crane system.

There is another project that has been done regarding cultural heritage assets, and says “our approach for an asset management is described. This includes the system configuration and asset creation method. Finally, we address how to present the virtual heritages. Here, we show two approaches, Web-based and virtual reality theater-based system. We also address the networking issues for transcontinental cultural heritage exchange and our future plan for the 3D cyber museum through the Trans-Eurasia Information Network.[20]” The importance of this project is that any user can easily walk through this virtual museum and see what the cultural heritage assets are.

Another project has been done for E-Learning using 3D technology. They say “This application gives the student the ability to perform all experiments in a certain crucial. The second application is an on-line English language education system. This application gives the students the ability to learn the language audile and visual via on line interactive system. X3D is used as the main implementation tool which give the systems users the full visualization and interactivity of all learning steps.[21]” Through this project, every student can learn the real manner of using a 3D object.

Another project, which has been done regarding a 3D photo Gallery on mobile says “The system will allow users to take pictures with the mobile device and exhibit in the form of virtual 3D gallery and navigate or walk through in the gallery by pressing the button or moving the device. The device has the computational unit which is capable of determining motion data from the g-sensor or accelerometer sensor. The motion data describes the movement of the device including a rotation of the device. Therefore, the benefit of the sensor could be applied such as modifying the view displayed on the screen vertically or horizontally automatically.[22]” This software allows the users to view 3D photos on their mobile devices.

There is a virtual museum project which uses a different approach than the others. It says “conducted indicate that previous experience with ICTs (Information and Communication Technologies) did not correlate with perceived AR objects’ presence or VR presence while exposed to a virtual heritage environment. Enjoyment and both AR objects’ presence and VR presence were found to be positively correlated. Therefore, a high level of perceived presence could be closely associated with satisfaction and gratification which contribute towards an appealing experience while interacting with a museum simulation system.[23]” By using this system, every user can walk through whole museum and see all the heritage things.

A project which produces a virtual 3D city says “We present a technique to automatically generalize a given virtual 3D city model consisting of building models, an infrastructure network and optional land coverage data; this technique creates several representations of increasing levels of abstraction. Using the infrastructure network, our technique groups building models and replaces them with cell blocks, while preserving local landmarks.[24]” Using this 3D virtual city system, the users can get some idea about the roads in the city without actually going there.

The Konstructor also expands into Vastu Vidya. According to Vastu Vidya Australia - “Vastu (pronounced with a long a) is a Sanskrit word meaning “the science of structures”. It is a traditional science of architecture that guides the design and construction of buildings in harmony with the laws of nature and the universe. [25] ”

“ProBuilder” is a commercial product which is somewhat similar to Konstructor, but does not have any weight calculation functionalities. This is a brief introduction of ProBuilder - “ProBuilder is a tool for building, editing, and texturing custom meshes right in Unity 3D. It is a fast, intuitive, and dead-simple way to create everything from environment details, to structures, to entire levels. ProBuilder is also great for quickly adding volumes, zones, triggers, occlusion areas, collision boxes and more. Best of all, you can do all this without ever leaving Unity.[4]”

2.2 Methodology

Selecting a good methodology helps in creating a high quality software product. Out of various types of software development methodologies, the research group decided to use the Prototype development methodology. With this approach, when the basics of analysis and design are performed, the work on a system prototype starts immediately, and a “quick-and-dirty” program that provides minimal amount of features is developed.

Figure 5 - Prototype Development Methodology

2.2.1 Reasons for Selecting the Prototype Development Methodology

Prototyping, as a methodology, is important in building fast, more reliable and better quality systems. Here is why and how. This method is based on building a model of a system to be developed. Moreover, the initial model should include the major program modules, the database, screens, reports, and the inputs and outputs that the system will use for communicating with others.

Because of that, the research team decided to select prototype development methodology for this project.

2.2.2 Purpose of Using Prototype Development Method

When using the prototype model, users can easily get a clear idea and feel about the final product. So the users can suggest the changes and modification that they expect to see in the final product. This was the reason why that the research team decided to use prototype development model for Konstructor.

2.2.3 Phase 1– Planning

In the planning phase, the team held a number of meetings and came up with some decisions on how to proceed with the project.

It was decided to conduct questionnaires in order to collect data about the customer satisfaction. These questionnaires were designed to get a clear idea about how architectural fables and damages due to subsidence affected the customer satisfaction. The team decided to use Google forms to create the questionnaires.

Moreover, it was also planned to carry out interviews with architects, construction professionals, such as Civil Engineers and Quantity Surveyors, and building contractors.

2.2.4 Phase 2 –Analysis

In the analysis phase the research team gathered details about past researches that could be helpful for the project and for overcoming the risks and problems they might come across in the future. The team went through a lot of research papers to find out what has already been done by previous researchers. They also requested and received the assistance of the SLIIT lecturers in order to decide which software to use for the project. In addition, the research team carried out questionnaires and interviews to get an outlook of the current building construction process in Sri Lanka.

2.2.5 Phase 3 – Design

The design phase of the project consisted of few steps.

· Architectural design – The plan for the hardware, software and communications infrastructure for the new system.

· Process design – Different procedures that are used in the system.

· Data Storage design – Logical Structure of the database.

· 3D model design – All the model designs of the system.

2.2.6 Phase 4 – Implementation

This was the most important phase of the research. This was also the longest phase of the project. In this phase, the research team built the prototype, and checked it for bugs and errors of both, the model and algorithms that were designed. Each member of the research team had a specific task to perform, which were rendered together in the end to build the final solution. Proper and timely execution of each of these tasks was critical to the success of the project. Below is a WBS that gives an idea about the individual contribution of each team member of the research team.

Team Member

1st Responsibility

2nd Responsibility

3rd Responsibility

4th Responsibility

Isuru

Coding

Documentation

Sound

Algorithm Programming - (Vastu Vidya)

Buddika

Database Implementation

Coding

Algorithm Programming - (Vastu Vidya)

Video Editing

Heshan

Documentation

3D Designing

Algorithm Programming - (Soil Compression)

Sound

Lilanga

3D Designing

Coding

Sound

Video Editing

Dhanushka

Algorithm Programming - (Soil Compression)

Sound

Coding

Documentation

Hasitha

3D Designing

Video Editing

Coding

Documentation

Ruvisanka

Video Production

Sounds

Database Implementation

3D Designing

Table 2 - WBS (Work Breakdown Structure)

The first step of implementation was creating the 3D models. Below is the main house model used in Konstructor.

Figure 6 - Main House Model

Following are some of the coding that the team members developed in order to add different functionalities to Konstructor.

The code below is used to move the objects such as windows, doors, roofs, etc. according to users choice.

———————————————————————————

#pragma strict

private var screenPoint:Vector3; private var offset:Vector3;

function OnMouseDown() { screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);

offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));

}

function OnMouseDrag()

{ var curScreenPoint:Vector3 = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);

var curPosition:Vector3 = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;

transform.position = curPosition;

}

———————————————————————————

The code below is used to change Material/Texture of the objects such as floor and roof according to users choice.

———————————————————————————

#pragma strict

var roof: Texture2D;

function OnGUI()

{

if(GUI.Button(Rect(600,850,200 ,50),"ROOF UP SMALL2"))

{

renderer.material.mainTexture = roof;

}

}

———————————————————————————

The code below is used to delete the 3D objects such as windows, doors, roofs, etc. It also allows re-adding those 3D objects.

———————————————————————————

#pragma strict

var icon : Texture2D;

var toggleBool = true;

var target : GameObject;

var target2 : GameObject;

var wall_window_main: GameObject;

var wall_window_main2: GameObject;

function OnGUI ()

{

if(minM == false)

{

windowRect0 = GUI.Window (0, windowRect0, DoMyWindow, " Modification Tools");

}

if(minM == true)

{

GUI.Box (Rect (1720,10,200,30), " Modification Tools");

if(GUI.Button (Rect(1720,10, 30, 30), "+"))

{

minM = !minM;

}}}

function DoMyWindow (windowID : int) {

if (GUI.Button (Rect (250,20,200,30), "Wall Main Door")) {

target.SetActive(true);

}

———————————————————————————

The code below is used to toggle between the Aerial View and the Controller View of the house model.

———————————————————————————

#pragma strict

var cam : GameObject;

var cam2 : GameObject;

function Start () {

cam = GameObject.Find("Top_cam");

cam2 = GameObject.Find("Main Camera");

cam.active = false;

}

function OnGUI() {

if (GUI.Button(Rect(15,10,100,50),"Top View"))

{

cam2.active = false;

cam.active = true;

}

if (GUI.Button(Rect(130,10,100,50),"Controler View"))

{

cam.active = false;

cam2.active = true;

}

}

———————————————————————————

The code below is used to change the colors of the objects such as windows, doors, roofs, etc according to user’s choice.

———————————————————————————

var wallDoor: Renderer;

var bumpMap : Texture;

function OnGUI()

{

GUI.Box(Rect(5,755,200,100),"Colours");

GUI.color = Color.yellow;

if(GUI.Button(Rect(10,800,50 ,50),"Yellow"))

{

if(wallDoor.material.color == Color.yellow)

{ wallDoor.material.color = Color.white; }

else{ wallDoor.material.color = Color.yellow;}

}}

———————————————————————————

The code below is used to calculate the Coefficient of Volume Compressibility of a soil sample and then use that value to calculate the subsidence of the land.

———————————————————————————

if( GUI.Button( new Rect(30, 350, 200, 40 ), "Enter" ))

{

Debug.Log( Tload );

P= float.Parse(Tload);

Debug.Log( TTikn );

h= float.Parse(TTikn);

Debug.Log(THigh);

H=float.Parse(THigh);

CoefficientOfCompressibility = (h) /(P * H);

Subsidence = CoefficientOfCompressibility * H * (totalWeight * 1.5f / (14.0f * 11.0f));

c=1;

GUI.Label( new Rect(30, 400, 200, 50 ), "Subsidence = " + Subsidence +" Kg");

GUI.Box(new Rect(20,450,300,150), "");

if(Subsidence>0.5 && c==1)

{

GUI.Label( new Rect(30, 460, 300, 40 ), "The soil is not strong enough to support your building. Please consult a professional!");

}

if(Subsidence<0.5 && c==1)

{

GUI.Label( new Rect(30, 490, 300, 40 ),"The soil is strong enough to support your building");

}

}

———————————————————————————

The code below is used to handle the architectural fables.

———————————————————————————

void Update () {

if (Input.GetKeyDown("t"))

{

y=1;

}

if(Input.GetKeyDown("r"))

{

print("Space key was pressed");

y=0;

}

if(Input.GetMouseButtonDown(0))

{

x=1;

}

if(Input.GetMouseButtonUp(0))

{

x=0;

}

voidOnGUI()

{

if(x==1)

{

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // camera position select

RaycastHit hit;

if (Physics.Raycast(ray, out hit))

{

if (hit.transform.gameObject != null)

{

varthisObject = hit.transform.gameObject;

if (thisObject == null) {

return;

}

MeshFilter mf = thisObject.GetComponent(typeof(MeshFilter)) asMeshFilter;

if (mf == null)

{return;}

Mesh mesh = mf.sharedMesh;

if (mesh == null)

{return;}

if(x==1)

{

name1 =hit.transform.gameObject.name;

}

}

}}

GUI.Box(newRect(1750,550,150,280), "Check Astrology"); // create gui box

if (GUI.Button(newRect(1760,580,120,40), "Windows"))

{

count= GameObject.FindGameObjectsWithTag(name1).Length; // count the values

if ( count % 2 == 0) // check even or odd

{

output = "According to Astrology Correct Modification";

Suggest = "You can submit your model. Congratulations!!!! ";

// print out pusts

}

else

{

output = "According to Astrology Wrong Modification";

Suggest = "You have to modify your model again";

}

test = "Wall with Windows are "+count;

}

// create lables

GUI.Label(newRect(1500, 600, 200, 30 ), test);

GUI.Label(newRect(1500, 650, 200, 50 ), output);

GUI.Label(newRect(1500, 710, 200, 50 ), Suggest);

if (GUI.Button(newRect(1760,620,120,40), "Doors"))

{

// get the count of wall

count= GameObject.FindGameObjectsWithTag("doorwithwall").Length;

if ( count % 2 == 0) // chekvaluse are odd or even

{

// print the out put

output = "According to Astrology Wrong Modification";

Suggest = "You have to modify your model again";

}

else

{

output = "According to Astrology Correct Modification";

Suggest = "You can submit your model. Congratulations!!!! ";

}

test = "Wall with Doors are "+count;

}

// create lables

GUI.Label(newRect(1500, 600, 200, 30 ), test);

GUI.Label(newRect(1500, 650, 200, 50 ), output);

GUI.Label(newRect(1500, 710, 200, 50 ), Suggest);

if (GUI.Button(newRect(1760,660,120,40), "Foundation Length"))

{

length=11; // give length value for selected object

if (length % 2 == 1) // check the value is odd or even

{

output = "According to Astrology Correct Modification";

Suggest = "You can submit your model. Congratulations!!!! ";

}

else

{

output = "According to Astrology Foundation Length can't be an even value ";

Suggest = "You have to change Foundation Length";

}

Lengthobj= " Foundation Length is : " + length;

}

GUI.Label(newRect(1500, 600, 200, 30 ), Lengthobj);

GUI.Label(newRect(1500, 650, 200, 50 ), output);

GUI.Label(newRect(1500, 710, 200, 50 ), Suggest);

if (GUI.Button(newRect(1760,700,120,40), "Foundation Width"))

{

width=15;; // give width value for selected object

if (width % 2 == 1)

{

// print the outputs

output = "According to Astrology Correct Modification";

Suggest = "You can submit your model. Congratulations!!!! ";

}

else

{

output = "According to Astrology Foundation width can't be even value ";

Suggest = "You have to change Foundation width ";

}

Widthobj= " Foundation width is : " + width;

}

GUI.Label(newRect(1500, 600, 200, 30 ), Widthobj);

GUI.Label(newRect(1500, 650, 200, 50 ), output);

GUI.Label(newRect(1500, 710, 200, 50 ), Suggest);

// check the scale value

if (GUI.Button(newRect(1760,740,120,40), "Foundation Scale"))

{

length=11;

width=15;

// get length and width value from the previously assigned

Scale = length*width;

if (scale % 2 == 1) // check values are odd or even and if odd go inside the code

{

answer = scale/8;// get the value after dividing the scale value according to the astrology

// divide the answer into two parts

float value = answer ;

string a= value .ToString ();

string []b = a.Split ('.');

int firstValue = int .Parse (b[0]);

int SecondValue = int .Parse (b[1]);

int i = Mathf.Abs(SecondValue);

while(i >= 10)

i /= 10;

// check values according to the astrology

If ( ( i==1 && (scale == 9 || scale == 73 || scale == 97 || scale == 161 ))

|| ( i==3 && (scale == 3 || scale == 67 || scale == 91 || scale == 155 ))

|| ( SecondValue==625 && (scale == 21 || scale == 85 || scale == 149 || scale == 213 ))

|| ( SecondValue==875 && (scale == 15 || scale == 67 || scale == 79 || scale == 143 )))

{

output = "According to Astrology for Foundation this scale value is not good";

Suggest = "You have to change Foundation width or length to another odd value ";

}

else

{

output = "According to Astrology Correct Modification";

Suggest = "You can submit your model. Congratulations!!!! ";

}

}

else

{

output = "According to Astrology Foundation Scale can't be even value ";

Suggest = "You have to change Foundation width or length. Double check that values. ";

}

Scaleobj="Scale of the Foundation is : "+ scale;

}

GUI.Label(newRect(1500, 600, 200, 30 ), Scaleobj);

GUI.Label(newRect(1500, 650, 200, 70 ), output);

GUI.Label(newRect(1500, 710, 200, 70 ), Suggest);

// clear the values inside the lables

if (GUI.Button(newRect(1760,780,120,40), "Clear Astrology"))

{

test = "";

output = "";

Suggest = "";

Scaleobj="";

Lengthobj="";

Widthobj="";

}

}

}

———————————————————————————

The code below is used to handle the database connection for functions such as user login etc.

———————————————————————————

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.SqlClient;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Logging_Ruvisanka

{

class DBTools

{

static SqlConnection conn = null;

public static int ExecuteNonQuery(SqlConnection connection, string procedureName, params SqlParameter[] commandParameters)

{

return ExecuteNonQuery(connection, CommandType.StoredProcedure, procedureName, commandParameters);

}

public static int ExecuteNonQuery(SqlConnection connection, CommandType commandType, string commandText, params SqlParameter[] commandParameters)

{

if (connection == null) throw new ArgumentNullException("connection");

if (string.IsNullOrEmpty(commandText)) throw new ArgumentNullException("commandText");

int retval = 0;

// Create a command and prepare it for execution

using (SqlCommand cmd = new SqlCommand())

{

bool mustCloseConnection = false;

PrepareCommand(cmd, connection, null, commandType, commandText, commandParameters, out mustCloseConnection);

retval = cmd.ExecuteNonQuery();

// Detach the SqlParameters from the command object, so they can be used again

cmd.Parameters.Clear();

if (mustCloseConnection) connection.Close();

}

return retval;

}

public static int ExecuteNonQuery(SqlTransaction transaction, string procedureName, params SqlParameter[] commandParameters)

{

return ExecuteNonQuery(transaction, CommandType.StoredProcedure, procedureName, commandParameters);

}

public static int ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters)

{

if (transaction == null) throw new ArgumentNullException("transaction");

if (transaction != null && transaction.Connection == null)

throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction");

int retval = 0;

using (SqlCommand cmd = new SqlCommand())

{

bool mustCloseConnection = false;

PrepareCommand(cmd, transaction.Connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection);

retval = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

}

return retval;

}

public static SqlDataReader ExecuteReader(SqlConnection connection, string procedureName, CommandBehavior behavior, params SqlParameter[] commandParameters)

{

return ExecuteReader(connection, null, CommandType.StoredProcedure, procedureName, behavior, commandParameters);

}

public static SqlDataReader ExecuteReader(SqlConnection connection, CommandType commandType, string commandText, CommandBehavior behavior, params SqlParameter[] commandParameters)

{

return ExecuteReader(connection, null, commandType, commandText, behavior, commandParameters);

}

public static SqlDataReader ExecuteReader(SqlTransaction transaction, string procedureName, CommandBehavior behavior, params SqlParameter[] commandParameters)

{

if (transaction == null) throw new ArgumentNullException("transaction");

if (transaction != null && transaction.Connection == null)

throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction");

if (procedureName == null || procedureName.Length == 0) throw new ArgumentNullException("procedureName");

return ExecuteReader(transaction.Connection, transaction, CommandType.StoredProcedure, procedureName, behavior, commandParameters);

}

public static SqlDataReader ExecuteReader(SqlTransaction transaction, CommandType commandType, string commandText, CommandBehavior behavior, params SqlParameter[] commandParameters)

{

if (transaction == null) throw new ArgumentNullException("transaction");

if (transaction != null && transaction.Connection == null)

throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction");

return ExecuteReader(transaction.Connection, transaction, commandType, commandText, behavior, commandParameters);

}

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]

private static SqlDataReader ExecuteReader(SqlConnection connection, SqlTransaction transaction, CommandType commandType, string commandText, CommandBehavior behavior, params SqlParameter[] commandParameters)

{

if (connection == null) throw new ArgumentNullException("connection");

bool mustCloseConnection = false;

SqlCommand cmd = new SqlCommand();

try

{

PrepareCommand(cmd, connection, transaction, commandType, commandText, commandParameters, out mustCloseConnection);

SqlDataReader dataReader = cmd.ExecuteReader(behavior);

// Detach the SqlParameters from the command object, so they can be used again.

bool canClear = true;

foreach (SqlParameter commandParameter in cmd.Parameters)

{

if (commandParameter.Direction != ParameterDirection.Input) canClear = false;

}

if (canClear) cmd.Parameters.Clear();

return dataReader;

}

catch

{

if (mustCloseConnection) connection.Close();

throw;

}

}

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2100:Review SQL queries for security vulnerabilities")]

private static void PrepareCommand(SqlCommand command, SqlConnection connection, SqlTransaction transaction,

CommandType commandType, string commandText, SqlParameter[] commandParameters, out bool mustCloseConnection)

{

if (command == null) throw new ArgumentNullException("command");

if (commandText == null || commandText.Length == 0) throw new ArgumentNullException("commandText");

if (connection.State != ConnectionState.Open)

{

mustCloseConnection = true;

connection.Open();

}

else mustCloseConnection = false;

command.Connection = connection;

command.CommandText = commandText;

if (transaction != null) command.Transaction = transaction;

command.CommandType = commandType;

// Attach the command parameters if they are provided

if (commandParameters != null) AttachParameters(command, commandParameters);

return;

}

private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)

{

if (commandParameters != null)

{

foreach (SqlParameter p in commandParameters)

{

if (p != null)

{

// Check for derived output value with no value assigned

if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) && (p.Value == null))

{

p.Value = DBNull.Value;

}

command.Parameters.Add(p);

}

}

}

}

public static SqlConnection CreateConnection()

{

conn = new SqlConnection("Data Source=.;Initial Catalog=Logging;Integrated Security=True");

conn.Open();

return conn;

}

}

}

———————————————————————————

2.2.7 Resources

· Microsoft Visual Studio 2012

· Microsoft SQL Server 2012

· Autodesk Maya 2012

· Unity 4.0

· SONY Vegas PRO v12.0.0.486

· MS office package 2010

· Adobe Photoshop CS 5

2.2.8 Reasoning for Resource Selection

There were two software options that the research team could have used for the interactive 3D implementation of the project. They were Unity and Cry-engine. As Cry-engine is a non-commercial software, it is not possible to create a final “.exe” using it. And in order to run a project created on one computer using Cry-engine (on top of the engine) on another computer, the latter must also have the exact same performance level as the computer that was used to design the project. Therefore, the team decided that Unity was the best option for the project.

For programming, Unity allows only 3 languages : Boo, C# and JavaScript. As the team members were not particularly familiar with Boo, C# and JavaScript were selected for the project. JavaScript in Unity is different and more advanced than the normal JavaScript language that the team members were working with earlier. So they had to use a combination of C# and JavaScript to achieve the research goals.

In order to address the security concerns, the team decided to define each user by giving them their own user account with a unique username and a password. To serve this purpose, a login interface was integrated to the solution. As the team members had a lot of prior working experience with Microsoft SQL, it was used to store the user information.

2.2.9 User Experience

After logging into an account, a user can enter the main interface. Before designing the interfaces the research team did some UX research to find out how they can offer a better user experience for the users. According to the findings the team decided to add large buttons with icons and use simple interfaces.

The interfaces in Konstructor are designed in a way that helps the users get their work done easily within a short time period. Therefore it is very convenient for the users with busy schedules, as well as for the ones who do not have much prior knowledge or experience of working with the solution. The team also decided to use a red color exit button at the bottom of the page, which allows the users to leave the page whenever they wish.

Overall, the team managed to design the interfaces in the system in a simple, logical and attractive way.

2.3 Research findings

· The research team was able to calculate the weight of each component of the 3D model

· The research team was able to measure the weight of the whole 3D model

· The research team was able to move each component of the 3D model individually

· The research team was able to integrate architectural fables into the system

· The research team was able to remove and add components to the 3D models

· The research team was able to change the color and texture of each surface

· The research team was able to implement a soil compression calculator and integrate it into the solution using Unity 3D

· The research team was able to add a 1st person walkthrough into the software solution

3. Results & Discussion3.1 Evidence

User Login

TC#

Sequence #

Test Description

Input Value

Expected Result

1

1.1

Enter username and password

Username,Password

N/A

1.2

Click Login button

N/A

Login to the system and go to the home interface

Create New Model

TC#

Sequence #

Test Description

Input Value

Expected Result

2

2.1

Click "Create New Model" button

N/A

Go to the main interface and load the default model for modification

Figure 8 - Main Interface

Once users are on this interface, they can modify the model by adding or removing walls. Users can also input the soil compression data through this interface. In addition, they can also move the items inside the model and change the colors of the walls.

Soil Calculation

TC#

Sequence #

Test Description

Input Value

Expected Result

3

3.1

Mouse click each wall of the model

N/A

Add the weight of each wall to the total weight of the model

3.2

Input the values needed to calculate subsidence

Load, Sample Subsidence, Sample Height

N/A

3.3

Click Enter

N/A

Calculate subsidence and indicate whether the house can be built on that land

Figure 9 - Calculating Subsidence

Check Astrology

TC#

Sequence #

Test Description

Input Value

Expected Result

4

4.1

Check the length of the foundation by clicking "Foundation Length" button

N/A

Show the foundation length and whether it is correct according to astrology

Figure 10 - Check Astrology

Change Wall Colors

TC#

Sequence #

Test Description

Input Value

Expected Result

5

5.1

Select a wall and click on one of the colors

Blue

Change the color of the selected wall to blue

Figure 11 - Change Wall Colors

Go to Aerial View

TC#

Sequence #

Test Description

Input Value

Expected Result

6

6.1

Click the "Top View" button

N/A

View the house model from top

Figure 12 - Go to Aerial View

Move Objects

TC#

Sequence #

Test Description

Input Value

Expected Result

7

7.1

Click and drag the walls of the house model

N/A

Move the walls

Figure 13 - Move Objects

Preset Models

TC#

Sequence #

Test Description

Input Value

Expected Result

8

8.1

Click the "Preset Model" button on the home interface

N/A

Go to preset models

Figure 14 - Preset Models

View Preset Model

TC#

Sequence #

Test Description

Input Value

Expected Result

9

9.1

Select one of the preset models

N/A

View the selected preset model

Figure 15 - View Preset Model

View Instructions

TC#

Sequence #

Test Description

Input Value

Expected Result

10

10.1

Click "Instructions" button on home interface

N/A

Go to the instructions page

Figure 16 - Instructions Page

3.2 Discussion

Throughout the research project the research team faced many issues and had to resolve or work around them in order to reach the final goal.

One of the main issues that came up after deciding to add architectural fables into the solution was deciding which ones to choose. In many Asian sub-cultures, including Sri Lanka, people believe in many traditional architectural fables, which include Vastu Vidya, Feng Shui and astrology. Even though the team decided to focus the research, in order to narrow the scope of the project, on only one Sri Lankan tradition, namely Vastu Vidya, they still had to study a lot about it. To overcome this issue, two team members were appointed to thoroughly study the architectural fables. They then had the task to give the other members of the research group a general idea about these fables. In order to simplify the project and to manage time frame, the team decided to focus only on implementing few of them in the system.

While implementing the software solution, the team had issues with importing the 3D models that were made using Maya into Unity 3D. As none of the team members had any prior knowledge of working with Unity 3D, a lot of research had to be done to find solutions.

After importing the 3D models from Maya to Unity 3D, there were scaling problems. The models that were in the same scale in Maya were imported to Unity 3D in different scales. Thus the research team had to find a solution to this issue before going forward with the project.

When they started implementing the soil compression algorithm, it had to be done from scratch. There were no software solutions made for this purpose. So team members had to visit actual construction sites and meet up with architects and engineers to get data about the current manual soil compression calculation techniques.

Even after getting the data about soil compression from the construction industry specialists, the team had to go through the algorithms they provided and understand them one by one. As the most difficult task was grasping and dealing with the symbols and terminology used in the construction industry, the team had to request help from some of the professionals working in the construction field (civil engineers, quantity surveyors).

While going forward with implementing the soil compression calculator, the research team had to face many other obstacles. The team managed to get through them using their Internet research skills and, on few occasions, by requesting assistance on online forums.

4. Conclusion4.1 Importance of the outcome

There are many user groups that would benefit from the outcome of this project, including Maya users, Unity 3D users, students, Architects, Vastu Vidya gurus and customers.

· Maya Users

The research team found many methods that Maya users can use in order to keep their models on the same scale in Unity 3D. This will be helpful for many people who are planning to work with Maya and Unity 3D in the future.

· Unity 3D Users

As a direct result of this research, the research team have come up with a way to implement a soil compression calculator into an interactive 3D model in Unity 3D. This will be highly useful for anyone who is planning to use Unity 3D for a project related to the construction industry.

In addition, the team have shown that it is possible to incorporate architectural fables into an interactive 3D model using Unity 3D.

· Students

The results and the findings of the project will be important to students in a number of fields, including construction, interior design, 3D animation, 3D modeling, architectural fables (Vastu Vidya), and CGI.

· Architects

Architects are one of the groups that directly benefit from the final product of this project. They can use it to for the projects of their clients.

· Vastu Vidya Gurus

Vastu Vidya gurus can use this system to check the issues in their work. In addition, they can use it to justify the changes that they make to a certain building plan, by using it to demonstrate the issues in the current plan.

· Customers

Konstructor is made in a highly user friendly manner. So anyone can use it to check the issues in the construction of their house. In addition, they can ask their contractors to use this product to make sure that their house does not get affected by subsidence.

4.2 Limitations

When coming up with the system, the research team had to go through many difficulties due to limitations in software; specially Unity 3D. Due to that reason, the team had to limit the scope of the project to a number of Sri Lankan architectural fables and to soil compression. Although there are thousands of architectural fables, and other factors such as weather and quality of the building materials, it was impossible to implement them all in Konstructor within the short time period that the team had. The soil compression calculator of Konstructor is also limited to only few input options, due to issues regarding software compatibilities.

4.3 Future work

Future researchers can improve Konstructor in several ways. One of these is by integrating Feng Shui and architectural fables from other parts of the world in to the system. Another is by adding additional factors that affect building construction process such as weather conditions and building materials. The soil compression calculator of the Konstructor can also be improved by providing more input options. Finally, translating the final solution into different languages is another improvement that can be made to the system.

References

[1] “Rethinking infrastructure,” Feb. 2013. [Online]. Available: http://www.mckinsey.com/features/infrastructure [Accessed: Feb. 15, 2013].

[2] A. Pieris, Architecture and Nationalism in Sri Lanka: The Trouser Under the Cloth. Abingdon, Oxon: Routledge, 2013.

[3] Ayman H. Al-Momani, “Construction delay: a quantitative analysis,” International Journal of Project Management, vol. 18, pp. 51–59, Feb. 2000.

[4] Sixbyseven, “PROBUILDER”, Available: http://www.probuilder3d.com/. [Accessed: March 29, 2013].

[5] Autodesk Inc, “Maya”, Available: http://www.autodesk.com/products/autodesk-maya/overview. [Accessed: March 29, 2013].

[6] Autodesk Inc, “3Ds Max”, Available: http://www.autodesk.com/products/autodesk-3ds-max/overview. [Accessed: March 29, 2013].

[7] Unity Technologies, “Unity”, Available: http://unity3d.com. [Accessed: March 29, 2013].

[8] Autodesk Inc, “AutoCAD”, Available: http://www.autodesk.com/products/autodesk-autocad/overview. [Accessed: March 29, 2013].

[9] W. E. Larson, S. C. Gupta and R. A. Useche, “Compression of Agricultural Soils”, Soil Science Society of America Journal, pp. 450–457, 1980.

[10] B. Chanclou, A. Luciani, A. Habibi, “Physical models of loose soils dynamically marked by a moving object”, Computer Animation '96. Proceedings, 2011.

[11] J. F. Jensen, “Interactivity. Tracking a new concept in media and communication studies.” Nordicom Re-view, 1998. Available: http://www.organicode.net/jenson.pdf. [Accessed: Feb. 26, 2013].

[12] Cole, R.A, A new approach to spoken language research, Conference Publication, vol.2, pp. 1037– 1040, 1998.

[13] S. Feiner, B. MacIntyre, T. Hollerer, A. Webster, A touring machine, Personal Technologies, pp. 208–217.

[14] C. T. Hsieh, C. S. Hu, M. S. Shih, Innovation for Applied Science and Technology, Sientific.net, pp. 2950–2954.

[15] R.R. Mourant, Virtual driving simulator, Conference Publications, pp. 1087–8270, 1997.

[16] Upton, S. Kevin, Weiner, Brian, Tata, Christopher, Virtual Environment with shared video on Demand, research and communities, 2013.

[17] T. Glander, J. Dollner, interactive visualization of virtual 3D city models, Elsevier Ltd, 2009.

[18] L. Tang, C. Chen, J. Zou, Y. Lin, D. Lin, J. Li, “OntoPlant: An integrated virtual plant software package for different scale applications”, 2011 IEEE International Conference on Spatial Data Mining and Geographical Knowledge Services (ICSDM), pp. 308–314, June 29-July 1, 2011.

[19] S. F.M. AlFalah, D. K. Harrison, V. Charissis, Dorothy Evans, “An investigation of a healthcare management system with the use of multimodal interaction and 3D simulation”, Journal of Enterprise Information Management, pp. 183–197, 2013.

[20] M. Yoneda, Interligent Crane System, Conference Publication, pp. 224–229, Sep. 29-Oct. 1, 1997.

[21] Y. Kwon, I. Kim, S. C. Ahn, H. Ko, H. Kim, “Virtual heritage system: modeling, database & presentation”, Seventh International Conference on Virtual Systems and Multimedia, 2001. Proceedings, pp. 137–146, 2001.

[22] H.M. Abdul-Kader, E-Learning Systems in Virtual Environment, Conference Publication, 16-18 Dec. 2008, pp. 71–76.

[23] C. Sinthanayothin, N. Wongwean, W. Bholsithi, Interactive virtual 3D gallery, Conference Publications, pp. 120–125, 26-28 Sept. 2011.

[24] S. Sylaiou, K. Mania, A. Karoulis, M. White, virtual museum, Elsevier Ltd, 2010.

[25] Vastu Vidya Australia. Available: http://vastu-vidya-australia.com/about/. [Accessed: Feb. 26, 2013].

Appendices

Appendix A: Konstructor - The Logo

Figure 17 - Konstructor - The logo

Appendix B: Sample Questionnaire

1. Name:

2. Area:

3. Age:

a. Below 20

b. 20 < 30

c. 31 < 40

d. 41 < 50

e. Above 50

1. When did you finish building your house?

a. Within last 6 months

b. Within last 12 months

c. Before 1 year

d. 1 < 5 years

e. More than 5 years ago

2. The size of your house:

a. Smaller than 1000 sq ft

b. 1000 < 5000 sq ft

c. 5000 < 10000 sq ft

d. 10000 < 50000 sq ft

e. Bigger than 50000 sq ft

3. Number of floors in your house

a. 1

b. 2

c. 3

d. 4

e. More than 4

4. How much did your house change from the initial planning at the end of the construction?

a. Below 25%

b. 25% < 50%

c. 50% < 75%

d. 100%

5. How satisfied are you about your house?

a. Extremely dissatisfied

b. Somewhat dissatisfied

c. Neither satisfied nor dissatisfied

d. Somewhat satisfied

e. Extremely satisfied

6. Do you believe in traditional architectural fables, such as vassthu vidya and astrology?

a. Not at all

b. Believe to some extent

c. Strongly believe them

7. Did you have to change the original plan of the house due to fit it into an architectural fable (Vassthu Vidya, Astrology)?

a. Yes

b. No

8. Did you check the soil compression of the land before you started constructing your house?

a. Yes

b. No

9. Has your house been damaged due to subsidence?

a. Yes

b. No

10. Did you get the chance to check out the appearance of your house in 3D before starting the construction?

a. Yes

b. No

11. If "yes", how?

a. 3D video

b. Printout of a 3D model

c. 3D model on a PC (on a modeling software)

12. Do you think it is important to check the 3D appearance of a house before starting the construction?

a. Yes

b. No

Appendix C: Sample Interview Outline

Name

Company

Position

1. How many years have you been working in the construction industry?

2. In which sector have you been mostly working in? (Buildings, Houses)

3. Are you currently working on any projects? If not, what was your last construction project?

a. Size (sq ft)

b. Estimated cost

4. What type of software do you use, and for which aspects?

a. 3D modeling

b. Soil compression

5. Do you believe in traditional architectural fables, such as vassthu vidya and astrology?

6. How important is it to check the soil compression of a land before starting a construction project, and why?

7. Are your clients usually interested in using traditional architectural fables?

8. Are they usually interested in checking the soil compression before start building a house?

9. Have you ever had to change a plan of a building, in the middle of a project, to address a client’s issue related to traditional architectural fables?

10. Do you think a system like ours will be helpful for you in your future construction projects? (Describe our system) And which aspects of the system do you think will be more useful?

a. Soil compression calculator

b. Client preview

c. Being able to cross-check with traditional architectural fables on the go

11. What advantageous do you see in our proposed system?

Appendix D: Interview #1

Name

K.G.L.V. Warunika

Company

State Engineering Corporation

Position

QS (Quantity Surveyor)

12. How many years have you been working in the construction industry?

I have been working in the construction industry as a Quantity Surveyor for 2 years now.

13. In which sector have you been mostly working in?

In building construction sector (Big, multi-storied buildings).

14. Are you currently working on any projects?

Yes, I am. (Aaurweida Clinic - Diwulapitiya)

a. Size (sqft.) - 2 floors, 72*55

b. Estimated cost - Rs.22 Million

15. Do you believe in traditional architectural fables such as Vassthu Vidya and astrology?

Yes, I do.

16. How important is it to check the soil compression of a land before starting a construction project and why?We build a house or any other building for long period usage purposes. So we have to build it well. And we can stop cracks and reduce the subsidence risk if we do a soil compression test. So I think it is very important aspect.

17. Are your clients usually interested in using traditional architectural fables?No

18. Are they usually interested in checking the soil compression before start building a house?Yes

19. Have you ever had to change a plan of a building, in the middle of a project, to address a client’s issue related to traditional architectural fables?No

20. Do you think a system like ours will make it easy for you in construction projects? (Describe our system) And which aspects of the system do you think will be more useful?

a. Soil compression calculator

b. Client preview

c. Being able to cross-check with traditional architectural fables on the go

All these things are import. But while both, astrology and soil is more important for house building, for bog construction projects, soil compression is more important.

21. What advantages do you see in our proposed system?

Client will be able to know what we are building before starting the construction. In the industry we have big problem with customer satisfaction, due to differences between the final output and construction plan. I think this software might help to reduce it.

Appendix E: Interview #2

Name

K.G Sirisena

Company

Position

House Planner

22. How many years have you been working in the construction industry?

More than 40 years.

23. In which sector have you been mostly working in?

House building.

24. Are you currently working on any projects? If not, what was your last construction project?

No.

a. Size (sqft.) - 28.5*33.7 (3floors)

b. Estimated cost - Rs.7,500,000 (before 5 years)

25. Do you believe in traditional architectural fables such as Vassthu Vidya and astrology?

Yes.

26. How important is it to check the soil compression of a land before starting a construction project and why?It is important for the safety of a building.

27. Are your clients usually interested in using traditional architectural fables?Yes.

28. Are they usually interested in checking the soil compression before start building a house?Most of the time they don’t. But it’s better if we can always do it before starting construction.

29. Have you ever had to change a plan of a building, in the middle of a project, to address a client’s issue related to traditional architectural fables?Yes.

30. Do you think a system like ours will make it easy for you in construction projects? (Describe our system) And which aspects of the system do you think will be more useful?

a. Soil compression calculator

b. Client preview

c. Being able to cross-check with traditional architectural fables on the go

I think if we can get correct measurements, all the features will be very important for house building projects.

31. What advantages do you see in our proposed system?

I think that the user-friendly soil compression calculator you have in your system will be very useful to house builders.

Appendix F: Login Interface

Figure 18 - Login Interface

Appendix G: Prototype Screen-Shots

Figure 19 - Prototype Screen-Shot (01)

Figure 20 - Prototype Screen-Shot (02)

Figure 21 - Unity Workspace

Appendix H: Use Case Diagram

Figure 22 - Use Case Diagram

Appendix I: Models

Figure 23 - House Models

Figure 24 - Other Models (01)

Figure 25 - Other Models (02)

Figure 26 - Other Models (03)

Appendix J: Consolidation Test Paper - Soil Mechanics Laboratory, Department of Civil Engineering, University Of Moratuwa, Sri Lanka

CONSOLIDATION TEST

Consolidation is defined as the reduction of the volume of a soil due to the expulsion of water. This will be accompanied by the dissipation of pore water pressures.

A laboratory consolidation test is performed on an undisturbed sample of a cohesive soil to determine its compressibility characteristics. The soil sample is assumed to be representing a soil layer in the ground.

A conventional consolidation test is conducted over a number of load increments. The number of load increments should cover the stress range from the initial stress state of the soil to the final stress state the soil layer is expected to experience due to the proposed construction.

Increments in a conventional consolidation test are generally of 24 hr duration and the load is doubled in the successive increment.

In this practical class one load increment of a multi increment consolidation test is conducted and the data will be analysed to obtain the compressibility characteristics of the soil.

The compressibility characteristics of the soil are;

(a). Parameters needed to estimate the amount of consolidation settlement

(b). Parameters needed to estimate the rate of consolidation settlement in the field.

Using the data from a single load increment of the test, only the coefficient of volume compressibility mv can be estimated. Data from all the load increments should be combined to draw the e vs log σ graph and to obtain the compression index Cc - the other parameter used to estimate the consolidation settlement.

The rate of consolidation settlement is estimated using the Coefficient of consolidation Cv. This parameter is determined for each load increment in the test. In this laboratory assignment, the coefficient of consolidation should be estimated using two methods - the root time method (Taylor's method) and the log (time) method - Casagrande's method.

Course work report - Important points to remember

1. Outline the objectives of the test

2. List the equipment used in the test

3. Draw a diagram of the apparatus

4. Describe the test procedure in your own words

5. Enter the observations in the sheets provided

6. Carry out the computations, draw the necessary graphs in the sheets provided and estimate (a). The coefficient of volume compressibility for the load increment

(b). The coefficient of consolidation for the increment by both the root time method and the log (time) method.

7. Discuss the importance and relevance of the test, the parameters obtained, shortcoming and possible ways of improvement.

Laboratory Consolidation Test and Analysis

Data obtained from one increment in a conventiional multi increment Consolidation Test

Sample Diameter (mm)

= 50.00

Initial Sample tickness (mm)

= 20.00*

Dial gauge reading at the stat of the test (mm) = 0.000

Dial gauge reading at the stat of the

= 3.744

current increment (mm)

Initial Moisture content of the sample %

= 43.43

Specific gravity of the particles

= 2.20

Current load increment is from 60 kN/m2 to 120 kN/m2

Date

Time

Time Elapsed (min)

Root Time (min 1/2 )

Dial Reading

Dial Reading (mm)

Settlement (mm)

Major

Minor

26/06/2009

2:00 PM

0.00

0.00

3.6

72

3.744

0.000

 

 

0.25

0.50

3.8

28

3.856

0.112

 

 

0.50

0.71

3.8

42

3.884.

0.140

 

 

1.00

1.00

3.8

62

3.924

0.180

 

 

2.00

1.41

3.8

94

3.988

0.244

 

 

4.00

2.00

4.0

38

4.076

0.332

 

 

8.00

2.83

4.0

94

4.188

0.444

 

 

15.00

3.87

4.2

44

4.288

0.544

 

 

30.00

5.48

4.2

84

4.368

0.624

 

 

60.00

7.75

4.4

6

4.412

0.668

 

 

120.00

10.95

4.4

21

4.442

 

1440.00

37.95

4.4

58

4.516

0.772

* Sample thickness is 20 mm at the start when the load is 0 kN/m2. At the beginning of the load increment 60 – 120 kN/m2, sample has already settled 3.744 mm and the sample thickness is 16.256 mm.

Specimen Calculations

Coefficient of Volume Compressibility(mv)

256

.

16

60

722

.

0

´

=

´

D

D

=

H

h

m

v

s

= 7.91 x 10-4 m2/kN

Coefficient of Consolidation (Cv)

a) By the Square Root Time (Taylor’s) Method

2

/

1

90

min

0

.

4

=

t

min

16

90

=

t

min

mm

5

.

3

16

2

/

256

.

16

848

.

0

2

2

90

2

90

=

÷

ø

ö

ç

è

æ

´

=

´

=

t

d

T

C

v

= 1.84 m2/year

b) By the Log (Time) – Casagrande’s Method

mm

05

.

0

0

=

d

mm

65

.

0

100

=

d

2

65

.

0

05

.

0

50

+

=

d

= 0.35 mm

mm

68

.

4

50

=

t

min

mm

78

.

2

68

.

4

2

/

256

.

16

197

.

0

2

2

50

2

50

=

÷

ø

ö

ç

è

æ

´

=

´

=

t

d

T

C

v

= 1.46 m2/year

Figure � SEQ Figure \* ARABIC �7� - Login Interface

32

_1307811439.unknown
_1307811927.unknown
_1307811962.unknown
_1307812089.unknown
_1307811938.unknown
_1307811723.unknown
_1307811863.unknown
_1307811419.unknown
_1307811425.unknown
_1307811165.unknown

Recommended