WO2021062113A1 - Architectural design software incorporating intelligent data-driven user guidance - Google Patents
Architectural design software incorporating intelligent data-driven user guidance Download PDFInfo
- Publication number
- WO2021062113A1 WO2021062113A1 PCT/US2020/052662 US2020052662W WO2021062113A1 WO 2021062113 A1 WO2021062113 A1 WO 2021062113A1 US 2020052662 W US2020052662 W US 2020052662W WO 2021062113 A1 WO2021062113 A1 WO 2021062113A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- digital
- architectural design
- design data
- architectural
- data object
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
Definitions
- CAD computer-aided design
- BIM building information
- One particular benefit that is offered by modem CAD and BIM software is the ability to see a three-dimensional rendering of an architectural design.
- a designer may be able to view on a computer screen a completely rendered office building at various stages in the design process.
- the designer may be able to navigate within the three- dimensional renderings such that the designer can view different perspectives and locations throughout the design process.
- At least one disclosed embodiment comprises a computer system for automated assistance of architectural design.
- the computer system is configured to access a digital architectural design data object that was created by executing a plurality of architectural element objects selected by a user at a graphical user interface.
- a digital model is accessed.
- the digital model was created by creating an aggregation of a plurality of digital architectural design data obj ects and extracting characteristics of the aggregation.
- the digital model is applied to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model Based on the inconsistencies, recommendations are provided to the graphical user interface suggesting an alternative digital architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects.
- User input is received selecting the alternative digital architectural design data object.
- An updated digital architectural design data object is created by executing at least the alternative digital architectural design data object.
- Figure 1 illustrates an embodiment of an architectural design software application with an artificial intelligence module.
- Figure 2 illustrates an embodiment of independently executable software objects within an architectural design software application.
- Figure 3 illustrates a method of providing user guidance at digital architectural design tool.
- Figure 4 illustrates steps in an embodiment of a method for automated assistance of architectural design.
- Figure 5 illustrates an example computer system DETAILED DESCRIPTION
- Disclosed embodiments include software systems and method for integrating intelligent guidance within architectural design tools, such as design software.
- intelligent guidance within architectural design software provides several benefits to the field.
- artificial intelligence may identify discrepancies within an architectural design that can be remedied at the design stage.
- AI may provide recommendations related to improved architectural designs and better continuity with other designers working on the same or related projects.
- recommendations can be provided in a fashion that improves the ability of designers to interact with design software, such as by displaying the most relevant guidance in prominent locations in a user interface.
- AI may be able to suggest and implement particular changes to an architectural design that improve upon the original human- provided design.
- an architectural item (such as a complex, building, room, furniture arrangement, furniture item, etc.) can be created in a fashion that is more consistent across elements of the item, by eliminating various discrepancies that might otherwise exist.
- an architectural element is a component that can be integrated in an architectural design.
- an architectural element may be a wall, a door, flooring, a window, lighting, cooling, or virtually any other element that can be integrated into in architectural design.
- an independently executable software object comprises a set of computer-executable instructions used in object-oriented program code, and which relate to a particular physical component or feature.
- software objects can be interrelated via parent/child dependency relationships where changes in a parent object flow through to a child object and vice versa.
- a software object created for a table may have several child objects for each leg.
- the software objects can be related to other software objects that represent physically proximate components (e.g., a wall object that is positioned next to the table object).
- table software object and leg software objects can independently execute in a correlated fashion to ensure each corresponding physical component (i.e., the table top, or the table legs) is positioned appropriately, or otherwise colored and designed consistent with the user’s specifications.
- a leg software object can identify that its location next to a wall renders a physical leg unnecessary, and accordingly can automatically incorporate a bracket to attach directly to the wall in place of a physical leg.
- Figure 1 illustrates an embodiment of an architectural design software application 110 with a classification system 140 and a recommendation engine 145, which together implement AI functionality.
- the classification system 145 uses engine training data 160 as input.
- the engine training data 160 may include, for example, a collection of previously created digital architectural design data objects.
- Each of the digital architectural design data objects are data objects for an architectural design and are created by executing a plurality of architectural element data objects.
- the engine training data 160 is obtained from a database or other storage system storing previously created digital architectural design data objects, such as for an architectural design database 195.
- the classification system 140 creates a trained model 155, which conceptually is a listing of characteristics of an aggregation of the architectural design data objects in the engine training data 160.
- the trained model 155 can be provided to the recommendation engine 145.
- the architectural design data object 165 can be provided to the recommendation engine 145.
- the architectural design data object 165 can then be compared with the characteristics in the trained model 155, which can be used to create recommendations 170, perhaps based on inconsistencies between the architectural design data object 165 and the characteristics 155 in the trained mode.
- the recommendations 170 can be provided to a user, where the user can incorporate the recommendations into their design to create an updated architectural design data object (also represented at 165 as a result of an update iteration of applying user selections).
- architectural design data object 165 will be added to the architectural design database 195, where it can then be provided as engine training data 160 to the classification system 140. In some embodiments, this is only performed once recommendations have been accepted or rejected.
- the architectural design data object 165 can be added to the architectural design database 195 at any point but may only be available as data for the engine training data 160 once a recommendation 170 has been accepted or rejected, either automatically or by a user. This can be done to prevent propagating errors into the engine training data.
- Figure 1 illustrates that information from the user input at the user interface 180 can be provided to the engine training data 160.
- recommendations 170 and a user’s response to those recommendations 170 can be provided as engine training data to help facilitate evaluation of what recommendations are useful and what recommendations are less useful.
- This information can be used in creating the trained model 155.
- the architectural design software application 110 is executed on a computer system, such as the system illustrated later in Figure 5. Additionally, the architectural design software application 110 comprises a user interface 180 to receive user input 190 from a user and provide output to a user.
- the architectural design software application 100 further includes a design compiler 130 configured to execute architectural element data objects selected by the user to create the architectural design data object 165.
- Each architectural element data object within an architectural design data object may comprise a certain level of awareness or context that indicates both the functions that the object can perform and the object relationship with other architectural elements within the design.
- a design compiler 130 is coupled to the user interface 180 to facilitate a user interacting with architectural element data objects to add, remove, change, select, associate with other architectural element data objects, etc.
- the design compiler 130 manages interactions between the different architectural element data objects in a design. Leveraging the individual architectural element data object awareness and functionalities, AI may provide significant benefits relating to both automatically performing functions and expanding upon identified relationships within an architectural design.
- AI operates within conventional architectural design software that is not based upon object-oriented elements.
- object-oriented architectural design examples of AI within object-oriented architectural design are provided for the sake of example and explanation and should not be interpreted to be limiting the use of AI to such architectural design environments.
- this invention utilizes AI, such as deep learning, to act as a type of design concierge, leading the designer through the design process by leveraging prior design work and behaviors, as well as identifying potential design related errors (aesthetic, manufacturing, etc.).
- Project-specific data is captured from one or more design applications (such as Autodesk Revit or DIRTT ICE) from various users, and stored in relevant repositories For example, data may be collected with respect to previous orders, design styles, user behaviors, errors encountered etc. These different repositories are represented by the engine training data 160.
- the project specific data may include data for an initial user (most likely assigned a non-identifiable label rather than an actual username), a company (again unidentifiable), the product industry, design genre, etc.
- repositories are cloud-based to leverage the data capacities of such.
- the collected project specific data might include information such as log-in data, specification of materials, user’s activity sequencing, error logs, changes after initial design or post-order, information on designs that have actually been implemented in an architectural project, when designs were created, etc.
- classification system 140 and recommendation engine 145 are pre-programmed with knowledge inherent to a relevant industry (such as common BIM procedures and standards, for example) to help a designer build an optimal architectural design.
- the classification system 140 and recommendation engine 145 may execute predictive model algorithms, illustrated as the trained model 155, as the designer builds an architectural design data object 165.
- the recommendation engine 145 may compare those models to the user’s design in the background, weighting the results against a pre-determined variance threshold. When the variance between the designer’s design and the predictive model crosses the variance threshold, the designer is notified of one or more recommended design changes and alternative options (should more than one option exist), as illustrated by the recommendations 170.
- the recommendations can be provided to the user interface 180, where they can be received by the user.
- the recommendations 170 may be presented in the user interface 180 along with reasons for the recommended design change. For example, embodiments may indicate that the recommendations 170 are being provided to implement a consistent design. Further information may be provided to indicate that the consistency is related to genre, safety, previous changes for a specific client or type of client, etc., for a specific general contractor, preferences of sub-contractors, budgets, timelines, etc.
- previous design data represented by the engine training data 160 can be provided to the classification system 140.
- the classification system 140 can classify the engine training data 160 through various processes, such as unsupervised, supervised, or semi-supervised learning processes to label the data.
- Various norms can be identified through the classification process to create the trained model, which can be used to ensure consistency between the architectural design data object 165 and previous design work.
- a user providers user input 190 into the user interface 180 Such user input may include input to select architectural element data objects for a design, configure the architectural element data objects, and other interactions in the process of creating the architectural design data object 165.
- the user interactions allow a user to select architectural element data obj ects from an architectural element data object database 150.
- the selected architectural element data objects can be indicated to be coupled together and configured through the user interface.
- the design compiler 130 then executes the architectural element data objects to create the architectural design data object 165.
- the user can view and interact with the architectural design data object 165 through the user interface 180.
- the architectural element design object 165 is then provided to the recommendation engine 145, where it is evaluated using the trained model 155 to create the recommendations 170, which are then provided to the user through the user interface 180.
- the designer is free to accept/choose one of the recommendation(s) or reject any or all of the recommendation(s). Their acceptance or rejection is also captured in order to better predict future threshold levels for that a designer or designer type (designer types would be identified over time to group such for better leverage of user preferences).
- a created and/or updated architectural design data object 165 can be provided to the classification system 140 and use to update the trained model 155 according to actions taken by the designer.
- designer segmentation would divide designers into segments dependent on their patterns and preferences.
- design firms would be segmented dependent on the firms patterns and preferences.
- trained models can be used to provide recommendations that are specific to designers or design firms.
- the recommendation engine 140 may automatically implement changes into an architectural design data object without input from the designer. For example, the recommendation engine 140 may detect aesthetic muntins placed at a specific height throughout a design. However, the recommendation engine 140 may detect one architectural element data object has the muntin placed 1/8” higher or lower. In such a case, the recommendation engine 140 may automatically adjust the height of the muntin to conform with the rest of the design. The recommendation engine 140 may make similar automatic changes to conform with project design rules or norms, company design rules, user design rules, regulations, building codes, or any of a number of other guidelines.
- a classification system 140 in combination with the recommendation engine 145 would become more intelligent in relation to the users and data in the relevant repositories.
- a people-pattern engine implemented in the classification system 140 may also be used for collective active feedback through asking the designer for preferences. Prior to designer seeding their own preferences, the invention would auto-seed preferences based on the closest designer segment for that application or industry. Further, seeding may be provided by pre-defmed preferences from a product manufacturer and/or the designer’s company.
- clustering techniques may be used to recognize and capture behavioral data to be added to a behavioral repository of the classification system 140. Examples of such would be the placement of walls first, with doors and windows added later, or the application of finishes early on versus later in the process.
- the classification system 140 may also process polling log files from design application crashes. Based upon this information, the recommendation engine 145 can help avoid future crashes by warning the designer prior to the crash. Predictive modeling could determine the potential path to a crash before the user arrives at that step of the design.
- FIG. 140 and the recommendation engine 145 may also be used for time/sequence project projections - to estimate the likelihood of the project coming in on time, on budget, etc.
- embodiments may also be configured to analyze photos of physical architectural design spaces (such as ceilings or walls) or even photographs/ renderings of proposed solutions to be used in addition to designer collected data and behaviors, in order to allow the classification system 140 and the recommendation engine 145 to automatically create multiple architectural design data objects without designer design input.
- Generative design functionality of the design software (such as Revit) would be utilized in concert to create multiple new architectural design data objects automatically, from which a designer would simply choose.
- Figure 2 illustrates an embodiment of independently executable software architectural element data objects 200, 210 within an architectural design software application.
- the independently executable software architectural element data objects comprises a Walll architectural element data object 200 and a Wall2 architectural element data object 210.
- the architectural element data objects are associated with different contexts and functionalities.
- the exemplary contexts include information relating to whether the walls represented by the architectural element data objects are loading bearing, what the walls are constructed of, what is adjacent to each wall, whether each wall contains wiring, and any number of other pertinent characteristics.
- the exemplary functionalities include functions for changing the wall dimensions, changing the materials that make up the wall, moving the wall, and various functions.
- the depicted functionalities are only exemplary.
- architectural element data objects may represent any element within an architectural design and are not limited to walls.
- the independently executable software architectural element data objects 200, 210 are stored within the architectural element data object database 150.
- the design compiler 130 is configured to access and process (such as by executing executable code associated with the architectural element data objects) the architectural element data objects 200, 210.
- the recommendation engine 145 is configured to analyze the current architectural design, as embodied in an architectural design data object, with respect to a trained model 155 created using a training set of previous architectural design data objects and curated rules. The recommendation engine 145 identifies discrepancies between identified characteristics of the training set architectural design data objects and the present architectural design data object and/or discrepancies between design rules and the current architectural design data object.
- the recommendation engine 145 communicates with the design compiler 130.
- the recommendation engine 145 is then able to identify individual architectural element data object characteristics and functionalities that relate to the identified discrepancy, improvement, or alternative option.
- the recommendation engine 145 can then propose a specific architectural element data object-based solution to a designer and/or automatically implement the change by communicating the designer functionality call through the design compiler 130 to the desired software architectural element data object.
- the interrelated aspect of the object-oriented elements can then implement the change and automatically adjust adjacent elements as needed.
- the recommendation engine 145 may determine that the wall represented by the Walll architectural element data object 200 needs to be thicker in order to be a load bearing wall.
- the recommendation engine 140 may communicate a Change Dimensions command through the design compiler 130 to the Walll architectural element data object 200.
- the Change_Dimensions command comprises the desired dimensions for the wall to be a load bearing wall based upon the recommendation engines analysis of previous architectural designs and/or building rules.
- the design compiler 130 identifies other architectural element data objects that could be impacted by the change by accessing the context of the Walll architectural element data object 200. For instance, the design compiler 130 may identify that the wall represented by the Wall2 architectural element data object 210 is adjacent to the wall represented by the Walll architectural element data object 200. Due to the change in dimensions of the Walll architectural element data object 200, the design compiler 130 may automatically cause the Wall2 architectural element data object 210 to also change dimensions in order to make the two adjacent walls properly meet. Similarly, the design compiler 130 may identify that the wiring within the Walll architectural element data object 200 represented by the wire_obj2 may also need to move or otherwise be adjusted due to the change in dimensions.
- the method 300 includes accessing a digital architectural design data object (act 302).
- the digital architectural data object in some embodiments, has been created by executing a plurality of architectural element objects selected by a user at a graphical user interface. For example, as illustrated in Figure 1, a user may select architectural element data objects from the architectural element data object database 150.
- the design compiler 130 can create an architectural design dataobject 165.
- This architectural design data object 165 can be provided to the recommendation engine 145.
- the recommendation engine accesses the architectural design data object 165.
- the method 300 further includes accessing a digital model (act 304)
- the digital model has been created by creating an aggregation of a plurality of digital architectural design data objects and extracting characteristics of the aggregation.
- Figure 1 illustrates that the classification system 140 creates a trained model 155, as described previously herein.
- the trained model 155 is accessed by the recommendation engine 145.
- the trained model is an example of a digital model.
- the method 300 further includes applying the digital model to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model (act 306).
- the recommendation engine 145 compares the trained model 155 to the architectural design data object 165 to identify inconsistencies.
- the method 300 further includes based on the one or more inconsistencies, providing one or more recommendations to the graphical user interface suggesting an alternative digital architectural design data object to the user (act 308).
- the alternatives may be to replace one of the architectural element objects in the plurality of architectural element objects. This replacement may include replacing the object orient architectural element completely, or simply replacing portions, such as settings or portions of code in an architectural element.
- recommendations 170 can be provided to the user through the user interface 180.
- the method 300 further includes receiving user input selecting the alternative digital architectural design data object (act 310). For example, a user can select one or more recommendations to be applied.
- the method 300 further includes creating an updated digital architectural design data object by executing at least the alternative digital architectural design data object (act 312). This may include updating the architectural design data object 165.
- the method 300 in some particular examples includes adding the updated digital architectural design data object to engine training data (act 314). As noted previously, and as illustrated in Figure 3, in some embodiments this is done after an updating based on recommendations.
- the method 300 may further include creating a physical architectural item with consistent features by implementing the digital architectural design data object.
- the architectural design data object can be used to create the subject design of the architectural design data object.
- architectural item can be created that has less inconstancies than objects that might have been created without using the functionality illustrated herein.
- the method 300 may be practiced where the digital model comprises ranked characteristics with characteristics being ranked based on frequency of characteristics being included in digital architectural design data objects.
- the trained model 155 may include various characteristics that could be used to provide recommendations, and may select characteristics based a ranking.
- characteristics identified and labeled in the trained model may include linear or curvilinear. If curvilinear is used more frequently for some relevant conditions, curvilinear recommendations will be made as opposed to linear recommendations.
- the recommendations may include multiple recommendations with the recommendations being ranked according to rankings in the trained model.
- both curvilinear and linear recommendations may be provided, with the curvilinear suggestions provided more prominently, such as at the top of a list displayed in the user interface 180.
- the method 300 may be practiced where the digital model comprises ranked characteristics with characteristics being ranked based on when the characteristics were applied in digital architectural design data objects. For example, characteristics may be ranked in a trained model for a time period that only includes a certain design project. Thus, embodiments could ensure that a design project is consistent by evaluating only characteristics applicable to the time period for the design project.
- the trained model rankings may be created based a previous number of moths, years, decades, etc. Thus, certain expiring trends could be ranked lower or eliminated by selecting a time period that eliminates data from those expiring trends.
- a certain genre could be selected such that characteristics are ranked higher for the genre. Thus, a period of previous years (or other time period) not including a current time could be selected to cause characteristics for the time period to be ranked higher.
- the method 300 may be practiced where the digital model comprises ranked characteristics with characteristics being ranked based on who caused characteristics to be applied in digital architectural design data objects. For example, ranking can be based on a design firm that caused the characteristics, an individual designer that caused the characteristic, the role of designers (e.g., a team lead), etc. Indeed consider a case where a design team is working on a design project together and there is a desire for consistency across the project. Certain members of the design team will have their work ranked higher when applying the trained model 155 than other members.
- a team lead may perform actions that causes recommendations 170 to be automatically provided to other designers as a result of inconsistencies between work done by the other designers and the trained model as a result of the team lead performing work.
- the method 300 may be practiced where providing one or more recommendations to the graphical user interface suggesting the alternative digital architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects comprises providing a plurality of recommendations, where the recommendations are provided with a most relevant suggestion, as determined by evaluation of the digital model, provided in a predetermined location of the user interface. For example, higher ranked recommendations may be presented in the user interface 180 at the top of a list of recommendations as compared to lower ranked recommendations. Alternatively, higher ranked recommendations may be displayed with larger font, brighter colors, with highlighting than lower ranked recommendations.
- the method 300 may be practiced where applying the digital model to the digital architectural design data object is performed based on a periodic schedule of applying the digital model to digital architectural design data objects. E.g., this could be done nightly for group projects to ensure that a group of designers are designing consistently with each other. Note that project lead may be provided with recommendations to prevent conflicts. Other designers can be notified of changes, and particular highlighting can be provided to a designer whose design was changed [0054]
- the method 300 may be practiced where applying the digital model to the digital architectural design data object is performed using a real time process to provide recommendations in real time as inconsistencies are identified.
- the classification system 140 may continuously updated the trained model 155 as actions are performed by designers and/or other users.
- applying the digital model may be performed at predetermined times. For example, in one embodiment, a design team may have the trained model 155 created each night so that recommendations can be provided each morning to the design team to keep designs consistent.
- the method 300 may further include providing an overriding suggestion to override at least one suggestion that would otherwise be provided based on identifying one or more inconsistencies. This can be done to minimize wait times based manufacturing time, based on stock levels, to meet budgetary requirements, to provide for upselling, etc. That is, even though the recommendation engine 145 produces certain recommendations, those recommendations can be overridden by manual or other recommendations.
- Figure 4 illustrates steps in an embodiment of a method 400 for automated assistance of architectural design.
- the method 400 shows that act 410 comprises receiving a digital file.
- act 410 includes receive a particular digital architectural design file.
- a computer system may comprise an architectural design software application 110 that receives a file from a designer.
- the method 400 also comprises an act 420 of processing a digital architectural design file.
- Act 420 includes processing the particular digital architectural design file with an artificial intelligence module.
- the recommendation engine 145 may receive a design file from the design compiler 130.
- the method 400 further comprises an act 430 of identifying one or more discrepancies.
- Act 430 includes identifying one or more discrepancies between the particular digital architectural design file and a training set of digital architectural design files.
- the recommendation engine 145 may compare a current design file with a training set of architectural designs. Based upon that comparison, the recommendation engine 145 identifies one or more discrepancies within the current architectural design.
- the method 400 also includes an act 440 of presenting a suggested change.
- Act 440 includes presenting a designer with a suggested change in response to the one or more discrepancies.
- the recommendation engine 145 may present an end user with a change recommendation to bring a particular element in alignment with building rules and/or within alignment to previous designs.
- the recommendation engine 145 and the design compiler 130 are configured to operate together.
- the unique combination of the two different systems provides significant improvements to the field that are due, at least in part, to the unique combinations of the two different systems.
- the principles herein are equally applicable to other fields outside of digital architectural design, including fields such as construction, building layout, manufacturing, etc.
- the methods may be practiced by a computer system (such as computer system 500) including one or more processors 502 and computer-readable media such as computer memory 504.
- the computer memory may store computer- executable instructions 506 that when executed by one or more processors cause various functions to be performed, such as the acts recited in the embodiments.
- Computing system functionality can be enhanced by a computing systems’ ability to be interconnected to other computing systems via network connections or other communication channels 508.
- Network connections may include, but are not limited to, connections via wired or wireless Ethernet, cellular connections, or even computer to computer connections through serial, parallel, USB, or other connections. The connections allow a computing system to access services at other computing systems and to quickly and efficiently receive application data from other computing systems.
- cloud computing may be systems or resources for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services, etc.) that can be provisioned and released with reduced management effort or service provider interaction.
- configurable computing resources e.g., networks, servers, storage, applications, services, etc.
- a cloud model can be composed of various characteristics (e.g., on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, etc.), service models (e.g., Software as a Service (“SaaS”), Platform as a Service (“PaaS”), Infrastructure as a Service (“IaaS”), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.).
- SaaS Software as a Service
- PaaS Platform as a Service
- IaaS Infrastructure as a Service
- deployment models e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.
- computers are intended to be used by direct user interaction with the computer.
- computers have input hardware and software user interfaces 512 to facilitate user interaction to receive user input 512B and provide output 512A.
- a modem general purpose computer may include a keyboard, mouse, touchpad, camera, etc. for allowing a user to input data into the computer.
- various software user interfaces may be available.
- Examples of software user interfaces include graphical user interfaces, text command line based user interface, function key or hot key user interfaces, and the like.
- Disclosed embodiments may comprise or utilize a special purpose or general- purpose computer including computer hardware, as discussed in greater detail below.
- Disclosed embodiments also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures.
- Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
- Computer-readable media that store computer-executable instructions are physical storage media.
- Computer-readable media that carry computer-executable instructions are transmission media.
- embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: physical computer-readable storage media and transmission computer-readable media.
- Physical computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- a “network”, such as network 500, is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
- a network or another communications connection can include a network and/or data links which can be used to carry program code in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above are also included within the scope of computer-readable media.
- program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa).
- program code means in the form of computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer-readable physical storage media at a computer system.
- NIC network interface module
- computer-readable physical storage media can be included in computer system components that also (or even primarily) utilize transmission media.
- Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
- the computer- executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
- the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like.
- the invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks.
- program modules may be located in both local and remote memory storage devices.
- the functionality described herein can be performed, at least in part, by one or more hardware logic components.
- illustrative types of hardware logic components include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
- portions of the design software application can be implemented in a number of different fashions. For example, portions may be implemented at a remote server and/or cloud-based system while cooperating with system local to a user. For example, much of the work performed by the classification system 140, design compiler 130, and recommendation engine 145 can be implemented using server hardware and software to interact with clients interacting with the server hardware. Further while at least portions of the user interface 180 can be hosted at a server, the user interface is able to cause information to be output and information to be received by a local user. Further still, the various databases and data stores can be implemented locally, remotely, or in combinations thereof.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Structural Engineering (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
A computer system for automated assistance of architectural design comprises s created by creating an aggregation of a plurality of digital architectural design data objects and extracting characteristics of the aggregation. The digital model is applied to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model. Based on the inconsistencies, recommendations are provided suggesting an alternative digital architectural design data object to the user. User input is received selecting the alternative digital architectural design data object. An updated digital architectural design data object is created by executing at least the alternative digital architectural design data object.
Description
ARCHITECTURAL DESIGN SOFTWARE INCORPORATING INTELLIGENT
DATA-DRIVEN USER GUIDANCE CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims priority to United States Patent Provisional Application Serial No. 62/907,373 filed on October September 27, 2019, entitled “ARTIFICIAL INTELLIGENCE SOFTWARE APPLICATION FOR AUTOMATED ASSISTANCE OF ARCHITECTURAL DESIGN,” and which application is expressly incorporated herein by reference in its entirety.
BACKGROUND [0002] Computers and computing systems have affected nearly every aspect of modem living. Computational technology now extends across a broad range of applications, including a wide range of productivity and entertainment software. Indeed, computational technology and related software can now be found in a wide range of generic applications that are suited for many environments, as well as fairly industry- specific software.
[0003] One such industry that has employed specific types of software and other computational technology increasingly over the past few years is that related to building and/or architectural design. In particular, architects and interior designers (“or designers”) use a wide range of computer-aided design (CAD) software or building information (BIM) software (i.e., “architectural design software applications”) for designing the aesthetic as well as functional aspects of a given residential or commercial space. For example, a designer might use a CAD or BIM program to design a building or part of a building, and then utilize drawings or other information from that program to order or manufacture building components.
[0004] One particular benefit that is offered by modem CAD and BIM software is the ability to see a three-dimensional rendering of an architectural design. This can provide tremendous value to designers and/or clients who wish to visualize a design before starting the actual building process. For example, in at least one conventional system, a designer may be able to view on a computer screen a completely rendered office building at various stages in the design process. The designer may be able to navigate within the three- dimensional renderings such that the designer can view different perspectives and locations throughout the design process.
[0005] While three-dimensional renderings can provide a designer with a general idea regarding a final product, conventional CAD and BIM software suffer for several shortcomings. For example, increasingly complex software can be difficult to manage in a way that accounts for the realities of building. A designer may overlook severe defects in the design stage of a building despite the three-dimensional rendering appearing ready and complete. Additionally, architectural design is performed by many different users, each with their own skillset, design preferences, work behaviors and knowledge base. Even though these designers may work with the same product offerings, they cannot leam from one another, nor create a consistent design, unless they are working closely together and in continual communication with one another. Thus, mistakes are made and repeated, designs are compromised by the limited capabilities of each designer, designs may be non- uniform, and design is very time consuming. Accordingly, there is a need for improvements within the field.
[0006] The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.
BRIEF SUMMARY
[0007] At least one disclosed embodiment comprises a computer system for automated assistance of architectural design. The computer system is configured to access a digital architectural design data object that was created by executing a plurality of architectural element objects selected by a user at a graphical user interface. A digital model is accessed. The digital model was created by creating an aggregation of a plurality of digital architectural design data obj ects and extracting characteristics of the aggregation. The digital model is applied to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model Based on the inconsistencies, recommendations are provided to the graphical user interface suggesting an alternative digital architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects. User input is received selecting the alternative digital architectural design data object. An updated digital architectural design data object is created by executing at least the alternative digital architectural design data object.
[0008] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. [0009] Additional features and advantages will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the present invention will become more fully apparent from
the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS [0010] In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subj ect matter briefly described above will be rendered by reference to specific embodiments which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings described below.
[0011] Figure 1 illustrates an embodiment of an architectural design software application with an artificial intelligence module.
[0012] Figure 2 illustrates an embodiment of independently executable software objects within an architectural design software application. [0013] Figure 3 illustrates a method of providing user guidance at digital architectural design tool.
[0014] Figure 4 illustrates steps in an embodiment of a method for automated assistance of architectural design.
[0015] Figure 5 illustrates an example computer system DETAILED DESCRIPTION
[0016] Disclosed embodiments include software systems and method for integrating intelligent guidance within architectural design tools, such as design software. The use of intelligent guidance within architectural design software provides several benefits to the field. For example, artificial intelligence (AI) may identify discrepancies within an architectural design that can be remedied at the design stage. Further, AI may provide
recommendations related to improved architectural designs and better continuity with other designers working on the same or related projects. In some embodiments, recommendations can be provided in a fashion that improves the ability of designers to interact with design software, such as by displaying the most relevant guidance in prominent locations in a user interface. Further, AI may be able to suggest and implement particular changes to an architectural design that improve upon the original human- provided design. In some embodiments, an architectural item (such as a complex, building, room, furniture arrangement, furniture item, etc.) can be created in a fashion that is more consistent across elements of the item, by eliminating various discrepancies that might otherwise exist.
[0017] In at least one embodiment, the ability of AI to integrate so deeply and function so well within architectural design software is greatly enhanced within an object-oriented design scheme. In particular, in at least one embodiment, one or more of the architectural elements, within an architectural design, are associated with independently executable software objects. The independently executable software objects are functional within the architectural design software to provide context and functionality specific to the individual architectural elements with which each independently executable software object is associated. As used herein, an architectural element is a component that can be integrated in an architectural design. For example, an architectural element may be a wall, a door, flooring, a window, lighting, cooling, or virtually any other element that can be integrated into in architectural design.
[0018] By way of explanation, an independently executable software object comprises a set of computer-executable instructions used in object-oriented program code, and which relate to a particular physical component or feature. In addition, software objects can be interrelated via parent/child dependency relationships where changes in a parent object
flow through to a child object and vice versa. For example, a software object created for a table may have several child objects for each leg.
[0019] In other cases, the software objects can be related to other software objects that represent physically proximate components (e.g., a wall object that is positioned next to the table object). For example, the above-mentioned table software object and leg software objects can independently execute in a correlated fashion to ensure each corresponding physical component (i.e., the table top, or the table legs) is positioned appropriately, or otherwise colored and designed consistent with the user’s specifications. For instance, a leg software object can identify that its location next to a wall renders a physical leg unnecessary, and accordingly can automatically incorporate a bracket to attach directly to the wall in place of a physical leg.
[0020] In at least one embodiment, the interplay between AI and independently executable software objects provides several unique and beneficial improvements to the state of the art. For example, Figure 1 illustrates an embodiment of an architectural design software application 110 with a classification system 140 and a recommendation engine 145, which together implement AI functionality. In particular, the classification system 145 uses engine training data 160 as input. The engine training data 160 may include, for example, a collection of previously created digital architectural design data objects. Each of the digital architectural design data objects are data objects for an architectural design and are created by executing a plurality of architectural element data objects. In some embodiments, the engine training data 160 is obtained from a database or other storage system storing previously created digital architectural design data objects, such as for an architectural design database 195.
[0021] The classification system 140 creates a trained model 155, which conceptually is a listing of characteristics of an aggregation of the architectural design data objects in
the engine training data 160. The trained model 155 can be provided to the recommendation engine 145. As a user creates their own architectural design data object 165 as will be discussed in more detail below, the architectural design data object 165 can be provided to the recommendation engine 145. The architectural design data object 165 can then be compared with the characteristics in the trained model 155, which can be used to create recommendations 170, perhaps based on inconsistencies between the architectural design data object 165 and the characteristics 155 in the trained mode. The recommendations 170 can be provided to a user, where the user can incorporate the recommendations into their design to create an updated architectural design data object (also represented at 165 as a result of an update iteration of applying user selections). Note that architectural design data object 165 will be added to the architectural design database 195, where it can then be provided as engine training data 160 to the classification system 140. In some embodiments, this is only performed once recommendations have been accepted or rejected. Alternatively, in some embodiments, the architectural design data object 165 can be added to the architectural design database 195 at any point but may only be available as data for the engine training data 160 once a recommendation 170 has been accepted or rejected, either automatically or by a user. This can be done to prevent propagating errors into the engine training data. Note also that Figure 1 illustrates that information from the user input at the user interface 180 can be provided to the engine training data 160. Thus, for example, recommendations 170 and a user’s response to those recommendations 170 can be provided as engine training data to help facilitate evaluation of what recommendations are useful and what recommendations are less useful. This information can be used in creating the trained model 155.
[0022] The architectural design software application 110 is executed on a computer system, such as the system illustrated later in Figure 5. Additionally, the architectural
design software application 110 comprises a user interface 180 to receive user input 190 from a user and provide output to a user. The architectural design software application 100 further includes a design compiler 130 configured to execute architectural element data objects selected by the user to create the architectural design data object 165. [0023] Each architectural element data object within an architectural design data object may comprise a certain level of awareness or context that indicates both the functions that the object can perform and the object relationship with other architectural elements within the design. A design compiler 130 is coupled to the user interface 180 to facilitate a user interacting with architectural element data objects to add, remove, change, select, associate with other architectural element data objects, etc. The design compiler 130 manages interactions between the different architectural element data objects in a design. Leveraging the individual architectural element data object awareness and functionalities, AI may provide significant benefits relating to both automatically performing functions and expanding upon identified relationships within an architectural design.
[0024] In at least one embodiment, however, AI operates within conventional architectural design software that is not based upon object-oriented elements. As such, examples of AI within object-oriented architectural design are provided for the sake of example and explanation and should not be interpreted to be limiting the use of AI to such architectural design environments.
[0025] In at least one embodiment, this invention utilizes AI, such as deep learning, to act as a type of design concierge, leading the designer through the design process by leveraging prior design work and behaviors, as well as identifying potential design related errors (aesthetic, manufacturing, etc.). Project-specific data is captured from one or more design applications (such as Autodesk Revit or DIRTT ICE) from various users, and stored
in relevant repositories For example, data may be collected with respect to previous orders, design styles, user behaviors, errors encountered etc. These different repositories are represented by the engine training data 160.
[0026] The project specific data may include data for an initial user (most likely assigned a non-identifiable label rather than an actual username), a company (again unidentifiable), the product industry, design genre, etc. In at least one embodiment, such repositories are cloud-based to leverage the data capacities of such. The collected project specific data might include information such as log-in data, specification of materials, user’s activity sequencing, error logs, changes after initial design or post-order, information on designs that have actually been implemented in an architectural project, when designs were created, etc.
[0027] As such, in at least one embodiment, classification system 140 and recommendation engine 145 are pre-programmed with knowledge inherent to a relevant industry (such as common BIM procedures and standards, for example) to help a designer build an optimal architectural design. The classification system 140 and recommendation engine 145 may execute predictive model algorithms, illustrated as the trained model 155, as the designer builds an architectural design data object 165. In some embodiments, the recommendation engine 145 may compare those models to the user’s design in the background, weighting the results against a pre-determined variance threshold. When the variance between the designer’s design and the predictive model crosses the variance threshold, the designer is notified of one or more recommended design changes and alternative options (should more than one option exist), as illustrated by the recommendations 170. In particular, the recommendations can be provided to the user interface 180, where they can be received by the user. In some embodiments, the recommendations 170 may be presented in the user interface 180 along with reasons for
the recommended design change. For example, embodiments may indicate that the recommendations 170 are being provided to implement a consistent design. Further information may be provided to indicate that the consistency is related to genre, safety, previous changes for a specific client or type of client, etc., for a specific general contractor, preferences of sub-contractors, budgets, timelines, etc.
[0028] Illustrating now additional details, previous design data, represented by the engine training data 160 can be provided to the classification system 140. The classification system 140 can classify the engine training data 160 through various processes, such as unsupervised, supervised, or semi-supervised learning processes to label the data. Various norms can be identified through the classification process to create the trained model, which can be used to ensure consistency between the architectural design data object 165 and previous design work.
[0029] As illustrated in Figure 1, a user providers user input 190 into the user interface 180. Such user input may include input to select architectural element data objects for a design, configure the architectural element data objects, and other interactions in the process of creating the architectural design data object 165. As illustrated above, the user interactions, in some embodiments, allow a user to select architectural element data obj ects from an architectural element data object database 150. The selected architectural element data objects can be indicated to be coupled together and configured through the user interface. The design compiler 130 then executes the architectural element data objects to create the architectural design data object 165. The user can view and interact with the architectural design data object 165 through the user interface 180. As noted previously, the architectural element design object 165 is then provided to the recommendation engine 145, where it is evaluated using the trained model 155 to create the recommendations 170, which are then provided to the user through the user interface 180.
[0030] The designer is free to accept/choose one of the recommendation(s) or reject any or all of the recommendation(s). Their acceptance or rejection is also captured in order to better predict future threshold levels for that a designer or designer type (designer types would be identified over time to group such for better leverage of user preferences). For example, a created and/or updated architectural design data object 165 can be provided to the classification system 140 and use to update the trained model 155 according to actions taken by the designer. By way of classification system techniques, designer segmentation would divide designers into segments dependent on their patterns and preferences. Similarly, design firms would be segmented dependent on the firms patterns and preferences. Thus, trained models can be used to provide recommendations that are specific to designers or design firms.
[0031] In at least one embodiment, the recommendation engine 140 may automatically implement changes into an architectural design data object without input from the designer. For example, the recommendation engine 140 may detect aesthetic muntins placed at a specific height throughout a design. However, the recommendation engine 140 may detect one architectural element data object has the muntin placed 1/8” higher or lower. In such a case, the recommendation engine 140 may automatically adjust the height of the muntin to conform with the rest of the design. The recommendation engine 140 may make similar automatic changes to conform with project design rules or norms, company design rules, user design rules, regulations, building codes, or any of a number of other guidelines.
[0032] Accordingly, in at least one embodiment, a classification system 140 in combination with the recommendation engine 145, (such as by implementing a neural network) would become more intelligent in relation to the users and data in the relevant repositories.
[0033] A people-pattern engine implemented in the classification system 140 may also be used for collective active feedback through asking the designer for preferences. Prior to designer seeding their own preferences, the invention would auto-seed preferences based on the closest designer segment for that application or industry. Further, seeding may be provided by pre-defmed preferences from a product manufacturer and/or the designer’s company.
[0034] Additionally, clustering techniques may be used to recognize and capture behavioral data to be added to a behavioral repository of the classification system 140. Examples of such would be the placement of walls first, with doors and windows added later, or the application of finishes early on versus later in the process. The classification system 140 may also process polling log files from design application crashes. Based upon this information, the recommendation engine 145 can help avoid future crashes by warning the designer prior to the crash. Predictive modeling could determine the potential path to a crash before the user arrives at that step of the design. [0035] Once an architectural design data object is complete, the classification system
140 and the recommendation engine 145 (or other AI systems) may also be used for time/sequence project projections - to estimate the likelihood of the project coming in on time, on budget, etc. For example, embodiments may also be configured to analyze photos of physical architectural design spaces (such as ceilings or walls) or even photographs/ renderings of proposed solutions to be used in addition to designer collected data and behaviors, in order to allow the classification system 140 and the recommendation engine 145 to automatically create multiple architectural design data objects without designer design input. Generative design functionality of the design software (such as Revit) would be utilized in concert to create multiple new architectural design data objects automatically, from which a designer would simply choose.
[0036] Figure 2 illustrates an embodiment of independently executable software architectural element data objects 200, 210 within an architectural design software application. As depicted the independently executable software architectural element data objects comprises a Walll architectural element data object 200 and a Wall2 architectural element data object 210. The architectural element data objects are associated with different contexts and functionalities. The exemplary contexts include information relating to whether the walls represented by the architectural element data objects are loading bearing, what the walls are constructed of, what is adjacent to each wall, whether each wall contains wiring, and any number of other pertinent characteristics. The exemplary functionalities include functions for changing the wall dimensions, changing the materials that make up the wall, moving the wall, and various functions. One will appreciate that the depicted functionalities are only exemplary. Further, one will appreciate that architectural element data objects may represent any element within an architectural design and are not limited to walls. [0037] In at least one embodiment, the independently executable software architectural element data objects 200, 210 are stored within the architectural element data object database 150. The design compiler 130 is configured to access and process (such as by executing executable code associated with the architectural element data objects) the architectural element data objects 200, 210. The recommendation engine 145 is configured to analyze the current architectural design, as embodied in an architectural design data object, with respect to a trained model 155 created using a training set of previous architectural design data objects and curated rules. The recommendation engine 145 identifies discrepancies between identified characteristics of the training set architectural design data objects and the present architectural design data object and/or discrepancies between design rules and the current architectural design data object.
[0038] Once a discrepancy, improvement, or alternative option is identified, the recommendation engine 145 communicates with the design compiler 130. The recommendation engine 145 is then able to identify individual architectural element data object characteristics and functionalities that relate to the identified discrepancy, improvement, or alternative option. The recommendation engine 145 can then propose a specific architectural element data object-based solution to a designer and/or automatically implement the change by communicating the designer functionality call through the design compiler 130 to the desired software architectural element data object.
[0039] The interrelated aspect of the object-oriented elements can then implement the change and automatically adjust adjacent elements as needed. For instance, the recommendation engine 145 may determine that the wall represented by the Walll architectural element data object 200 needs to be thicker in order to be a load bearing wall. In response, the recommendation engine 140 may communicate a Change Dimensions command through the design compiler 130 to the Walll architectural element data object 200. The Change_Dimensions command comprises the desired dimensions for the wall to be a load bearing wall based upon the recommendation engines analysis of previous architectural designs and/or building rules.
[0040] Once the wall represented by the Walll architectural element data object 200 has changed its dimensions, the design compiler 130 identifies other architectural element data objects that could be impacted by the change by accessing the context of the Walll architectural element data object 200. For instance, the design compiler 130 may identify that the wall represented by the Wall2 architectural element data object 210 is adjacent to the wall represented by the Walll architectural element data object 200. Due to the change in dimensions of the Walll architectural element data object 200, the design compiler 130 may automatically cause the Wall2 architectural element data object 210 to also change
dimensions in order to make the two adjacent walls properly meet. Similarly, the design compiler 130 may identify that the wiring within the Walll architectural element data object 200 represented by the wire_obj2 may also need to move or otherwise be adjusted due to the change in dimensions. [0041] Referring now to Figure 3, a method 300 of providing user guidance at a digital architectural design tool is illustrated. The method 300 includes accessing a digital architectural design data object (act 302). The digital architectural data object, in some embodiments, has been created by executing a plurality of architectural element objects selected by a user at a graphical user interface. For example, as illustrated in Figure 1, a user may select architectural element data objects from the architectural element data object database 150. The design compiler 130 can create an architectural design dataobject 165. This architectural design data object 165 can be provided to the recommendation engine 145. Thus, in this example, the recommendation engine accesses the architectural design data object 165. [0042] The method 300 further includes accessing a digital model (act 304) In some embodiments, the digital model has been created by creating an aggregation of a plurality of digital architectural design data objects and extracting characteristics of the aggregation. For example, Figure 1 illustrates that the classification system 140 creates a trained model 155, as described previously herein. The trained model 155 is accessed by the recommendation engine 145. In this example, the trained model is an example of a digital model.
[0043] The method 300 further includes applying the digital model to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model (act 306). As illustrated, in one embodiment,
the recommendation engine 145 compares the trained model 155 to the architectural design data object 165 to identify inconsistencies.
[0044] The method 300 further includes based on the one or more inconsistencies, providing one or more recommendations to the graphical user interface suggesting an alternative digital architectural design data object to the user (act 308). The alternatives may be to replace one of the architectural element objects in the plurality of architectural element objects. This replacement may include replacing the object orient architectural element completely, or simply replacing portions, such as settings or portions of code in an architectural element. As illustrated in Figure 1, recommendations 170 can be provided to the user through the user interface 180.
[0045] The method 300 further includes receiving user input selecting the alternative digital architectural design data object (act 310). For example, a user can select one or more recommendations to be applied.
[0046] The method 300 further includes creating an updated digital architectural design data object by executing at least the alternative digital architectural design data object (act 312). This may include updating the architectural design data object 165. [0047] The method 300, in some particular examples includes adding the updated digital architectural design data object to engine training data (act 314). As noted previously, and as illustrated in Figure 3, in some embodiments this is done after an updating based on recommendations.
[0048] While not shown in Figure 3, the method 300 may further include creating a physical architectural item with consistent features by implementing the digital architectural design data object. In particular, the architectural design data object can be used to create the subject design of the architectural design data object. Thus, architectural
item can be created that has less inconstancies than objects that might have been created without using the functionality illustrated herein.
[0049] The method 300 may be practiced where the digital model comprises ranked characteristics with characteristics being ranked based on frequency of characteristics being included in digital architectural design data objects. For example, the trained model 155 may include various characteristics that could be used to provide recommendations, and may select characteristics based a ranking. For example, characteristics identified and labeled in the trained model may include linear or curvilinear. If curvilinear is used more frequently for some relevant conditions, curvilinear recommendations will be made as opposed to linear recommendations. Alternatively, the recommendations may include multiple recommendations with the recommendations being ranked according to rankings in the trained model. Thus, in the illustrated example, both curvilinear and linear recommendations may be provided, with the curvilinear suggestions provided more prominently, such as at the top of a list displayed in the user interface 180. [0050] In some embodiments, the method 300 may be practiced where the digital model comprises ranked characteristics with characteristics being ranked based on when the characteristics were applied in digital architectural design data objects. For example, characteristics may be ranked in a trained model for a time period that only includes a certain design project. Thus, embodiments could ensure that a design project is consistent by evaluating only characteristics applicable to the time period for the design project. Alternatively or additionally, the trained model rankings may be created based a previous number of moths, years, decades, etc. Thus, certain expiring trends could be ranked lower or eliminated by selecting a time period that eliminates data from those expiring trends. Alternatively or additionally, a certain genre could be selected such that characteristics are ranked higher for the genre. Thus, a period of previous years (or other time period) not
including a current time could be selected to cause characteristics for the time period to be ranked higher.
[0051] The method 300 may be practiced where the digital model comprises ranked characteristics with characteristics being ranked based on who caused characteristics to be applied in digital architectural design data objects. For example, ranking can be based on a design firm that caused the characteristics, an individual designer that caused the characteristic, the role of designers (e.g., a team lead), etc. Indeed consider a case where a design team is working on a design project together and there is a desire for consistency across the project. Certain members of the design team will have their work ranked higher when applying the trained model 155 than other members. A team lead, for example, may perform actions that causes recommendations 170 to be automatically provided to other designers as a result of inconsistencies between work done by the other designers and the trained model as a result of the team lead performing work.
[0052] The method 300 may be practiced where providing one or more recommendations to the graphical user interface suggesting the alternative digital architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects comprises providing a plurality of recommendations, where the recommendations are provided with a most relevant suggestion, as determined by evaluation of the digital model, provided in a predetermined location of the user interface. For example, higher ranked recommendations may be presented in the user interface 180 at the top of a list of recommendations as compared to lower ranked recommendations. Alternatively, higher ranked recommendations may be displayed with larger font, brighter colors, with highlighting than lower ranked recommendations.
[0053] The method 300 may be practiced where applying the digital model to the digital architectural design data object is performed based on a periodic schedule of applying the digital model to digital architectural design data objects. E.g., this could be done nightly for group projects to ensure that a group of designers are designing consistently with each other. Note that project lead may be provided with recommendations to prevent conflicts. Other designers can be notified of changes, and particular highlighting can be provided to a designer whose design was changed [0054] The method 300 may be practiced where applying the digital model to the digital architectural design data object is performed using a real time process to provide recommendations in real time as inconsistencies are identified. Thus the classification system 140 may continuously updated the trained model 155 as actions are performed by designers and/or other users. Alternatively, applying the digital model may be performed at predetermined times. For example, in one embodiment, a design team may have the trained model 155 created each night so that recommendations can be provided each morning to the design team to keep designs consistent.
[0055] While not shown in Figure 3, the method 300 may further include providing an overriding suggestion to override at least one suggestion that would otherwise be provided based on identifying one or more inconsistencies. This can be done to minimize wait times based manufacturing time, based on stock levels, to meet budgetary requirements, to provide for upselling, etc. That is, even though the recommendation engine 145 produces certain recommendations, those recommendations can be overridden by manual or other recommendations.
[0056] Figure 4 illustrates steps in an embodiment of a method 400 for automated assistance of architectural design. The method 400 shows that act 410 comprises receiving a digital file. In particular, act 410 includes receive a particular digital architectural design
file. As indicated in Figure 1, a computer system may comprise an architectural design software application 110 that receives a file from a designer.
[0057] The method 400 also comprises an act 420 of processing a digital architectural design file. Act 420 includes processing the particular digital architectural design file with an artificial intelligence module. For example, in Figure 1, the recommendation engine 145 may receive a design file from the design compiler 130.
[0058] The method 400 further comprises an act 430 of identifying one or more discrepancies. Act 430 includes identifying one or more discrepancies between the particular digital architectural design file and a training set of digital architectural design files. For example, as depicted and described with respect to Figure 1 , the recommendation engine 145 may compare a current design file with a training set of architectural designs. Based upon that comparison, the recommendation engine 145 identifies one or more discrepancies within the current architectural design.
[0059] The method 400 also includes an act 440 of presenting a suggested change. Act 440 includes presenting a designer with a suggested change in response to the one or more discrepancies. As described with respect to Figure 1 and 2, the recommendation engine 145 may present an end user with a change recommendation to bring a particular element in alignment with building rules and/or within alignment to previous designs.
[0060] Accordingly, in at least one embodiment, the recommendation engine 145 and the design compiler 130 are configured to operate together. The unique combination of the two different systems provides significant improvements to the field that are due, at least in part, to the unique combinations of the two different systems. One will further appreciate that the principles herein are equally applicable to other fields outside of digital architectural design, including fields such as construction, building layout, manufacturing, etc.
[0061] Further, the methods may be practiced by a computer system (such as computer system 500) including one or more processors 502 and computer-readable media such as computer memory 504. In particular, the computer memory may store computer- executable instructions 506 that when executed by one or more processors cause various functions to be performed, such as the acts recited in the embodiments.
[0062] Computing system functionality can be enhanced by a computing systems’ ability to be interconnected to other computing systems via network connections or other communication channels 508. Network connections may include, but are not limited to, connections via wired or wireless Ethernet, cellular connections, or even computer to computer connections through serial, parallel, USB, or other connections. The connections allow a computing system to access services at other computing systems and to quickly and efficiently receive application data from other computing systems.
[0063] Interconnection of computing systems has facilitated distributed computing systems, such as so-called “cloud” computing systems. In this description, “cloud computing” may be systems or resources for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services, etc.) that can be provisioned and released with reduced management effort or service provider interaction. A cloud model can be composed of various characteristics (e.g., on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, etc.), service models (e.g., Software as a Service (“SaaS”), Platform as a Service (“PaaS”), Infrastructure as a Service (“IaaS”), and deployment models (e.g., private cloud, community cloud, public cloud, hybrid cloud, etc.).
[0064] Cloud and remote based service applications are prevalent. Such applications are hosted on public and private remote systems such as clouds and usually offer a set of web based services for communicating back and forth with clients.
[0065] Many computers are intended to be used by direct user interaction with the computer. As such, computers have input hardware and software user interfaces 512 to facilitate user interaction to receive user input 512B and provide output 512A. For example, a modem general purpose computer may include a keyboard, mouse, touchpad, camera, etc. for allowing a user to input data into the computer. In addition, various software user interfaces may be available. [0066] Examples of software user interfaces include graphical user interfaces, text command line based user interface, function key or hot key user interfaces, and the like. [0067] Disclosed embodiments may comprise or utilize a special purpose or general- purpose computer including computer hardware, as discussed in greater detail below. Disclosed embodiments also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are physical storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: physical computer-readable storage media and transmission computer-readable media.
[0068] Physical computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM or other optical disk storage (such as CDs, DVDs, etc.), magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired
program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
[0069] A “network”, such as network 500, is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry program code in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above are also included within the scope of computer-readable media. [0070] Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission computer-readable media to physical computer-readable storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer-readable physical storage media at a computer system. Thus, computer-readable physical storage media can be included in computer system components that also (or even primarily) utilize transmission media.
[0071] Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer- executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been
described in language specific to structural features and/or methodological acts, it is to be understood that the subj ect matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
[0072] Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like. The invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
[0073] Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
[0074] With respect to some specific embodiments of the present invention, it should be appreciated that portions of the design software application can be implemented in a number of different fashions. For example, portions may be implemented at a remote server and/or cloud-based system while cooperating with system local to a user. For
example, much of the work performed by the classification system 140, design compiler 130, and recommendation engine 145 can be implemented using server hardware and software to interact with clients interacting with the server hardware. Further while at least portions of the user interface 180 can be hosted at a server, the user interface is able to cause information to be output and information to be received by a local user. Further still, the various databases and data stores can be implemented locally, remotely, or in combinations thereof.
[0075] The present invention may be embodied in other specific forms without departing from its spirit or 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 the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A computer system for automated assistance of architectural design, the system comprising: one or more processors; and one or more computer-readable media having thereon computer- executable instructions that are structured such that, when executed by the one or more processors, cause the computing system to assist architectural design, including instructions that when executed by the one or more processors cause the computing system to perform the following: access a digital architectural design data object, the digital architectural data object having been created by executing a plurality of architectural element objects selected by a user at a graphical user interface; access a digital model, the digital model having been created by creating an aggregation of a plurality of digital architectural design data objects and extracting characteristics of the aggregation; apply the digital model to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model; based on the one or more inconsistencies, provide one or more recommendations to the graphical user interface suggesting an alternative digital architectural design data object to the user to replace one of the
architectural element objects in the plurality of architectural element objects; receive user input selecting the alternative digital architectural design data object; and create an updated digital architectural design data object by executing at least the alternative digital architectural design data object.
2. The computer system of claim 1, further comprising creating a physical architectural item with consistent features by implementing the digital architectural design data object.
3. The computer system of claim 1, wherein the digital model comprises ranked characteristics with characteristics being ranked based on frequency of characteristics being included in digital architectural design data objects.
4. The computer system of claim 1, wherein the digital model comprises ranked characteristics with characteristics being ranked based on when the characteristics were applied in digital architectural design data objects.
5. The computer system of claim 1, wherein the digital model comprises ranked characteristics with characteristics being ranked based on who caused characteristics to be applied in digital architectural design data objects.
6. The computer system of claim 1, wherein providing one or more recommendations to the graphical user interface suggesting the alternative digital architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects comprises providing a plurality of recommendations, where the recommendations are provided with a most relevant
suggestion, as determined by evaluation of the digital model, provided in a predetermined location of the user interface.
7. The computer system of claim 1, wherein applying the digital model to the digital architectural design data object is performed based on a periodic schedule of applying the digital model to digital architectural design data objects.
8. The computer system of claim 1, wherein applying the digital model to the digital architectural design data object is performed using a real time process to provide recommendations in real time as inconsistencies are identified.
9. The computer system of claim 1, further comprising providing an overriding suggestion to override at least one suggestion that would otherwise be provided based on identifying one or more inconsistencies.
10. A method of providing user guidance at digital architectural design tool to improve design constancy, the method comprising: accessing a digital architectural design data object, the digital architectural data object having been created by executing a plurality of architectural element objects selected by a user at a graphical user interface; accessing a digital model, the digital model having been created by creating an aggregation of a plurality of digital architectural design data objects and extracting characteristics of the aggregation; applying the digital model to the digital architectural design data object to identify one or more inconsistencies between the digital architectural design data object and the model; based on the one or more inconsistencies, providing one or more recommendations to the graphical user interface suggesting an alternative digital
architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects; receiving user input selecting the alternative digital architectural design data object; and creating an updated digital architectural design data object by executing at least the alternative digital architectural design data object.
11. The method of claim 10, further comprising creating a physical architectural item with consistent features by implementing the digital architectural design data object.
12. The method of claim 10, wherein the digital model comprises ranked characteristics with characteristics being ranked based on frequency of characteristics being included in digital architectural design data objects.
13. The method of claim 10, wherein the digital model comprises ranked characteristics with characteristics being ranked based on when the characteristics were applied in digital architectural design data objects.
14. The method of claim 10, wherein the digital model comprises ranked characteristics with characteristics being ranked based on who caused characteristics to be applied in digital architectural design data objects.
15. The method of claim 10, wherein providing one or more recommendations to the graphical user interface suggesting the alternative digital architectural design data object to the user to replace one of the architectural element objects in the plurality of architectural element objects comprises providing a plurality of recommendations, where the recommendations are provided with a most relevant suggestion, as determined by evaluation of the digital model, provided in a predetermined location of the user interface.
16. The method of claim 10, wherein applying the digital model to the digital architectural design data object is performed based on a periodic schedule of applying the digital model to digital architectural design data objects.
17. The method of claim 10, wherein applying the digital model to the digital architectural design data object is performed using a real time process to provide recommendations in real time as inconsistencies are identified.
18. The method of claim 10, further comprising providing an overriding suggestion to override at least one suggestion that would otherwise be provided based on identifying one or more inconsistencies.
19. A system for providing user guidance at digital architectural design tool, the system comprising: a design compiler configured to receive user input to generate architectural design data objects; a recommendation engine coupled to the design compiler, the recommendation engine configured to receive the architectural design data objects from the design compiler, wherein the recommendation engine is further configured to access a trained digital model and to compare the trained digital model with the architectural design data object, and in response, to generate recommendations for changes to the architectural design data objects for a user.
20. The system of claim 19, further comprising a classification system configured to create the trained model.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962907373P | 2019-09-27 | 2019-09-27 | |
US62/907,373 | 2019-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021062113A1 true WO2021062113A1 (en) | 2021-04-01 |
Family
ID=72812004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2020/052662 WO2021062113A1 (en) | 2019-09-27 | 2020-09-25 | Architectural design software incorporating intelligent data-driven user guidance |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021062113A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743024A (en) * | 2021-11-03 | 2021-12-03 | 深圳市华阳国际工程设计股份有限公司 | Artificial intelligence twin type training method based on building information model |
CN115544630A (en) * | 2022-11-07 | 2022-12-30 | 中国建筑西南设计研究院有限公司 | BIM component creating method and device, storage medium and electronic equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001080474A2 (en) * | 2000-04-18 | 2001-10-25 | Schettine Michael C | Method and apparatus for structure layout |
WO2014191828A1 (en) * | 2013-05-31 | 2014-12-04 | Dirtt Environmental Solutions Inc. | Automatically resolving boundaries within an architectural design environment |
US20150363849A1 (en) * | 2014-06-13 | 2015-12-17 | Arcbazar.Com, Inc. | Dual crowdsourcing model for online architectural design |
WO2017048450A1 (en) * | 2015-09-18 | 2017-03-23 | Spotify Ab | Systems, methods, and computer products for recommending media suitable for a designated style of use |
-
2020
- 2020-09-25 WO PCT/US2020/052662 patent/WO2021062113A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001080474A2 (en) * | 2000-04-18 | 2001-10-25 | Schettine Michael C | Method and apparatus for structure layout |
WO2014191828A1 (en) * | 2013-05-31 | 2014-12-04 | Dirtt Environmental Solutions Inc. | Automatically resolving boundaries within an architectural design environment |
US20150363849A1 (en) * | 2014-06-13 | 2015-12-17 | Arcbazar.Com, Inc. | Dual crowdsourcing model for online architectural design |
WO2017048450A1 (en) * | 2015-09-18 | 2017-03-23 | Spotify Ab | Systems, methods, and computer products for recommending media suitable for a designated style of use |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743024A (en) * | 2021-11-03 | 2021-12-03 | 深圳市华阳国际工程设计股份有限公司 | Artificial intelligence twin type training method based on building information model |
CN113743024B (en) * | 2021-11-03 | 2022-02-18 | 深圳市华阳国际工程设计股份有限公司 | Artificial intelligence twin type training method based on building information model |
CN115544630A (en) * | 2022-11-07 | 2022-12-30 | 中国建筑西南设计研究院有限公司 | BIM component creating method and device, storage medium and electronic equipment |
CN115544630B (en) * | 2022-11-07 | 2023-03-24 | 中国建筑西南设计研究院有限公司 | BIM component creating method and device, storage medium and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569869B2 (en) | Consolidation and customization of graph-based models | |
US10318661B2 (en) | Managing custom REVIT inheritance-based assembly families for manufacturing | |
Michalek et al. | Interactive design optimization of architectural layouts | |
JP6449173B2 (en) | Building an application to configure a process | |
KR102204337B1 (en) | Method for providing real-time construction estimator service using intuitive step-by-step choice | |
CA2796664C (en) | Automated re-use of structural components | |
CN111861020A (en) | Model deployment method, device, equipment and storage medium | |
US8863075B2 (en) | Automated support for distributed platform development | |
US10430529B1 (en) | Directed design updates in engineering methods for systems | |
US10013510B1 (en) | Replacement part suggestion methods and systems | |
US10740361B2 (en) | Clustering and analysis of commands in user interfaces | |
WO2021062113A1 (en) | Architectural design software incorporating intelligent data-driven user guidance | |
CN109981692A (en) | A kind of infant industry Internet of Things framework and its implementation | |
US11900082B2 (en) | Industrial automation multi-developer control code synchronization | |
Isaac et al. | Analyzing building information using graph theory | |
US20240103857A1 (en) | Industrial automation distributed project control with milestone rollback | |
Laaz et al. | A model-driven approach for generating RIA interfaces using IFML and ontologies | |
Rokis et al. | Exploring Low-Code Development: A Comprehensive Literature Review | |
Blondet et al. | An ontology for numerical design of experiments processes | |
US11521223B2 (en) | Automated fabrication price quoting and fabrication ordering for computer-modeled structures | |
US10331808B1 (en) | Feature recognition in engineering methods and systems | |
Antonov et al. | A new representation of algorithmic approaches in the AlgoWiki encyclopedia | |
US11250058B2 (en) | Providing an easily navigable visual representation of a graph | |
Roith et al. | Supporting the building design process with graph-based methods using centrally coordinated federated databases | |
Jin et al. | An integration methodology for automated recurring cost prediction using digital manufacturing technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20789379 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20789379 Country of ref document: EP Kind code of ref document: A1 |