Table Of Contents

Previous topic

2. User Pages

Next topic

2.2.1. Buildes GUI

This Page

2.1.1. Program Description

Buildes generates building information. It reads a text file from the user describing building components and exports the information in the requested format. Currently it can export to POV-Ray and OpenSCAD formats. Ultimately the goal is to export to the Industry Foundation Classes (IFC) for interoperability.

2.1.2. What is Buildes

Buildes is a designer’s program for describing parts of the building. From this description it provides the data needed to visualize, construct and maintain the building throughout its life.

2.1.3. Key Characteristics

The following are foundational issues that had to be resolved before a program like Buildes could be implemented. It is provided here to give the user a high level overview of how Buildes can be used.

2.1.3.1. Coordinates

The coordinate system used by Buildes is meant to be transparent. Most of the dimensional user input is expected in real-life methods such as length, width and height values (width refers to thickness e.g. a wall). Often the user is expected to provide coordinates using object names and symbols designating the location of the parts in question (see Snaps for more information on this). However in some cases, the user may need to enter Cartesian coordinates in the form of (x, y, z).

By default Buildes uses the left-handed Cartesian coordinate system. To demonstrate, holding out your left hand extend the index finger, you will be pointing forward along the positive z-axis. With your thumb at 90 degrees from your index it will be pointing upwards in the positive y-axis. If you extend your middle finger to be perpendicular to your index finger, it will be pointing to the right along the positive x-axis. This system expects you, the designer to be immersed in the same world as your building. Assuming you are standing in the site looking at the front of your building, to your right is the positive direction of the x-axis, in front you are looking at the positive direction of the z-axis and going up to the sky is the positive y-axis. If you have used popular modeling software like POV-Ray you should be at home with this default coordinate system.

If you are boggled, do not fret because Buildes can still work with your preferred coordinate system. See section Entry Coords for how to change the entry coordinate system.

2.1.3.2. Creating Objects

In order to provide predictable consequences, Buildes adheres to certain rules about how objects are created.

There are three object shapes possible in Buildes which include line, arc and circle shapes. These shapes are internally combined in different ways to form the actual components that the user uses to construct the building. Each shape type is created around the origin before additional attributes or adjustments are applied.

Buildes utilizes a textual interface. It reads the text typed by the user in order to create building information. It provides a set of components that behave like various building components and it expects the user to use these objects in two steps.

The first step initializes the object.
In this step the object is typically given a name, a size and an orientation. At this stage the object may perform additional work to prepare itself such as creating additional objects that are part of it, reacting to its orientation or updating its appearance. Naming of automatically generated objects is standardized so the user is able to manipulate, configure or reference these objects as desired.
In the second step the user moves the object to its desired location.
In this step the user moves the object using a global or relative distance. Sometimes there are predictable consequences to certain building components being in proximity to each other. When such objects are placed in the appropriate proximity they react accordingly. A typical example is the cleaning up of intersections that occurs when two or more building walls are connected.

2.1.3.3. Snaps

One of the foundational ideas is the use of snaps. These are coordinates at key parts of an object that make it aware of its shape, size and location/proximity. snaps are consistently named for all objects so the user can reference them during object manipulation to increase precision.

The number and location of snaps differ for different types of objects. In addition to snaps, there is also a consistent way to designate edges.

Generally, to select a snap-point, the user provides a symbol that includes the combination of the object name and the desired snap-point name separated by an underscore. For example if an object is named object01 and it has a snap-point called p1. That location on the object can be referenced by providing the symbol object01_p1.

See a general but more detailed description in Snap-points section and for details on each object, see relevant sections in Reference Pages for more information.