WO2011079183A1 - System and method for providing a digital construction model - Google Patents

System and method for providing a digital construction model Download PDF

Info

Publication number
WO2011079183A1
WO2011079183A1 PCT/US2010/061756 US2010061756W WO2011079183A1 WO 2011079183 A1 WO2011079183 A1 WO 2011079183A1 US 2010061756 W US2010061756 W US 2010061756W WO 2011079183 A1 WO2011079183 A1 WO 2011079183A1
Authority
WO
WIPO (PCT)
Prior art keywords
domain
model
elements
space
spatial volume
Prior art date
Application number
PCT/US2010/061756
Other languages
French (fr)
Inventor
Eyal Nir
Sharon Ehrlich
Original Assignee
Ziggurat Solutions Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ziggurat Solutions Llc filed Critical Ziggurat Solutions Llc
Publication of WO2011079183A1 publication Critical patent/WO2011079183A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Definitions

  • the present invention relates to the field of computer-aided construction planning. More specifically, the present invention is related to planning and validating a construction project. The present invention is particularly related to a positioning of elements in a construction plan and to a validation of the construction plan. In particular, a validation may be related to any number of participants in, or contributors to, a construction project and/or to any number of elements included in a construction project.
  • Construction or building projects are multi-disciplinary in nature. For example, mechanical, electrical, plumbing and urban building regulations aspects are all involved in a construction or building project. Construction projects also involve a large number of participants or contributors. For example, mechanical, electrical and plumbing contractors, designers, engineers, project managers, investors, representatives of various authorities and subcontractors are typically involved in a construction project, and, different participants typically have their respective different interests and goals. Furthermore, professionals involved in a construction project may be independent and may have no hierarchical relations. Rather, relations may be defined ad-hoc or based on contracts or negotiations between participants. In addition, a building as a product is subject to many constraints such as functional, economical, aesthetic and technical, among other constraints. Constraints may be related to a specific project, context, phase or time and may further vary from one project, context or time to another or even within a single project.
  • a plan for a construction project may involve solving problems or facing challenges such as coordination, conflicts or violations (e.g., violating regulations or space constraints), collaboration of many participants and accommodating different interests and goals.
  • a construction project plan may be dynamic and may evolve as new problems and constraints present themselves as the project progresses. For example, architectural, technical or design changes, delays, accidents, new regulations or weather conditions may all affect a construction plan. Accordingly, in addition to (and while) solving the above mentioned problems, a construction plan may need to enable dynamic changes as the project evolves or progresses.
  • a schematic solution is defined, e.g., by a blueprint as known in the art, equipment and/or elements are selected, location of elements is determined, e.g., by an order of: large elements first followed by pipes, wires and ducts routing, which may be governed by objective constraints such as large objects, minimum surface area, minimum pipe length, minimum bend etc.
  • objective constraints such as large objects, minimum surface area, minimum pipe length, minimum bend etc.
  • Another approach is directed to standardization, using standards to define elements, placement and routing, and dictate various aspects in construction plans.
  • IAI International Alliance for Interoperability
  • IFC Industry Foundation Classes
  • OAC Open Geospatial Consortium
  • GML Geography Markup Language
  • Embodiments of the present invention may enable generating and maintaining a violation- free, collaborative, multidisciplinary digital construction model.
  • a construction model or model as referred to herein relates to a digital construction model.
  • modeling in a construction project may comprise representing space required for a construction element by one or more domain parameters related to one or more domains, disciplines or subject fields by a processor.
  • a visual spatial volume representation of the required space may be generated based on one or more domain parameters and used, e.g., in an automatic placement of a construction element or in detecting violations or conflicts.
  • bounding box and a spatial volume representation may be used interchangeably herein.
  • spatial volume representation as used herein is to be broadly construed as referring to any spatial volume representation, e.g., a cube, a sphere or an asymmetric shape or contour.
  • a spatial volume representation or a bounding box may be in the shape of the outer edges, sides or faces of an element.
  • a spatial volume representation or a bounding box may be related to a space larger than an associated element, e.g., a space in which the element may be placed in more than one alternate locations within the space.
  • a spatial volume representation may not be associated with a construction element but associated with a constraint.
  • a spatial volume representation or a bounding box may be displayed to a user.
  • a spatial volume representation or a bounding box may be used in various calculations or processing, e.g., in order to detect violations or conflicts.
  • a number of spatial volume representations may be generated for a construction element, e.g., according to a respective number of domains, disciplines and/or fields of interest.
  • users may share spatial volume representations of elements, e.g., upload and/or download spatial volume representations to/from a server.
  • Violations or conflicts related to any number of elements may be automatically detected, in realtime, according to any number of domains, disciplines or subject fields. Violations and/or conflicts may be automatically resolved in realtime, e.g., an element may be moved in a space such that a violation is resolved.
  • a violation may be detected upon adding or modifying an element to/in a digital construction model.
  • a location, orientation or position of a spatial volume representation in a digital construction model may be selected and/or suggested automatically based on any number of constraints, conflicts, violations and/or according to any number of domains.
  • a location, orientation or position of a construction element within a related spatial volume representation may be automatically selected and/or suggested based on any number of constraints, conflicts, violations and/or according to any number of domains.
  • FIG. 1 shows a schematic illustration of a system according to embodiments of the invention
  • FIG. 2 shows a flow-chart illustrating a method in accordance with embodiments of the invention
  • FIG. 3 schematically shows projections on planes according to embodiments of the invention.
  • FIG. 4 schematically shows construction elements and planes according to embodiments of the invention.
  • FIG. 5 schematically shows projections of elements on planes according to embodiments of the invention.
  • FIG. 6 schematically shows a slice of a space according to embodiments of the invention.
  • Some embodiments may be provided in a computer program product that may include a non-transitory machine -readable medium, stored thereon instructions, which may be used to program a computer, or other programmable devices, to perform methods as disclosed above.
  • Embodiments of the invention may include an article such as a computer or processor non-transitory readable medium, or a computer or processor non- transitory storage medium, such as for example a memory, a disk drive, or a USB flash memory, encoding, including or storing instructions, e.g., computer-executable instructions, which when executed by a processor or controller, carry out methods disclosed herein.
  • the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”.
  • the terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like.
  • the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed at the same point in time.
  • system 100 may comprise building information modeling (BIM) users 110, a server 145, a network 140, a model processor 115, and a storage 120.
  • BIM building information modeling
  • storage 120 may store a BIM model 125, a ghost model 130 and element parameter sets 135.
  • BIM users 110 may be any participants in a construction project or any contributors or users of data or information related to a project.
  • BIM users 110 may be a project administrator or manager, contractors, subcontractors, designers, engineers, project managers, investors and/or representatives of various authorities.
  • BIM users 110 may operate any computing device enabling them to contribute information and/or retrieve and display information related to a project. It will accordingly be understood that reference made herein to BIM users 110 is, when applicable, made to any device operated by these users.
  • devices associated with BIM users 110 may include or be operatively connected to a model processor 115.
  • BIM users may use devices such as, but not limited to, a home computer, a server, a laptop, a personal digital assistant (PDA) or even a smartphone or any other device usable for executing or interacting with digital construction model processor 115 and/or produce, process, upload and/or download information to/from storage 120.
  • BIM users 110 may use any BIM application that may be executed on their respective computing devices, e.g., in order to participate in a generation and maintenance of a digital construction model.
  • BIM model 125 (and models on BIM users 110 devices) that may be any digital construction model, may be generated and/or maintained by any system or platform, e.g., a computer-aided design (CAD) application, a geographical information systems (GIS) and/or a virtual design and construction (VDC) tool.
  • CAD computer-aided design
  • GIS geographical information systems
  • VDC virtual design and construction
  • Server 145 may be any suitable computing device and may various tasks as described herein. For example, server 145 may transform or convert modeling information from a first representation to a second representation, e.g., using Java DOM (Document Object Model) technology, provide various services etc.
  • Network 140 may be any suitable computer network such as the internet, a local area network (LAN), a wide area network (WAN), a wireless network or a combination of network architectures or platforms.
  • Storage 120 may be any suitable or applicable storage device, system or platform.
  • storage 120 may comprise one or more servers and connected storage sub- systems, a disk array operatively connected to a controller or any other storage system.
  • server 145 Although for the sake of clarity and simplicity, a single server 145, network 140 and storage 120 are shown, it will be understood that any number of such components may be included in a system according to embodiments of the invention. It will further be understood that embodiments of the invention are not limited by the nature, type, design or other aspects of server 145, network 140 and storage 120.
  • BIM model 125 may be any digital BIM model as known in the art.
  • BIM model 125 may comprise a three dimensional (3D) or two dimensional (2D) representation of elements of a construction projects. For example, foundations, walls, air conditioning units and ducts, plumbing systems, electrical and networking wiring and cables may all be represented in BIM model 125 in 3D and/or 2D representations.
  • BIM model 125 may be obtained from any source or generated using any known in the art tools. For example, BIM model 125 may be uploaded to storage 120 or it may be generated by a controller or computer operatively connected to storage 120.
  • Ghost model 130 may be a digital construction or project model as described herein.
  • ghost model 130 may include one or more element parameter sets as shown by 135 and described herein.
  • ghost model 130 may be associated with BIM model 125.
  • elements in BIM model 125 may be represented in, and linked to, elements in ghost model 130.
  • a flow or process of generating ghost model 130 may comprise examining BIM model 125 and converting or transforming elements in BIM model 125 to elements in ghost model 130 e.g., using Java DOM technology.
  • Element parameter sets 135 may be sets of parameters representing construction or other elements in one or more domains, disciplines or subject fields as described herein. Although element parameter sets 135 are shown separately from ghost model 130, in some embodiments, elements parameter sets 135 may be included in ghost model 130.
  • system 100 does not show various components that may be included in a system according to embodiments of the invention. Some of the components shown may be differently distributed in other embodiments or implementations.
  • BIM model 125 may be stored separately from ghost model 130, possibly in association with a BIM model processor that may perform some of the tasks performed by model processor 115 as described herein as well as other, BIM specific operations.
  • a service processor may handle various services, e.g., network related services.
  • Model processor 115 may perform various tasks related to a digital construction model.
  • the operations of model processor 115 either in association with a global model, e.g., ghost model 130 stored on storage 120 or in association with a BIM user device may include generating, using and/or displaying a spatial volume representation (that may be discipline or domain dependent) of a space required for including a construction element.
  • a spatial volume representation that may be discipline or domain dependent
  • a set of domain parameters or domain generation functions and/or a number of spatial volume representations related to a construction element and associated with a number of domains may be generated, stored and used in a generation and maintenance of a construction model.
  • Model processor 115 may automatically detect violations or conflicts and may automatically locate or place construction elements in a space, e.g., as defined by a construction model as well as performing other functions.
  • Construction elements may be any elements used in a construction project, for example, architectural elements such as interior walls or ceilings, structural elements like a main structural framing, slabs or foundations, mechanical systems like duct work, etc., plumbing systems like hot and cold water piping, electrical systems like conduits and cable trays and/or fire protection system components.
  • An internal representation may further include, or be associated with, metadata.
  • metadata associated with an internal representation may indicate the element's type (e.g., door, duct, wire, beam etc.), the element location, position or orientation in a construction model and/or any other relevant information or parameters.
  • a project model typically requires large amounts of data in order to represent construction elements. For example, detailed information of elements may be stored in the model. Detailed information may include information related to internals of an element, e.g., internal parts, to a design of an element, e.g., a contour, a color, various specifications etc. Consequently, a prior art BIM model may be associated with large amounts of data, e.g., tens or even hundreds of mega bytes (MB). Accordingly, downloading or uploading a prior art BIM model may be a time consuming, and at time even an impossible task. Likewise, loading a prior art BIM model into a computer's memory and/or manipulating elements therein may be a cumbersome and possibly impossible task.
  • MB mega bytes
  • Representations of construction elements in a model may be generated and/or obtained by or from various sources.
  • internal representations may be generated by model processor 115 operatively connected to a BIM user's device.
  • a BIM model may be converted to an internal model.
  • BIM model 125 may be uploaded to storage 120 and may be provided as input to model processor 115 connected to storage 120 as shown.
  • Model processor 115 may examine BIM model 125 and generate ghost model 130 based on data in BIM model 125. For example, possibly based on mapping or other information, model processor 115 may represent elements in BIM model 125 by domain parameter sets or generation functions as described herein and as further shown for clarity by element parameter sets 135.
  • Various methods or systems may be used to convert a BIM model to a ghost model in accordance with embodiments of the invention.
  • a three dimensional (3D) model may be examined and, possibly using known in the art image processing techniques, the size and shape or other geometrical parameters of elements in the 3D model may be determined and represented by bounding boxes or spatial volume representations.
  • Internal element representations or internal models may be displayed to a user using a dedicated viewer.
  • model processor 115 connected to a BIM user may display an internal element's representation or an internal model.
  • Model processor 115 may provide an interface, e.g., a graphical user interface (GUI) to enable a user to manipulate elements in a model or other model- related aspects.
  • GUI graphical user interface
  • users may access ghost model 130 rather than an associated BIM model 125.
  • users may use ghost model 130 rather than the much larger BIM model 125.
  • model processor 115 may, when generating ghost model 130 or at any other time, associate elements in ghost model 130 with related elements in BIM model 125.
  • elements in BIM model 125 may be examined, for some or all of the elements in BIM model 125, domain parameters, bounding boxes and/or domain generation functions may be determined, computed or calculated and stored and/or used as part of an internal representation.
  • An internal representation e.g., maintained by ghost model 130
  • elements in ghost model 130 may be linked to respective elements in BIM model 125. Accordingly, any detailed or other data or metadata maintained by BIM model 125 may be retrieved and used.
  • any information e.g., detailed information, metadata or other parameters may be stored (e.g., on storage 120) and associated with, or linked to, elements in ghost model 130 such that when required, associated information may be provided, used and/or displayed.
  • model processor 115 may provide detailed information related to an element or model.
  • detailed information may be displayed to a user, e.g., in order to enable visual inspection of elements and their location in a model. Displaying of detailed information may be selective.
  • a user may request to be provided with a detailed view of one or more elements in a model while being provided with substantially only bounding box representations for other elements.
  • Such feature may enable working with a light-weight model (by using the spatial volume representations described herein) yet being provided with detailed information or view of specific elements of interest.
  • an internal representation of elements e.g., as shown by element parameter sets 135, and/or an internal model (also referred to herein as a "ghost model") that may represent elements as parameters or functions related to bounding boxes or spatial volumes
  • embodiments of the invention may enable maintaining a model that may be dramatically smaller than prior art models, e.g., a ghost model 130 may only be tens of kilo bytes (KB) in size. Accordingly, downloading a ghost model may be a quick and easy task.
  • a user may merely need to upload an internal representation of elements he or she generated, such upload may be fast as the amount of data needed to internally represent an element may be very small, e.g., a set of relative or other coordinates or an object generation function as described herein.
  • a method or flow may include determining a first space required for containing a construction element according to a first domain, where the domain may be any discipline or field of interest.
  • Determining a space required for containing a construction element may comprise converting representations of construction elements in any application, system or platform (also referred to herein as "external applications") into an internal representation that may be one or more bounding boxes and/or one or more domain parameters or one or more domain object generation functions.
  • model processor 115 associated with a BIM user's device may enable converting representations of elements from one BIM model to another. For example, receiving as input a representation of an element as generated by a commercial BIM application, a proprietary tool or even a hand drawn element, model processor 115 may generate an internal representation of the element, e.g., a bounding box represented by domain parameters or domain generation functions. Any applicable source of elements may be used. For example, interpreters may receive elements from two or three dimensional (2D or 3D) modeling applications, BIM tools, or even design documents and produce data objects. Data objects may be provided to a domain rules processor that may produce domain or discipline dependent objects or parameters that may be used as described herein. For example, parameters produced by a domain rules processor may be stored in a ghost model and used as described herein.
  • an internal representation may be a set of domain parameters, a bounding box, an object construction function or a spatial volume representation.
  • a construction element such as a door, duct or electric power generator represented in a BIM application may be converted to sets of domain parameters, sets of domain object generation functions and/or a set of spatial volume representations.
  • the spatial volume representations may be one or more bounding boxes and may be discipline or domain-dependent.
  • a domain-dependent spatial volume representation, bounding box, domain parameter or domain generation function may define or be otherwise related to a space needed to include an element according to a domain.
  • some such representations may be different for the same element depending on the domain or discipline through which it is viewed.
  • Model processor 115 may convert an internal representation to any external representation. For example, a set of domain parameters may be converted to a representation in a commercial BIM application by model processor 115 connected to a user computing device. Accordingly, different users may use a number of different BIM applications yet collaborate efforts using a central, global or common model that may be ghost model 130.
  • Elements generated or represented by a BIM or other application may be converted into more than one spatial volume representations or domain parameter sets.
  • a door may occupy a first space when closed and a second, larger space when opened.
  • a first spatial volume representation related to the physical domain may represent the door's size or spatial volume
  • a second spatial volume representation related to an operational domain may represent the door's size or spatial volume when the door is open.
  • Another example may be a dividing wall between two interior rooms, which, for example, may have different thermal requirements than a dividing wall between an interior room and a space outside the building.
  • Such two walls may be represented similarly (e.g., by similar bounding boxes) in a physical domain, a cost domain or an operational domain.
  • domains such as a requirement domain or an energy domain
  • different bounding boxes may reflect the fact that the door separating an interior space from a space outside the building is associated with different, domain related constraints.
  • Determining a domain object generation function or a domain parameter set for an element may be according to a domain.
  • a domain For example, electric power, water, openings (e.g., doors, windows), or accessibility may be domains or sub-domains that may be associated with domain rules or criteria that may be observed when producing domain parameters.
  • a domain may be a regulatory domain, a radiation domain, a design domain, a requirement domain, a space domain, an energy domain, a cost domain, an electro magnetic field domain, an operational domain and/or a physical domain.
  • a domain may be user defined as described herein.
  • model processor 115 or another unit or module may include an interface agent.
  • An interface agent may perform conversion, transformation, adaptation or any other processing that may required in order to transform or convert a representation of a construction element in one application to a representation of the element in another application, system or platform.
  • model processor 115 may convert any representation of construction elements in an external application or system (e.g., a commercial BIM modeling application) to an internal representation that may be a bounding box or spatial volume representation as described herein.
  • a graphical or other interface may be provided by model processor 115 to a user to enable mapping external representations to internal ones.
  • a user may map user specific element representations to internal elements.
  • an interface agent may enable a user to provide a graphical representation of an element and indicate the element's type or other related parameters.
  • Model processor 115 may record user specific element representations, associate them with internal representations (e.g., bounding boxes) and may use such recorded information and association in order to convert elements from an internal representation to a user specific representation and vice versa.
  • a first and second BIM users 110 may use a first and second representation of a door in their respective BIM applications or work environment.
  • Such two uses may each, using a model processors 115 associated with their respective computing devices, convert their door representations to an internal representation of a door that may include one or more spatial volume representations of the door (e.g., in one or more domains).
  • a system according to embodiments of the invention may enable a number of BIM users 110 to use their own or preferred BIM applications while still maintain a common or global model that aggregates their contributions and enables sharing contributions to a project.
  • a user may be provided with a representation of his choice by automatically (possibly per a request) converting information in an internal representation (e.g., in ghost model 130) to his or her external representation that may be a representation according to a BIM application of choice.
  • a physical space domain may be an intuitive domain related to the physical or real space occupied by elements.
  • an element in a physical space domain, an element may be represented by a bounding box required to include the element based on its physical dimensions.
  • a regulatory domain may reflect or be associated with aspects other than the physical dimensions.
  • a regulation typically imposes one or more constraints that may be related to a location, placement or even a size or other geometrical parameters of elements in a construction project.
  • a regulatory domain may be related to, determined or defined by, or associated with any regulations or laws related to constructions. Accordingly, a regulatory domain may impose or dictate constraints as defined or imposed in regulations.
  • a radiation domain may be related to electromagnetic or other radiation. For example, it may be undesirable (or forbidden) to place various elements in a radiation field emitted by other elements (e.g., wires).
  • a radiation domain may be related to various radiation aspects and may be used to detect violations related to radiation and/or automatically select placements of elements such that violations or conflicts in a radiation domain are avoided.
  • Any domain may be defined and implemented in embodiments of the invention.
  • a design domain and/or a requirement domain may define various constraints or requirements that may be checked, and, a violation or failing to meet a design or other requirement (e.g., that light bulbs are within a certain distance from one another) may be detected, indicated and/or used in order to automatically select or suggest one or more alternative locations or placements of elements.
  • Another exemplary domain may be an energy domain that may be related to temperature, electro magnetic field or other forms of energy.
  • a specific element may be required to be placed such that ambient temperature around it is within a specific range.
  • an energy domain e.g., a domain in which heat emitted by elements in a construction model is represented (e.g., by a bounding box)
  • a violation related to the element being placed in a location where the temperature is too high may be detected and indicated to a user and/or used in order to suggest or select an alternative location.
  • Yet another domain may be a cost domain.
  • a budget or cost may be determined for two elements. The budget may be affected by various aspects, e.g., the location of the two elements, how close together the elements are, etc.
  • a violation of exceeding a budget or cost may be automatically handled by relocating one or more elements, e.g., bringing two elements closer, placing elements in a lower floor of a building, etc.
  • An operational domain may be related to operational modes of elements. For example, a door may occupy a first space in a physical domain where such first space may represent the door's physical dimensions and a second space in an operational domain where the second space reflects the space required when the door is open.
  • an operational or dynamic element domain it may be possible to manipulate or treat elements differently during different design or planning phases or stages.
  • a space required for a construction element may vary according to the relevant domain.
  • a duct in an air conditioning system may require a first space in the physical domain that may be dictated or defined by the duct's physical size, dimensions or other geometrical parameters or aspects.
  • the same duct may require a different, e.g., larger space in a regulatory domain.
  • construction or safety regulations may dictate that no object may be placed within a predefined distance from the duct or dictate a distance of the duct from other construction elements.
  • the space required for containing the duct may be larger than, and/or different from, the space required in the physical domain. Any number of different spaces required for containing a construction element according to any respective number of domains may be calculated, computed and/or determined.
  • Determining a space required for containing a construction element may comprise defining a number of 2D planes in a digital model (e.g., in a space defined by an external digital model produced by a commercial BIM application), determining a respective number projections of an element on the planes, and determining the space required to include the element based on the projections.
  • determining a space required for containing a construction element and/or defining a bounding box for an element may comprise transforming any data or information to a spatial volume representation or a bounding box.
  • data or information obtained from external systems, applications or sources may be converted to a bounding box representation.
  • a number of projections on a respective number of planes may be produced and used in order to define a bounding box.
  • a number of projections of an element in a 3D model may be produced by determining projections of the element on a number of planes.
  • a set of projections may be used, e.g., by model processor 115 to determine a bounding box for an element. For example, by interpolating or extrapolating information in a number of projections, model processor 115 may determine a bounding box.
  • Planes on which projections are made may be a set of parallel planes along an axis.
  • an axis e.g., a vertical or horizontal axis
  • a number of planes that are perpendicular to the selected axis may be defined, e.g., at default intervals or respective distance and a projections of elements on the planes may be determined.
  • a set of projections may be obtained.
  • the set of projections may be examined and processed by model processor 115 and the shape, size or other geometrical parameters or aspects of elements associated with the projections may be determined. Possibly according to a selected (or preconfigured default) domain, bounding boxes for the elements may be determined and may be stored and used as described herein.
  • Any applicable parameters related to a process of scanning, mapping or otherwise processing input data may be set by a user, selected automatically or preconfigured. For example, a user may select a high resolution for the process of scanning or mapping input data using projections on planes as described. In such case, more planes per unit length along an axis may be used such that the resolution is higher and the resulting contours of elements may be more precise. In another case, a user may select a lower resolution, in which case, less planes may be used and thus the resolution may be lower. For example, during initial phases of a project or when time or computing power are an issue, a user may select a lower resolution, such that less planes may consequently be used, resulting in faster generation of bounding boxes, which may be less accurate than a high resolution scan.
  • a high resolution may be required.
  • a user may select a high resolution that may cause model processor to use more planes per unit length along the axis which in turn may result in more accurate representation of elements.
  • the axis along which, or perpendicular to, planes are defined may also be selected by a user. Projections on planes may be produced based on any information. For example, information from a data sheet may be used to determine various aspects of an element and projections on (possibly virtual or imaginary planes) may be defined.
  • the flow may include determining a first set of domain parameters usable to generate a spatial volume representation of the first space.
  • Domain parameters or domain object generation function may be used to generate a geometric representation of a building or construction element.
  • Domain parameters or domain object generation function may include primitive geometric entities like point, edge and face.
  • Domain parameters or domain object generation function may be or include connectivity information between these primitives such that a topology may be determined.
  • spatial volume representations may be uploaded to a central server (and/or downloaded from a central server).
  • the operations described herein with respect to blocks 210 and 215 may be performed on one of BIM users 110 and a set of domain parameters or a generation function may be uploaded to storage 120 where they may be shared by any one of BIM users 110.
  • a set of domain parameters may be a set of coordinates that may represent the space required to contain a construction element according to a domain.
  • a spatial volume representation may be represented by a set of relative coordinates that may define a bounding box or other shape or contour that may represent the physical dimensions of space required for containing or including the construction element.
  • a set of physical domain parameters may be a set of coordinates that may represent the space required to contain a duct in space.
  • another set of domain parameters may be a set of coordinates that may represent the space required to contain the same duct according to a regulation or other domain, or domain constraints.
  • the space required for containing the same construction element may differ in size, shape, location or other geometrical parameters or aspects.
  • a different set of coordinates or other domain parameters may be computed for the regulatory domain as for any other domain of interest.
  • a set of domain parameters may be stored, e.g., in ghost model 130 and/or as shown by element parameters 135 in Fig. 1.
  • model processor 115 may calculate, compute or otherwise derive or obtain a set of domain parameters related to a space required for a construction element according to a domain, and may further store the set of domain parameters in storage 120.
  • a set of relative coordinates or parameters may be used.
  • a set of relative coordinates may represent a bounding box in space without confining or restricting the bounding box to a specific location in space.
  • a set of domain parameters may be or may comprise a domain object generation function or parameter.
  • the number of domain parameters may be relatively small and/or the amount of information needed to be stored or manipulated in a digital (ghost) model according to embodiments of the invention may be limited dramatically as compared to prior art. Similar calculations may be made for other geometric bounding boxes.
  • Metadata associated with a construction element may be used in order to determine or select a placement of the element in a digital construction model. For example, various constraints may be related to metadata associated with an element.
  • the flow may include using the first set of domain parameters in a placement of the spatial volume representation in a digital construction model. For example, based on the domain parameters and/or an associated spatial volume representation (or bounding box), a location of a construction element may be automatically selected, suggested or determined. It will be noted that a location of a of a bounding box or spatial volume representation defined by the set of parameters may be automatically determined, selected or suggested as described herein and a location, position or orientation of the construction element within the bounding box may also be automatically selected, possibly at a different stage, e.g., after the location or position of the bounding box is approved or determined.
  • an automatic zoning procedure may enable automatic placement of elements or bounding boxes based on available and/or computed information, data and parameters. For example, in a case when no information or rule may be used to determine a location of an element or an associated bounding box, model processor 115 or another unit may randomly or pseudo-randomly place a bounding box, e.g., in a center of a space. Typically, such placement may cause a violation of a criterion. A violation may draw the attention of a user that may manually select a placement for the element or bounding box. In some embodiments, if no place or location for an element may be determined, an indication may be provided to a user.
  • a rule or criteria may enable at least a coarse selection or estimation of a location for the element.
  • a rule may dictate that elements of a predefined size or larger are to be placed on a floor, light bulbs or sources are to be placed near a ceiling etc. Accordingly, rule may be used for an initial selection or estimation of a location of an element.
  • a bounding box of an element may be automatically placed, e.g., based on one or more domain rules.
  • a spatial volume representation may be provided, used and/or displayed in the form of a visual representation of the space required for containing the construction element.
  • the spatial volume may be displayed on a monitor or display screen attached to a computer used by one of BIM users 110.
  • a visual representation (that may be a bounding box) of space required to include a construction element may be generated based on a subset of domain parameters.
  • a spatial volume representation may be related to a space in which an element may be placed.
  • a spatial volume representation may represent the minimal space required to include a construction element.
  • a spatial volume representation may be displayed, showing a user the (possibly minimal) space that may be required for placing a construction element in a construction model and/or in the building or construction itself.
  • bounding boxes may be used in an automatic zoning or automatic placement of elements or bounding boxes.
  • an entire or part of a digital model space may be associated with, or divided into, one or more bounding boxes.
  • four bounding boxes may be defined such that an entire space of a digital model is included in the four bounding boxes, e.g., each of the four bounding boxes may include a quarter of the space defined by the digital model.
  • Metadata associated with each of the four bounding boxes may include a list of elements included or present in the bounding box as well as possibly the spatial volume used by each element present or any other relevant data or parameters related to elements included in the bounding box.
  • a rule, threshold or other criteria associated with each the four bounding boxes may define an occupancy level or density. Accordingly, an automatic placement may include examining an element or occupancy density in a bounding box and placing elements such that occupancy density, presence or lack of presence constraints are observed. For example, model processor 115 may automatically move an element from a space in a first bounding box already associated with a high occupancy density to a space included in a second bounding box currently associated with a lower occupancy density.
  • An occupancy density may be dynamically updated, in real-time, according to a movement or placement of elements, e.g., by model processor 115.
  • An occupancy density may be element specific, e.g., per element type or group.
  • a rule may dictate that no more than two elements of a specific type or group may be placed in a bounding box. Accordingly, upon detecting that more than two elements of a specific type are placed in a bounding box, model processor 115 may move one of the elements to another bounding box.
  • model processor may be configured to automatically define four, eight or any other default number (that may be modified by a user) of bounding boxes that may include a digital model's space, use such automatically defined bounding boxes to determine an element occupancy density in the digital model's space and/or automatically place elements based on an automatically determined density.
  • the flow may include detecting a violation based on the first spatial volume representation and a constraint associated with the first domain.
  • a violation as referred to herein may be any conflict, inconsistency, collision or a disagreement.
  • Structural or spatial analysis may be used to detect violations.
  • structural or spatial analysis related to bounding boxes associated with a specific domain may be used. Accordingly, a violation in any one or more domain may be detected.
  • a user may select one or more construction elements or a space in a presented model, select a domain (e.g., a cost domain, a regulatory domain or an energy domain) and may instruct model processor 115 to detect violations in the model, according to the selected domain.
  • detecting a violation may be automatic, e.g., according to all defined or pre-selected domains, all displayed elements, all elements in a model or a pre-selected element set.
  • a violation or conflict may be detected according to a physical domain, e.g., a collision of a spatial volume representation (such as a bounding box) of a construction element with other spatial volume representations related to other elements in a construction model, e.g., a foundation of a building, walls, wiring or plumbing elements etc.
  • Automatically selecting a location and a position of a spatial volume representation in a digital construction model may be based on, or according to, one or more violations or conflicts.
  • Automatically selecting a location and a position of a construction element within an associated spatial volume representation may be based on, or according to, one or more violations or conflicts. For example, based on a violation of a budget (associated with a cost or budget domain) a location of an air conditioning unit may be automatically selected or suggested such the cost of the air conditioning system is reduced (e.g., by utilizing fewer ducts).
  • Detecting a violation, conflict or a failure to meet one or more criteria may be based on a spatial volume representation, a set of domain parameters and a constraint associated with a domain. For example, although in a first domain, e.g., a physical space domain a power generator may be placed in a specific location, in a second domain, e.g., a regulatory domain that does not allow a power generator to be placed near an air conditioning system intake, locating the generator in the specific location may create a violation.
  • a first domain e.g., a physical space domain
  • a second domain e.g., a regulatory domain that does not allow a power generator to be placed near an air conditioning system intake
  • a violation may be related to a collision, a penetration, an inclusion, a location, a presence, lack of presence and/or a failure to meet a criteria, for example, a collision in space of two or more elements may be detected and indicated as a violation or a penetration of an element into a specific area or space may be a violation or conflict.
  • Other violations or conflicts may be a location of a specific element in a specific location, an inclusion of a first element within a second element (e.g., a light source may not be included in a plumbing pipe) or a presence or lack of presence of an element in a location.
  • fire sprinklers may be required to be present in specific locations and/or restricted from being present in other locations (e.g., near a fuse box).
  • a presence or lack of presence of a fire sprinkler in a location, space or region may be detected and indicated as a violation.
  • a violation or conflict may be automatically used in order to determine a placement of a construction element. For example, upon detecting a violation, model processor 115 may relocate a bounding box of an element such that a cause of a violation is eliminated.
  • any failure to meet a criterion may be identified as a violation that may be indicated to a user and/or cause a relocation of an element or a relocation of an associated spatial volume representation of space including the element.
  • model processor 115 may automatically detect that a spatial volume representation (that may be represented by bounding box or other shape) of a duct collides with a spatial volume representation of a wall, door or other element in a construction model, e.g., in ghost model 130. Other violations, possibly related to other domains, may be detected, e.g., as described herein.
  • a user may examine a spatial volume representation generated and displayed, may visually detect a violations and may further cause model processor or another entity to alter various aspects or parameters in a model or in a spatial volume representation in order to overcome conflicts.
  • violations or conflicts related to spatial volume representations may be detected by image or other processing as known in the art
  • a violation may be detected by examining a set of slices produced based on a model as described herein. For example, possibly upon adding an element, or modifying an element in a model, violations or conflicts may be automatically detected and indicated and a location of the element in the model may be automatically selected and/or suggested based on an associated spatial volume representation of the element and any number of constraints, conflicts, violations and/or according to any number of domains.
  • Spatio-temporal conflicts or violations may be detected.
  • an optimal route that minimizes traffic congestion for delivery of construction elements to a site may be planned.
  • a physical domain may be used during a stage when elements are brought into the construction site and an operational domain may be relevant at later stages.
  • a boundary box associated with a physical domain of a door may be used rather than using a boundary box associated with an operational domain where the dimensions of the same door may be different.
  • Detailed information may be used in one of a number of ways. For example, a system or a user may use bounding boxes, domain parameters or domain generation functions of construction elements when planning a project, choosing or placing elements, or checking possible violations or conflicts. In some cases, where applicable, detailed information may be provided and used. For example, in order to enable easy access, it may not be desirable for a control box or a power switch of an element to face a wall. Another example may be a color of an element that may need to be viewed in order to enable considering esthetic aspects.
  • a bounding box may not include a representation of the control box or a color of an element, accordingly, in order to view a color of an element or determine an orientation of an element, detailed information related to the element may be used. For example, using a link or other association, detailed information of an element in ghost model 130 may be obtained from it's associated element in BEVI model 125 and displayed to a user or used in order to automatically detect a violation and/or automatically select or suggest a placement. For example, when a control box is added to a representation, a rule or criteria may cause model processor 115 to identify a short distance of the control box from a wall as a violation. The violation may cause model processor 115 to select a different location or orientation so that the distance of the control box from the wall is above a predefined value.
  • Detecting a violation may be related to one or more hierarchies. For example, domains as described herein may be ordered and violations may be searched for or indicated or displayed according to a hierarchy. For example, a regulatory domain may be placed higher in a hierarchy than a cost domain. Accordingly, a conflict with a regulation may be indicated before (e.g., above or in a different color) than a violation in a cost domain (that may be an exceeding of a budget). Rules used for detecting violations may be hierarchically ordered. For example, a relevance or importance of a rule related to a fire protection system may be higher than those of a rule related to design (e.g., a mismatch of colors).
  • violations may be detected, listed or otherwise manipulated or treated based on an associated hierarchy.
  • Rules and/or domain may be ordered according to other definitions. For example, a first set of domains or rules may be a global set applicable to any model, a second set may be a project set and a third set may be a user set of rules which may come lower in a priority or hierarchy of rules or domains.
  • a bounding box or spatial volume representation may be associated with one or more construction elements, this may not always be the case. According to embodiments of the invention, a bounding box or spatial volume representation may not be associated with any construction element.
  • a bounding box or spatial volume representation may be related to, associated with, or represent, a criteria, a rule or a domain yet not be associated with any specific construction element.
  • a user may define a bounding box that may be a bounding box as described herein that may not be associated with any construction element.
  • a bounding box or spatial volume representation that may be associated with a constraint, rule, domain or criteria may represent a spatial volume section or portion of a model.
  • a space defined by a digital construction model may be divided into a number of cells or spatial volume elements that may each be represented by a bounding box or a spatial volume element.
  • a bounding box not associated with any construction element may be loosely referred to herein as an "empty bounding box” to denote a bounding box that may not include, or be associated with, a specific construction element.
  • An "empty bounding box” may be located within a digital model space such that it includes a space where no elements are to be present.
  • domains, rules, constraints or criteria may be associated with an empty bounding box or with a spatial volume representation. For example, a rule associated with an empty bounding box may dictate that no element is to be included or present in the empty bounding box. In another case, a rule associated with an empty bounding box may dictate that at least one element is to be present in the empty bounding box.
  • an empty bounding box that may not be associated with any construction element may be placed in a space of a digital model and further associated with a rule that dictates that light from at least one light source is to be present in it. Accordingly, if no light (e.g., as detected by a bounding box associated with a light source in an operational domain) is present in the empty bounding box a violation may be detected.
  • detecting a violation based on a spatial volume representation and a constraint may include detecting a presence of an element in an empty bounding box associated with a rule that forbids such presence or a lack of presence of an element in an empty bounding box.
  • empty bounding boxes that may be associated with any constraint, rule or domain may be an elevator shaft, an inner space of a pipe or duct, a tunnel, hole or any space n a digital model.
  • some spaces may need to be reserved. For example, representations of some construction elements may not yet be available at a certain stage, yet their general location (e.g., a room or a basement) may be known.
  • a bounding box including the general location or space (e.g., the room) where an element not yet available or represented is to be placed may be defined and associated with a rule that is violated if any element is even partially present in the bounding box.
  • a bounding box e.g., an empty bounding box as described herein
  • empty bounding boxes may be associated with domains. For example, a first empty bounding box associated with a first domain may be used when detecting violations related to the first domain and a second empty bounding box, associated with a second domain may be used when detecting violations related to the second domain.
  • empty bounding boxes may be displayed based on a domain selection.
  • Detecting a violation may be an iterative process that may comprise detecting a violation in a low resolution, re-mapping or re-generating bounding boxes representations with higher resolution, and searching again for violations according to the re-generated bonding boxes. For example, a violation may be detected by detecting a collision of two bounding boxes on a plane as described herein. However, in some cases, by generating a higher resolution representation of one of the elements or both elements, it may be discovered that a violation does not exist.
  • a first element having a large round base and a large round top that may be similar to the base, if mapped by only two planes as described herein may be represented by a bounding box that may resemble a relatively symmetric cylinder along an axis from top to bottom.
  • such element may be concaved, e.g., narrow in the center and wider towards the top and bottom, e.g., shaped like two cones, where a first cone has its base on the ground and the second cone is placed up side down on the first cone such that the large base of the second cone is the top of the combined element and the cone heads are connected.
  • a user may define resolution parameters. For example, the user may define a low resolution as the number of planes per unit length to be used when scanning elements and generating associated spatial volume representations.
  • a high resolution parameter may define the largest number of planes per unit length to be used in a mapping procedure.
  • a step by which the number of planes is increased with each iteration may also be defined by a user.
  • model processor 115 may generate a first representation of elements according to the low resolution, and search for violations or conflicts. If a violation is detected, model processor 115 may increase the number of planes according to the step parameter, re-scan or re-map elements (e.g., all elements or only elements involved in a violation), generate new representations based on the re-scanning, and search for violations using the newly generated representations. Such process may be repeated until no violations are detected or until the high resolution parameter is reached. Accordingly, violations may be detected by using the lowest possible resolution, thus saving time and/or computational resources.
  • the flow may include selecting a location and a position of the spatial volume representation in a digital construction model. For example, based on a size, shape or other geometrical parameters or aspects of a spatial volume representation and further based on available space in a construction model, model processor 115 may select a location and/or position for the spatial volume representation of a construction element. For example, a location and/or position of a spatial volume representation of a construction element may be automatically selected such that it does not collide with any other spatial volume representation of any other construction element.
  • Model processor 115 may be configured or provided with any rules, criteria or configuration parameters that may be used by model processor 115 in order to determine or suggest to a user a location and position of a spatial volume representation as shown by block 230. Based on various parameters, rules or criteria, model processor 115 may perform smart guessing of a location and/or position of an element. For example, a rule may call for placing objects larger than a predefined size on a floor, placing ducts close to a ceiling etc. Accordingly, based on any rules or configuration, model processor may select or suggest a location, position or orientation of an element.
  • the flow may include selecting a location and a position of the construction element in the spatial volume representation.
  • a spatial volume representation may indicate or be related to a construction element.
  • a spatial volume representation may define or represent a space required for the construction element.
  • an element may be placed in more than one locations, positions or orientations within a related or associated spatial volume representation.
  • a location, position or orientation of the associated construction element in the spatial volume representation may be selected, determined or suggested as shown by block 235.
  • the flow may include determining a second space required for containing the construction element according to a second domain and determining a second set of domain parameters associated with the second space, the second set of domain parameters usable in a placement of the construction element in the digital construction model.
  • a second spatial volume representation may be determined or defined for the same duct in a specific regulatory domain.
  • a regulation may dictate that an air conditioning duct may not be placed within less than five inch (5") distance from any other element, e.g., walls, plumbing or wires.
  • a spatial volume representation of the duct and associated with the regulatory domain may be different from the spatial volume representation associated with the physical domain, e.g., larger.
  • a second set of domain parameters (or object generation function) associated with the regulatory domain and the duct may be generated.
  • the second set of domain parameters may be used to determine or suggest a placement of the duct and/or generate and display a second spatial volume representation of space required to contain the duct.
  • any set of domain parameters or generation function may be used in order to detect violations or conflicts and determine a placement of the element.
  • a first bounding box related to physical space may be used to detect a collision in space of a construction element with other elements or objects in a digital construction model.
  • a second conflict or violation may be detected according to a second domain, discipline or subject field.
  • a violation related to radiation emitted by wires may be detected using a second bounding box that may reflect a regulation, specification, agreement or other constraint, rule or criteria.
  • the operations of detecting a violation based on the spatial volume representation and a constraint associated with a domain, selecting a location and a position of the spatial volume representation in a digital construction model, and selecting a location and a position of the construction element in the spatial volume representation may be repeated for a construction element with respect to a second domain.
  • the flow may include selecting to display one of the first and second spatial volume representations. For example, based on input or request from one of BIM users 110, an associated model processor 115 may display a spatial volume representation of a construction element according to a selected domain. Accordingly, a user may be provided with a spatial volume representation of an element according to any domain of choice.
  • detecting violations, selecting a location and a position of a spatial volume representation and of a construction element in its associated spatial volume representation may be performed automatically, in some embodiments, these (and other) operations may be performed based on a user request. For example, displaying a spatial volume representation may be performed based on a user request that may indicate the elements and domains of interest. Similarly, detecting violations or selecting a location and a position may be performed based on a request.
  • a user may drag the bounding box to a location of choice and then request that violations (if any exist) be detected and/or may request that an alternative location, position or orientation of the bounding box (or of the construction element within the bounding box) be selected or suggested.
  • the flow may include generating a second spatial volume representation of a second element according to the first domain and detecting a violation associated with the first domain and the spatial volume representations (or associated domain parameters) of the first and second elements.
  • a construction project and associated model may comprise a large number of elements that may be represented by a spatial volume representation, bounding box, domain parameters or otherwise as described herein.
  • Detecting a violation associated with a domain may comprise detecting a collision, intersection or another spatial relation of spatial volume representations of elements.
  • the specific (domain related) spaces may be represented by two bounding boxes (or spatial volume representations) and a collision, intersection, inclusion or any other violation may be detected based on the spatial volume representations.
  • a spatial representation of an element related to more than one domain may be generated, displayed and used. For example, a sum, combination or aggregation of a number of spatial volume representations or bounding boxes may be generated such that a resulting spatial volume representation represents the outer boundaries of a number of spatial volume representations. Accordingly, a maximal space required for an element, taking all domains into account may be automatically determined, displayed and used in detecting a violation or conflict.
  • a model including construction elements represented by domain parameters may be used in any applicable phase of a construction project and/or for any applicable purpose.
  • logical queries to model processor 115 may enable a user to be provided with a visual view of logical sections of a building, e.g., an elevator shaft, a floor etc.
  • one of BIM users 110 may request model processor 115 to provide her with all elements in the sixth floor, for walls in the sixth floor etc.
  • Model processor 115 may examine ghost model 130, extract relevant elements and communicate them to the user.
  • a view of a logical section may include a view of bounding boxes of elements as described herein.
  • a view may further be according to a domain. For example, based on a request, a user may be provided with a view of a third floor of a building in a regulatory domain, a physical domain or according to both domains.
  • a single construction element may be displayed by two or mode bounding boxes associated with a respective two or more domains.
  • Metadata associated with representations of elements may associated elements with logical sections of a building.
  • elements in a floor may be associated with a tag or other parameter. Accordingly, a request related to the floor may be handled by locating all elements associated with a specific tag or parameter.
  • by selecting a space in a project all or some of the elements in that space (or associated with the space) may be presented. Selection of a space or a logical section of a building may be related to operations other than displaying information.
  • violation detection may be based on a selection of interest.
  • a user may select to detect violations in the second floor of a building and further be interested in an energy domain (for example, heat emission or absorption of elements).
  • Embodiments of the invention may detect violations related to elements according to as domain and further based on an indicated interest, e.g., an indication of a logical section, a set of elements, a space or other indications.
  • a designer or user may start by planning spaces using boundary boxes of elements, e.g., in the physical domain.
  • a user may select elements that may be rooms, corridors, plumbing installation etc.
  • An automatic zoning feature of embodiments of the invention may automatically place elements for which one or more rules or an indication specify a location. Zoning may also place elements based on some or general information, logical considerations etc. Some elements requested by a user may be placed in a center of a space of a model expecting input from a user indicating a location for placement.
  • a space that may be related to a size or other geometrical parameters or aspects of a building, floor etc. may be provided. For example, by examining the boundary boxes of selected elements and the space required (according to one or more domains) a total space required for including selected elements may be computed. Elements may be replaced and the process of computing an initial or minimal space may be repeated until an initial sketch, plan or design is achieved.
  • Model processor 115 may detect violations according to one or more domains per requests or queries. Violation detection may be automatic, e.g., upon a design change or update, a modification of a spec, a modification of an element, a new or modified requirement, a progress of a project, or any applicable change. Operations such as automatic placement, violation detection or displaying elements may be made with respect to a logical selection, e.g., a selected space or part of a building, a floor, a shaft etc.
  • An automatic process may comprise selecting a placement for an element, detecting a violation, suggesting an alternative placement or position, receiving input indicating acceptance or rejection of a suggestion or placement, or input instructing to ignore rules or domains etc. Accordingly, embodiments of the invention may be used as a simulation tool as being provided with, sharing or otherwise working with an outline of a construction project may be an extremely fast and light weight process.
  • a library of representations may be provided.
  • bounding boxes representing standard or other elements may be provided and used, e.g., in an initial design phase.
  • bounding box representations of a standard or specific size bed, bath, staircase or any other element may be included in a library, may be selected by a user and used in a model.
  • Domains, spatial volume representations and/or rules may be defined by a user, stored, shared and used or displayed, e.g., as described herein.
  • a contractor of a fire protection system may define a domain related to fire protection aspects, name or label the domain (e.g., using free text to name the domain as "my domain” or "fire domain”) and associate the domain and elements with spatial volume representations and rules.
  • a user defined spatial volume representation related to the area covered by a fire sprinkler may be associated with a fire sprinkler.
  • a rule defined by the user may dictate that a presence of a fire sprinkler (e.g., when represented by the user defined spatial volume representation above) is required in specific spaces or all spaces of a slice or a model space. Accordingly, if an area is not covered by any fire sprinkler, a violation may be detected and indicated.
  • automatic placement of fire sprinklers may be based on their user defined spatial volume representation, e.g., such that an optimal placement of fire sprinklers is achieved.
  • a two dimensional plane may be defined in a space in a digital construction model and a violation may be detected based on the plane, e.g., by detecting a presence of a spatial volume representation on the two dimensional plane or an intersection of a bounding box with the two dimensional plane.
  • More than one plane may be used.
  • a number of planes, possibly parallel, may be defined and a violation may be detected by detecting a presence of a spatial volume representation on at least one of the planes or a projection of a spatial volume representation on at least one of the planes.
  • a violation related to two or more construction elements may be detected by detecting a presence of at least two spatial volume representations in the same location on a two dimensional plane.
  • a collision of elements according to a domain, a penetration of one element into a space of another element, an inclusion of one element in another element may be detected by observing a projection of the elements on a two dimensional plane.
  • violation in any domain may be detected using planes as described herein. Since any bounding box related to any domain may be used in conjunction with planes as described herein, violations in any domain or according to any rule may be detected.
  • a violation may be a presence of an element (or part of an element) in a location and may be detected by observing an intersection of a bounding box associated with the element and a plane.
  • a violation may be a lack of presence or failure to meet another criteria.
  • an element may be required to be present in a specific location.
  • a heating element may be required to produce heat in a predefined space.
  • a two dimensional plane may be automatically defined based on an indication of a user. For example, a user may define an axis (e.g., by clicking two points in a model space) and indicate a location on the axis (e.g., by clicking a point on the axis). Based on such input, model processor 115 may define a plane that includes the indicated location and that is also perpendicular to the defined axis. In other embodiments, planes may be automatically defined based on predefined axes, e.g., a horizontal or vertical axis. [091] According to some embodiments of the invention, slices, that may be portions or segments of a space defined by a model, may be defined, generated and used in a number of ways.
  • a slice may be defined by two dimensional planes in a space defined by a construction model.
  • a slice may be, or may be defined by, the space confined between or by a first and second, parallel, two dimensional planes.
  • an axis in a space in a digital construction model may be defined automatically by model processor 115, may be preconfigured or defined by a user, and one or more planes, perpendicular to the axis, may be defined automatically or based on a request.
  • a slice may be defined by two dimensional planes which are not parallel, e.g., do not coincide with planes perpendicular to an axis or strait line.
  • FIG. 4 schematically shows construction elements and planes according to embodiments of the invention.
  • Elements 410 and 420 may be any construction elements. Simple objects are shown in Fig. 4 for the sake of clarity, however, it will be understood that any construction elements are applicable.
  • two exemplary planes 430 and 440 may be defined in a space containing elements 410 and 420 such that they intersect with elements 410 and 420. Although only two parallel planes are shown, any number of planes may be defined, e.g., in order to increase a resolution. Planes may be defined along or perpendicular to any axis, and may not necessarily be parallel. A number of purposes may be served by planes as further described herein. Planes such as planes 430 and 440 may be used in a number of ways and for a number of purposes by embodiments of the invention. For example, planes may be used in order to map or deduce a shape or other aspects of elements.
  • elements 410 and 420 may be defined by an external system, e.g., a commercial BIM application or they may even be defined by a data sheet or other specification.
  • planes such as planes 430 and 440 may be used. For example, by examining a data sheet information that includes parameters or data defining or describing elements 410 and 420 and determining the projections of these elements on planes 430 and 440, model processor 115 may determine the shape, size, volume or other geometrical parameters or aspects of elements 410 and 420.
  • Fig. 5 schematically shows projections of elements 410 and 420 on planes 430 and 440 according to embodiments of the invention.
  • projections 510, 510A, 520 and 520A may be generated, e.g., by model processor 115, based on any data.
  • model processor 115 may not be provided with such view or information.
  • model processor 115 may be provided with a set of parameters, a set of 2D drawings or any other data and may compute, based on received data, projections 510, 510A, 520 and 520A.
  • projection 510 on plane 430 is similar or identical to projection 510A on plane 440. Accordingly, by noting that a projection of an element (element 410 in this case) does not change from a first to a second plane which are spatially separated, model processor 115 may determine that the element is symmetric along the axis to which the two planes are perpendicular. In the exemplary case depicted by Figs. 4 and 5, model processor 115 may deduce, by examining the projections on planes 430 and 440 (and possibly, additional planes not shown) that element 410 is a cube.
  • any number of planes, that may be spaced at any distance from each other may be used in various scenarios.
  • more planes may be used and the height of element 410 may be determine by noting that, at some height, no projection of element 410 is present.
  • a mapping of elements or determining parameters or aspects such as size, volume, shape, location or other geometrical parameters or aspects may require a high resolution. Accordingly, the number of planes be increased and/or the respective distance between planes may be decreased. Configuration parameters such as number of planes per unit length may be set or selected by a user or they may be set automatically.
  • parameters defining a plane may be used, e.g., by model processor 115, thus planes may be virtual planes.
  • parameters defining an orientation of a plane in space, its distance from a neighboring plane, its size and the like may be used by model processor 115.
  • projections of the element on a virtual space may be calculated or computed by model processor 115.
  • projections of elements on planes may be used to generate or define a spatial representation volume, e.g., as described herein. Spatial representation volumes or bounding boxes associated with any domain may be generated based on any type of data.
  • a bounding box related to a regulatory or an operational domain may be generated or defined.
  • model processor 115 may generate a related bounding box.
  • planes may be used in order to provide a 2D view and/or workspace that may be better suited for some tasks or project phases.
  • projections 51 OA and 520A on plane 440 may be generated based on input from a user.
  • the user may need to view the placement of elements 410 and 420 on the floor or ground.
  • the user may select plane 440 to be at the floor's or ground's level such that projections of elements 410 and 420 reflect their location on the ground as well as the area covered by these elements. Any location or orientation of a plane may be selected by a user.
  • the user may need to be provided with a 2D view of projections of elements 410 and 420 at a specific height other than the ground. Accordingly, the user may select a different height for plane 440 and be provided with a projection of elements 410 and 420 at the required height.
  • a 2D plane and projections may be used as a work environment.
  • a user may move (e.g., by a drag and drop operation using a GUI tool) elements 410 and 420 by moving their projections.
  • Parameters or data related to operations performed on, or with relation to, a 2D plane may be provided to model processor 115 that may update a model accordingly.
  • model processor 115 may update a model accordingly.
  • by moving projection 520A, element 420, and/or a bounding box associated with element 410 may be moved accordingly in a digital model space (e.g., ghost model 130).
  • the respective element may be changed.
  • element 410 may be resized. Any applicable manipulation of an element may be performed by manipulating a projection of the element on a 2D plane. For example, changing material used for manufacturing the elements (e.g., from wood to steel), changing a shape of the elements and the like. Any operation performed on a projection on a 2D plane as described herein may be attributed to the element.
  • model processor 115 may be provided with any data, parameters or information related to a manipulation of a projection and may apply applicable modifications to the element and/or its bounding box representation. Accordingly, a 2D plane may be used as a workspace or work environment for a variety of purposes.
  • a 2D plane may be used as a preview tool. For example, a user may need a quick overview of placement of elements in a project. By selecting a location of a plane, the user may be provided with a quick overview of elements on a 2D plane.
  • a 2D plane may include projections of elements and/or bounding boxes based on a number of rules and selections. For example, a user may specifically select a number of elements or bounding boxes the projections of which are to be presented or provided on a 2D plane. For example, a contractor may request to be provided with a 2D plane only including projections of plumbing system elements or selected elements in a plumbing system. Categories (that may be user defined) may be used to populate a 2D plane.
  • a 2D plane may be populated with elements based in ownership.
  • a user may cause a 2D plane to include all but only elements owned by a specific user.
  • metadata associated with elements and/or bounding boxes may indicate an owner (that may or may not be the creator or provider) of an element.
  • a 2D plane may be created, e.g., based on a request, such that only projections of elements owned by indicated owners are provided on the 2D plane.
  • a 2D plane may be generated, e.g., by model processor 115, by examining a model and determining a presence of elements in the model on the 2D plane.
  • bounding boxes representations may be examined, their relation to a plane may be determined, e.g., their intersection with the plane determined, and, based on a calculated intersection with the 2D plane, their projections on the 2D plane may be determined.
  • Projections on a 2D plane may be according to a rule, a domain, a category, or any constraint or criteria.
  • a rule may be associated with a 2D plane and projections may be generated and placed on, or associated with, the 2D plane based on the associated rule.
  • a rule may define attributes or parameters of elements the projections of which are to be generated and associated with the plane. For example, a rule may select elements of specific types, category or based on any information that may be stored as metadata of the element.
  • a 2D plane may be associated with a domain. For example, based on an association with a domain, projections may be generated and placed on a 2D plane. For example, by associating a 2D plane with a regulatory domain, projections on the 2D plane may reflect bounding boxes of elements as defined in the regulatory domain. Accordingly, a 2D plane may be generated according
  • planes may be used in order to define and/or generate slices of a space, e.g., spatial slices and/or logical slices.
  • a slice as referred to herein may be any portion, segment or part of a space in a digital model.
  • a slice may include any element or part of an element included in the space defined by, or included or contained in a slice.
  • Various slices may be defined and/or generated.
  • a slice may be or contain a portion of a space, in other cases, a slice may include a logical entity, e.g., a building's floor, an elevator shaft, etc.
  • Fig. 6 schematically shows a slice of a space according to embodiments of the invention.
  • planes 430 and 440 may be used to define and generate a slice as shown by 630.
  • slice 630 may include objects 610 and 620 which may be parts of (possibly a representation of) elements 410 and 420 shown in Fig. 4.
  • a slice such as slice 630 may be provided to a user, e.g., as a work environment. For example, a user may only need a section of a model for his or her work, accordingly, a section or a slice of a space such as slice may be provided.
  • a user may select a location, orientation, size, relative distance or other parameters that may be used to define two planes, and a slice or space contained by such two planes may be provided to the user.
  • a slice may be manipulated, e.g., rotated, enlarged or otherwise manipulated as known in the art with respect to 3D objects or views.
  • a slice may be used to relocate elements, resize elements or otherwise manipulate elements.
  • a user may move (e.g., by a drag and drop operation using a GUI tool) objects 610 and 620 and thus cause a movement of elements 410 and 420 respectively.
  • Parameters or data related to operations performed on, or with relation to, elements or objects in a slice may be provided to model processor 115 that may update a model accordingly.
  • model processor 115 may update a model accordingly.
  • element 610 element 410 may be moved accordingly in a digital model space (e.g., ghost model 130).
  • a size the size of the respective element may be changed.
  • element 420 may be resized.
  • a slice defined by a first and second planes may be such that at least one construction element, or bounding box is included in the slice.
  • a slice may be automatically defined such that an entire floor of a building, is included in the slice.
  • a slice including a logical entity such as a floor of a building, a room or a ventilation system may include all elements in the logical entity or some of the elements. For example, based on a user request a slice including a room and any wiring elements in the room but excluding plumbing systems may be generated and provided.
  • a user may indicate a logical entity or define at least two planes by which the logical entity is confined, indicate or select element types that are to be included or excluded (or select all or none to include all elements or no elements respectively).
  • Such selections may be provided to model processor 115 that may examine a digital model (e.g., ghost model), determine the slice's dimensions, determine with elements (or parts thereof) are to be included, generate a slice and provide the user with the slice.
  • a slice may be generated or defined such that it includes whole elements. For example, a selection or check box in a GUI tool may enable a user to select an "include entire elements" option.
  • model processor may determine which elements are at least partially included in an initial slice that may be defined according to two 2D planes as selected by a user and further automatically increase the distance between the planes until all elements or parts thereof, included in the initial slice are included in a final slice which may then be generated and provided to the user. For example, after observing a location of an element or a bounding box, model processor 115 may place two planes such that the element or bounding box are contained between the two planes.
  • Selecting a section or a portion of a space in a model may be based on more than two planes.
  • a room may be selected by defining four planes that may coincide with the room's walls.
  • Rules may be associated with slices. Slices or two dimensional planes may be used in a detection of violations.
  • a violation may be detected by detecting a presence of a construction element (or a bounding box) in a space defined by a slice.
  • an exemplary rule that may be associated with a slice may dictate that no element is to be present in the slice, that only specific element types may be present in the slice or that at least one element of a specific type must be present in a slice. Accordingly, a presence (or lack thereof) of a bounding box in a slice or a space defined or enclosed by two or more planes may be interpreted as a violation.
  • Another method of detecting a violation may be determining an intersection of a plane with a spatial representation of an element, possibly according to a rule.
  • a rule may define a height range in which specific elements may be placed.
  • a rule related to light bulbs may dictate they may be placed within a specific distance from a ceiling.
  • a violation of the rule may be detected. Any violation, related to any rule and/or domain may likewise be detected.
  • a violation in an energy domain may be detected by detecting an intersection of an element's bounding box that is related to an energy domain (e.g., representing heat emitted by the element) with a plane located where heat emitted by an element is not permitted to be present according to a rule.
  • a violation may be detected by processing a two dimensional object or plane.
  • an intersection of a bounding box with a two dimensional plane may be detected by examining or processing information related to a two dimensional projection of the bounding box on the two dimensional plane. Accordingly, the information needed to be processed may be two dimensional information.
  • two dimensional processing may be far superior, e.g., in terms of time and/or computational resources to three dimensional computations, e.g., as performed by prior art platforms.
  • Any visual inspection tools e.g., as known in the art may be used in order to detect a violation. For example, a presence in a space defined by a slice, or an intersection may be detected using any visual inspection tool.
  • a view may be provided to a user based on one or more planes or slices. For example, a view of a space confined by the at least a first and second two dimensional planes may be provided. Accordingly, a user may request, and be provided with, views of sections of a model based on planes and slices as described herein.
  • defining or selecting a plurality of parallel planes may be according to a logical request related to a logical section. For example, two planes may be selected such that an entire floor of a building (as represented in a model) is confined by a space between the two planes.
  • a view of the space thus defined may be provided to a user or used in detecting a violation, e.g., a violation may be detected in a space defined based on planes which, in turn, are defined based on a request indicating a logical entity in a model.
  • a view provided may be a 2D view, e.g., a top view provided by a plane or it may be a 3D view.
  • model processor 115 may provide a 3D view of a slice, bounding boxes or a 3D view of detailed information of an element.
  • Fig. 3 schematically shows projection on planes according to embodiments of the invention.
  • projections 315 and 316 may be observed on two planes 310 and 320.
  • Projections 315 and 316 may be projections of bounding boxes or spatial volume representations associated with construction elements as described herein.
  • Planes 310 and 320 may be planes defined in a space in a digital construction model.
  • planes 310 and 315 may be parallel planes, e.g., perpendicular to a horizontal axis in the digital construction model.
  • projections 315 and 316 are projections of bounding boxes of two construction elements. As shown by 310, the projections 315 and 316 do not intersect. As shown by 320, in another plane, projections 315 and 316 do intersect.
  • projection 316 may be associated with a conic shaped bounding box, which, at the height of plane 310 (e.g., from a reference point, e.g., ground), does not intersect with projection 315.
  • Plane 320 may be lower than plane 310 (e.g., near the reference point) where the bounding box associated with projection 316 is of larger size and accordingly, the projections intersect.
  • Model processor 115 and/or other units or modules may generate planes and projections, e.g., as shown in Fig. 3.
  • planes or slices defined by planes
  • a GUI tool may enable a user to graphically provide input to model processor 115.
  • a user may select the distance between planes. For example, in spaces where a large number of construction elements are present, a user may select a high number of planes per unit length and select less planes per unit length for spaces where few elements are present. A user may select an axis perpendicular to which planes may be defined.
  • Planes may be defined based on a request related to logical entities. For example, by indicating a floor or room, planes may be automatically defined such that the room, floor or other indicated logical entity is contained between the planes.
  • a space contained between or by two or more planes may be referred to herein as a slice.
  • a slice may be used as a work space.
  • a user may define a slice and be presented with a 2D or 3D view of the slice.
  • a user may associate a domain with a slice to cause the bounding boxes of elements in the slice to represent the related elements according to the associated domain.
  • a user may associate a slice with a set of rules, e.g., placement rules used for automatic placement of elements, violation rules used for violation detection etc.
  • a user may indicate element selection criteria for a slice or plane. For example, a user may specifically select elements (or associated bounding boxes) to be included in a slice or plane or a user can select type of elements to be included or excluded from a slice or plane. For example, a user may request to omit plumbing systems from a slice or include only wirings in a slice or plane.
  • Bounding boxes may be generated and placed in a slice, e.g., by automatic zoning or placement according to a domain or rule. Accordingly, a slice may be used to generate a user defined workspace. By defining a slice, a user may be provided with a space that may be sufficient for the user's needs yet light weight in terms of data and processing, since only a part (slice) of the entire model may be provided (e.g., communicated over a network), loaded into a computer memory and processed by a computer's processor. A slice or plane may be stored and used, e.g., at a later time in order to track changes or progress.
  • model processor 115 may examine ghost model 130 or element parameter sets 135 and determine a projection of a spatial volume representation of an element on the plane. Model processor 115 may generate a pixel map indicating the projection or presence of a bounding box on a plane.
  • a resolution of a pixel representation of a projection may be user defined. For example, in order to save storage space, communication, processing time and/or memory, a user may request a low resolution of pixel representation for some spaces in a model. For example, pixel cells of one, four or eight pixels may be defined. A resolution may be according to cells, e.g., the larger the cells, the lower the resolution.
  • embodiments of the invention may process 2D information, e.g., a pixel array. For example, in order to determine a conflict or violation, 2D information related to a 2D plane as described herein may be processed.
  • 2D information e.g., a pixel array.
  • 3D processing as done by current platforms in order to detect violations
  • a violation may be determined by detecting a presence of two or more projections (associated with two or more elements) in a cell.
  • the projections may represent elements in a specific domain
  • a violation determined by detecting a presence of two or more projections in a cell may be for a specific domain, or a number of domains if the projections represent elements in a number of domains.
  • a violation may be detected according to a rule. For example, a rule may dictate that an inclusion is a violation but an intersection is not. For example, in an energy domain, an element that produces heat may not be included within another element, however, heat emitted may intersect with other elements.
  • Various reports or indications may be generated, recorded or displayed. For example, a violation report may be produced, listing some or all violations detected. A report may be automatically stored, mailed or otherwise manipulated or handled.

Abstract

A system and method for generating a construction model are provided. A space required for containing a construction element according to a domain may be determined. One or more domain parameters associated with the space may be calculated or obtained. A spatial volume representation of the element and according to a domain may be generated. A placement of the construction element in the digital construction model may be selected based on a domain parameter. A violation may be detected based on a spatial volume representation. Other embodiments are described and claimed.

Description

SYSTEM AND METHOD FOR PROVIDING A DIGITAL CONSTRUCTION MODEL
FIELD OF THE INVENTION
[001] The present invention relates to the field of computer-aided construction planning. More specifically, the present invention is related to planning and validating a construction project. The present invention is particularly related to a positioning of elements in a construction plan and to a validation of the construction plan. In particular, a validation may be related to any number of participants in, or contributors to, a construction project and/or to any number of elements included in a construction project.
BACKGROUND OF THE INVENTION
[002] Construction or building projects are multi-disciplinary in nature. For example, mechanical, electrical, plumbing and urban building regulations aspects are all involved in a construction or building project. Construction projects also involve a large number of participants or contributors. For example, mechanical, electrical and plumbing contractors, designers, engineers, project managers, investors, representatives of various authorities and subcontractors are typically involved in a construction project, and, different participants typically have their respective different interests and goals. Furthermore, professionals involved in a construction project may be independent and may have no hierarchical relations. Rather, relations may be defined ad-hoc or based on contracts or negotiations between participants. In addition, a building as a product is subject to many constraints such as functional, economical, aesthetic and technical, among other constraints. Constraints may be related to a specific project, context, phase or time and may further vary from one project, context or time to another or even within a single project.
[003] Accordingly, producing a plan for a construction project may involve solving problems or facing challenges such as coordination, conflicts or violations (e.g., violating regulations or space constraints), collaboration of many participants and accommodating different interests and goals. Furthermore, a construction project plan may be dynamic and may evolve as new problems and constraints present themselves as the project progresses. For example, architectural, technical or design changes, delays, accidents, new regulations or weather conditions may all affect a construction plan. Accordingly, in addition to (and while) solving the above mentioned problems, a construction plan may need to enable dynamic changes as the project evolves or progresses.
[004] As frequently demonstrated, failure to solve problems and/or face challenges discussed above may lead to a lack of ability to identify conflicts, delays in construction, a race between (or "install first" mentality of) contractors in order to avoid having to move their systems in case conflicts arise, increased administrative burden, overall reduced productivity, ineffective space management, work interruptions, poor quality and loss of resources such as time and money.
[005] According to one approach, the above discussed problems are solved manually or ad-hoc as they appear. Generally, a schematic solution is defined, e.g., by a blueprint as known in the art, equipment and/or elements are selected, location of elements is determined, e.g., by an order of: large elements first followed by pipes, wires and ducts routing, which may be governed by objective constraints such as large objects, minimum surface area, minimum pipe length, minimum bend etc. However, as construction projects grow in size and complexity, this solution often fails to address the above described complexities, problems and challenges.
[006] Another approach is directed to standardization, using standards to define elements, placement and routing, and dictate various aspects in construction plans. For example, the International Alliance for Interoperability (IAI) is producing standards, e.g., the Industry Foundation Classes (IFC) and the Open Geospatial Consortium (OGC) is making standardization efforts, such as Geography Markup Language (GML), for the geospatial community.
[007] Current computerized solutions may utilize a central repository and/or model on a server that acts as a base or hub for coordination and collaboration of, and/or interoperability between, participants, stakeholder and contributors. Systems, applications or platforms such as building information modeling (BIM) applications, computer-aided design (CAD) applications, geographical information systems (GIS) and virtual design and construction (VDC) tools are typically employed using a central server that may be connected over a computer network to participants computers, sites or systems. Typically, a model of the planned building is maintained on a server, participants upload their designs to the server, where the information is integrated into the model, and the model may be downloaded (and thus shared) by participants.
[008] However, such current solutions suffer from many drawbacks. For example, in many cases, storing and maintaining a (typically three dimensional (3D)) building model may require a large amount of data, e.g., tens or hundreds of megabytes (MB). Accordingly, downloading a model to a remote station may be impractical. Cycles of uploading an element, incorporating the element into the model and downloading the model in order to view and analyze the resulting model and detect conflicts may be long or at times, impossible due to the magnitude of information.
[009] Accordingly, there is a need in the art for a system and method for modeling a construction project such that collaboration of participants and integration of contributions are enabled and, in particular, violations or conflicts are readily detected.
SUMMARY OF THE INVENTION
[010] Embodiments of the present invention may enable generating and maintaining a violation- free, collaborative, multidisciplinary digital construction model. It will be understood that a construction model or model as referred to herein relates to a digital construction model. According to embodiments of the invention, modeling in a construction project may comprise representing space required for a construction element by one or more domain parameters related to one or more domains, disciplines or subject fields by a processor. A visual spatial volume representation of the required space may be generated based on one or more domain parameters and used, e.g., in an automatic placement of a construction element or in detecting violations or conflicts. The terms bounding box and a spatial volume representation may be used interchangeably herein. The term spatial volume representation as used herein is to be broadly construed as referring to any spatial volume representation, e.g., a cube, a sphere or an asymmetric shape or contour. For example, a spatial volume representation or a bounding box may be in the shape of the outer edges, sides or faces of an element. In other cases, a spatial volume representation or a bounding box may be related to a space larger than an associated element, e.g., a space in which the element may be placed in more than one alternate locations within the space. In some cases, a spatial volume representation may not be associated with a construction element but associated with a constraint. A spatial volume representation or a bounding box may be displayed to a user. A spatial volume representation or a bounding box may be used in various calculations or processing, e.g., in order to detect violations or conflicts. A number of spatial volume representations may be generated for a construction element, e.g., according to a respective number of domains, disciplines and/or fields of interest. In some embodiments, users may share spatial volume representations of elements, e.g., upload and/or download spatial volume representations to/from a server. [Oi l] Violations or conflicts related to any number of elements may be automatically detected, in realtime, according to any number of domains, disciplines or subject fields. Violations and/or conflicts may be automatically resolved in realtime, e.g., an element may be moved in a space such that a violation is resolved. A violation may be detected upon adding or modifying an element to/in a digital construction model. A location, orientation or position of a spatial volume representation in a digital construction model may be selected and/or suggested automatically based on any number of constraints, conflicts, violations and/or according to any number of domains. A location, orientation or position of a construction element within a related spatial volume representation may be automatically selected and/or suggested based on any number of constraints, conflicts, violations and/or according to any number of domains.
BRIEF DESCRIPTION OF THE DRAWINGS
[012] Embodiments of the invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numerals indicate corresponding, analogous or similar elements, and in which:
[013] FIG. 1 shows a schematic illustration of a system according to embodiments of the invention;
[014] Fig. 2 shows a flow-chart illustrating a method in accordance with embodiments of the invention;
[015] Fig. 3 schematically shows projections on planes according to embodiments of the invention.
[016] Fig. 4 schematically shows construction elements and planes according to embodiments of the invention.
[017] Fig. 5 schematically shows projections of elements on planes according to embodiments of the invention; and
[018] Fig. 6 schematically shows a slice of a space according to embodiments of the invention.
[019] It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn accurately or to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity, or several physical components may be included in one functional block or element. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. DETAILED DESCRIPTION OF THE INVENTION
[020] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components, modules, units and/or circuits have not been described in detail so as not to obscure the invention.
Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, "processing," "computing," "calculating," "determining," "establishing", "analyzing", "checking", or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information storage medium that may store instructions to perform operations and/or processes. Some embodiments may be provided in a computer program product that may include a non-transitory machine -readable medium, stored thereon instructions, which may be used to program a computer, or other programmable devices, to perform methods as disclosed above. Embodiments of the invention may include an article such as a computer or processor non-transitory readable medium, or a computer or processor non- transitory storage medium, such as for example a memory, a disk drive, or a USB flash memory, encoding, including or storing instructions, e.g., computer-executable instructions, which when executed by a processor or controller, carry out methods disclosed herein.
[021] Although embodiments of the invention are not limited in this regard, the terms "plurality" and "a plurality" as used herein may include, for example, "multiple" or "two or more". The terms "plurality" or "a plurality" may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed at the same point in time.
[022] Reference is made to Fig. 1, which shows a schematic illustration of a system 100 according to embodiments of the invention. As shown, system 100 may comprise building information modeling (BIM) users 110, a server 145, a network 140, a model processor 115, and a storage 120. As further shown, storage 120 may store a BIM model 125, a ghost model 130 and element parameter sets 135.
[023] BIM users 110 may be any participants in a construction project or any contributors or users of data or information related to a project. For example, BIM users 110 may be a project administrator or manager, contractors, subcontractors, designers, engineers, project managers, investors and/or representatives of various authorities. Although not shown, BIM users 110 may operate any computing device enabling them to contribute information and/or retrieve and display information related to a project. It will accordingly be understood that reference made herein to BIM users 110 is, when applicable, made to any device operated by these users. As further shown, devices associated with BIM users 110 may include or be operatively connected to a model processor 115. For example, BIM users may use devices such as, but not limited to, a home computer, a server, a laptop, a personal digital assistant (PDA) or even a smartphone or any other device usable for executing or interacting with digital construction model processor 115 and/or produce, process, upload and/or download information to/from storage 120. BIM users 110 may use any BIM application that may be executed on their respective computing devices, e.g., in order to participate in a generation and maintenance of a digital construction model. BIM model 125 (and models on BIM users 110 devices) that may be any digital construction model, may be generated and/or maintained by any system or platform, e.g., a computer-aided design (CAD) application, a geographical information systems (GIS) and/or a virtual design and construction (VDC) tool.
[024] Server 145 may be any suitable computing device and may various tasks as described herein. For example, server 145 may transform or convert modeling information from a first representation to a second representation, e.g., using Java DOM (Document Object Model) technology, provide various services etc. Network 140 may be any suitable computer network such as the internet, a local area network (LAN), a wide area network (WAN), a wireless network or a combination of network architectures or platforms. Storage 120 may be any suitable or applicable storage device, system or platform. For example, storage 120 may comprise one or more servers and connected storage sub- systems, a disk array operatively connected to a controller or any other storage system. Although for the sake of clarity and simplicity, a single server 145, network 140 and storage 120 are shown, it will be understood that any number of such components may be included in a system according to embodiments of the invention. It will further be understood that embodiments of the invention are not limited by the nature, type, design or other aspects of server 145, network 140 and storage 120.
[025] BIM model 125 may be any digital BIM model as known in the art. BIM model 125 may comprise a three dimensional (3D) or two dimensional (2D) representation of elements of a construction projects. For example, foundations, walls, air conditioning units and ducts, plumbing systems, electrical and networking wiring and cables may all be represented in BIM model 125 in 3D and/or 2D representations. BIM model 125 may be obtained from any source or generated using any known in the art tools. For example, BIM model 125 may be uploaded to storage 120 or it may be generated by a controller or computer operatively connected to storage 120.
[026] Ghost model 130 may be a digital construction or project model as described herein. In some embodiments, ghost model 130 may include one or more element parameter sets as shown by 135 and described herein. In some embodiments, ghost model 130 may be associated with BIM model 125. For example, elements in BIM model 125 may be represented in, and linked to, elements in ghost model 130. In some embodiments, a flow or process of generating ghost model 130 may comprise examining BIM model 125 and converting or transforming elements in BIM model 125 to elements in ghost model 130 e.g., using Java DOM technology. Element parameter sets 135 may be sets of parameters representing construction or other elements in one or more domains, disciplines or subject fields as described herein. Although element parameter sets 135 are shown separately from ghost model 130, in some embodiments, elements parameter sets 135 may be included in ghost model 130.
[027] For the sake of clarity and simplicity, system 100 does not show various components that may be included in a system according to embodiments of the invention. Some of the components shown may be differently distributed in other embodiments or implementations. For example, BIM model 125 may be stored separately from ghost model 130, possibly in association with a BIM model processor that may perform some of the tasks performed by model processor 115 as described herein as well as other, BIM specific operations. A service processor may handle various services, e.g., network related services.
[028] Model processor 115 may perform various tasks related to a digital construction model. The operations of model processor 115, either in association with a global model, e.g., ghost model 130 stored on storage 120 or in association with a BIM user device may include generating, using and/or displaying a spatial volume representation (that may be discipline or domain dependent) of a space required for including a construction element. For example, a set of domain parameters or domain generation functions and/or a number of spatial volume representations related to a construction element and associated with a number of domains may be generated, stored and used in a generation and maintenance of a construction model. Model processor 115 may automatically detect violations or conflicts and may automatically locate or place construction elements in a space, e.g., as defined by a construction model as well as performing other functions. Construction elements may be any elements used in a construction project, for example, architectural elements such as interior walls or ceilings, structural elements like a main structural framing, slabs or foundations, mechanical systems like duct work, etc., plumbing systems like hot and cold water piping, electrical systems like conduits and cable trays and/or fire protection system components.
[029] An internal representation may further include, or be associated with, metadata. For example, metadata associated with an internal representation may indicate the element's type (e.g., door, duct, wire, beam etc.), the element location, position or orientation in a construction model and/or any other relevant information or parameters.
[030] As known in the art, during progress of a construction project, contributors may need or want to share information. However, in prior art systems and methods, a project model typically requires large amounts of data in order to represent construction elements. For example, detailed information of elements may be stored in the model. Detailed information may include information related to internals of an element, e.g., internal parts, to a design of an element, e.g., a contour, a color, various specifications etc. Consequently, a prior art BIM model may be associated with large amounts of data, e.g., tens or even hundreds of mega bytes (MB). Accordingly, downloading or uploading a prior art BIM model may be a time consuming, and at time even an impossible task. Likewise, loading a prior art BIM model into a computer's memory and/or manipulating elements therein may be a cumbersome and possibly impossible task.
[031] Representations of construction elements in a model may be generated and/or obtained by or from various sources. As described herein, internal representations may be generated by model processor 115 operatively connected to a BIM user's device. In other cases, a BIM model may be converted to an internal model. For example, BIM model 125 may be uploaded to storage 120 and may be provided as input to model processor 115 connected to storage 120 as shown. Model processor 115 may examine BIM model 125 and generate ghost model 130 based on data in BIM model 125. For example, possibly based on mapping or other information, model processor 115 may represent elements in BIM model 125 by domain parameter sets or generation functions as described herein and as further shown for clarity by element parameter sets 135.
[032] Various methods or systems may be used to convert a BIM model to a ghost model in accordance with embodiments of the invention. For example, a three dimensional (3D) model may be examined and, possibly using known in the art image processing techniques, the size and shape or other geometrical parameters of elements in the 3D model may be determined and represented by bounding boxes or spatial volume representations. Internal element representations or internal models may be displayed to a user using a dedicated viewer. For example, model processor 115 connected to a BIM user may display an internal element's representation or an internal model. Model processor 115 may provide an interface, e.g., a graphical user interface (GUI) to enable a user to manipulate elements in a model or other model- related aspects. Accordingly, during various phases of a project, users may access ghost model 130 rather than an associated BIM model 125. For example, in any phase or task where a spatial representation of elements suffices, users may use ghost model 130 rather than the much larger BIM model 125.
[033] In embodiments of the invention, detailed information may be selectively used. Detailed information stored and/or maintained by an external BIM model (e.g., BIM model 125) may be used by model processor 115 or other units. Model processor 115 may, when generating ghost model 130 or at any other time, associate elements in ghost model 130 with related elements in BIM model 125. For example, elements in BIM model 125 may be examined, for some or all of the elements in BIM model 125, domain parameters, bounding boxes and/or domain generation functions may be determined, computed or calculated and stored and/or used as part of an internal representation. An internal representation (e.g., maintained by ghost model 130) may include a reference to an element in BIM model 125. For example, elements in ghost model 130 may be linked to respective elements in BIM model 125. Accordingly, any detailed or other data or metadata maintained by BIM model 125 may be retrieved and used.
[034] In some cases or embodiments, any information, e.g., detailed information, metadata or other parameters may be stored (e.g., on storage 120) and associated with, or linked to, elements in ghost model 130 such that when required, associated information may be provided, used and/or displayed. Accordingly, when required, instead of, or in addition to, providing an internal representation to a user, model processor 115 may provide detailed information related to an element or model. In some embodiments or cases, detailed information may be displayed to a user, e.g., in order to enable visual inspection of elements and their location in a model. Displaying of detailed information may be selective. For example, a user may request to be provided with a detailed view of one or more elements in a model while being provided with substantially only bounding box representations for other elements. Such feature may enable working with a light-weight model (by using the spatial volume representations described herein) yet being provided with detailed information or view of specific elements of interest.
[035] By generating and maintaining an internal representation of elements, e.g., as shown by element parameter sets 135, and/or an internal model (also referred to herein as a "ghost model") that may represent elements as parameters or functions related to bounding boxes or spatial volumes, embodiments of the invention may enable maintaining a model that may be dramatically smaller than prior art models, e.g., a ghost model 130 may only be tens of kilo bytes (KB) in size. Accordingly, downloading a ghost model may be a quick and easy task. Likewise, to make a contribution to a model, a user may merely need to upload an internal representation of elements he or she generated, such upload may be fast as the amount of data needed to internally represent an element may be very small, e.g., a set of relative or other coordinates or an object generation function as described herein.
[036] Reference is made to Fig. 2, which shows a flow-chart illustrating a method in accordance with embodiments of the invention. As shown by block 210, a method or flow may include determining a first space required for containing a construction element according to a first domain, where the domain may be any discipline or field of interest.
[037] Determining a space required for containing a construction element may comprise converting representations of construction elements in any application, system or platform (also referred to herein as "external applications") into an internal representation that may be one or more bounding boxes and/or one or more domain parameters or one or more domain object generation functions.
[038] For example, model processor 115 associated with a BIM user's device (e.g., as an application executed on a processor of the user's device) may enable converting representations of elements from one BIM model to another. For example, receiving as input a representation of an element as generated by a commercial BIM application, a proprietary tool or even a hand drawn element, model processor 115 may generate an internal representation of the element, e.g., a bounding box represented by domain parameters or domain generation functions. Any applicable source of elements may be used. For example, interpreters may receive elements from two or three dimensional (2D or 3D) modeling applications, BIM tools, or even design documents and produce data objects. Data objects may be provided to a domain rules processor that may produce domain or discipline dependent objects or parameters that may be used as described herein. For example, parameters produced by a domain rules processor may be stored in a ghost model and used as described herein.
[039] For example, an internal representation may be a set of domain parameters, a bounding box, an object construction function or a spatial volume representation. For example, a construction element such as a door, duct or electric power generator represented in a BIM application may be converted to sets of domain parameters, sets of domain object generation functions and/or a set of spatial volume representations. In some cases, the spatial volume representations may be one or more bounding boxes and may be discipline or domain-dependent. A domain-dependent spatial volume representation, bounding box, domain parameter or domain generation function may define or be otherwise related to a space needed to include an element according to a domain. As described further below, some such representations may be different for the same element depending on the domain or discipline through which it is viewed. Model processor 115 may convert an internal representation to any external representation. For example, a set of domain parameters may be converted to a representation in a commercial BIM application by model processor 115 connected to a user computing device. Accordingly, different users may use a number of different BIM applications yet collaborate efforts using a central, global or common model that may be ghost model 130.
[040] Elements generated or represented by a BIM or other application may be converted into more than one spatial volume representations or domain parameter sets. For example, a door may occupy a first space when closed and a second, larger space when opened. When converting a representation of the door from a BIM application representation (also referred to as an "external representation" herein), a first spatial volume representation related to the physical domain may represent the door's size or spatial volume and a second spatial volume representation related to an operational domain may represent the door's size or spatial volume when the door is open. Another example may be a dividing wall between two interior rooms, which, for example, may have different thermal requirements than a dividing wall between an interior room and a space outside the building. Such two walls may be represented similarly (e.g., by similar bounding boxes) in a physical domain, a cost domain or an operational domain. However, in domains such as a requirement domain or an energy domain different bounding boxes may reflect the fact that the door separating an interior space from a space outside the building is associated with different, domain related constraints.
[041] Determining a domain object generation function or a domain parameter set for an element may be according to a domain. For example, electric power, water, openings (e.g., doors, windows), or accessibility may be domains or sub-domains that may be associated with domain rules or criteria that may be observed when producing domain parameters. A domain may be a regulatory domain, a radiation domain, a design domain, a requirement domain, a space domain, an energy domain, a cost domain, an electro magnetic field domain, an operational domain and/or a physical domain. A domain may be user defined as described herein.
[042] In some embodiments, model processor 115 or another unit or module may include an interface agent. An interface agent may perform conversion, transformation, adaptation or any other processing that may required in order to transform or convert a representation of a construction element in one application to a representation of the element in another application, system or platform. For example, model processor 115 may convert any representation of construction elements in an external application or system (e.g., a commercial BIM modeling application) to an internal representation that may be a bounding box or spatial volume representation as described herein. A graphical or other interface may be provided by model processor 115 to a user to enable mapping external representations to internal ones.
[043] A user may map user specific element representations to internal elements. For example, an interface agent may enable a user to provide a graphical representation of an element and indicate the element's type or other related parameters. Model processor 115 may record user specific element representations, associate them with internal representations (e.g., bounding boxes) and may use such recorded information and association in order to convert elements from an internal representation to a user specific representation and vice versa. Accordingly, a first and second BIM users 110 may use a first and second representation of a door in their respective BIM applications or work environment. Such two uses may each, using a model processors 115 associated with their respective computing devices, convert their door representations to an internal representation of a door that may include one or more spatial volume representations of the door (e.g., in one or more domains). Accordingly, a system according to embodiments of the invention may enable a number of BIM users 110 to use their own or preferred BIM applications while still maintain a common or global model that aggregates their contributions and enables sharing contributions to a project. At any point in time, a user may be provided with a representation of his choice by automatically (possibly per a request) converting information in an internal representation (e.g., in ghost model 130) to his or her external representation that may be a representation according to a BIM application of choice.
[044] A physical space domain may be an intuitive domain related to the physical or real space occupied by elements. For example, in a physical space domain, an element may be represented by a bounding box required to include the element based on its physical dimensions. A regulatory domain may reflect or be associated with aspects other than the physical dimensions. A regulation typically imposes one or more constraints that may be related to a location, placement or even a size or other geometrical parameters of elements in a construction project. For example, a regulatory domain may be related to, determined or defined by, or associated with any regulations or laws related to constructions. Accordingly, a regulatory domain may impose or dictate constraints as defined or imposed in regulations. A radiation domain may be related to electromagnetic or other radiation. For example, it may be undesirable (or forbidden) to place various elements in a radiation field emitted by other elements (e.g., wires).
[045] A radiation domain may be related to various radiation aspects and may be used to detect violations related to radiation and/or automatically select placements of elements such that violations or conflicts in a radiation domain are avoided. Any domain may be defined and implemented in embodiments of the invention. For example, a design domain and/or a requirement domain may define various constraints or requirements that may be checked, and, a violation or failing to meet a design or other requirement (e.g., that light bulbs are within a certain distance from one another) may be detected, indicated and/or used in order to automatically select or suggest one or more alternative locations or placements of elements. Another exemplary domain may be an energy domain that may be related to temperature, electro magnetic field or other forms of energy. For example, a specific element may be required to be placed such that ambient temperature around it is within a specific range. In an energy domain, e.g., a domain in which heat emitted by elements in a construction model is represented (e.g., by a bounding box), a violation related to the element being placed in a location where the temperature is too high may be detected and indicated to a user and/or used in order to suggest or select an alternative location.
[046] Yet another domain may be a cost domain. For example, a budget or cost may be determined for two elements. The budget may be affected by various aspects, e.g., the location of the two elements, how close together the elements are, etc. In a budget or cost domain, a violation of exceeding a budget or cost may be automatically handled by relocating one or more elements, e.g., bringing two elements closer, placing elements in a lower floor of a building, etc. An operational domain may be related to operational modes of elements. For example, a door may occupy a first space in a physical domain where such first space may represent the door's physical dimensions and a second space in an operational domain where the second space reflects the space required when the door is open. By employing an operational or dynamic element domain, it may be possible to manipulate or treat elements differently during different design or planning phases or stages.
[047] A space required for a construction element may vary according to the relevant domain. For example, a duct in an air conditioning system may require a first space in the physical domain that may be dictated or defined by the duct's physical size, dimensions or other geometrical parameters or aspects. However, the same duct may require a different, e.g., larger space in a regulatory domain. For example, construction or safety regulations may dictate that no object may be placed within a predefined distance from the duct or dictate a distance of the duct from other construction elements. Accordingly, in a regulatory domain (or in one of a number of regulatory domains), the space required for containing the duct may be larger than, and/or different from, the space required in the physical domain. Any number of different spaces required for containing a construction element according to any respective number of domains may be calculated, computed and/or determined.
[048] Determining a space required for containing a construction element may comprise defining a number of 2D planes in a digital model (e.g., in a space defined by an external digital model produced by a commercial BIM application), determining a respective number projections of an element on the planes, and determining the space required to include the element based on the projections. According to embodiments of the invention, determining a space required for containing a construction element and/or defining a bounding box for an element may comprise transforming any data or information to a spatial volume representation or a bounding box. For example, data or information obtained from external systems, applications or sources (e.g., a commercial BIM application, a specification, a data sheet or a blue print) may be converted to a bounding box representation. In one embodiment, a number of projections on a respective number of planes may be produced and used in order to define a bounding box. For example, a number of projections of an element in a 3D model may be produced by determining projections of the element on a number of planes. A set of projections may be used, e.g., by model processor 115 to determine a bounding box for an element. For example, by interpolating or extrapolating information in a number of projections, model processor 115 may determine a bounding box.
[049] Planes on which projections are made may be a set of parallel planes along an axis. For example, provided with a portion of a 3D model, an axis (e.g., a vertical or horizontal axis) may be selected automatically by model processor 115, a number of planes that are perpendicular to the selected axis may be defined, e.g., at default intervals or respective distance and a projections of elements on the planes may be determined. Accordingly, a set of projections may be obtained. The set of projections may be examined and processed by model processor 115 and the shape, size or other geometrical parameters or aspects of elements associated with the projections may be determined. Possibly according to a selected (or preconfigured default) domain, bounding boxes for the elements may be determined and may be stored and used as described herein.
[050] Any applicable parameters related to a process of scanning, mapping or otherwise processing input data may be set by a user, selected automatically or preconfigured. For example, a user may select a high resolution for the process of scanning or mapping input data using projections on planes as described. In such case, more planes per unit length along an axis may be used such that the resolution is higher and the resulting contours of elements may be more precise. In another case, a user may select a lower resolution, in which case, less planes may be used and thus the resolution may be lower. For example, during initial phases of a project or when time or computing power are an issue, a user may select a lower resolution, such that less planes may consequently be used, resulting in faster generation of bounding boxes, which may be less accurate than a high resolution scan.
[051] In other cases, e.g., in final stages of the project, a high resolution may be required. In such case, a user may select a high resolution that may cause model processor to use more planes per unit length along the axis which in turn may result in more accurate representation of elements. The axis along which, or perpendicular to, planes are defined may also be selected by a user. Projections on planes may be produced based on any information. For example, information from a data sheet may be used to determine various aspects of an element and projections on (possibly virtual or imaginary planes) may be defined. By using projections on a set of planes to generate bounding boxes, embodiments of the invention may enable a quick and efficient way of importing element information from a number of external sources and enable users to share representations (e.g., bounding boxes) of elements thus enabling a true collaboration. [052] As shown by block 215, the flow may include determining a first set of domain parameters usable to generate a spatial volume representation of the first space. Domain parameters or domain object generation function may be used to generate a geometric representation of a building or construction element. Domain parameters or domain object generation function may include primitive geometric entities like point, edge and face. Domain parameters or domain object generation function may be or include connectivity information between these primitives such that a topology may be determined. In some cases, spatial volume representations may be uploaded to a central server (and/or downloaded from a central server). For example, the operations described herein with respect to blocks 210 and 215 may be performed on one of BIM users 110 and a set of domain parameters or a generation function may be uploaded to storage 120 where they may be shared by any one of BIM users 110.
[053] For example, a set of domain parameters may be a set of coordinates that may represent the space required to contain a construction element according to a domain. For example, in the physical domain, a spatial volume representation may be represented by a set of relative coordinates that may define a bounding box or other shape or contour that may represent the physical dimensions of space required for containing or including the construction element. For example, a set of physical domain parameters may be a set of coordinates that may represent the space required to contain a duct in space.
[054] In a different domain, another set of domain parameters may be a set of coordinates that may represent the space required to contain the same duct according to a regulation or other domain, or domain constraints. In another domain, e.g., the regulatory domain, the space required for containing the same construction element may differ in size, shape, location or other geometrical parameters or aspects. Accordingly, a different set of coordinates or other domain parameters may be computed for the regulatory domain as for any other domain of interest. A set of domain parameters may be stored, e.g., in ghost model 130 and/or as shown by element parameters 135 in Fig. 1. For example, model processor 115 may calculate, compute or otherwise derive or obtain a set of domain parameters related to a space required for a construction element according to a domain, and may further store the set of domain parameters in storage 120.
[055] In some embodiments, a set of relative coordinates or parameters may be used. For example, a set of relative coordinates may represent a bounding box in space without confining or restricting the bounding box to a specific location in space. In other embodiments, a set of domain parameters may be or may comprise a domain object generation function or parameter. For example, in order to represent a cube of volume V, the sides S of the cube may be determined by the equation S =V. Accordingly, if the spatial volume required for containing an element is known and determined to be a cube, then the equation S =V may be used in order to generate a bounding box for the element. For example, having selected a reference point or coordinate in space, other coordinates at a distance of S on lines at right angles and crossing the reference point may be determined, used and displayed. Accordingly, the number of domain parameters may be relatively small and/or the amount of information needed to be stored or manipulated in a digital (ghost) model according to embodiments of the invention may be limited dramatically as compared to prior art. Similar calculations may be made for other geometric bounding boxes.
[056] In addition to determining a set of domain parameters or domain object generation function for an element, metadata related to the element may be generated, obtained and stored. An internal representation may further include, or be associated with, metadata. For example, metadata associated with a construction element may indicate the element's type (e.g., door, duct, wire, beam etc.), color, the element location, position or orientation in a construction model and/or any other relevant information or parameters. Metadata associated with a construction element may be used in order to determine or select a placement of the element in a digital construction model. For example, various constraints may be related to metadata associated with an element.
[057] As shown by block 220, the flow may include using the first set of domain parameters in a placement of the spatial volume representation in a digital construction model. For example, based on the domain parameters and/or an associated spatial volume representation (or bounding box), a location of a construction element may be automatically selected, suggested or determined. It will be noted that a location of a of a bounding box or spatial volume representation defined by the set of parameters may be automatically determined, selected or suggested as described herein and a location, position or orientation of the construction element within the bounding box may also be automatically selected, possibly at a different stage, e.g., after the location or position of the bounding box is approved or determined.
[058] Various scenarios may be possible in an automatic placement of an element or an associated bounding box. Generally, an automatic zoning procedure may enable automatic placement of elements or bounding boxes based on available and/or computed information, data and parameters. For example, in a case when no information or rule may be used to determine a location of an element or an associated bounding box, model processor 115 or another unit may randomly or pseudo-randomly place a bounding box, e.g., in a center of a space. Typically, such placement may cause a violation of a criterion. A violation may draw the attention of a user that may manually select a placement for the element or bounding box. In some embodiments, if no place or location for an element may be determined, an indication may be provided to a user.
[059] In another case, although a placement may not be specifically determined, a rule or criteria may enable at least a coarse selection or estimation of a location for the element. For example, a rule may dictate that elements of a predefined size or larger are to be placed on a floor, light bulbs or sources are to be placed near a ceiling etc. Accordingly, rule may be used for an initial selection or estimation of a location of an element. In a case where a placement may be determined, a bounding box of an element may be automatically placed, e.g., based on one or more domain rules.
[060] A spatial volume representation may be provided, used and/or displayed in the form of a visual representation of the space required for containing the construction element. For example, the spatial volume may be displayed on a monitor or display screen attached to a computer used by one of BIM users 110. A visual representation (that may be a bounding box) of space required to include a construction element may be generated based on a subset of domain parameters. A spatial volume representation may be related to a space in which an element may be placed. In particular, a spatial volume representation may represent the minimal space required to include a construction element. A spatial volume representation may be displayed, showing a user the (possibly minimal) space that may be required for placing a construction element in a construction model and/or in the building or construction itself.
[061] According to embodiments of the invention, bounding boxes may be used in an automatic zoning or automatic placement of elements or bounding boxes. For example, an entire or part of a digital model space may be associated with, or divided into, one or more bounding boxes. For example, four bounding boxes may be defined such that an entire space of a digital model is included in the four bounding boxes, e.g., each of the four bounding boxes may include a quarter of the space defined by the digital model. Metadata associated with each of the four bounding boxes may include a list of elements included or present in the bounding box as well as possibly the spatial volume used by each element present or any other relevant data or parameters related to elements included in the bounding box. A rule, threshold or other criteria associated with each the four bounding boxes may define an occupancy level or density. Accordingly, an automatic placement may include examining an element or occupancy density in a bounding box and placing elements such that occupancy density, presence or lack of presence constraints are observed. For example, model processor 115 may automatically move an element from a space in a first bounding box already associated with a high occupancy density to a space included in a second bounding box currently associated with a lower occupancy density. An occupancy density may be dynamically updated, in real-time, according to a movement or placement of elements, e.g., by model processor 115. An occupancy density may be element specific, e.g., per element type or group. For example, a rule may dictate that no more than two elements of a specific type or group may be placed in a bounding box. Accordingly, upon detecting that more than two elements of a specific type are placed in a bounding box, model processor 115 may move one of the elements to another bounding box.
[062] Although in some embodiments, a user may define bounding boxes to be used for automatic placement as described herein, in other embodiments, such definition may be automatic. For example, model processor may be configured to automatically define four, eight or any other default number (that may be modified by a user) of bounding boxes that may include a digital model's space, use such automatically defined bounding boxes to determine an element occupancy density in the digital model's space and/or automatically place elements based on an automatically determined density.
[063] As shown by block 225, the flow may include detecting a violation based on the first spatial volume representation and a constraint associated with the first domain. A violation as referred to herein may be any conflict, inconsistency, collision or a disagreement. Structural or spatial analysis may be used to detect violations. In particular, structural or spatial analysis related to bounding boxes associated with a specific domain may be used. Accordingly, a violation in any one or more domain may be detected. A user may select one or more construction elements or a space in a presented model, select a domain (e.g., a cost domain, a regulatory domain or an energy domain) and may instruct model processor 115 to detect violations in the model, according to the selected domain. In other embodiments, detecting a violation may be automatic, e.g., according to all defined or pre-selected domains, all displayed elements, all elements in a model or a pre-selected element set.
[064] For example, a violation or conflict may be detected according to a physical domain, e.g., a collision of a spatial volume representation (such as a bounding box) of a construction element with other spatial volume representations related to other elements in a construction model, e.g., a foundation of a building, walls, wiring or plumbing elements etc. Automatically selecting a location and a position of a spatial volume representation in a digital construction model may be based on, or according to, one or more violations or conflicts. Automatically selecting a location and a position of a construction element within an associated spatial volume representation may be based on, or according to, one or more violations or conflicts. For example, based on a violation of a budget (associated with a cost or budget domain) a location of an air conditioning unit may be automatically selected or suggested such the cost of the air conditioning system is reduced (e.g., by utilizing fewer ducts).
[065] Detecting a violation, conflict or a failure to meet one or more criteria may be based on a spatial volume representation, a set of domain parameters and a constraint associated with a domain. For example, although in a first domain, e.g., a physical space domain a power generator may be placed in a specific location, in a second domain, e.g., a regulatory domain that does not allow a power generator to be placed near an air conditioning system intake, locating the generator in the specific location may create a violation. A violation may be related to a collision, a penetration, an inclusion, a location, a presence, lack of presence and/or a failure to meet a criteria, for example, a collision in space of two or more elements may be detected and indicated as a violation or a penetration of an element into a specific area or space may be a violation or conflict. Other violations or conflicts may be a location of a specific element in a specific location, an inclusion of a first element within a second element (e.g., a light source may not be included in a plumbing pipe) or a presence or lack of presence of an element in a location. For example, fire sprinklers may be required to be present in specific locations and/or restricted from being present in other locations (e.g., near a fuse box). Accordingly, a presence or lack of presence of a fire sprinkler in a location, space or region may be detected and indicated as a violation. A violation or conflict may be automatically used in order to determine a placement of a construction element. For example, upon detecting a violation, model processor 115 may relocate a bounding box of an element such that a cause of a violation is eliminated. Similarly, any failure to meet a criterion may be identified as a violation that may be indicated to a user and/or cause a relocation of an element or a relocation of an associated spatial volume representation of space including the element.
[066] For example, model processor 115 may automatically detect that a spatial volume representation (that may be represented by bounding box or other shape) of a duct collides with a spatial volume representation of a wall, door or other element in a construction model, e.g., in ghost model 130. Other violations, possibly related to other domains, may be detected, e.g., as described herein. In some embodiments, a user may examine a spatial volume representation generated and displayed, may visually detect a violations and may further cause model processor or another entity to alter various aspects or parameters in a model or in a spatial volume representation in order to overcome conflicts. Although in some embodiments, violations or conflicts related to spatial volume representations may be detected by image or other processing as known in the art, in some embodiments, a violation may be detected by examining a set of slices produced based on a model as described herein. For example, possibly upon adding an element, or modifying an element in a model, violations or conflicts may be automatically detected and indicated and a location of the element in the model may be automatically selected and/or suggested based on an associated spatial volume representation of the element and any number of constraints, conflicts, violations and/or according to any number of domains.
[067] Spatio-temporal conflicts or violations may be detected. For example, an optimal route that minimizes traffic congestion for delivery of construction elements to a site may be planned. For example, a physical domain may be used during a stage when elements are brought into the construction site and an operational domain may be relevant at later stages. For example, in order to determined if a large object may be moved through a corridor, a boundary box associated with a physical domain of a door may be used rather than using a boundary box associated with an operational domain where the dimensions of the same door may be different.
[068] Detailed information may be used in one of a number of ways. For example, a system or a user may use bounding boxes, domain parameters or domain generation functions of construction elements when planning a project, choosing or placing elements, or checking possible violations or conflicts. In some cases, where applicable, detailed information may be provided and used. For example, in order to enable easy access, it may not be desirable for a control box or a power switch of an element to face a wall. Another example may be a color of an element that may need to be viewed in order to enable considering esthetic aspects. In some cases, a bounding box may not include a representation of the control box or a color of an element, accordingly, in order to view a color of an element or determine an orientation of an element, detailed information related to the element may be used. For example, using a link or other association, detailed information of an element in ghost model 130 may be obtained from it's associated element in BEVI model 125 and displayed to a user or used in order to automatically detect a violation and/or automatically select or suggest a placement. For example, when a control box is added to a representation, a rule or criteria may cause model processor 115 to identify a short distance of the control box from a wall as a violation. The violation may cause model processor 115 to select a different location or orientation so that the distance of the control box from the wall is above a predefined value.
[069] Detecting a violation may be related to one or more hierarchies. For example, domains as described herein may be ordered and violations may be searched for or indicated or displayed according to a hierarchy. For example, a regulatory domain may be placed higher in a hierarchy than a cost domain. Accordingly, a conflict with a regulation may be indicated before (e.g., above or in a different color) than a violation in a cost domain (that may be an exceeding of a budget). Rules used for detecting violations may be hierarchically ordered. For example, a relevance or importance of a rule related to a fire protection system may be higher than those of a rule related to design (e.g., a mismatch of colors). Accordingly, violations may be detected, listed or otherwise manipulated or treated based on an associated hierarchy. Rules and/or domain may be ordered according to other definitions. For example, a first set of domains or rules may be a global set applicable to any model, a second set may be a project set and a third set may be a user set of rules which may come lower in a priority or hierarchy of rules or domains.
[070] Although as described herein, a bounding box or spatial volume representation may be associated with one or more construction elements, this may not always be the case. According to embodiments of the invention, a bounding box or spatial volume representation may not be associated with any construction element. For example, a bounding box or spatial volume representation may be related to, associated with, or represent, a criteria, a rule or a domain yet not be associated with any specific construction element. For example, in order to define a space within a model where no element is to be placed, located or present, a user may define a bounding box that may be a bounding box as described herein that may not be associated with any construction element. A bounding box or spatial volume representation that may be associated with a constraint, rule, domain or criteria may represent a spatial volume section or portion of a model. For example, a space defined by a digital construction model may be divided into a number of cells or spatial volume elements that may each be represented by a bounding box or a spatial volume element.
[071] A bounding box not associated with any construction element may be loosely referred to herein as an "empty bounding box" to denote a bounding box that may not include, or be associated with, a specific construction element. An "empty bounding box" may be located within a digital model space such that it includes a space where no elements are to be present. According to embodiments of the invention, domains, rules, constraints or criteria may be associated with an empty bounding box or with a spatial volume representation. For example, a rule associated with an empty bounding box may dictate that no element is to be included or present in the empty bounding box. In another case, a rule associated with an empty bounding box may dictate that at least one element is to be present in the empty bounding box. For example, an empty bounding box that may not be associated with any construction element may be placed in a space of a digital model and further associated with a rule that dictates that light from at least one light source is to be present in it. Accordingly, if no light (e.g., as detected by a bounding box associated with a light source in an operational domain) is present in the empty bounding box a violation may be detected.
[072] Accordingly, detecting a violation based on a spatial volume representation and a constraint may include detecting a presence of an element in an empty bounding box associated with a rule that forbids such presence or a lack of presence of an element in an empty bounding box. Other examples of empty bounding boxes that may be associated with any constraint, rule or domain may be an elevator shaft, an inner space of a pipe or duct, a tunnel, hole or any space n a digital model. In some cases, during a progress of a construction project, some spaces may need to be reserved. For example, representations of some construction elements may not yet be available at a certain stage, yet their general location (e.g., a room or a basement) may be known. In such case, a bounding box including the general location or space (e.g., the room) where an element not yet available or represented is to be placed may be defined and associated with a rule that is violated if any element is even partially present in the bounding box. Accordingly, a bounding box (e.g., an empty bounding box as described herein) may be associated with, or used to represent, any rule, constraint or domain, empty bounding boxes may be associated with domains. For example, a first empty bounding box associated with a first domain may be used when detecting violations related to the first domain and a second empty bounding box, associated with a second domain may be used when detecting violations related to the second domain. Similarly, empty bounding boxes may be displayed based on a domain selection.
[073] Detecting a violation may be an iterative process that may comprise detecting a violation in a low resolution, re-mapping or re-generating bounding boxes representations with higher resolution, and searching again for violations according to the re-generated bonding boxes. For example, a violation may be detected by detecting a collision of two bounding boxes on a plane as described herein. However, in some cases, by generating a higher resolution representation of one of the elements or both elements, it may be discovered that a violation does not exist. For example, a first element having a large round base and a large round top that may be similar to the base, if mapped by only two planes as described herein may be represented by a bounding box that may resemble a relatively symmetric cylinder along an axis from top to bottom. However, such element may be concaved, e.g., narrow in the center and wider towards the top and bottom, e.g., shaped like two cones, where a first cone has its base on the ground and the second cone is placed up side down on the first cone such that the large base of the second cone is the top of the combined element and the cone heads are connected. When using a first, low resolution representation, e.g., produced by only two planes, such first element may collide with another element that may be placed around the middle (e.g., where the two cone heads meet) of the first element. However, if the first element is re-mapped with a higher resolution, for example, using three instead of two planes, the narrow part in the middle of the first element may be revealed an no collision with the second element may be detected when a collision detection process is performed. According to some embodiments, a user may define resolution parameters. For example, the user may define a low resolution as the number of planes per unit length to be used when scanning elements and generating associated spatial volume representations. Likewise, a high resolution parameter may define the largest number of planes per unit length to be used in a mapping procedure. A step by which the number of planes is increased with each iteration may also be defined by a user. Provided with such parameters, model processor 115 may generate a first representation of elements according to the low resolution, and search for violations or conflicts. If a violation is detected, model processor 115 may increase the number of planes according to the step parameter, re-scan or re-map elements (e.g., all elements or only elements involved in a violation), generate new representations based on the re-scanning, and search for violations using the newly generated representations. Such process may be repeated until no violations are detected or until the high resolution parameter is reached. Accordingly, violations may be detected by using the lowest possible resolution, thus saving time and/or computational resources.
[074] As shown by block 230, the flow may include selecting a location and a position of the spatial volume representation in a digital construction model. For example, based on a size, shape or other geometrical parameters or aspects of a spatial volume representation and further based on available space in a construction model, model processor 115 may select a location and/or position for the spatial volume representation of a construction element. For example, a location and/or position of a spatial volume representation of a construction element may be automatically selected such that it does not collide with any other spatial volume representation of any other construction element. Model processor 115 may be configured or provided with any rules, criteria or configuration parameters that may be used by model processor 115 in order to determine or suggest to a user a location and position of a spatial volume representation as shown by block 230. Based on various parameters, rules or criteria, model processor 115 may perform smart guessing of a location and/or position of an element. For example, a rule may call for placing objects larger than a predefined size on a floor, placing ducts close to a ceiling etc. Accordingly, based on any rules or configuration, model processor may select or suggest a location, position or orientation of an element.
[075] As shown by block 235, the flow may include selecting a location and a position of the construction element in the spatial volume representation. As described herein, a spatial volume representation may indicate or be related to a construction element. In particular, a spatial volume representation may define or represent a space required for the construction element. However, in some cases, an element may be placed in more than one locations, positions or orientations within a related or associated spatial volume representation. In some embodiments, possibly after the location and other spatial aspects of the spatial volume representation are determined or accepted, a location, position or orientation of the associated construction element in the spatial volume representation may be selected, determined or suggested as shown by block 235.
[076] As shown by block 240, the flow may include determining a second space required for containing the construction element according to a second domain and determining a second set of domain parameters associated with the second space, the second set of domain parameters usable in a placement of the construction element in the digital construction model. For example, having determined a space required for an air conditioning duct in the physical domain, a second spatial volume representation may be determined or defined for the same duct in a specific regulatory domain. For example, a regulation may dictate that an air conditioning duct may not be placed within less than five inch (5") distance from any other element, e.g., walls, plumbing or wires. In such case, a spatial volume representation of the duct and associated with the regulatory domain may be different from the spatial volume representation associated with the physical domain, e.g., larger. Accordingly, a second set of domain parameters (or object generation function) associated with the regulatory domain and the duct may be generated. The second set of domain parameters may be used to determine or suggest a placement of the duct and/or generate and display a second spatial volume representation of space required to contain the duct. For example, any set of domain parameters or generation function may be used in order to detect violations or conflicts and determine a placement of the element. For example, a first bounding box related to physical space may be used to detect a collision in space of a construction element with other elements or objects in a digital construction model. A second conflict or violation may be detected according to a second domain, discipline or subject field. For example, a violation related to radiation emitted by wires may be detected using a second bounding box that may reflect a regulation, specification, agreement or other constraint, rule or criteria.
[077] As shown by the arrow connecting blocks 240 and 225, the operations of detecting a violation based on the spatial volume representation and a constraint associated with a domain, selecting a location and a position of the spatial volume representation in a digital construction model, and selecting a location and a position of the construction element in the spatial volume representation may be repeated for a construction element with respect to a second domain.
[078] As shown by block 245, the flow may include selecting to display one of the first and second spatial volume representations. For example, based on input or request from one of BIM users 110, an associated model processor 115 may display a spatial volume representation of a construction element according to a selected domain. Accordingly, a user may be provided with a spatial volume representation of an element according to any domain of choice.
[079] Although as shown by blocks 225, 230 and 235, detecting violations, selecting a location and a position of a spatial volume representation and of a construction element in its associated spatial volume representation may be performed automatically, in some embodiments, these (and other) operations may be performed based on a user request. For example, displaying a spatial volume representation may be performed based on a user request that may indicate the elements and domains of interest. Similarly, detecting violations or selecting a location and a position may be performed based on a request. For example, after observing a spatial volume representation that may be a bounding box, a user may drag the bounding box to a location of choice and then request that violations (if any exist) be detected and/or may request that an alternative location, position or orientation of the bounding box (or of the construction element within the bounding box) be selected or suggested.
[080] As shown by block 250, the flow may include generating a second spatial volume representation of a second element according to the first domain and detecting a violation associated with the first domain and the spatial volume representations (or associated domain parameters) of the first and second elements. It will be noted that although two construction elements are discussed herein, a construction project and associated model may comprise a large number of elements that may be represented by a spatial volume representation, bounding box, domain parameters or otherwise as described herein. Detecting a violation associated with a domain may comprise detecting a collision, intersection or another spatial relation of spatial volume representations of elements. For example, in a regulatory domain that may dictate specific spaces required for two elements in a building, the specific (domain related) spaces may be represented by two bounding boxes (or spatial volume representations) and a collision, intersection, inclusion or any other violation may be detected based on the spatial volume representations.
[081] Similarly, for a different domain, respective different spatial volume representations may be used. Accordingly, violations may be detected per a domain. In some embodiments, a spatial representation of an element related to more than one domain may be generated, displayed and used. For example, a sum, combination or aggregation of a number of spatial volume representations or bounding boxes may be generated such that a resulting spatial volume representation represents the outer boundaries of a number of spatial volume representations. Accordingly, a maximal space required for an element, taking all domains into account may be automatically determined, displayed and used in detecting a violation or conflict.
[082] A model including construction elements represented by domain parameters may be used in any applicable phase of a construction project and/or for any applicable purpose. For example, logical queries to model processor 115 may enable a user to be provided with a visual view of logical sections of a building, e.g., an elevator shaft, a floor etc. For example, one of BIM users 110 may request model processor 115 to provide her with all elements in the sixth floor, for walls in the sixth floor etc. Model processor 115 may examine ghost model 130, extract relevant elements and communicate them to the user. Since, at least in some cases, in order to provide a representation of an element a small number of domain parameters or a generation function may be required, the process of receiving an element's representation may be fast and require limited resources (e.g., computational or network resources). A view of a logical section may include a view of bounding boxes of elements as described herein. A view may further be according to a domain. For example, based on a request, a user may be provided with a view of a third floor of a building in a regulatory domain, a physical domain or according to both domains. A single construction element may be displayed by two or mode bounding boxes associated with a respective two or more domains.
[083] Metadata associated with representations of elements may associated elements with logical sections of a building. For example, elements in a floor may be associated with a tag or other parameter. Accordingly, a request related to the floor may be handled by locating all elements associated with a specific tag or parameter. In other embodiments, by selecting a space in a project, all or some of the elements in that space (or associated with the space) may be presented. Selection of a space or a logical section of a building may be related to operations other than displaying information. For example, violation detection may be based on a selection of interest. For example, a user may select to detect violations in the second floor of a building and further be interested in an energy domain (for example, heat emission or absorption of elements). Embodiments of the invention may detect violations related to elements according to as domain and further based on an indicated interest, e.g., an indication of a logical section, a set of elements, a space or other indications.
[084] In one flow, a designer or user may start by planning spaces using boundary boxes of elements, e.g., in the physical domain. A user may select elements that may be rooms, corridors, plumbing installation etc. An automatic zoning feature of embodiments of the invention may automatically place elements for which one or more rules or an indication specify a location. Zoning may also place elements based on some or general information, logical considerations etc. Some elements requested by a user may be placed in a center of a space of a model expecting input from a user indicating a location for placement. In response to a query (e.g., to model processor 115) requesting to be provided with a space required for selected elements, a space (that may be related to a size or other geometrical parameters or aspects of a building, floor etc. may be provided. For example, by examining the boundary boxes of selected elements and the space required (according to one or more domains) a total space required for including selected elements may be computed. Elements may be replaced and the process of computing an initial or minimal space may be repeated until an initial sketch, plan or design is achieved.
[085] In some cases, after obtaining an initial sketch or design, queries related to violations in various domains may be made. Model processor 115 may detect violations according to one or more domains per requests or queries. Violation detection may be automatic, e.g., upon a design change or update, a modification of a spec, a modification of an element, a new or modified requirement, a progress of a project, or any applicable change. Operations such as automatic placement, violation detection or displaying elements may be made with respect to a logical selection, e.g., a selected space or part of a building, a floor, a shaft etc. An automatic process may comprise selecting a placement for an element, detecting a violation, suggesting an alternative placement or position, receiving input indicating acceptance or rejection of a suggestion or placement, or input instructing to ignore rules or domains etc. Accordingly, embodiments of the invention may be used as a simulation tool as being provided with, sharing or otherwise working with an outline of a construction project may be an extremely fast and light weight process.
[086] By representing construction elements by domain parameters and/or bounding boxes, a number of advantages may be realized. As discussed, the amount of data manipulated, stored, processed and/or communicated may be limited dramatically compared to prior art systems or applications. In addition, a contributor may preserve his or her private information while still sharing required information. For example, a plumber may not require detailed information of elements in an air conditioning system and may find bounding boxes representing the air conditioning system sufficient for his design or planning needs. Accordingly, a provider of the air conditioning system may need not disclose detailed information of his system but rather, keep them as trade secrets.
[087] A library of representations may be provided. For example, bounding boxes representing standard or other elements may be provided and used, e.g., in an initial design phase. For example, bounding box representations of a standard or specific size bed, bath, staircase or any other element may be included in a library, may be selected by a user and used in a model. Domains, spatial volume representations and/or rules may be defined by a user, stored, shared and used or displayed, e.g., as described herein. For example, a contractor of a fire protection system may define a domain related to fire protection aspects, name or label the domain (e.g., using free text to name the domain as "my domain" or "fire domain") and associate the domain and elements with spatial volume representations and rules. For example, a user defined spatial volume representation related to the area covered by a fire sprinkler may be associated with a fire sprinkler. A rule defined by the user may dictate that a presence of a fire sprinkler (e.g., when represented by the user defined spatial volume representation above) is required in specific spaces or all spaces of a slice or a model space. Accordingly, if an area is not covered by any fire sprinkler, a violation may be detected and indicated. Likewise, automatic placement of fire sprinklers may be based on their user defined spatial volume representation, e.g., such that an optimal placement of fire sprinklers is achieved.
[088] According to embodiments of the invention, a two dimensional plane may be defined in a space in a digital construction model and a violation may be detected based on the plane, e.g., by detecting a presence of a spatial volume representation on the two dimensional plane or an intersection of a bounding box with the two dimensional plane. More than one plane may be used. For example, a number of planes, possibly parallel, may be defined and a violation may be detected by detecting a presence of a spatial volume representation on at least one of the planes or a projection of a spatial volume representation on at least one of the planes. A violation related to two or more construction elements may be detected by detecting a presence of at least two spatial volume representations in the same location on a two dimensional plane. For example, a collision of elements according to a domain, a penetration of one element into a space of another element, an inclusion of one element in another element may be detected by observing a projection of the elements on a two dimensional plane. It will be noted that violation in any domain may be detected using planes as described herein. Since any bounding box related to any domain may be used in conjunction with planes as described herein, violations in any domain or according to any rule may be detected.
[089] A violation may be a presence of an element (or part of an element) in a location and may be detected by observing an intersection of a bounding box associated with the element and a plane. A violation may be a lack of presence or failure to meet another criteria. For example, in a specific domain, an element may be required to be present in a specific location. For example, a heating element may be required to produce heat in a predefined space. By placing a two dimensional plane, e.g. near a border of the predefined space and observing a bounding box related to an energy domain of the element does not intersect with the plane, a violation may be detected.
[090] A two dimensional plane may be automatically defined based on an indication of a user. For example, a user may define an axis (e.g., by clicking two points in a model space) and indicate a location on the axis (e.g., by clicking a point on the axis). Based on such input, model processor 115 may define a plane that includes the indicated location and that is also perpendicular to the defined axis. In other embodiments, planes may be automatically defined based on predefined axes, e.g., a horizontal or vertical axis. [091] According to some embodiments of the invention, slices, that may be portions or segments of a space defined by a model, may be defined, generated and used in a number of ways. In a particular case, a slice may be defined by two dimensional planes in a space defined by a construction model. For example, a slice may be, or may be defined by, the space confined between or by a first and second, parallel, two dimensional planes. For example, an axis in a space in a digital construction model may be defined automatically by model processor 115, may be preconfigured or defined by a user, and one or more planes, perpendicular to the axis, may be defined automatically or based on a request. In some embodiments, a slice may be defined by two dimensional planes which are not parallel, e.g., do not coincide with planes perpendicular to an axis or strait line.
[092] Reference is now made to Fig. 4, which schematically shows construction elements and planes according to embodiments of the invention. Elements 410 and 420 may be any construction elements. Simple objects are shown in Fig. 4 for the sake of clarity, however, it will be understood that any construction elements are applicable.
[093] As shown, two exemplary planes 430 and 440 may be defined in a space containing elements 410 and 420 such that they intersect with elements 410 and 420. Although only two parallel planes are shown, any number of planes may be defined, e.g., in order to increase a resolution. Planes may be defined along or perpendicular to any axis, and may not necessarily be parallel. A number of purposes may be served by planes as further described herein. Planes such as planes 430 and 440 may be used in a number of ways and for a number of purposes by embodiments of the invention. For example, planes may be used in order to map or deduce a shape or other aspects of elements. For example, elements 410 and 420 may be defined by an external system, e.g., a commercial BIM application or they may even be defined by a data sheet or other specification. In one embodiments, in order to determine the shape, size, volume or other geometrical parameters or aspects of elements, e.g., elements 410 and 420, for example, in order to generate a spatial volume representation for elements, planes such as planes 430 and 440 may be used. For example, by examining a data sheet information that includes parameters or data defining or describing elements 410 and 420 and determining the projections of these elements on planes 430 and 440, model processor 115 may determine the shape, size, volume or other geometrical parameters or aspects of elements 410 and 420.
[094] Reference is now made to Fig. 5, which schematically shows projections of elements 410 and 420 on planes 430 and 440 according to embodiments of the invention. It will be noted that projections 510, 510A, 520 and 520A may be generated, e.g., by model processor 115, based on any data. For example, although a 3D view of elements 410 and 420 is shown in Fig. 4, model processor 115 may not be provided with such view or information. For example, model processor 115 may be provided with a set of parameters, a set of 2D drawings or any other data and may compute, based on received data, projections 510, 510A, 520 and 520A.
[095] As shown, projection 510 on plane 430 is similar or identical to projection 510A on plane 440. Accordingly, by noting that a projection of an element (element 410 in this case) does not change from a first to a second plane which are spatially separated, model processor 115 may determine that the element is symmetric along the axis to which the two planes are perpendicular. In the exemplary case depicted by Figs. 4 and 5, model processor 115 may deduce, by examining the projections on planes 430 and 440 (and possibly, additional planes not shown) that element 410 is a cube. Although, for the sake of simplicity, only two planes are shown, it will be understood that any number of planes, that may be spaced at any distance from each other may be used in various scenarios. For example, in order to determine the height of element 410, more planes may be used and the height of element 410 may be determine by noting that, at some height, no projection of element 410 is present. In some cases, a mapping of elements or determining parameters or aspects such as size, volume, shape, location or other geometrical parameters or aspects may require a high resolution. Accordingly, the number of planes be increased and/or the respective distance between planes may be decreased. Configuration parameters such as number of planes per unit length may be set or selected by a user or they may be set automatically.
[096] In some embodiments, parameters defining a plane may be used, e.g., by model processor 115, thus planes may be virtual planes. For example, parameters defining an orientation of a plane in space, its distance from a neighboring plane, its size and the like may be used by model processor 115. Provided with any required parameters and with data required in order to determine a presence of an element in space, projections of the element on a virtual space may be calculated or computed by model processor 115. In some embodiments, projections of elements on planes may be used to generate or define a spatial representation volume, e.g., as described herein. Spatial representation volumes or bounding boxes associated with any domain may be generated based on any type of data. For example, based on provided data, a bounding box related to a regulatory or an operational domain may be generated or defined. For example, based on a specification of heat, light or radiation emitted by an element, model processor 115 may generate a related bounding box.
[097] In another embodiment, planes may be used in order to provide a 2D view and/or workspace that may be better suited for some tasks or project phases. For example, projections 51 OA and 520A on plane 440 may be generated based on input from a user. For example, the user may need to view the placement of elements 410 and 420 on the floor or ground. In such case, the user may select plane 440 to be at the floor's or ground's level such that projections of elements 410 and 420 reflect their location on the ground as well as the area covered by these elements. Any location or orientation of a plane may be selected by a user. For example, instead of a placement of elements 410 and 420 on the ground, the user may need to be provided with a 2D view of projections of elements 410 and 420 at a specific height other than the ground. Accordingly, the user may select a different height for plane 440 and be provided with a projection of elements 410 and 420 at the required height.
[098] A 2D plane and projections, e.g., as shown by 440 may be used as a work environment. For example, a user may move (e.g., by a drag and drop operation using a GUI tool) elements 410 and 420 by moving their projections. Parameters or data related to operations performed on, or with relation to, a 2D plane may be provided to model processor 115 that may update a model accordingly. For example, by moving projection 520A, element 420, and/or a bounding box associated with element 410, may be moved accordingly in a digital model space (e.g., ghost model 130). Likewise, by changing a projection, the respective element may be changed. For example, by resizing projection 51 OA, element 410 may be resized. Any applicable manipulation of an element may be performed by manipulating a projection of the element on a 2D plane. For example, changing material used for manufacturing the elements (e.g., from wood to steel), changing a shape of the elements and the like. Any operation performed on a projection on a 2D plane as described herein may be attributed to the element. For example, model processor 115 may be provided with any data, parameters or information related to a manipulation of a projection and may apply applicable modifications to the element and/or its bounding box representation. Accordingly, a 2D plane may be used as a workspace or work environment for a variety of purposes.
[099] A 2D plane may be used as a preview tool. For example, a user may need a quick overview of placement of elements in a project. By selecting a location of a plane, the user may be provided with a quick overview of elements on a 2D plane. [0100] A 2D plane may include projections of elements and/or bounding boxes based on a number of rules and selections. For example, a user may specifically select a number of elements or bounding boxes the projections of which are to be presented or provided on a 2D plane. For example, a contractor may request to be provided with a 2D plane only including projections of plumbing system elements or selected elements in a plumbing system. Categories (that may be user defined) may be used to populate a 2D plane. For example, categories such as electrical equipment category, wiring, plumbing, air conditioning etc. A 2D plane may be populated with elements based in ownership. For example, a user may cause a 2D plane to include all but only elements owned by a specific user. For example, metadata associated with elements and/or bounding boxes may indicate an owner (that may or may not be the creator or provider) of an element. A 2D plane may be created, e.g., based on a request, such that only projections of elements owned by indicated owners are provided on the 2D plane.
[0101] Generally, a 2D plane may be generated, e.g., by model processor 115, by examining a model and determining a presence of elements in the model on the 2D plane. In particular, bounding boxes representations may be examined, their relation to a plane may be determined, e.g., their intersection with the plane determined, and, based on a calculated intersection with the 2D plane, their projections on the 2D plane may be determined. Projections on a 2D plane may be according to a rule, a domain, a category, or any constraint or criteria. For example, a rule may be associated with a 2D plane and projections may be generated and placed on, or associated with, the 2D plane based on the associated rule. For example, a rule may define attributes or parameters of elements the projections of which are to be generated and associated with the plane. For example, a rule may select elements of specific types, category or based on any information that may be stored as metadata of the element. A 2D plane may be associated with a domain. For example, based on an association with a domain, projections may be generated and placed on a 2D plane. For example, by associating a 2D plane with a regulatory domain, projections on the 2D plane may reflect bounding boxes of elements as defined in the regulatory domain. Accordingly, a 2D plane may be generated according
[0102] In yet other embodiments, planes may be used in order to define and/or generate slices of a space, e.g., spatial slices and/or logical slices. A slice as referred to herein may be any portion, segment or part of a space in a digital model. A slice may include any element or part of an element included in the space defined by, or included or contained in a slice. Various slices may be defined and/or generated. For example, a slice may be or contain a portion of a space, in other cases, a slice may include a logical entity, e.g., a building's floor, an elevator shaft, etc.
[0103] Reference is now made to Fig. 6, which schematically shows a slice of a space according to embodiments of the invention. As shown and with respect to Fig. 4, planes 430 and 440 may be used to define and generate a slice as shown by 630. As shown, slice 630 may include objects 610 and 620 which may be parts of (possibly a representation of) elements 410 and 420 shown in Fig. 4. A slice such as slice 630 may be provided to a user, e.g., as a work environment. For example, a user may only need a section of a model for his or her work, accordingly, a section or a slice of a space such as slice may be provided. In order to be provided with a slice, a user may select a location, orientation, size, relative distance or other parameters that may be used to define two planes, and a slice or space contained by such two planes may be provided to the user. A slice may be manipulated, e.g., rotated, enlarged or otherwise manipulated as known in the art with respect to 3D objects or views. In a capacity of a work environment, a slice may be used to relocate elements, resize elements or otherwise manipulate elements.
[0104] For example, a user may move (e.g., by a drag and drop operation using a GUI tool) objects 610 and 620 and thus cause a movement of elements 410 and 420 respectively. Parameters or data related to operations performed on, or with relation to, elements or objects in a slice may be provided to model processor 115 that may update a model accordingly. For example, by moving element 610, element 410 may be moved accordingly in a digital model space (e.g., ghost model 130). Likewise, by changing a size, the size of the respective element may be changed. For example, by resizing element 620, element 420 may be resized.
[0105] In some embodiments, a slice defined by a first and second planes may be such that at least one construction element, or bounding box is included in the slice. For example, a slice may be automatically defined such that an entire floor of a building, is included in the slice. A slice including a logical entity such as a floor of a building, a room or a ventilation system may include all elements in the logical entity or some of the elements. For example, based on a user request a slice including a room and any wiring elements in the room but excluding plumbing systems may be generated and provided. In order to be provided with logical slices, a user may indicate a logical entity or define at least two planes by which the logical entity is confined, indicate or select element types that are to be included or excluded (or select all or none to include all elements or no elements respectively). Such selections may be provided to model processor 115 that may examine a digital model (e.g., ghost model), determine the slice's dimensions, determine with elements (or parts thereof) are to be included, generate a slice and provide the user with the slice. In some embodiments, possibly based on a user selection, a slice may be generated or defined such that it includes whole elements. For example, a selection or check box in a GUI tool may enable a user to select an "include entire elements" option. In such case, model processor may determine which elements are at least partially included in an initial slice that may be defined according to two 2D planes as selected by a user and further automatically increase the distance between the planes until all elements or parts thereof, included in the initial slice are included in a final slice which may then be generated and provided to the user. For example, after observing a location of an element or a bounding box, model processor 115 may place two planes such that the element or bounding box are contained between the two planes.
[0106] Selecting a section or a portion of a space in a model may be based on more than two planes. For example, a room may be selected by defining four planes that may coincide with the room's walls. Rules may be associated with slices. Slices or two dimensional planes may be used in a detection of violations. For example, a violation may be detected by detecting a presence of a construction element (or a bounding box) in a space defined by a slice. For example, an exemplary rule that may be associated with a slice may dictate that no element is to be present in the slice, that only specific element types may be present in the slice or that at least one element of a specific type must be present in a slice. Accordingly, a presence (or lack thereof) of a bounding box in a slice or a space defined or enclosed by two or more planes may be interpreted as a violation.
[0107] Another method of detecting a violation may be determining an intersection of a plane with a spatial representation of an element, possibly according to a rule. For example, a rule may define a height range in which specific elements may be placed. For example, a rule related to light bulbs may dictate they may be placed within a specific distance from a ceiling. By defining a plane in a distance from a ceiling that is outside the specific distance, and detecting an intersection of a bounding box representing a light bulb, a violation of the rule may be detected. Any violation, related to any rule and/or domain may likewise be detected. For example, a violation in an energy domain may be detected by detecting an intersection of an element's bounding box that is related to an energy domain (e.g., representing heat emitted by the element) with a plane located where heat emitted by an element is not permitted to be present according to a rule. [0108] Using planes as described herein, a violation may be detected by processing a two dimensional object or plane. For example, an intersection of a bounding box with a two dimensional plane may be detected by examining or processing information related to a two dimensional projection of the bounding box on the two dimensional plane. Accordingly, the information needed to be processed may be two dimensional information. As may be readily understood, two dimensional processing may be far superior, e.g., in terms of time and/or computational resources to three dimensional computations, e.g., as performed by prior art platforms. Any visual inspection tools, e.g., as known in the art may be used in order to detect a violation. For example, a presence in a space defined by a slice, or an intersection may be detected using any visual inspection tool.
[0109] A view may be provided to a user based on one or more planes or slices. For example, a view of a space confined by the at least a first and second two dimensional planes may be provided. Accordingly, a user may request, and be provided with, views of sections of a model based on planes and slices as described herein. In one embodiment, defining or selecting a plurality of parallel planes may be according to a logical request related to a logical section. For example, two planes may be selected such that an entire floor of a building (as represented in a model) is confined by a space between the two planes. A view of the space thus defined may be provided to a user or used in detecting a violation, e.g., a violation may be detected in a space defined based on planes which, in turn, are defined based on a request indicating a logical entity in a model. A view provided may be a 2D view, e.g., a top view provided by a plane or it may be a 3D view. Based on a user request, model processor 115 may provide a 3D view of a slice, bounding boxes or a 3D view of detailed information of an element.
[0110] Reference is now made to Fig. 3, which schematically shows projection on planes according to embodiments of the invention. As shown, projections 315 and 316 may be observed on two planes 310 and 320. Projections 315 and 316 may be projections of bounding boxes or spatial volume representations associated with construction elements as described herein. Planes 310 and 320 may be planes defined in a space in a digital construction model. For example, planes 310 and 315 may be parallel planes, e.g., perpendicular to a horizontal axis in the digital construction model.
[0111] In a particular case, projections 315 and 316 are projections of bounding boxes of two construction elements. As shown by 310, the projections 315 and 316 do not intersect. As shown by 320, in another plane, projections 315 and 316 do intersect. [0112] For example, projection 316 may be associated with a conic shaped bounding box, which, at the height of plane 310 (e.g., from a reference point, e.g., ground), does not intersect with projection 315. Plane 320 may be lower than plane 310 (e.g., near the reference point) where the bounding box associated with projection 316 is of larger size and accordingly, the projections intersect.
[0113] Model processor 115 and/or other units or modules may generate planes and projections, e.g., as shown in Fig. 3. Various configuration parameters, selections, indications or requests may be received from a user and planes (or slices defined by planes) may be defined, generated, used and/or processed according to user input. A GUI tool may enable a user to graphically provide input to model processor 115.
[0114] For example, a user may select the distance between planes. For example, in spaces where a large number of construction elements are present, a user may select a high number of planes per unit length and select less planes per unit length for spaces where few elements are present. A user may select an axis perpendicular to which planes may be defined.
[0115] Planes may be defined based on a request related to logical entities. For example, by indicating a floor or room, planes may be automatically defined such that the room, floor or other indicated logical entity is contained between the planes.
[0116] A space contained between or by two or more planes may be referred to herein as a slice. A slice may be used as a work space.
[0117] For example, a user may define a slice and be presented with a 2D or 3D view of the slice. A user may associate a domain with a slice to cause the bounding boxes of elements in the slice to represent the related elements according to the associated domain. A user may associate a slice with a set of rules, e.g., placement rules used for automatic placement of elements, violation rules used for violation detection etc. A user may indicate element selection criteria for a slice or plane. For example, a user may specifically select elements (or associated bounding boxes) to be included in a slice or plane or a user can select type of elements to be included or excluded from a slice or plane. For example, a user may request to omit plumbing systems from a slice or include only wirings in a slice or plane. Bounding boxes may be generated and placed in a slice, e.g., by automatic zoning or placement according to a domain or rule. Accordingly, a slice may be used to generate a user defined workspace. By defining a slice, a user may be provided with a space that may be sufficient for the user's needs yet light weight in terms of data and processing, since only a part (slice) of the entire model may be provided (e.g., communicated over a network), loaded into a computer memory and processed by a computer's processor. A slice or plane may be stored and used, e.g., at a later time in order to track changes or progress.
[0118] Upon receiving a plane definition parameter (e.g., an orientation and location of a plane, received from a user), model processor 115 may examine ghost model 130 or element parameter sets 135 and determine a projection of a spatial volume representation of an element on the plane. Model processor 115 may generate a pixel map indicating the projection or presence of a bounding box on a plane. A resolution of a pixel representation of a projection may be user defined. For example, in order to save storage space, communication, processing time and/or memory, a user may request a low resolution of pixel representation for some spaces in a model. For example, pixel cells of one, four or eight pixels may be defined. A resolution may be according to cells, e.g., the larger the cells, the lower the resolution.
[0119] By utilizing projections on 2D planes as described herein, embodiments of the invention may process 2D information, e.g., a pixel array. For example, in order to determine a conflict or violation, 2D information related to a 2D plane as described herein may be processed. The advantages of processing 2D information rather than 3D information (e.g., 3D processing as done by current platforms in order to detect violations) are well known in the art.
[0120] A violation may be determined by detecting a presence of two or more projections (associated with two or more elements) in a cell. As the projections may represent elements in a specific domain, a violation determined by detecting a presence of two or more projections in a cell may be for a specific domain, or a number of domains if the projections represent elements in a number of domains. A violation may be detected according to a rule. For example, a rule may dictate that an inclusion is a violation but an intersection is not. For example, in an energy domain, an element that produces heat may not be included within another element, however, heat emitted may intersect with other elements. Various reports or indications may be generated, recorded or displayed. For example, a violation report may be produced, listing some or all violations detected. A report may be automatically stored, mailed or otherwise manipulated or handled.
[0121] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

Claims

What is claimed is:
1. A method of providing a digital construction model by a computer processor, the method comprising:
determining a first space required for containing a construction element according to a first domain;
determining a first set of domain parameters associated with the first space, the first set of domain parameters usable for generating a first spatial volume representation of the space according to the first domain; and
using the first set of domain parameters in a placement of the construction element in the digital construction model.
2. The method of claim 1, wherein at least one of the set of domain parameters is a coordinate.
3. The method of claim 1, wherein the set of domain parameters consists of a plurality of relative coordinates.
4. The method of claim 1, comprising displaying the spatial volume representation by providing a visual representation of at least some domain parameters included in the first set of domain parameters.
5. The method of claim 1, comprising:
determining a second space required for containing the construction element according to a second domain;
determining a second set of domain parameters associated with the second space, the second set of domain parameters usable for generating a second spatial volume representation of the second space; and automatically selecting to use one of the first and second spatial volume representations in a placement of the construction element in the digital construction model.
7. The method of claim 5, wherein selecting to use one of the first and second spatial volume representations is based on a user request.
8. The method of claim 5, comprising selecting to display one of the first and second spatial volume representations based on an indication received from a user.
9. The method of claim 1, comprising detecting a violation based on the spatial volume representation and a constraint associated with the domain.
10. The method of claim 9, wherein the violation is related one of: a collision, a penetration, an inclusion, a location, a presence, lack of presence and a failure to meet a criterion.
11. The method of claim 1, comprising:
determining a third space required for containing a second construction element
according to the first domain;
determining a third set of domain parameters associated with the third space, the third set of domain parameters usable for generating a spatial volume representation of the third space; and
detecting a violation based on the first and third spatial representations.
12. The method of claim 1, comprising:
associating the construction element with data comprising detailed information related to the construction element; and
using the detailed information in a placement of the construction element in the digital construction model.
13. The method of claim 12, comprising displaying a detailed view of the construction element based on the detailed information.
14. The method of claim 1, wherein the domain is selected from the list consisting of: a regulatory domain, a radiation domain, design domain, requirement domain, a space domain, an energy domain, a cost domain, an electro magnetic field domain, an operational domain and a physical domain.
15. The method of claim 1, wherein the construction element is associated with metadata and wherein a placement of the construction element in the digital construction model is based on the metadata.
16. The method of claim 1, comprising automatically selecting a location and a position of the spatial volume representation in the digital construction model.
17. The method of claim 1, comprising automatically selecting a location and a position of the construction element in the spatial volume representation.
18. The method of claim 1, wherein determining the set of domain parameters comprises converting an external representation of the construction element to the set of domain parameters.
19. The method of claim 1, comprising converting the set of domain parameters to an external representation of the construction element.
20. The method of claim 1, comprising determining at least one object generation function usable for generating the first spatial volume representation and using the object generation function in a placement of the construction element in the digital construction model.
21. The method of claim 1, comprising:
defining a two dimensional plane in a space in the digital construction model; and detecting a violation by detecting presence of a spatial volume representation on the two dimensional plane.
22. The method of claim 21, comprising:
defining a plurality of parallel, two dimensional planes, the planes included in a space in the digital construction model; and
detecting a violation by detecting a presence of a spatial volume representation in a location on at least one of the plurality of two dimensional planes.
23. The method of claim 21, comprising detecting a violation by detecting a presence of at least two spatial volume representations in a location on the two dimensional plane.
24. The method of claim 21, wherein a presence of the spatial volume representation on a plane is detected by examining a projection of the spatial volume representations on the plane.
25. The method of claim 22, wherein a distance between the planes is according to input received from a user.
26. The method of claim 21, wherein detecting the violation is performed using a visual inspection tool.
27. The method of claim 22, comprising providing a view of a space confined by the at least some of the two dimensional planes.
28. The method of claim 22, comprising selecting the plurality of parallel planes according to a logical request related to a logical section.
29. The method of claim 1, wherein determining the first space required for containing the construction element comprises:
defining two or more planes in a space of a digital model;
determining a respective two or more projections of an element on the two or more planes; and
determining the space required to include the element based on the two or more projections.
PCT/US2010/061756 2009-12-23 2010-12-22 System and method for providing a digital construction model WO2011079183A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL202908 2009-12-23
IL20290809 2009-12-23

Publications (1)

Publication Number Publication Date
WO2011079183A1 true WO2011079183A1 (en) 2011-06-30

Family

ID=44196136

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/061756 WO2011079183A1 (en) 2009-12-23 2010-12-22 System and method for providing a digital construction model

Country Status (1)

Country Link
WO (1) WO2011079183A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154942A1 (en) * 2013-03-25 2014-10-02 Mikkelin Ammattikorkeakoulu Oy An action space defining object for computer aided design
DE102013106587A1 (en) * 2013-06-24 2014-12-24 Hutchinson Aerospace GmbH Method for collision checking and computer program product
CN110210141A (en) * 2019-06-04 2019-09-06 宝业湖北建工集团有限公司 Model collision detection method, device and electronic equipment based on BIM technology
CN110717210A (en) * 2019-09-09 2020-01-21 中国中元国际工程有限公司 Revit-based space integration classification method and device
CN111368354A (en) * 2019-09-09 2020-07-03 中国铁路设计集团有限公司 Design method of bridge gap under BIM (building information modeling)
CN115456206A (en) * 2022-08-02 2022-12-09 中建铁路投资建设集团有限公司 BIM + GIS-based tunnel construction visual control method and system
CN116992547A (en) * 2023-09-25 2023-11-03 中国电建集团贵阳勘测设计研究院有限公司 Three-dimensional building modeling method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040239494A1 (en) * 2003-05-14 2004-12-02 Kennedy John F. Systems and methods for automatic energy analysis of buildings
US6859768B1 (en) * 2000-03-03 2005-02-22 The Beck Technology Computer-implemented automated building design and modeling and project cost estimation and scheduling system
US20050203718A1 (en) * 2004-03-12 2005-09-15 Carek Rick A. Knowledge management system with integrated product document management for computer-aided design modeling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859768B1 (en) * 2000-03-03 2005-02-22 The Beck Technology Computer-implemented automated building design and modeling and project cost estimation and scheduling system
US20040239494A1 (en) * 2003-05-14 2004-12-02 Kennedy John F. Systems and methods for automatic energy analysis of buildings
US20050203718A1 (en) * 2004-03-12 2005-09-15 Carek Rick A. Knowledge management system with integrated product document management for computer-aided design modeling

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154942A1 (en) * 2013-03-25 2014-10-02 Mikkelin Ammattikorkeakoulu Oy An action space defining object for computer aided design
US10296667B2 (en) 2013-03-25 2019-05-21 Kaakkois-Suomen Ammattikorkeakoulu Oy Action space defining object for computer aided design
DE102013106587A1 (en) * 2013-06-24 2014-12-24 Hutchinson Aerospace GmbH Method for collision checking and computer program product
CN110210141A (en) * 2019-06-04 2019-09-06 宝业湖北建工集团有限公司 Model collision detection method, device and electronic equipment based on BIM technology
CN110717210A (en) * 2019-09-09 2020-01-21 中国中元国际工程有限公司 Revit-based space integration classification method and device
CN111368354A (en) * 2019-09-09 2020-07-03 中国铁路设计集团有限公司 Design method of bridge gap under BIM (building information modeling)
CN115456206A (en) * 2022-08-02 2022-12-09 中建铁路投资建设集团有限公司 BIM + GIS-based tunnel construction visual control method and system
CN116992547A (en) * 2023-09-25 2023-11-03 中国电建集团贵阳勘测设计研究院有限公司 Three-dimensional building modeling method and system
CN116992547B (en) * 2023-09-25 2023-12-12 中国电建集团贵阳勘测设计研究院有限公司 Three-dimensional building modeling method and system

Similar Documents

Publication Publication Date Title
US11599693B2 (en) Structural design systems and methods to define areas of interest for modeling and simulation-based space planning
Irizarry et al. Optimizing location of tower cranes on construction sites through GIS and BIM integration
WO2011079183A1 (en) System and method for providing a digital construction model
Xu et al. A framework for BIM-enabled life-cycle information management of construction project
Shojaei et al. Visualization requirements for 3D cadastral systems
US7295955B2 (en) Computer-assisted evaluation of blueprints using computer-storable evaluation-criteria
Dahal et al. An agent-integrated irregular automata model of urban land-use dynamics
US20120259594A1 (en) Bim based 3-d visualization
Sun et al. Evaluating the geometric aspects of integrating BIM data into city models
El-Hallaq et al. Enhancing sustainable development through web based 3D smart city model using GIS and BIM. Case study: Sheikh hamad city
Emamgholian et al. Exploring the applications of 3D proximity analysis in a 3D digital cadastre
Koch et al. BIM-based augmented reality for facility maintenance using natural markers
Barbato et al. GIS-BIM interoperability for regeneration of Transurban areas
Liu et al. The path from BIM to a 3D indoor framework–a requirement analysis
Puspitasari et al. A reliable method for visibility analysis of tall buildings and skyline: A case study of tall buildings cluster in Jakarta
Park et al. A comparison of network model creation algorithms based on the quality of wayfinding results
Chen et al. Smart camera placement for building surveillance using OpenBIM and an efficient Bi-level optimization approach
Leng et al. A data integration and simplification framework for improving site planning and building design
US8914256B1 (en) Analytical space model for interfacing with energy analysis, facilities management or other analysis applications
Gotlib et al. Cartographical presentation of BIM models
Bande et al. Virtual Reality Technology Trends Current and Future Applications, an Interdisciplinary Overview
Mustorpha et al. A bim oriented model to a 3d indoor gis for space management–a requirement analysis
Petrova-Antonova et al. Towards a semantic 3D model of Sofia City
Ermolenko Algorithm-aided Information Design: Hybrid Design approach on the edge of Associative Methodologies in AEC
Demir et al. GIS-based procedural modeling in contemporary urban planning practice

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: 10840111

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: 10840111

Country of ref document: EP

Kind code of ref document: A1