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 file 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 facilitating collaboration in the designing, iterating, and building of 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.
More specifically, while aspects of a structure may be appealing to one or more members of the design and implementation ecosystem, there is known, accepted overall quantification of a structure's fitness for purpose. Accordingly, there is no known, accepted method of determining a quantified value indicating how well a structure meets (or does not meet) the various requirements underlying its purpose. Nor is there a known, accepted method of weighting particular aspects of a design such that they, at least in part, define the underlying aspects of a design. Furthermore, there is no known, accepted method of examining two designs side-by-side to determine whether one quantifiably better address various requirements underlying its purpose as compared to the other. Still further, there is no known, accepted method of examining different aspects of those two designs to determine if use of certain elements of one design might quantifiably improve satisfying various requirements in the other.
Accordingly, the present disclosure is directed to systems and methods for more efficiently facilitating collaboration in the design, analysis, and implementation of a structure than heretofore possible. The systems and methods disclosed permit quantifying a structure's design for its fitness for intended purposes. The systems and methods disclosed herein permit determining a quantified value indicating how well a structure design meets (or does not meet) the various requirements underlying its purpose. Weighting of particular aspects of a design such that they, at least in part, define the underlying aspects of a design is provided. Systems and methods for examining two designs side-by-side to determine whether one quantifiably better address various requirements underlying its purpose as compared to the other are disclosed. Systems and methods for examining different aspects of those two designs to determine if use of certain elements of one design might quantifiably improve satisfying various requirements in the other are also disclosed.
According to one aspect of the present disclosure, a computer-implemented system for quantifying the fitness of a structure for an intended purpose comprises: an attributes engine, configured to receive design data for a structure; quantify a plurality of measures of various attributes of the structure based on the design data; from the quantified plurality of measures of various attributes of the structure, determine a structure fitness function, F, whereby
F=f({right arrow over (w)}1{right arrow over (a)}1,{right arrow over (w)}2{right arrow over (a)}2, . . . {right arrow over (w)}n{right arrow over (a)}n)
wherein a1, a2, . . . an are each quantifications of an attribute, respectively, of a structure based on the structure design, and w1, w2, . . . wn are each weighting values corresponding to each attribute quantification, respectively; and an interface for providing an indication of the structure fitness function to a user. The structure fitness function may be evaluated and a value provided thereby for a variety of perspectives, such as sum of weighted attributes, a mean function value, etc.
Multiple users may each view and manipulate a design, and ultimately compare fitness functions to assist in determining which manipulations better address design targets for the resulting structure. Structure fitness functions of extant designs may also be determined and compared to an in-process design in order to evaluate the in-process design and potentially utilize elements of the extant design in the in-process design to better meet the requirements for that design.
Accordingly, also disclosed is a computer-implemented system for facilitating collaborative structure design efforts, and for coordinating implementation of a resulting design, comprising: 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; 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 updates quantification of the measures when manipulation of aspects of the design result in modification of the design; a first interface, coupled to the design engine, permitting a first user to view and manipulate aspects of the design rendered in the design workspace such that manipulation of the aspects of the design by the first user may be viewable by a second user by way of a second interface; the first interface configured to provide an indication of a structure fitness function, F, determined according to:
F=f({right arrow over (w)}1{right arrow over (a)}1,{right arrow over (w)}2{right arrow over (a)}2, . . . {right arrow over (w)}n{right arrow over (a)}n)
wherein a1, a2, . . . an are each quantifications of an attribute, respectively, of a structure based on the structure design determined by the attributes engine, and w1, w2, . . . wn are each a weighting value corresponding to each attribute quantification, respectively.
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
Alternatives to using the public Internet, or additional interconnection mechanisms include local area networks (LANs), wide area networks (WANs), etc. Alternatives to client workstations, or additional computer mechanisms include personal computers, servers that are personal computers, minicomputers, personal digital assistants (PDAs), mainframes, etc. The network within which the various embodiments of the present disclosure operates may also comprise additional or fewer devices without affecting the scope of the present disclosure.
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 collaboratively 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. In addition, 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. In many cases, designing a structure is a collaborative endeavor between individuals and organizations. As well, 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.
Furthermore, as used herein, “manipulation” of (or to “manipulate”) a design includes but is not limited to adding elements to a design, subtracting elements form a design, reconfiguring portions of a design, moving portions of a design, partially or fully relocating a design on a site, requesting and viewing attributes about a design, implementing automated optimization of a design, checking aspects of a design for structural soundness or against codes or regulations for such a design, comparing alternative designs, developing cost estimates, construction time, and other attributes of a structure built according to a design, and so on.
Still further, 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 systems 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.
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. By way of a network, the systems and methods thereby facilitate collaboration between multiple individuals and/or organizations in the design, analysis, and implementation of a structure.
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 data 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.
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.
Much of the data provided by external data database 58 originates with human data collection and transmission to database 58, as illustrated by 90a, 92a, and so on. Other data may reside in repositories connected directly or indirectly to external data database 58, as illustrated by 90b, 92b, and so on. With reference again to
In general, the many methods of collection of the data and the many formats in which the data may be provided to design engine 52, are beyond the scope of the present disclosure. However, in one embodiment a system is used to obtain data from a number of sources, and changes in data or data integrity may be independently verified. Initially, a group of participants are requested to provide data to external data database 58. This might, for example, be the manual inputting into digital format of building codes for a municipality that does not have readily available digital versions of such codes. Additionally, there may be overlap and in fact duplication in the work of the participants. As the amount of duplication increases, indicating that input from prior participants is correct and complete, the number of participants requested to input data may be decreased. Some steady state input, with consequent duplication continues. Thereafter, if it is noted that conflicts begin to arise, such as code sections of the same code designation are no longer duplicates of previously entered data for that section, it may be concluded that either (1) errors have occurred in either the earlier or later data entry, or (2) the code section may have changed since the original data entry. In either case, the number of participants may be increased, with a commensurate increase in the data provided by the group. When duplication again rises above a threshold, the number of participants may be decreased. Again, there are many methods of data collection and entry when that data is not otherwise available is digital format for use by system 50, as will be appreciated by one skilled in the art, and the aforementioned is simply one example of such a method.
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 may in part be achieved relatively autonomously by design engine 52 implementing the aforementioned rules and various optimizations. Design evolution is also achieved through the interaction of various parties and organizations through direct manipulation of elements of the design provided by way of an interface such as user design editing interface 62 and inputs from various secondary data sources and analysis systems.
In addition to tools for manipulating an existing design, new design elements such as cells, systems or components may be accessed by each of users 352, 354 in an elements database 64. Other design tools may be provided as is well known in the art, either by system 50 or by resources external to system 50.
The various manipulations are integrated into a design by design engine 52. Design engine 52 may perform several additional tasks (or alternatively such tasks may be performed by other components of system 50). For example, a change tracking resource 364 for tracking the various manipulations, such as who made each change, when it was made, what elements of the design are affected by the change, may be provided. An error and conflict checking resource 366 for determining whether manipulations made by the various users produce errors or conflicts (such as different concurrent changes to the same element, changes which result in violations of rules or codes, etc.) may also be provided.
In certain embodiments it may be desirable to provide certain parties with approval authority, or limit certain other parties' abilities to manipulate aspects of the design. For example, an architect may wish to permit an interior designer to be able to place furniture and related items in a design, but not modify the design itself. As another example, a chief architect may request that a junior architect propose design manipulations, but before those manipulations are incorporated into the final design the chief architect approves or disapproves such manipulations. It will be appreciated that many opportunities for such approvals and limitations exist in collaboratively developing a design for a structure, and the aforementioned are merely illustrative examples. A resource 368 is provided in order to facilitate such approvals and limitations. Resource 368 may use individual identity, qualifications, certifications, title, association with organizations, passwords, biometric data, or other criteria or security data and processes for determining limitations and granting approvals for user modifications.
In addition, resource 368 may provide certain users, such as user 352, with an interface 370 to resource 368 for approval of manipulations from other users such as user 354. Such approval may be the acceptance (or rejection) of individual manipulations, groups of manipulations, or all manipulations of aspects of said design by said second user 354.
In one embodiment, system 50 is provided with a control that finalizes the design and initiates the process of building a structure, which can be thought of as the ultimate manipulation or a “build it” button. Much responsibility and liability is associated with finalizing the design and initiating the building process (hitting the “build it” button). Accordingly, authority for this level of manipulation may be vested on one or two individuals in the ecosystem, such as the developer, or construction manager. Again, resource 368 may determine if a user has this level of authority.
Furthermore, resource 368 may limit certain manipulations a user may make to a design per se. Such limitations may be based on locking elements of the design in general, or may apply such limits on a user-by-user basis, in which case the aforementioned individual identity, qualifications, certifications, title, association with organizations, or other criteria may be used to determine limitations on user modifications.
As mentioned, each user 352, 354 may be provided with a user interface for viewing and manipulating a design.
Many aspect of the design may be manipulated, with design engine 52 revising the design to accommodate those manipulations. These include dragging and dropping new cells, systems or components into the design, deleting cells, systems or components from the design, rearranging cells, systems or components in the design, changing the footprint of the design, etc. 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. Many other design manipulation 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). Referring again to
With reference again to
System 50 may provide each user with a customizable attributes quantification interface, illustrated in
One such window for design attributes is building fitness function window 124. A structure design has many attributes that may be quantified. Sunlight exposure, energy efficiency, carbon footprint, use of recycled materials, cost per square foot, symmetry of the building, and so on are some examples, and there are many more. It is possible to develop a set of such attributes that represent a quality or “fitness” value for a structure. More specifically, a structure may have a number of such attributes a1, a2, . . . an. Each attribute may have a weighting w1, w2, . . . wn that may be applied, respectively, to represent a relative importance of that attribute to the overall fitness of the structure. These weights may be determined based on a user preference, from a population query, derived or interpreted from the behavior of system users, and so forth. It is therefore possible to develop a “Structure Fitness function” (F) for a structure, such that
F=f({right arrow over (w)},{right arrow over (a)})
This is an n-dimensional vector representation. However, there are many other ways to evaluate the fitness function. For example, this function could be quantified as a scalar as
F=Σ
x=1
x=n
w
x
a
x
In some applications it may desirable to manipulate the fitness function to obtain a value for analysis and comparison of a structure design. For example, an arithmetic mean fitness function can be represented as
Many other manipulations of the fitness function are possible, as will be appreciated by one skilled in the art based on the present disclosure.
It will be appreciated that a Structure Fitness function need not be linear in each attribute a. For example, consider the function
That is, it is not necessarily true that the function value increases when au increases. Furthermore, it will also be appreciated that the Structure Fitness function need not be continuous. For example, consider the function
That is, the value of the function F increases by wk*ak if ak is greater than the positive integer n, but otherwise the value of F increases by 1.
The Structure Fitness function permits a quantitative comparison of different designs, for the same site or for different sites. It also permits users to look for “better” designs (i.e., higher Structure Fitness function) from a library of such designs, such as cell and structure data database 54. Still further, such a Structure Fitness function may be associated with other aspects of the design process described above, such as the approvals and limitations resource 368 (
In general, attributes of a structure will be the same across users (e.g. the square footage of a structure would not change as a function of who is viewing the structure). The ability to change attributes would be a matter of permission within the system. However, according to one embodiment of the present disclosure, any user could be permitted to change a local copy of the weights (i.e., preferences) applied to those attributes in order to investigate changes under different preference scenarios. According to another embodiment, a user may be permitted to “check out” a design and tinker with attributes and weights, but not permitted to check the modified design back in (e.g., the user cannot modify the root design).
With reference once again to
According to the present disclosure, each user or some group of users may be provided with an interface in which they may specify their own target values for various attributes for the design. For example, an architect may specify a target calculated sunlight exposure, a construction manager may specify a target build time, and developer may specify a target cost, and so on. One or more users may be provided with a view of the attributes targets specifications of the other users. And this may be tied to approvals and limitations resource 368 (
Returning to
However, in another embodiment, human interaction is required to facilitate the external analysis performed by secondary analysis system 170 (i.e., system is broad enough in this instance to include a person or groups of people). For example, certain portions of the design may require various comments and approvals, such as a planning commission approval, environmental commission analysis, and so forth. The interface for communicating with a secondary analysis system 170 can therefore be tailored to meet the specific requirements of the parties, and further facilitate receipt of feedback from the secondary analysis system 170. In this way, collaboration with the parties associated with a secondary analysis system 170 is facilitated by system 50.
With reference to
Referring again to
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.
The present disclosure is related to and claims priority from copending U.S. patent application titled “System and Methods for Structure Design, Analysis, and Implementation”, Ser. No. 13/112,727, filed on May 20, 2011, which is incorporated herein by reference. The present disclosure is also related to U.S. patent application titled “System and Methods Facilitating Collaboration in the Design, Analysis, and Implementation of a Structure”, Ser. No. 13/163,307, which is incorporated herein by reference.