Buildings are an integral part of everyday life. The process of planning, designing, and constructing buildings has evolved over several thousands of years. Today, the steps followed to physically realize modern buildings are very complicated and require a high degree of skilled labor that can span several different disciplines. This complexity poses a huge challenge in terms of time, money, and other resources expended in order to build a viable facility that can be used to deliver the intended services in an efficient and profitable way.
In an embodiment, an interior test fit system for automatically creating floor plan layouts is disclosed. The interior test fit system uses a computer having a memory, a central processing unit, and a display, the memory containing instructions that, when executed by the central processing unit, perform steps comprising obtaining client parameters, a room library, and a tile library as inputs, determining a set of selected rooms from the room library, the set defined as a function of room contents and client parameters, determining a set of selected tiles from the tile library, the set defined as a function of tile designs and the room attributes of the set of selected room, and determining a placement of the set of tiles within a floor plan layout, the placement defined as a function of tile attributes of the selected tiles and building shell attributes.
In a second embodiment, client parameters define a percentage of the floor plan layout to be occupied by at least one mode.
In another embodiment, the function of room contents and client parameters is a function such that the total percentage of area in the set of selected rooms allocated to at least one mode is equal to or greater than the total percentage of floor plan area to be allocated to the at least one mode as defined by the client parameters.
In another embodiment, the function of tile designs and the room attributes of the set of selected rooms is a function such that all of the rooms in the space program can be placed within tiles in the set of selected tiles given the tile designs of the selected tiles and the selected tiles can be arranged in a manner which satisfies circulation constraints.
In another embodiment, the function of tile attributes of the selected tiles and building shell attributes is a function such that the selected tiles do not overlap while placement requirements are satisfied.
In another embodiment, a method for automatically creating floor plan layouts is disclosed. In an embodiment, the method involves obtaining client parameters, a room library, and a tile library as inputs, determining a set of selected rooms from the room library, the set defined as a function of room contents and client parameters, determining a set of selected tiles from the tile library, the set defined as a function of tile designs and the room attributes of the set of selected room, and determining a placement of the set of tiles within a floor plan layout, the placement defined as a function of tile attributes of the selected tiles and building shell attributes.
In another embodiment, obtaining client parameters comprises defining a percentage of the floor plan layout to be occupied by at least one mode.
In another embodiment, the function of room contents and client parameters is a function such that the total percentage of area in the set of selected rooms allocated to at least one mode is equal to or greater than the total percentage of floor plan area to be allocated to the at least one mode as defined by the client parameters.
In another embodiment, the function of tile designs and the room attributes of the set of selected rooms is a function such that all of the rooms in the space program can be placed within tiles in the set of selected tiles given the tile designs of the selected tiles and the selected tiles can be arranged in a manner which satisfies circulation constraints.
In another embodiment, the function of tile attributes of the selected tiles and building shell attributes is a function such that the selected tiles do not overlap while placement requirements are satisfied.
In another embodiment, a non-transitory computer-readable storage medium is disclosed. In an embodiment, the non-transitory computer-readable storage medium stores instructions that, when executed by a computer, cause the computer to perform steps for creating floor plan layouts, the steps involving obtaining client parameters, a room library, and a tile library as inputs, determining a set of selected rooms from the room library, the set defined as a function of room contents and client parameters, determining a set of selected tiles from the tile library, the set defined as a function of tile designs and the room attributes of the set of selected room, and determining a placement of the set of tiles within a floor plan layout, the placement defined as a function of tile attributes of the selected tiles and building shell attributes.
In another embodiment, obtaining client parameters comprises defining a percentage of the floor plan layout to be occupied by at least one mode.
In another embodiment, the function of room contents and client parameters is a function such that the total percentage of area in the set of selected rooms allocated to at least one mode is equal to or greater than the total percentage of floor plan area to be allocated to the at least one mode as defined by the client parameters.
In another embodiment, the function of tile designs and the room attributes of the set of selected rooms is a function such that all of the rooms in the space program can be placed within tiles in the set of selected tiles given the tile designs of the selected tiles and the selected tiles can be arranged in a manner which satisfies circulation constraints.
In another embodiment, the function of tile attributes of the selected tiles and building shell attributes is a function such that the selected tiles do not overlap while placement requirements are satisfied.
Other aspects and advantages of embodiments of the present invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings.
Throughout the description, similar reference numbers may be used to identify similar elements.
It will be readily understood that the components of the embodiments as generally described herein and illustrated in the appended figures could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of various embodiments, as represented in the figures, is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by this detailed description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussions of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.
Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, in light of the description herein, that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present invention. Thus, the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
In accordance with an embodiment of the invention, a computer-implemented interior test fit system for automatically creating floor plan layouts is disclosed. The interior test fit system uses a computer having a memory, a central processing unit, and a display, the memory containing instructions that, when executed by the central processing unit, perform steps including obtaining client parameters, a room library, and a tile library as inputs, determining a set of selected rooms from the room library, the set defined as a function of room contents and client parameters, determining a set of selected tiles from the tile library, the set defined as a function of tile designs and the room attributes of the set of selected room, and determining a placement of the set of tiles within a floor plan layout, the placement defined as a function of tile attributes of the selected tiles and building shell attributes. That is, the interior test fit system allows for the automated creation of a floor plan layout. The interior test fit system, using a constraint solver, can automatically generate a floor plan layout that satisfies client needs or can determine if such a floor plan layout is not possible (e.g., a “testfit”). Additionally, if the client needs change or if the automatically generated floor plan layout is otherwise unsatisfactory to the client, the client parameters can be changed and a new floor plan layout can be automatically generated (e.g., a new “testfit”) in a quick and efficient manner without the need for an architect to create new drawings by hand.
While, traditionally, a floor plan layout is created by an architect by hand, the interior test fit system creates a floor plan layout using rules applied to defined inputs.
Room Library
Client Parameters
“Set Ratio” buttons 412 open a sub-menu in which a ratio of rooms to be included can be set (e.g., for every two director offices, include three manager offices and one senior vice president office). The data entered into the input boxes can be converted into constraint statements for use by the space program generator. For example, the “69” entered into the input box for the percentage of area to be allocated to a particular mode can be converted into a constraint statement that states that the set of rooms selected must have a combined 69% of space allocated to the “focus” mode. In an embodiment, the client parameters can indicate a percentage of the floor plan layout to be allocated for several modes as well as a percentage of the floor plan layout allocated to be open or closed.
Space Program Generator
In an embodiment, a space program generator evaluates a function which takes a room contents (e.g., a portion of information stored in a room library) and client parameters as inputs and determines a set of rooms from the room library that will satisfy the client parameters for a given floor plan. For example, the space program generator receives a room library and client parameters, which state that 69% of the floor plan layout should be “focus” type space. The space program generator can add focus-type rooms to a set of selected focus-type rooms and evaluate a function that divides the area of the selected focus-type rooms by the total available space in a floor plan layout until the set of selected focus-type rooms is equal or greater than to 69% of the floor plan layout.
Space Program
Tile Library
In an embodiment, the tile library is a database of tile designs. Additionally, the database may include information about the tile designs. For example, a tile design may include information indicating a preplaced combination of rooms on the tile, the physical dimensions (e.g., width, length, and height) and ranges around the dimensions (e.g., 10 ft wide plus or minus 2 feet) of the tile design, the presence and positioning of circulation elements on a tile design or other tile design characteristics. In an embodiment, the tile library can be read in from a table file as illustrated in
Tile Selector
As described above with reference to
In order to solve for the set of selected tiles, in addition to the space program and the tile library, the constraints programing solver may also receive user inputs, knowns, unknowns, and constraints as inputs. User inputs may include variables such as, for example, a list of tiles to at least include in the floor plan (e.g., a base selection), a number of bays or units available in a floor plan, a count equal to an upper range of tiles to include in a floor plan (e.g., a single value or a range), or target areas for at least one mode (e.g., 69% of the space in the selected tiles must provide focus space). Knowns may include variables such as, for example, the types of tiles in the tile library, the modes of the tiles in the library, the number of bays or units occupied by a tile, or circulation elements within tiles in the tile library. Unknowns may include variables such as, for example, a count of the types of tile to include in the floor plan layout, a count of the room types to include in the floor plan layout, and an area of the floor plan layout allocated to at least one mode. Constraints can include constraint programming statements that, for example, limit the solution to a set of tiles comprising a count of tiles equal to or less than the upper range of tiles to include in the floor plan, or a constraint programming statement that limits the solution to a set of tiles that includes at least the base selection of tiles.
Selected Tiles
Alternatively, the set of selected tiles can be output as a list 800 of variables and an associated count.
Building Shell
In an embodiment, building shell attributes include the dimensions and/or location of a core area and/or a placeable area. Building shell attributes can further include the dimensions and/or location of bays within the floor plan layout. In an embodiment, a bay is a fixed sized rectangle that is defined by the steel frame (e.g., an area defined by a pair of parallel girders and a pair of parallel beams) of a building that forms the structural support of the building. Typical bays include rectangles with sides in the range of 10-70 feet with sides in the range of 20-40 feet being common. Although bays are typically rectangles, other shaped bays are possible.
Layout Generator
As described above with reference to
The constraint programming solver of the layout generator (216,
Although the operations of the method(s) herein are shown and described in a particular order, the order of the operations of each method may be altered so that certain operations may be performed in an inverse order or so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be implemented in an intermittent and/or alternating manner.
It should also be noted that at least some of the operations for the methods may be implemented using software instructions stored on a non-transitory computer-readable storage medium for execution by a computer. As an example, an embodiment of a non-transitory computer-readable storage medium includes a computer useable storage medium configured to store a computer readable program that, when executed on a computer, causes the computer to perform operations, as described herein.
Furthermore, embodiments of at least portions of the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The computer-useable or computer-readable medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device), or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disc, and an optical disc. Current examples of optical discs include a compact disc with read only memory (CD-ROM), a compact disc with read/write (CD-R/W), a digital video disc (DVD), and a Blu-ray disc.
In the above description, specific details of various embodiments are provided. However, some embodiments may be practiced with less than all of these specific details. In other instances, certain methods, procedures, components, structures, and/or functions are described in no more detail than to enable the various embodiments of the invention, for the sake of brevity and clarity.
Although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. The scope of the invention is to be defined by the claims appended hereto and their equivalents.