A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent fie or records, but otherwise reserves all copyright rights whatsoever.
The present disclosure is related to the design and realization of structures such as buildings, and more specifically to systems and methods for designing, iterating, and building such structures, and supporting the ecosystem of the processes and the parties participating in those operations.
Traditionally, the process of designing and building a structure involves many professionals with many different skill sets. As an example, a developer interested in having a commercial structure built may retain an architect, who takes the developer's requirements and preferences, details about the site, building codes and the like, and first generates a conceptual design, then a more detailed schematic design. At this stage, the architect's role is to synthesize, problem solve, and design. The resulting forms, as drawn and/or modeled, are typically a blending of art and engineering. Reviews and reworking for multiple different audiences typically occur next in what is often referred to as design development. For example, an architectural engineer or similar professional may review the design and plans for the proposed structure's integrity and safety, the developer may have input for modifications to the design to meet a desired design goal, the builder may introduce limitations based on cost, time-to-completion, feasibility, and so on.
Portions of the design may also be sent to sources for cost estimates and to determine availability of elements of the structure, estimates for labor cost and time-to-delivery of components, etc. Estimates from these many other sources may then also be factored into calculated time-to-completion, cost, and so on. Bidding and negotiation may take place, such as with a builder or construction manager, parts and services providers, etc. Further design development then typically takes place to bring the design in line with budgets, evolving design requirements, etc.
Once the final design and plans converge for the main parties of interest (developer, architect, engineer, and builder, who form the core of the ecosystem for the project), required permits and other approvals may then be sought. An additional one or more round(s) of design development take place including negotiations with certifying and permitting agencies in order to converge on a mutually acceptable design. Ultimately, construction begins and in spite of inevitable cost and time overruns a structure is built.
While there are many other steps and parties involved, and the actual order of things may vary from structure to structure, the process is long, convoluted, circular, often unnecessarily complex, with many parties involved, and there are many opportunities for inefficiencies and delays in the various design, interaction, revision, and iteration of the design and build process. Furthermore, for each new structure, the process essentially reinvents itself from scratch, but never the same from one structure to the next. There is little re-use of designs, processes, and data in the design and construction of new structures. And, there are few resources available to improve efficiency and effectiveness in the communication and work processes taking place in the community of people and agencies involved in the design and construction process.
Accordingly, the present disclosure is directed to systems and methods for more efficiently designing a structure and facilitating its implementation than heretofore possible. The systems and methods disclosed permit a degree of automation to fitting a design to a site at which it is to be constructed, taking into account data about the site, applicable building codes and practices, zoning, design preferences, and other system inputs. Design optimization provides design refinement to meet various design targets. Direct feedback of relevant data is made easily accessible throughout the process.
According to aspects of the disclosure, interfaces to the system are provided to permit design data to be provided to secondary systems for analysis, design refinements, further optimization, and certification analysis, and permit collaborative design processes. Interfaces to the system are also provided to permit others in the design and build ecosystem to collaboratively contribute to the design. Additional interfaces are also provided to permit the system to both receive and deliver complete building documents, prerequisite certifications, and other materials required to initiate the build phase for a structure.
According to one aspect of the disclosure, the system facilitates a close working relationship between various parties involved in designing and implementing a structure. Vendors of systems and components provide data relating to elements they provide, their cost, availability and so on, which may be used during the design process. Similarly, service providers provide data relating to cost, timing, etc. of services they provide such that that data may be factored into attributes of the design.
According to another aspect of the disclosure, a design may utilize portions or all of prior designs, system and component data, service provider data, and other elements to provide improved efficiency to the design process. A variety of interfaces are provided to the user to permit viewing and selection of elements for the design, visualizing the design in process, and editing the design.
Accordingly, a computer-implemented system for designing a structure and coordinating its implementation is provided which comprises: a design workspace in which a structure design can be rendered during a design process; a design engine which receives various inputs and produces a structure design for display in the design workspace; a requirements source coupled to the design engine and containing a structure design requirement rule, the design engine utilizing the structure design requirement rule as an input for producing the structure design; a cell source coupled to the design engine for providing a definition of a cell for forming a portion of the structure design, the cell configured to be positioned together with other cells to express the structure's form, the design engine utilizing the cell definition and its arrangement as an input for producing the structure design; an attributes engine which quantifies measures of various attributes of a structure based on the structure design during the process of designing the structure; and, a dashboard for displaying the measures of various attributes of the structure during the process of designing the structure.
According to a still further aspect of the disclosure, optimization engines for configuring the structure design and definitions of cells comprising the design, and proposing alternatives to the design are provided. The design may be optimized for various criteria, including the attributes quantified by the attributes engine.
The above is a summary of a number of the unique aspects, features, and advantages of the present disclosure. However, this summary is not exhaustive. Thus, these and other aspects, features, and advantages of the present disclosure will become more apparent from the following detailed description and the appended drawings, when considered in light of the claims provided herein.
In the drawings appended hereto like reference numerals denote like elements between the various drawings. While illustrative, the drawings are not drawn to scale. In the drawings:
We initially point out that description of well-known processes, components, equipment, and other well-known details are merely summarized or are omitted so as not to unnecessarily obscure the details of the present invention. Thus, where details are otherwise well known, we leave it to the application of the present disclosure and the knowledge and ability of one skilled in the art to suggest or dictate choices relating to those details.
With reference initially to
First and second client workstations 12, 14 may communicate via the public Internet 22 using known Web browser software or dedicated, specific-purpose application software. As is well known, software components supporting client workstations 12, 14, servers 16, 18, and network appliances 20 include or reference logic and/or data that may form a part of the software component or be embodied in or retrievable from some other hardware of software device or signal, either local or remote and coupled via a network or other data communications device.
Thus, embodiments of the invention may be implemented as methods, apparatus, or articles of manufacture as or in software, firmware, hardware, or any combination thereof. As used herein, article of manufacture (or alternatively, computer program product) is intended to encompass logic and/or data accessible from any computer-readable device, carrier, or media.
Those skilled in the art will recognize many modifications may be made to this exemplary environment without departing from the scope of the present disclosure. For example, it will be appreciated that aspects of the present disclosure are not dependent upon data structure formats, communications protocols, file types, operating systems, database management system, or peripheral device specifics. Accordingly, the following description is provided without reference to specific operating systems, protocols, or formats, with the understanding that one skilled in the art will readily be able to apply this disclosure to a system and format of choice.
The present disclosure provides a computer-implemented system and methods for producing a design of a structure and coordinating aspects of its implementation. As used herein, a “structure” may be, but is not limited to, habitable buildings, functional structures, artistic structures, and so on, and the nature of the structure does not form a limitation on the scope of the present disclosure. Furthermore, as used herein, “designing” is intended to mean all aspects of preparing plans for implementing a structure, including but not limited to developing a set of documents that describe a structure and aspects of its construction, as well as estimates relating to the design and construction of the structure. Designing a structure may optionally include the materials for and processes of obtaining prerequisite certifications and approvals for constructing the designed structure. Still further as used herein, “implementation” is intended to mean verifying aspects of a design, arranging accessibility to required parts, services, and personnel, maintaining a project timeline, maintaining a project budget, managing changes during the build phase, financing and insurance, and constructing the structure. Optionally, implementation may also include coordinating and obtaining approvals, permits, and the like.
According to the present disclosure, a user interacts with a computer system and controls provided thereby to design a structure. In the process, the system may communicate with other systems to obtain data, verify data, deliver data, store or retrieve data, etc. Those other systems may be interfaces to other computer-user interactions or be autonomous or some combination of the two. As used herein, “interface” is intended to include data structures, virtual and physical connections between devices, computer-human user interface, and other mechanisms that facilitate the exchange of data between computer system and/or control of one or more such systems. In one embodiment, an interface requires a minimum or no user data entry or manual delivery of data from one system to another. In another embodiment, data that needs to be entered manually may be retained and reused within the system, reducing future data entry requirements.
In general, a method of designing a structure employing a system of the type disclosed herein begins with a user specifying a program (general aspects of the structure and its intended uses), which may be translated into requirements of the design. Given certain starting conditions, such as a description of the site on which the structure is to be built, a structure footprint (or equivalently, perimeter), the basic intended use of the structure, and so forth, the system may provide a proposed initial design, and self-iterate toward meeting the design requirements. Alternatively, the user may select “cells” and/or other elements from a palette (or specially designed) and manipulate those elements in a design workspace to populate a structure design.
According to the present disclosure, a cell is a fundamental element employed by the system and user to design a structure. Cells are abstractions of portions of a structure (although in certain cases a structure may in fact be comprised of a single cell) upon which other systems in the design depend. Cells are instantiated as part of the design process. Cells include rules governing aspects of the instantiations, such as how an instance of one cell connects to another instance, size ranges of instances, systems or components included in or required by an instance, and so on. Cells are discussed in further detail below.
Referring to
Design engine 52 receives various inputs including data from cell and structure data database 54, design requirements database 56, and optionally external content database 58 and elements database 64 interconnected thereto. While these data inputs are shown and discussed in terms of databases, it will be appreciated that other forms of data input, such as streaming data, real-time measurement data, calculated data, etc. may also be employed.
Design engine 52 provides an output in the form of data representing a structure that is rendered in a design workspace user interface (UI) 60. Design engine 52 may include rendering capabilities, or may rely on additional tools, such as Google SketchUp to perform rendering tasks. Design workspace UI 60 provides a user with a visual representation of the structure being designed, as well as a design-editing interface 62 at which a user may edit the design.
Cell and structure data database 54 may provide a set of generic rules that are used by design engine 52 for populating the structure footprint. These rules may be explicit or may be derived algorithmically. In one example, a rule might be that, all other things being equal, the secondary beams in each cell should run in the same directions as their neighboring cells. Another example might be that each cell has support structures (columns) in appropriate places within it, but when two cells are placed together, they abandon their redundant structure and each includes the shared columns and beams at their intersection (with the redundant material been removed from the design).
Certain aspects of a cell may be specified by these rules, while other aspects may be applied by design engine 52 when implementing the rules. For example, a rule may specify how the cell interacts with other cells in the design, such as how utilities (e.g., HVAC, electricity, water, data, and so on) are passed from one cell to the next. A rule may specify a size component (e.g., a dimension range for instances of a cell), a shape of cell (e.g., straight or rounded sides), a structural members component (e.g., how and where structural members such as columns are located), an interconnection component (e.g., where a cell may connect to another cell), a supplier identification component (e.g., specific suppliers for elements of the cell), an availability component (e.g., are elements specified in the cell readily available or do they take a longer than normal time to obtain), a cost component (e.g., what is the total cost of the elements specified for the cell), a health component (e.g., what level of exposure to specified substances will an occupant of a structure defined by the cell experience), an environmental efficiency component (e.g., energy use per cell), and so on. While some aspects of the cell may be rigidly defined by these rules, others may be adjusted to fit the design. For example, a cell may have a size range as opposed to an absolute size, allowing the system to choose a cell having a size range appropriate for the location.
The rules provided by cell and structure data database 54 may have structural aspects, which are interpreted by design engine 52 to develop the structure. For example, one set of rules may require that a cell be supported at its corners by columns. In populating the footprint, two cells placed side-by-side may each be defined by such a rule. This is illustrated for cells 102, 104 in
Following the connection of instances of cells, redundant components may no longer be visible in the design as rendered. Indeed, the details of the original cell instances may not be visible. However, the system maintains all such rules and cell identities so that if, for example, the design is modified such as by replacing an adjacent cell instance with an instance of a different cell or an adjacent instance of a cell is removed, the original instance of the cell may be recovered and its underlying data made available to facilitate alternate connections or to stand alone, so that ultimately the design is flexible yet functional during the design process.
Importantly, by developing the design from rules as opposed to individual pre-defined cells, a much wider variety of structure footprints can be accommodated, and a much wider range of designs produced. For example, rather than being limited to specific cell widths, as might be the case when choosing from a library of pre-defined cells, cell width can be determined dynamically to most efficiently and appropriated populate a structure footprint.
While initially defining cells in terms of the system picking and placing cells to develop a structure design, a user-accessible palette of pre-defined cell designs may also be provided and utilized by a user essentially as building blocks together with or as an alternative to the autonomous pick-and-place process.
Returning to
Design requirements database 56 may also provide design engine 52 with rules driven by certain external data provided by external data database 58.
In addition to physical and environmental data, a wide variety of design and building codes 96 may suggest or require design rules be implemented by design engine 52. Similarly, generally accepted design and building practices 98 may also suggest or require design rules be implemented by design engine 52. Other external data include zoning data, historical real estate data, neighborhood information (key services, pedestrian and vehicular traffic flow), physical form of neighboring buildings, etc. Means for accessing these design and building codes and practices, zoning data, historical real estate data, neighborhood information, physical form of neighboring buildings and so on, and the format in which they are provided to design engine 52, are beyond the scope of the present disclosure. The relevant point here is that they form examples illustrating the breadth of external data that may be used by design engine 52 to generate a structure design.
In addition to creating the form (i.e., outline or exterior shape) of the design utilizing rules provided by cell data database 54, design engine 52 may populate the design with systems and components from elements database 64. As described in further detail below, systems and components are elements of the design relating to the workings of the structure, mobility of occupants in the structure, and other mechanical and aesthetic elements within (and possibly external to) the form of the design. Examples include, but are not limited to, elevators, stairs, plumbing, electrical, HVAC, and data connections, doors, windows, and so on. Design engine 52 may operate according to rules provided by cell and structure data database 54 and/or design requirements database 56 to select systems and components from elements database 64 when populating the design.
We next briefly outline details of a design produced by design engine 52 in order to provide a reference for the elements of the design and a description of the refinement and editing of such a design. Design engine 52 ultimately generates a structure design, which may for example be rendered in design workspace 60.
Design 200 also includes a number of non cell-based elements referred to as systems. Stairs 206 are an example of such a system. Systems are themselves comprised of components. The actual treads, risers, railings, balusters, and other elements comprising the stair system, columns, beams, and so on are examples of components. Components may be discrete parts or assemblies of parts. Similar to the manner in which rules result in the instantiation of cells to form the design, rules may also suggest or mandate the location, number, and other specifics of systems and components in a design.
During the design phase of a project, the structure produced by design engine 52 evolves in an effort to meet the various requirements of the interested parties. This design evolution is achieved by: (1) design engine 52 implementing the aforementioned rules; (2) user edits and other manual design control provided by way of user design editing interface 62; (3) various optimizations; and, (4) inputs from various secondary analysis system. Rules have been discussed above. Each of the remaining elements is discussed following.
Elements may be grouped in various ways. For example, while Individual cells, systems or components may be selected for placement, relocating, editing, or removal, the placement, relocating, editing or removal may be performed on a group of cells, systems, or components. Groupings of elements may be based on proximity or adjacency, such as selection of a portion of a structure formed by a contiguous group of cells, or may be conceptual, such as selection of all stairways, beams or the like. So, for example, it is possible to place a series of cells to form a floor plan, group those cells, copy that group, and then stack up copies of the group on top of another. In addition, attributes of a group may be changed, as a group. For example, the glazing of grouped exterior cells can be changed in one step rather than having to make such a change for each cell one at a time.
In one example, a user may add a structure section or system to design 102 by dragging an appropriate element 104 from an elements palette 106 into design 102. These elements may be cell instances, systems, or components. (This drag-and-drop process may also form a preliminary step in the process of design engine 52 developing a design, thereby allowing a user to specify that certain elements form a part of the design produced by design engine 52.)
When modifying the footprint or space configuration of a structure, such elements will typically be cell instances. When adding detail to the interior or exterior of a structure, these elements will typically be systems or components. Editing in this fashion is typically performed in the plan view of design 102, but need not be so limited. This “drag-and-drop” action will be interpreted by design engine 52, which will rearrange cell instantiations, rework shared elements and interconnections, retest the design against design requirements, and so on in an effort to produce a new design with the selected element placed as specified by the user. Many other user editing and manual design controls may be provided by interface 100, such as for removing portions of a design, reshaping or resizing portions of a design, copying portions of a design, and so on.
UI 100 may provide a display region, referred to as dashboard 110 in which various quantified attributes of the structure may be displayed to provide user feedback. While shown as part of UI 100, dashboard 110 may be provided as a separate UI or part of a different UI forming a part of the system disclosed herein. Dashboard 110 may provide a calculated square footage 112, total cost 114, time-to-completion 116, energy efficiency, 118, and so on. In addition to, or as an alternative to providing these and other attributes for the complete structure, dashboard 110 can provide a user with these attributes and others for selected portions of a structure (not shown).
With reference again to
As described to this point, system 50 has either autonomously or with user input created a structure design which seeks to comply with rules governing the design, such as rules related to stability, safety, building codes, and so on. In addition, system 50 may be configured to optimize the design against various metrics. In one embodiment, a user may specify target values for attribute in a user interface 132, such as but not limited to the attributes shown in dashboard 110, which form targets for design optimization.
An optimization engine 140 receives design data from design engine 52 (optionally together with targets and other optimization selections from UI 132) and modifies aspects of the design, such as by using alternate cells rules, systems or components, changing the form or footprint of the design, reorienting the design on the building site, and so on. It then tests the design to determine if the modification produces an improved design against the optimization metrics. The modify-and-test process continues and improved designs are saved and further optimized, which those that are generally not improved are not retained. In addition or as an alternative to the modify-and-test process, one or more of many different optimization methods may be employed (e.g., linear regression, Simplex method, prune-and-search, etc.) when seeking to optimize a design, and measures are taken to ensure that the optimization routine is convergent. Iteratively, the optimized designs may be rendered in design workspace 60, and the attribute measures provided in dashboard 110 updated.
With reference to
Initially, the option of choosing HVAC system B over HVAC system A in order to optimize efficiency is determined by comparing those HVAC systems provided in elements database 64 of
System 50 may be configured to automatically make the selection of HVAC system B over HVAC system A. However, and returning to
In certain design programs it may be desired to restrict elements that system 50 can change in the optimization process. For example, a user may wish to retain a round footprint, a certain curtain wall design, and so on, and have system 50 try to optimize the design by changing other aspects of the design. An optimization controls and selection user interface 142 is provided to permit the user to make such restriction selections.
In addition, it may be desirable to optimize for several aspects of the structure, even when such aspects are potentially competing considerations, such as most square feet and least cost, most window surface area and highest energy efficiency, and so on. In these cases a user may be provided with controls to select preferences or weight aspects around which optimization takes place. An importance slider control 156 is illustrated in summary window 154 of
Also shown in
At any point in the design process a user (or the system, automatically) may save and annotate a revision. These revisions may be available to a user in an interface such as interface 160 shown in
Returning to
In one example, secondary analysis system 170 is a structural analysis software system such as Autodesk Robot (usa.autodesk.com), LARSA 4D (www.larsausa.com), RISA (www.risatech.com), StruCalc (www.strucalc.com), etc. Design engine 52 is provide with the application programming interfaces, converters, etc., required to permit direct export of design data to such secondary analysis system 170. The design data provided by design engine 52 may be utilized by secondary analysis system 170 to determine the structural soundness of the design. Secondary analysis system 170 may then provide data permitting refinement of the design, by design engine 52, so as to better satisfy structural soundness requirements.
In addition to structural engineering software, other software packages can receive and analyze the design data and provide feedback to design engine 52 to permit refining a design. Other such examples include environmental certification, ADA compliance, geological modeling, and so on. Additional design packages may take the design data from design engine 52 and expand on that data to provide additional aspects of a design, such as a landscaping design, interior design, and so on. These additional aspects may be provided back to design engine 52 such that the rendering of the design in design workspace 60 includes these addition aspects of the design.
It will be appreciated that a system according to the present disclosure is well suited for collaborative structure development. In one embodiment, many elements of system 50 may reside in a “cloud”-computing environment, and the user interacts with the system via specific application software, a web browser, etc. Thus, numerous parties can provide input to the design and process of developing the structure. That is, parties may collaborate on the design, such several architects working together on a single design, an owner or developer providing design preferences, an interior designer working on the interior layout of the structure, a builder providing refinements relating to practicality of building the structure, or all such parties (and, of course, possibly other interested parties) working together. Appropriate revision control is provided, such as by techniques otherwise known in the art.
As previously mentioned, the elements such as systems and components in elements database 65 (
A first method is for the user to provide an element at 180, identifying a set of standard details about the element, such as dimensions, cost, source, availability, color or other option choices, etc. A form or template (not shown) may be used to assist the user in entering a complete and standardized set of details about the element being added to elements database 64. Another method is for system and component vendors to directly enter data at 182, 184 regarding the systems and components they supply, respectively. In this option, the vendors may be invited to enter these details, such as when a user identifies a system or component that they would like to incorporate into a design. Alternatively, the system may provide a portal through which systems and component vendors may apply to have their products included in the elements database by completing a form or template (not shown), and being vetted by an appropriate process, such as for dependability of vendor, quality of products supplied, reasonableness of price, and so on.
Similarly, elements database may contain data regarding services provided by a select group of service providers, entered at 186. Data relating to these service providers may be tied to systems and components, such as cost and time for installation of a specific type of tile per square foot, or the like. Or, data relating to these service providers may be independent of a specific product, such as cost and time to paint interior space per square foot regardless of the type, color, etc. of paint used. Again, the user may include these details based on knowledge the user collects about cost, time, quality, and so forth. Alternatively, the service providers may be invited to enter these details, such as when a user identifies a particular service provider that they would like to use in implementing the design (e.g., where the service provider has unique skills, special pricing, etc.) As another alternative, the system may provide a portal through which service providers may apply to be included in the elements database. A form or template (not shown) may be provided for completion by the user or service provider in order to standardize the data in elements database 64.
In one embodiment of the present disclosure, the systems and components vendors and service providers agree to be bound by the prices and delivery schedules that become part of elements database 64. Such agreement provides a degree of certainty to the attributes provided by dashboard 110 (
Another source of content for elements database is a library of previously vetted elements at 188. Indeed, once additional element data, system and component vendors and service providers, etc. are added to the elements database 64 for the current design, those new system and component vendors and service providers may be added into such a library for utilization in future designs. In the case that elements (and even parts of or complete designs) are reused from approved structures, their having been previously approved may provide advantages such as easier certifications and permitting.
Once a design has been created, and possibly edited, optimized, and so on, the design may be exported by export engine 200, as illustrated in
Furthermore, upon completion of the design it may be desired to verify the cost, availability, and so forth of the specified systems, components, and services. Export engine 200 can provide the design or relevant portions thereof to the specified vendors 210 and service providers 212, and request confirmation of the commitments made. The system can also provide the final design details to the developer so that the developer can confirm that the design meets the developer's preferences, to facilitate the developer obtaining funding, to request final approval to proceed, and so on.
Upon receipt of permits and similar approvals, confirmation of price, availability, and so on from vendors and service providers, and authorization to proceed by the developer, the system may then produce the final build documentation at 216, set up a build time-line, place orders for systems and components, and attend to other details for entering the build phase of the project. An interface may be provided with essentially a “build” button, which ends the design phase and begins the build phase. The system may thereafter track changes to the design, cost and delivery changes, and other aspects of implementing the design, and provide a build dashboard, not shown, which can provide an estimate of attributes of the build phase such as cost, time-to-completion, and so on.
Upon implementing the build phase a number of notifications can be provided by the system. For example, purchase obligations for systems and components can be extended, service providers can be notified of the job, next steps in financing can be initiated, insurance, certification, and permitting authorities can be notified, and timelines prepared. It may therefore be appropriate to limit the ability to initiate the build phase in a way that prevents unintended commitments and inadvertent starting of a process not yet ready to be started, for example by requiring concurrent approval of the designer and construction manager, or other individuals or entities with sufficient authority.
While the disclosure has focused on the creation of a design utilizing cells, systems, components, etc. and facilitating the implementation of that design by coordinating the cost, availability, scheduling, and so forth of suppliers, service providers, etc., in one embodiment of the present disclosure, an entire design may be selected from a structure library 76 (
While a plurality of preferred exemplary embodiments have been presented in the foregoing detailed description, it should be understood that a vast number of variations exist, and these preferred exemplary embodiments are merely representative examples, and are not intended to limit the scope, applicability or configuration of the disclosure in any way. Various of the above-disclosed and other features and functions, or alternative thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications variations, or improvements therein or thereon may be subsequently made by those skilled in the art which are also intended to be encompassed by the claims, below.
Therefore, the foregoing description provides those of ordinary skill in the art with a convenient guide for implementation of the disclosure, and contemplates that various changes in the functions and arrangements of the described embodiments may be made without departing from the spirit and scope of the disclosure defined by the claims thereto.