A system providing a multiuser CAD environment
A central database system for CAD environments addresses the challenges of integrating diverse CAD tools in large projects by enabling automatic monitoring and feedback, thus enhancing project management and compliance.
Patent Information
- Application Number
- PCT/FI2024/000017
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-28
- Filing Date
- 2024-07-26
- Publication Date
- 2025-02-06
AI Technical Summary
Large building and construction projects face challenges due to the use of different CAD tools by various disciplines, leading to manual work in combining designs, reviewing progress, and ensuring compliance with project goals and regulations.
A multiuser CAD environment with a central database server that communicates with multiple CAD clients, allowing conversion between proprietary CAD software formats, storing design information, tracking changes, and calculating indicator values for project management.
Enables continuous and automatic monitoring of project progress and compliance with goals and regulations, reducing manual work and errors, and providing real-time feedback to designers.
Smart Images

Figure FI2024000017_06022025_PF_FP_ABST
Abstract
Description
[0001] A system providing a multiuser CAD environment
[0002] 1. Field of the invention
[0003] The present invention is concerned with methods and systems for computer aided design (CAD), especially in large building and construction projects.
[0004] 2. Description of prior art
[0005] Projects for designing and developing large buildings present all kinds of difficulties. The projects are generally so large that there are many different parties participating in the design, from architects to structural designers, to HVAC designers, to electrical engineers. All these different parties taking part in the design process must cooperate and exchange information to keep on the same track in the design. Use of different tools in different disciplines and different ways of working cause large amounts of manual work when combining their work and reviewing the development of the design at project level.
[0006] Further, management of such a large project presents many difficulties for the project management. There exists a large variety of CAD tools, many optimised for particular disciplines such as structural design, HVAC design, and electrical design. However, project management needs to access the combined result of these different disciplines. Further, ensuring that the project follows any external rules such as building code and internal goals such as keeping costs below a limit typically requires manual reviewing of the current design. Even further, many projects have more advanced goals such as minimising amount of released carbon dioxide or guidelines of e.g. desired ratio of sellable square meters or desired level of energy efficiency. The determination of how well these goals and guidelines are met and calculating respective indicators typically involves a lot of manual work. Further, feedback to any single designer about how their work has affected these goals and if they should correct something can be very slow, since such reviews are typically performed at project level, and require that someone at the project management performs such a review and gives the feedback. Less cumbersome solutions are needed.
[0007] SUMMARY OF THE INVENTION
[0008] The invention solves the problems of prior art by providing a system for providing a multiuser CAD environment based on a central database server unit comprising a database for storing database objects describing parts of buildings, and which server unit is arranged to communicate with a plurality of CAD (computer aided design) clients. These CAD clients may use proprietary CAD software from a plurality of software providers. The system is arranged to convert CAD information from one or more proprietary CAD software formats to the format used in the database of the system, and vice versa. This conversion can be implemented in the database server unit, or for example using plug-ins or other software elements at each CAD client.
[0009] In addition, the system comprises software that provides functionality for receiving and storing information describing whether a physical element or elements corresponding to a certain object or objects in the database of the system has been implemented in the actual building work site.
[0010] Further, the system comprises software that provides functionality for storing change history of objects in the database, allowing the system to provide a representation of the building design before a previous change to any object and after such a change.
[0011] Further, the system comprises software that provides functionality for storing information about more than one alternative partial designs, where each alternative partial design consists of a plurality of objects. Such functionality allows storing and displaying of alternative designs, as well as concurrent development of alternative designs.
[0012] Further, the system comprises software that provides functionality for receiving, from a user of the system, a definition of a calculation of an indicator value, storing a received definition of a calculation of an indicator value, and calculating an indicator value based on a stored definition of a calculation of an indicator value.
[0013] In an embodiment of the invention the system performs calculations for one or more indicator values as a response to a designer committing a change to the central database, and informs the committing designer about the results of the indicator value calculation or calculations. Such a functionality gives the designer feedback about how his design work relates to any goals, rules or requirements set by the project management.
[0014] These functionalities in concert provide an inventive central database system which allows project level monitoring of both design and building phase of a building project, as well as throughout the whole lifecycle of the building. The inventive central database system allows participation of a plurality of users with different client CAD systems, and allows use of these project level functions even if a client CAD system of a particular user does not explicitly support such functionality.
[0015] The functionality for receiving, storing and performing calculations of indicator values allows definition and calculation of project level indicators e.g. how the current design compares to certain predefined design goals or requirements. Such indicators are typically used in managing the project, guiding the design and implementation work, and in general, in controlling the project to reach certain desired goals as well as keep the project within any predetermined limits.
[0016] This functionality allows project management personnel to choose and set goals and limits on the project level, and have designers receive automatic feedback about their conformance to the goals and limits - even in the case that the particular CAD software used by a designer does not understand or support for such project level rules. Examples of such indicators are e.g. amount of carbon dioxide released by the project, ratio of sellable square meters, amount of sunlight or outside light reaching living spaces, and how large part of the project is recyclable when the building is possibly later demolished. In an embodiment of the invention requirements of zoning rules, building codes and other rules are encoded as calculations of indicator values. Such indicators are typically not immediately observable from 2D designs or even a full 3D design of a building. In prior art solutions, such calculations required a considerable amount of manual work. Consequently, such manual work makes continuous monitoring infeasible, resulting in performing reviews of the project only periodically. Moreover, for each of these periodical reviews the designers participating in the design of the project needed to submit their current work to project management for inclusion in the combined model. All this created a lot of extra workload on the project further increasing the cost of such calculations. Also, all manual work increases the risk and prevalence of unwanted errors. The inventive central database system allows continuous and automatic monitoring of such calculated indicator values.
[0017] Provision of such indicators makes it possible to set and define project level goals, compare the present state at any time of the project to these goals, and continuous monitoring of the progress of the project towards these goals. The inventive system makes this possible for both design and building phases of a project.
[0018] Further, the inventive system makes it possible to follow the correctness of the design work such as how well certain rules and requirements are fulfilled by encoding such rules and requirements in the indicator value calculations. For example, an indicator value calculation could include a check that plumbing or electrical conduits not pass through certain elements or come too close to a surface, and output an indicator value indicating whether and / or how well such rules have been followed.
[0019] This is a large benefit, as any designer is typically most knowledgeable within his focus area, and may not be quite up to date in other areas. Consequently, any such rule or requirement that has been encoded in a indicator value calculation can be monitored automatically, reducing manual work needed for manual review of the design by an expert in that particular field where such a rule or requirement arises. The inventive system allows project management to direct the design work through setting design goals and requirements centrally without requiring each designer in a large project to know about all such rules even in areas outside the designer's core competence. Further, the inventive system allows following of external and project level goals and requirements even if the client CAD software used by a designer does not support setting and performing indicator value calculations defined by project management.
[0020] The functionality for storing alternative partial designs allows exploring the effect of different choices on any number of calculated indicator values. The designers can work on different solutions in some area of the project, and then compare how the solutions help the project to reach its goals as represented by the calculated indicator values for each of the solutions. For example, the designers can design variations of a building such as a block of flats, with each variation having a different number and size of balconies, and see how the different design choices are reflected in the total costs, amount of released carbon dioxide, and building time.
[0021] The functionality for receiving and storing information about the real-world implementation status of objects in the central database allows monitoring of the completion status of the building being built. Such functionality allows builders to check off components after installation of a building component, and therefore allows project management to follow the progress of the project in near real time. Further, this functionality allows during the building phase calculation of indicator values for the part of the building that has been completed, i.e. for the part of the project that is already fixed and will not change. This functionality also allows for monitoring the indicator values for the part that is designed but not completed yet, as well as performing indicator value calculations for any possible changes that are being contemplated for the designed but not yet completed part. These benefits are considerable, as changes inevitably occur during in large projects in the building phase.
[0022] Further, changes are made to a building throughout the whole lifecycle of the building. The lifecycle of a building is practically full of all sorts of changes, even though the changes are most frequent during the design phase of the building. Changes during renovations or additions can and do happen at any point later in the lifecycle of a building. These inventive functionalities allow creation of changes, estimation of their effects to various indicator values, and following their implementation at all points of the lifecycle.
[0023] Change requests after a design has been once approved are quite common in any design and implementation project. The inventive system allows for designing alternatives at any point in the project and evaluation of the consequences of various alternatives. Further, the inventive system provides for complete documentation of such changes as all design variations and all changes are stored in the central database, and can be later recalled at will. Further, any consequences such as cost of changes can be later shown using indicator value calculations comparing the original design and the changed version, which reduces greatly manual work required for documentation and cost calculation for change requests that were implemented. Consequently, the inventive system provides a large reduction in effort for project management caused by managing of change requests. This is quite a meaningful benefit for the project management, as the number of change requests from the client can be large in large projects.
[0024] These inventive functionalities also allow the designed CAD model of the building in the central database to be used for the whole duration of the building project from the design phase through the building phase, and remain an accurate model of the building at and after completion during the lifecycle of the project. Further, as the model allows developing and storing alternatives of the design in the central database, any deviations from the original plan during the building phase can be added to the central database, whereby the building information model in the database will both remain an accurate representation of reality as well as retain details of any changes to the designs that were made at building time.
[0025] Consequently, the model of the building remains a living and accurate model that can be used later during use and maintenance of the building. Further, over the lifecycle of a building various changes and additions are typically made to the building as the needs of users change, and renovations and even partial or full reconstructions may occur. The inventive system allows maintaining an accurate design model during all of these changes over the lifetime of a building. The inventive central database with the inventive functionalities provides a platform that provides cooperation with all parties wishing to access the project designs independent of the particular CAD software or version of the CAD software of any particular party, thereby allowing cooperation between different types of users such as architects and later the builders of the designed project. Further, this ensures that the architects and the builders always have access and can improve the same design. Without such a centralised arrangement, different versions of the designs created by different design tools must be synchronised manually, which causes work and errors.
[0026] Further, the inventive central database with the inventive functionalities provide access over time, over the years of lifecycle of the resulting building, even if the CAD tools used for accessing and modifying the design or versions of the tools change. This ensures that the digital design model correctly represents the building throughout the lifetime of the building.
[0027] In prior art solutions, it happens all too commonly that after designers such as architects and other specialists have completed the model and the actual building phase begins, small changes begin to creep in as inaccuracies of the designed model are observed and corrected in the building phase - or as the builders simply build some details in a different way than planned. Consequently, the model of the building in the central database becomes less and less accurate over time, and remains a fixed model that does not fully represent the end result when the building is completed.
[0028] As a part of general trend towards digitalisation, even digitalisation of the work of various permitting authorities is proceeding. It is currently expected that all drawings that used to be provided on paper for various building permissions will need to be provided as digital 3D designs. This in turn will require that management of a building needs to have the digital design model of the building updated, which requires cumbersome manual work in prior art solutions. The inventive system provides a platform that is able to provide such an accurate building model over the whole lifecycle of the building. The above summary relates to only some of the many embodiments of the invention disclosed herein and is not intended to limit the scope of the invention, which is set forth in the claims herein. These and other features of the present invention will be described in more detail below in the detailed description of the invention and in conjunction with the following figures.
[0029] BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Various embodiments of the invention will be described in detail below, by way of example only, with reference to the accompanying drawings, of which figure 1 illustrates a multiuser CAD environment.
[0031] DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
[0032] The following embodiments are exemplary. Although the specification may refer to "an", "one", or "some" embodiment(s), this does not necessarily mean that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment. Features of different embodiments may be combined to provide further embodiments.
[0033] In the following, features of the invention will be described with a simple example of a system for providing a multiuser CAD environment with which various embodiments of the invention may be implemented. Only elements relevant for illustrating the embodiments are described in detail. Details that are generally known to a person skilled in the art may not be specifically described herein.
[0034] Figure 1 illustrates a system according to an embodiment of the invention. Figure 1 shows a system 100 connected via a network 130 to a number of client CAD systems 120. Figure 1 also illustrates a database 140 connected to the system.
[0035] The system 100 comprises a processor unit 150 having a processor 151 and a memory unit 160 for storing instructions for execution by the processor. The instructions cause the processor to perform the inventive functionalities when executed by the processor.
[0036] The system 100 can in different embodiments of the invention be implemented in many different ways. For example, it can be implemented as a single server, or for example using a plurality of servers, e.g. as a so called cloud service, or for example using a plurality of servers in a single location or in a geographically distributed manner.
[0037] The database 140 can be implemented in many different ways as known to a man skilled in the art. The database 140 may be implemented within a memory unit of the server unit 150, as a separate network server, or using a plurality of database network servers servers in a single location or in a geographically distributed manner.
[0038] The client CAD systems 120 are used by the designers, e.g. the architects, engineers, builders and other workers participating in the design and / or building of the project, or for example workers associated with use of the resulting building or buildings during the lifecycle of the resulting building. Figure 1 illustrates an example of three client CAD systems 120 connected to the system 100. The system 100 may serve any number of client CAD systems 120.
[0039] The network 130 can be any data communications network or a combination of data communications networks, such as the internet, cellular telecommunication networks, or for example local networks.
[0040] Figure 1 also illustrates various sets of instructions 161 - 166 stored in the memory unit 160 for execution by the processor 151. In the example of figure 1 , the memory unit comprises instructions allowing the system to communicate with client computers (120) running CAD client software, and to receive change sets from the clients and commit the change sets into the database.
[0041] In an embodiment of the invention, the memory unit 160 comprises instructions 162 which when executed by the processor cause the processor to retain information about objects changed by a received change set upon committing said change set to the database, to store information about whether a physical object corresponding to a specific object stored in the database has been implemented, and upon reception of information that said physical object has been implemented, to mark said specific object in the database as implemented.
[0042] In an embodiment of the invention, the memory unit 160 comprises instructions 163 which when executed by the processor cause the processor to receive, from a user of the system, a definition of a calculation of an indicator value, to store a received definition of a calculation of an indicator value, and to calculate an indicator value based on a stored definition of a calculation of an indicator value.
[0043] In an embodiment of the invention, the memory unit 160 comprises instructions 166 which when executed by the processor cause the processor to store information information about more than one alternative partial designs, where each alternative partial design consists of a plurality of objects.
[0044] In an embodiment of the invention, the memory unit 160 comprises instructions 164 which when executed by the processor cause the processor to calculate an indicator value according to a stored definition of a calculation of an indicator value as a response to committing a change set received from a user into the database.
[0045] In an embodiment of the invention, the memory unit 160 comprises instructions 165 which when executed by the processor cause the processor, as a response to receiving a change set from a user, to commit said change set into the database, to execute a calculation of an indicator value according to a stored definition of a calculation of an indicator value, and to send the calculated indicator value to said user.
[0046] In various embodiments of the invention, the calculation of an indicator value may use values and parameters from a variety of sources.
[0047] In an embodiment of the invention, a calculation can refer to information from an object stored in the database. This information can be a property of an object such as size or location of the object, or for example any kind of meta information associated with the object such as information identifying the material of the object.
[0048] In an embodiment of the invention, a calculation can refer to a predefined parameter associated with a project. In such an embodiment, the project management can define numeric goals by defining a parameter in the database, and have an indicator calculation refer to that parameter for example in order to check how well a given numeric goal has been reached.
[0049] In an embodiment of the invention, a calculation can refer to a information retrieved from an external source. In such an embodiment, the calculation can use information sources that are external to the central database. Such an external source can be for example an external database or any other source accessible on the Internet. Such an external database can be for example a a database of construction material information, from which e.g. carbon dioxide loads caused by different materials could be retrieved.
[0050] In an embodiment of the invention said functionality for storing information information about more than one alternative partial designs is implemented using arrangements for providing support for branches in source code versioning systems. Functionality for supporting branches is a well known characteristic of source code versioning systems, whereby details of such arrangements are not described any further in this specification.
[0051] In an embodiment of the invention said functionality for retaining information about objects changed by a received change set is implemented using arrangements for storing changes in source code versioning systems. Functionality for storing information about objects changed by a received change set is a well known characteristic of source code versioning systems, whereby details of such arrangements are not described any further in this specification.
[0052] In an embodiment of the invention, in addition to retaining information on changed parts of the building design, the system is arranged to store changes of definitions of indicator value calculations, i.e. store information about the old definition when a new definition that changes or replaces the old definition is received. That is, the central database is arranged to store different versions of indicator value calculation definitions as they are entered into the central database. This functionality allows later checking and observing when various calculations were introduced or changed. This is a significant benefit for project management, as with this functionality they can later review if or when when certain targets or goals that were defined using indicator value calculations were changed during the project, and how they were changed. This can be quite meaningful if e.g. contractual clauses refer to certain goals or milestones, and if such a goal or milestone was observed using an indicator value calculation that was changed at a point during the project, such a change may be evaluated as grounds for an extra invoice or other contractual obligations. This functionality supports the project management in their work, reducing the amount of manual work needed in monitoring the project.
[0053] CERTAIN BENEFITS OF THE INVENTION
[0054] The invention provides many benefits, some of which have been described in other parts of this specification. Prior art solutions typically use separate and dedicated software for project reviews, which can evaluate designs against a number of rules. However, such an arrangement requires a cumbersome manual work, as an input for the separate software needs to be created from project design files. This may require soliciting the newest versions form participating designers from various disciplines and combining them to create a comprehensive design. In addition to creating manual work, such an approach creates the possibility that these partial designs from different disciplines are from different times, which can cause errors. Further, after running the comprehensive design through the separate program, the results need to be communicated back to the designers, often necessitating meetings. The inventive approach provides a continous and automatic monitoring against defined rules that can give feedback to each designer automatically after committing their newest changes to the central database, drastically shortening the feedback loop for an individual designer and reducing manual work.
[0055] The inventive approach provides a way to implement automatic checking against design rules, or any kind of limits or goals within the central database system. In this way, the invention provides a comprehensive way to implement a building information model independent of any particular design software used by any parties involved in the project.
[0056] CERTAIN FURTHER EMBODIMENTS OF THE INVENTION
[0057] In the following, we describe a number of embodiments of the invention.
[0058] According to a first aspect of the invention, a system for providing a multiuser CAD environment is provided. The system has
[0059] - a processor unit comprising at least one processor,
[0060] - at least one memory unit communicatively coupled to the processor,
[0061] - a database for storing at least objects describing components of a building, and
[0062] - instructions stored in the memory unit, the instructions being executable by the processor to
[0063] * communicate with client computers running CAD client software,
[0064] * receive change sets from the clients and commit the change sets into the database.
[0065] In a first embodiment according to this first aspect of the invention, the system further comprises at least instructions being executable by the processor
[0066] - to retain information about objects changed by a received change set upon committing said change set to the database,
[0067] - to store information about whether a physical object corresponding to a specific object stored in the database has been implemented, and
[0068] - upon reception of information that said physical object has been implemented, to mark said specific object in the database as implemented; and instructions being executable by the processor
[0069] - to receive, from a user of the system, a definition of a calculation of an indicator value,
[0070] - to store a received definition of a calculation of an indicator value, and
[0071] - to calculate an indicator value based on a stored definition of a calculation of an indicator value. In a second embodiment according to this first aspect of the invention, the system further comprises at least instructions being executable by the processor to store information information about more than one alternative partial designs, where each alternative partial design consists of a plurality of objects.
[0072] In a third embodiment according to this first aspect of the invention, the system further comprises at least instructions being executable by the processor to calculate an indicator value according to a stored definition of a calculation of an indicator value as a response to committing a change set received from a user into the database.
[0073] In a fourth embodiment according to this first aspect of the invention, the system further comprises at least instructions being executable by the processor, as a response to receiving a change set from a user,
[0074] - to commit said change set into the database,
[0075] - to execute a calculation of an indicator value according to a stored definition of a calculation of an indicator value, and
[0076] - to send the calculated indicator value to said user.
[0077] In a fifth embodiment according to this first aspect of the invention, said calculation is based at least partly on at least one of the following:
[0078] - information from an object stored in the database,
[0079] - a predefined parameter associated with a project, and
[0080] - information retrieved from an external source.
[0081] CERTAIN FURTHER OBSERVATIONS
[0082] In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the invention. While a preferred embodiment of the invention has been described in detail, it should be apparent that many modifications and variations thereto are possible, all of which fall within the true spirit and scope of the invention.
[0083] It is to be understood that the embodiments of the invention disclosed are not limited to the particular structures, process steps, or materials disclosed herein, but are extended to equivalents thereof as would be recognized by those ordinarily skilled in the relevant arts. It should also be understood that terminology employed herein is used for the purpose of describing particular embodiments only and is not intended to be limiting.
[0084] Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.
[0085] As used herein, a plurality of items, structural elements, compositional elements, and / or materials may be presented in a common list for convenience. However, these lists should be construed as though each member of the list is individually identified as a separate and unique member. Thus, no individual member of such list should be construed as a de facto equivalent of any other member of the same list solely based on their presentation in a common group without indications to the contrary. In addition, various embodiments and example of the present invention may be referred to herein along with alternatives for the various components thereof. It is understood that such embodiments, examples, and alternatives are not to be construed as de facto equivalents of one another, but are to be considered as separate and autonomous representations of the present invention.
[0086] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the previous description, numerous specific details are provided, such as examples of lengths, widths, shapes, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
[0087] While the foregoing examples are illustrative of the principles of the present invention in one or more particular applications, it will be apparent to those of ordinary skill in the art that numerous modifications in form, usage and details of implementation can be made without the exercise of inventive faculty, and without departing from the principles and concepts of the invention. Accordingly, it is not intended that the invention be limited, except as by the claims set forth below.
Claims
Claims1 . System (100) for providing a multiuser CAD environment, having- a processor unit (150) comprising at least one processor (151 ),- at least one memory unit (160) communicatively coupled to the processor,- a database (140) for storing at least objects describing components of a building, and- instructions (161 ) stored in the memory unit (160), the instructions being executable by the processor to* communicate with client computers (120) running CAD client software,* receive change sets from the clients and commit the change sets into the database, characterised in that the system further comprises at least instructions (162) being executable by the processor to retain information about objects changed by a received change set upon committing said change set to the database, to store information about whether a physical object corresponding to a specific object stored in the database has been implemented, and upon reception of information that said physical object has been implemented, to mark said specific object in the database as implemented; and instructions (163) being executable by the processor to receive, from a user of the system, a definition of a calculation of an indicator value, and to store a received definition of a calculation of an indicator value; and instructions (165) being executable by the processor, as a response to receiving a change set from a user, to commit said change set into the database, to execute a calculation of an indicator value according to a stored definition of a calculation of an indicator value, and to send the calculated indicator value to said user.
2. A system according to claim 1, characterised in that the system further comprises at least instructions (166) being executable by the processor to store information information about more than one alternative partial designs, where each alternative partial design consists of a plurality of objects.
3. A system according to claim 1, characterised in that the system further comprises at least instructions (164) being executable by the processor to calculate an indicator value according to a stored definition of a calculation of an indicator value as a response to committing a change set received from a user into the database.
4. A system according to claim 1, characterised in that said calculation is based at least partly on at least one of the following:- information from an object stored in the database,- a predefined parameter associated with a project, and- information retrieved from an external source.
Citation Information
Patent Citations
Computer-implemented building design and modeling and project cost estimation and scheduling system
US20050038636A1
Methods and systems for computer-aided design
WO2012058607A2