Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ENRICHING BUILDING INFORMATION MODELING DATA
Document Type and Number:
WIPO Patent Application WO/2015/000126
Kind Code:
A1
Abstract:
Devices, methods, and systems for enriching building information modeling data are described herein. One method includes providing a first selectable building domain via a graphical user interface, wherein the first selectable building domain includes a first layer template and a first plurality of selectable device templates, and providing a second selectable building domain via the graphical user interface, wherein the second selectable building domain includes a second layer template and a second plurality of selectable device templates.

Inventors:
KIFF LIANA M (US)
RAYMOND MICHELLE (US)
CHEN HENRY (US)
DU JIANGENG (US)
XIA YAN (US)
Application Number:
PCT/CN2013/078639
Publication Date:
January 08, 2015
Filing Date:
July 02, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HONEYWELL INT INC (US)
International Classes:
G06F3/048
Foreign References:
US20110209081A12011-08-25
US20120284596A12012-11-08
US20110098985A12011-04-28
Other References:
See also references of EP 3017355A4
Attorney, Agent or Firm:
CHINA PATENT AGENT (HK)LTD. (Great Eagle Center23 Harbour Road, Wanchai, Hong Kong, CN)
Download PDF:
Claims:
Claims

What is claimed:

1. A method (1088) for enriching building information modeling data, comprising:

providing (1090) (430) a first selectable building domain via a graphical user interface (104), wherein the first selectable building domain includes:

a first layer template; and

a first plurality of selectable device templates (444); and providing (1092) (430) a second selectable building domain via the graphical user interface (104), wherein the second selectable building domain includes:

a second layer template; and

a second plurality of selectable device templates (444).

2. The method (1088) of claim 1 , wherein the first layer template includes a relationship between a first layer of a graphical rendering and at least one of:

the first selectable building domain; and

a device of the first selectable domain.

3. The method (1088) of claim 2, wherein the second layer template includes a relationship between a second layer of the graphical rendering and at least one of:

the second selectable building domain; and

a device of the second selectable domain.

4. The method (1088) of claim 1 , wherein the method (1088) includes displaying the first plurality of selectable device templates (444) via the graphical user interface (104) responsive to receiving a selection of the first selectable building domain.

5. The method (1088) of claim 1 , wherein the first selectable building domain is at least one of: a heating, ventilation, and air conditioning (HVAC) system, a security system, a lighting system, a utility monitoring system, and a life safety system.

6. The method (1088) of claim 1 , wherein the first plurality of selectable device templates (444) includes at least one of: a smoke detector, a speaker, a pull station, a diffuser, a controller, a variable air volume component, an air handling unit, and a chiller.

7. The method (1088) of claim 1 , wherein the method (1088) includes allowing a user to modify a respective name associated with each of:

the first selectable building domain (214);

the first layer template (226);

the first plurality of selectable device templates (220);

the second selectable building domain (214);

the second layer template (226); and

the second plurality of selectable device templates (220).

8. The method (1088) of claim 1 , wherein the method (1088) includes associating a particular device type with the first selectable building domain subsequent to a selection of the first selectable building domain from a plurality of building domains (430).

9. The method (1088) of claim 8, wherein the method (1088) includes associating a device of the particular device type with a plurality of geometric features (670, 672, 674, 676, 780, 782, 784, 880, 884, 986) of a CAD object of a graphical rendering.

10. The method (1088) of claim 9, wherein the method (1088) includes: extracting (446) the device of the particular device type from the CAD object of the graphical rendering; and

exporting the extracted device to a building information modeling rendering.

Description:
ENRICHING BUILDING INFORMATION MODELING DATA

Technical Field

The present disclosure relates to devices, methods, and systems for enriching building information modeling data.

Background

A Building Information Model (BIM) can describe a building structure (e.g., walls, doors, elevators, stairwells, location, shape and/or boundaries of compartments, etc.) and/or devices therein as semantic objects grouped into standard classes. BIM data can be used to generate 3D graphical renderings of buildings, for instance, and can be used in applications such as energy management and/or evacuation planning, among others.

BIM data can include devices (e.g., device objects), such as smoke detectors, speakers, pull stations, diffusers, controllers, variable air volume (VAV) components, pipes, speakers, air handling units (AHUs), chillers, etc. BIM graphical renderings that include devices may be used in applications such as sales estimation, system installation, and/or asset management, among others.

Various devices can be extracted from another graphical rendering (e.g., a computer-aided design (CAD) drawing) for use (e.g., display) in a BIM. Previous extraction approaches may lack automation and may thus be time-consuming and/or error-prone. Further, previous approaches may lack applicability in multiple phases of a building's lifetime, and may frustrate users who desire flexibility.

Brief Description of the Drawings

Figure 1 illustrates a computing device for enriching building information modeling data in accordance with one or more embodiments of the present disclosure. Figure 2 illustrates a display of a graphical user interface for enriching building information modeling data in accordance with one or more embodiments of the present disclosure.

Figure 3 illustrates another display of a graphical user interface for enriching building information modeling data in accordance with one or more embodiments of the present disclosure.

Figure 4 illustrates another display of a graphical user interface for enriching building information modeling data in accordance with one or more embodiments of the present disclosure. Figure 5 is a block diagram of an object extraction system in accordance with one or more embodiments of the present disclosure.

Figure 6A illustrates a display of a selected device in accordance with one or more embodiments of the present disclosure.

Figure 6B illustrates a schema setting table in accordance with one or more embodiments of the present disclosure.

Figure 7A illustrates a number of primitives for an example device in accordance with one or more embodiments of the present disclosure.

Figure 7B illustrates fragments of the example device primitives illustrated in Figure 7A in accordance with one or more embodiments of the present disclosure.

Figure 8 illustrates the fragment structure of the primitives for the example device of Figure 7A in accordance with one or more

embodiments of the present disclosure.

Figure 9 illustrates an example of a virtual primitive in accordance with one or more embodiments of the present disclosure.

Detailed Description

Devices, methods, and systems for enriching building information modeling data are described herein. For example, one or more embodiments include providing a first selectable building domain via a graphical user interface, wherein the first selectable building domain includes a first layer template and a first plurality of selectable device templates, and providing a second selectable building domain via the graphical user interface, wherein the second selectable building domain includes a second layer template and a second plurality of selectable device templates.

Enriching building information modeling data in accordance with one or more embodiments of the present disclosure can include extracting various devices from a graphical rendering (e.g., a CAD drawing) using a template library and/or exporting the extracted devices to a BIM rendering. A template library, as referred to herein, and as discussed in more detail below, can store device information such as particular devices contained in a domain, layers of graphical renderings containing particular domains and/or devices, and/or other information.

By using a device template library, embodiments of the present disclosure can increase automation over previous approaches, thereby reducing time and/or error(s) associated with user extraction of devices, for instance. While reducing human inefficiencies through automation, embodiments of the present disclosure can provide increased flexibility for users through user-customization of device templates and/or device extraction, for example. Additionally, various embodiments of the present disclosure can be used throughout a lifetime of a building (e.g., design phase and/or operation phase) by being updated, added to, deleted, and/or otherwise modified (e.g., by a user), for instance.

In the following detailed description, reference is made to the accompanying drawings that form a part hereof. The drawings show by way of illustration how one or more embodiments of the disclosure may be practiced.

These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice one or more embodiments of this disclosure. It is to be understood that other embodiments may be utilized and that process changes may be made without departing from the scope of the present disclosure.

As will be appreciated, elements shown in the various

embodiments herein can be added, exchanged, combined, and/or eliminated so as to provide a number of additional embodiments of the present disclosure. The proportion and the relative scale of the elements provided in the figures are intended to illustrate the embodiments of the present disclosure, and should not be taken in a limiting sense.

The figures herein follow a numbering convention in which the first digit or digits correspond to the drawing figure number and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar digits.

As used herein, "a" or "a number of something can refer to one or more such things. For example, "a number of templates" can refer to one or more templates.

Figure 1 illustrates a computing device 102 for enriching building information modeling data in accordance with one or more embodiments of the present disclosure. Computing device 102 can be, for example, a laptop computer, a desktop computer, or a mobile device (e.g., a mobile phone, a personal digital assistant, etc.), among other types of computing devices.

As shown in Figure 1 , computing device 102 includes a memory 106 and a processor 1 10 coupled to memory 106. Memory 106 can be any type of storage medium that can be accessed by processor 1 10 to perform various examples of the present disclosure. For example, memory 106 can be a non-transitory computer readable medium having computer readable instructions (e.g., computer program instructions) stored thereon executable by processor 1 10 to enrich building

information modeling data in accordance with one or more embodiments of the present disclosure. Memory 106 can be volatile or nonvolatile memory. Memory 106 can also be removable (e.g., portable) memory, or non-removable (e.g., internal) memory. For example, memory 106 can be random access memory (RAM) (e.g., dynamic random access memory (DRAM) and/or phase change random access memory (PCRAM)), read-only memory (ROM) (e.g., electrically erasable programmable read-only memory (EEPROM) and/or compact-disc read-only memory (CD-ROM)), flash memory, a laser disc, a digital versatile disc (DVD) or other optical disk storage, and/or a magnetic medium such as magnetic cassettes, tapes, or disks, among other types of memory.

Further, although memory 106 is illustrated as being located in computing device 102, embodiments of the present disclosure are not so limited. For example, memory 106 can also be located internal to another computing resource (e.g., enabling computer readable

instructions to be downloaded over the Internet or another wired or wireless connection). As shown in Figure 1 , memory 106 can include a template library (sometimes generally referred to herein as "library") 108. Library 108 can include templates associated with various domains, layers, devices, etc., and can be modified and/or used as described further below.

As shown in Figure 1 , computing device 102 includes a graphical user interface (GUI) 104. GUI 104 can include a display such as a cathode ray tube, a field emission device (FED), a flat panel display with an active matrix array of thin film transistors, or other suitable user interfaces of the like. Applications running on a system (e.g., computing device 102) can be viewed on GUI 104. One or more applications can be viewable at one time such as in a Microsoft Windows operating environment. GUI 104 can be used to view library 108 (e.g., portions of library 108) as it is being created, modified, and/or used. Although not illustrated in Figure 1 , computing device 102 can include additional and/or peripheral devices (e.g., a mouse, keyboard, microphone, etc.). Figure 2 illustrates a display 212 of a graphical user interface (e.g., GUI 104, previously discussed in connection with Figure 1 ) for enriching building information modeling data. For example, display 212 can be used in creating one or more templates in accordance with one or more embodiments of the present disclosure. As shown in Figure 2, display 212 includes a domain name field 214. A domain name can be entered (e.g., by a user) in domain name field 214 by keying a desired name, for instance.

Domain (or building domain), as used herein, can refer to a portion and/or subsystem of a building. Though "building" is referred to generally herein, embodiments of the present disclosure are not so limited. For example, "building" can refer to a portion of a structure, a plurality of structures, an installation, a facility, a plant, etc. A domain can be a heating, ventilation, and air conditioning (HVAC) system, a security system, a lighting system, a utility monitoring system, a life safety system, etc. The domain name ("HVAC" as illustrated in the example shown in Figure 2) can be entered into a domain pool 218 following actuation of a display element (e.g., add button) 216.

A domain in domain template pool 218 can be selected (e.g., HVAC is highlighted in the example illustrated in Figure 2). Device types (e.g., meta devices) can be associated with the selected domain. For example, a device type can be named by an entry into device name field 220, and the named device type can be entered into a device type pool 224 following actuation of a display element (e.g., add button) 222. Device, as used herein, can refer to various devices (e.g., subsystems of domain(s)) in a building such as, for example, smoke detectors, speakers, pull stations, diffusers, controllers, variable air volume (VAV) components, pipes, air handling units (AHUs), chillers, etc. Particular devices may be found in and/or associated with particular domains. In the example illustrated in Figure 2, devices that have been added to device type pool 224 associated with the HVAC domain include diffuser, VAV, Supply duct, and AHU . Possible layer names associated with the selected domain and/or selected device(s) can be added in layer template name field 226 to create a layer template. A layer template can refer to one or more layers of a graphical rendering (e.g., a CAD drawing) that may be, and/or have been determined to be, associated with one or more particular domains and/or devices. A layer template can refer to a relationship between one or more layers and one or more domains and/or devices. Embodiments of the present disclosure are not limited to particular layer names. In the example illustrated in Figure 2, layer names have been added including "*HVAC*", ""*DIFF*", "*SVR ~ T", and "*SPSL*". As discussed further below, creating a layer template by associating one or more layers with a domain and/or device can increase efficiency of extraction by obviating a search of irrelevant layers for devices associated with a particular domain.

Accordingly, through interaction with display 212, a user can modify (e.g., create and/or add to) a portion of library 108. That is, domains can be named and/or created, device type(s) can be associated with one or more domains, and layer(s) can be associated with one or more domains and/or device types. Modifications made using display 212 can be saved in memory 106, for instance. Figure 3 illustrates another display 328 of a graphical user interface (e.g., GUI 104, previously discussed in connection with Figure 1 ) for enriching building information modeling data. For example, display 328 can be used in further creating one or more templates in accordance with one or more embodiments of the present disclosure. As shown in Figure 3, display 328 includes a domain pool 330. A domain (e.g., "HVAC") can be selected within domain pool 330 to display a list of device types associated with the selected domain. A device type (e.g., "VAV") associated with the desired domain can be selected within domain pool 330. An object (e.g., symbol) can be selected from a graphical rendering (e.g., CAD drawing) via the actuation of a display element 332 (e.g., "Select Sample"). The object can be displayed in an object box 336 and various geometric features (e.g., lines, edges, curves, spatial relationships, corners, intersections, etc.) and/or attributes (e.g., textual information) associated with the object can be determined (e.g., by computing device 102, previously discussed in connection with Figure 1 ). The selected object (e.g., the geometric features associated with the selected object) can be associated with a device type (e.g., "VAV") to create a device template via the actuation of a display element 334 (e.g., "Add to Subclass").

Though the creation of one device template is discussed as an example herein, embodiments of the present disclosure are not limited to a particular number of device templates associated with a device type. Further, embodiments of the present disclosure are not limited to a particular number of device types associated with a particular domain.

The device template can be named using a device template information box 338. A name associated with the device template can be based on its device type and/or serial number, for instance, though embodiments of the present disclosure are not so limited. Additional information regarding the device template can be entered into device template information box 338 such as, for example, operating information regarding the device, installation date, cost, scheduled maintenance, etc.

Accordingly, through interaction with display 328, a user can modify (e.g., create and/or add to) a portion of library 108. That is, device templates can be created by associating an object from a graphical rendering with a particular device type of a particular domain. Templates created and/or modified using display 328 can be saved in memory 106, for instance.

Figure 4 illustrates another display 440 of a graphical user interface (e.g., GUI 104, previously discussed in connection with Figure 1 ) for enriching building information modeling data. For example, display 440 can be used to select device templates (e.g., template(s) created via the process discussed in connection with Figures 2-3) for use in

extracting device(s) from a graphical rendering (e.g., CAD drawing). As shown in Figure 4, display 440 includes a domain pool 430 configured to display various domains and/or device types, such as those previously discussed, for example. In one embodiment, a user can select a domain (e.g., "HVAC") using domain pool 430 and computing device 102 can populate a device template pool 444 displaying device templates associated with the selected domain (e.g., all device templates

associated with the selected domain). The user can indicate (e.g., by selecting and/or deselecting) devices (e.g., device templates) from device template pool 444 to be extracted via a display element 446 (e.g., "Extract").

In another embodiment, the user can select a device type (e.g., "Diffuser") associated with a particular domain using domain pool 430. Computing device 102 can populate device template pool 444 displaying device templates associated with the selected device type (e.g., all device templates associated with the selected device type). The user can indicate (e.g., by selecting and/or deselecting) devices (e.g., device templates) from device template pool 444 to be extracted via display element 446.

Upon receiving the indication of the device(s) to be extracted, computing device 102 can close (e.g., make unavailable for searching) one or more layers of the graphical rendering. For example, computing device 102 can determine, based on the layer template(s) associated with the selected device(s) and/or domain(s), which layer(s) contain object(s) corresponding to the selected device(s) (e.g., device

template(s)).

Accordingly, computing device 102 can close layers that do not contain the object(s) corresponding to the selected device(s). Closing layers, in accordance with one or more embodiments of the present disclosure can increase efficiency of extraction by reducing (e.g., eliminating) searches through unnecessary and/or irrelevant layers.

Further, such closing may be performed faster than a user determining which layer(s) may be irrelevant and/or are to be closed. Computing device 102 can extract devices selected in device template pool 444 from objects of the graphical rendering (e.g., CAD drawing) based on one or more geometrical features of the devices (e.g., by using a geometry similarity algorithm), for instance. Examples of such extraction methods are described in US Patent Application: serial no. 13/038,228, entitled "System and Method for Generating A Building Information Model," filed on 3/1 /201 1 , and US Patent Application: serial no. 12/710,471 , entitled "Methods and Systems for Constructing Multi- Dimensional Data Models for Distribution Networks," filed on 2/23/2010, which are incorporated herein by reference.

For example, CAD drawings can be and/or include vector images. A vector image may be composed of geometrical primitives such as points, lines, curves, and text. The objects in the vector image may be composed of these primitives. Consequently, an embodiment can extract objects by analyzing geometric information of the primitives, such as shape, color, line width and so forth, not unlike human vision. But the straightforward analysis of the primitive may only work on some limited scenarios. For example, in a typical system, an object, in its rotated, scaled, mirrored form may belong to one category. The internal structure of the object, such as symmetry, makes the problem more complex. The objects in one category can even have different appearances, while at the same time have some similar intrinsic geometric properties. In addition, once an object is extracted, other relevant information may be obtained, such as location, orientation and/or annotation. Although this information can be linked with the specific object, there may be no predefined or prescribed way to denote the linkage. This information can be placed in close proximity to the specific object, but arbitrary placement of the relevant information, e.g. annotation, makes the problem more complex. Various embodiments can extract the objects similar to the devices selected in device template pool 444 (sometimes generally referred to herein as "sample") from the vector image and output any of its relevant information, such as location, orientation, and annotation. In some embodiments, a primitive structure model can be used. By defining and combining the properties of the primitives and the similarity

measures between the primitives, the model can provide a flexible method to describe the object's structure. With the well-organized structure, one can effectively and robustly retrieve a similar object irrespective of its size and/or orientation.

In further embodiments, a method describes the sample's structure in two levels with the above primitive structure model. At the lower level, the similar primitives can be grouped into a primitive fragment, which keeps the partial micro structure of the sample object. At the higher level, all primitive fragments can be formed into the fragment structure, which holds the whole macro structure of the sample object.

Decomposition of structure into the two levels can avoid the redundancy caused by internal symmetry in the sample object.

Further embodiments can include a method to output any relevant information of the object, such as location, orientation, and annotation (ID, length, and volume for example), by setting an output template. The template can include which fragment information will be outputted as the partial micro information, and can include some virtual primitives relative to the sample object as the whole macro information. Once an object is recognized from the vector image, these virtual primitives can also be calculated and/or outputted according to the fragment structure. For example, the retrieved similar objects then can be grouped into standard IFC object classes, creating a building semantic model.

Figure 5 is a block diagram of an object extraction system 548 in accordance with one or more embodiments of the present disclosure. Vector Image Display 550 (e.g., a portion of GUI 104, previously discussed in connection with Figure 1 ) can be used to browse a vector image and/or select a sample object (e.g., from a graphical rendering). The sample can be drawn and its primitives can be listed in an editable Sample Object Display window 552. Sample Object Display 552 allows a user to specify the schema about how to match its primitives via the Similarity Schema Setting module 554. The schema includes which primitive will be considered, how to compare primitives, what the text validation string expression is, and so on. A default similarity schema can be generated by the system in case no schema is provided by the user.

Similar primitives can be organized into a primitive fragment via the Primitive Fragment Construction module 556. The fragments can be formed into a higher-level structure via the Fragment Structure

Construction module 558. The Primitive Fragment and Fragment

Structure are described with the Primitive Structure Model.

The Primitive Retrieval module 560 can search primitives with similar properties and shape of a primitive in the similarity schema from the vector image. The Fragment Identification module 562 can search the fragments for the same or similar primitive fragment from these primitives, and the Object Identification module 564 can search the objects with the same or similar fragment structure from the fragments.

The Sample Object Display can allow a user to designate an output template via the Output Template Setting module 566. The template comprises any information about the sample object, such as drawing a point as its location, drawing a vector as its orientation direction, setting a text primitive as its ID, and so on. A default output template can be generated by the system in case there is no template by the user. The meaningful information for every extracted object can be obtained according to the output template via the Output Information Integration module 568.

Generally, the object extraction system 548 shown in Figure 5 includes four steps, they are sample selection (550, 552), sample structure construction (554, 556, 558), object extraction (560, 562, 564) and obtaining relevant information (566, 568). The initial step of sample selection can be accomplished by one or more techniques known to those of skill in the art, and these techniques will not be discussed further. The shape of a primitive (other than text) means one or more straight or curved lines from one point to another. For example, if p1 and p2 are two primitives, it can be stated that p1 and p2 have the same shape if and only if p1 and p2 can overlap with each other after some rotation and translation. This relationship can be expressed as

S(p1 )=S(p2). The shape of a primitive can be represented as two values— one the Euclidean distance of two end points and the other the distance along the curve from one end point to another end point.

Furthermore, if t1 and t2 are two text primitives (which can be the annotation of objects, or the attributes of some Block of primitives, e.g., BlockRef of DWG or DXF), and w is a validation string expression (which may be a wildcard string, such as "door*_*" or "*sp*-*"; or a regular expression, such as a three digit number with the expression [0~9] {1 ,3}), it can be stated that t1 and t2 have the same shape w if and only if t1 and t2 match with w. This expression can be written as Sw(t1 )=Sw(t2).

Besides the shape and text, other attributes, such as color, the filled color, line width, text size, and text font, can be considered as the similarity measures between two primitives. For example, if p and q are two primitives, the distance of p and q means the distance from the center of p to the center of q. This can be expressed as D(p,q). In an embodiment, the center of a primitive can be defined as the middle point of line segment formed by its two end points. The center of a point is itself and the center of a text is its center. In other embodiments, other definitions are also applicable. The distance of p1 and q1 is the same as the distance of p2 and q2 if and only if D(p1 ,q1 )=D(p2,q2).

If p and q are two primitives, the angle of p and q means the angle between the line segment formed by two end points of p and the line segment formed by two end points of q. This can be expressed as A(p,q). The angle of p1 and q1 is same as the angle of p2 and q2 if and only if A(p1 ,q1 )=A(p2,q2).

If p and q are two primitives and r is a reference primitive, the angle of p and q based on r means the angle between the line segment formed by the center of p and r, and the line segment formed by the center of q and r. This can be expressed as Ar(p,q). The orientation of p1 and q1 on r is the same as the orientation of p2 and q2 on r if and only if Ar(p1 ,q1 )=Ar(p2,q2). If an object is composed of a set of primitives O={p1 , p2, . . . , pn}, the structure of the object can be represented as the properties of its primitives and relations among them. The properties can be a shape, the properties can be text defined as previously disclosed. The relations can be distance, angle, or orientation as defined above. So the structure of the object can be represented as multiple matrixes. These matrixes include adequate information, yet they also include redundancy. To remove the redundancy, a primary primitive can be identified.

Consequently, the Primitive Structure Model can de defined as follows: M≡<p,Q>. Here, ρεΟ is a primary primitive.

Q={<S(q),D(p,q),A(p,q),Ap(h,q)>|q εΟ}, Q is a primitive list with several properties. In an embodiment, the shape of text primitive is defined as its text string. In the expression for Q, h is a virtual primitive, and it can be any primitive of the object except the primary primitive. The

S(q),D(p,q),A(p,q),Ap(h,q) have been defined above. Some of them can be selected to describe the properties for an object. With the flexible combination of the primitives' properties, similar objects with similar measures can be effectively and robustly retrieved among the primitives.

Once a sample object is selected, its structure can be buit with the above Primitive Structure Model. An embodiment describes its structure in two levels. In a lower level, the similar primitives can be grouped into a Primitive Fragment, which keeps the partial micro structure of the sample object. In a higher level, all Primitive Fragments are formed into the Fragment Structure, which holds the whole macro structure of the sample object. Decomposition of structure into two levels can avoid the redundancy caused by internal symmetry in the sample object.

Once a sample is selected, a window can display its primitives. All primitives except text can be marked with a digital number, and the primitives with the same shape will have same number. For example, Figure 6A shows the primitives for a speaker 670 in a building— two kinds of lines 672, 674 and four instances of text 676. At the same time, all the primitives are also listed in a table 678, as FIG. 6B shows. In FIG. 6B, a user can set the primitives that make up a structure. For example, in Figure 6B, two kinds of lines and some text are selected to comprise the structure for a speaker. And the line's distance, angle, and orientation, or {<D,A,Ap>}, will be considered during the next search period. The validation string expression is "SP", or {Sw='SP'}. In the lower level, similar primitives can be grouped into a Primitive

Fragment. Referring to the speaker in Figure 6A, the sample has 8 primitives, as Figure 7A shows. The four lines 780 have the same shape, so they can be grouped into a fragment 1 . Similarly, the three lines 782 have the sample shape, so they can be grouped into a fragment 2. The text 784 "SP" is treated as a fragment 3. All of primitive fragments are shown in Figure 7B. Then its structure model can be obtained with the Primitive Structure Model {<D,A,Ap>} and {Sw='SP'} as described above and as illustrated in Figures 7A and 7B.

M(fragment1 )=<(15.3, 15.3), {<10.82, 90, 45>, <15.3, 0, 90>, <10.82, 90, 135>}> These are reference numbers 780 in FIG. 7A.

M(fragment2)=<(9.8, 9,8), {<4.9, 60, 60>, <4.9, 60, 60>}> These are reference numbers 782 in FIG. 7A.

M(fragment3)=<("SP"), {Sw- SP'}> This is reference number 784 in FIG. 7A.

All the primitives in a Primitive Fragment have the same shape, so any of them can be regarded as its primary primitive. This can avoid the redundancy caused by internal symmetry in the sample object. The Primitive Fragment can keep the partial micro structure of the sample object. In the following searching phase, the Primitive Fragments can be identified after similar primitives are obtained.

After the primitive fragments are obtained, they can be converted into points. The location of the points is the center of the fragments, as illustrated in Figure 8. The points 880, 882 and 884 represent the primitives fragmentl , fragment.2 and fragment.3 respectively. Similarly, the structure model can be obtained with the Primitive Structure Model {<D,A,Ap>} described above:

M(Speaker)=<(0,0), <1 1 .12, 0, 0>, <0, 0, 0», that is for 880, 882, and 884 respectively.

All the primitives in a Fragment Structure are points. Here, the primary fragment is regarded as the one with longest curve length. The Fragment Structure of the sample object holds its whole macro structure. In the following searching phase, the object matching is identified against the fragment structure model after the Primitive Fragments are identified.

With the above Primitive Fragment and Fragment Structure, the object extraction becomes straightforward. It can have three phases: primitive retrieval, fragment identification, and object identification.

The primitive retrieval can be described as illustrated below.

1 for each Primitive Fragment F

2 let p as its primary primitive

3 for each primitive s in the vector image

4 if p is text

5 if Sw(p) = Sw(s), output s

6 else

7 if S(p) = S(s), output s After primitive retrieval, a list of primitives can be retrieved for each Primitive Fragment, and can be expressed as the list Lp(F). In the above speaker example, three lists can be obtained— L(F1 ), Lp(F2) and Lp(F3) after primitive retrieval. They are two line lists and a text list, respectively. The lists will be taken as input for the fragment identification in the next section.

The Fragment Identification can be described as follows:

for each Primitive List Lp (F) let p as primary primitive of F for each primitive s in the list Lp calculate properties of other primitives q : Qq =< D(s,q),A(s,q),As(h,q) > if a primitive set{q} makes {Qq} satisfy M (F) a similar fragment f is gotten, and output f delete s and {q} ;

Else delete s

After primitive retrieval, a list of Fragments can be obtained for each Primitive Fragment, and can be expressed as Lf(F). In the above speaker example, three lists can be obtained— Lf(F1 ), Lf(F2) and Lf(F3) after primitive retrieval. They are a rectangle list, a triangle list, and a text "SP" list. The lists will be taken as input for the Object Identification in the next section.

The object identification can be similar to fragment identification. For example, a difference can lie in that the primitive is the point— center of the fragments. After object identification, a list of objects can be obtained that are similar to the sample object O, and they can be expressed as L(O).

After the object extraction described above, the object list L(O) for the sample object O can be obtained. The last step is to obtain any relevant information about the extracted object. In order to do this, its output template can first be defined. The template includes the fragment information to be obtained as the partial micro information, and some virtual primitives relative to the sample object as the whole macro information. Once an object is recognized from the vector image, these virtual primitives can also be calculated and obtained according to the Fragment Structure.

The partial micro information about the fragment includes text string, boundary, center and so on, as Figure 7B shows. In the example of Figures 7A and 7B, the boundary and center of rectangle can be obtained, and a text string with expression "*sp*-*" around it can also be obtained.

To output the macro information, a user can draw virtual primitives in the sample, as illustrated in Figure 9. In the example of Figure 9, a vector 986 is drawn as the orientation of the speaker. According to the output template, the relevant information can be calculated. For the partial micro information about the fragment, the related information of the specified fragment can obtained. To obtain the entire macro information, the geometric information about virtual primitives on the output template on the Fragment Structure may be calculated. Furthermore, the retrieved similar objects then can be easily grouped into standard IFC object classes, creating a building semantic model.

The extracted devices (e.g., objects) can be displayed and/or indicated (e.g., via animation and/or color variation) on the graphical rendering (e.g., CAD drawing) via GUI 104, for instance. A list of the extracted devices can additionally be displayed on GUI 104 such that interaction with a device on the list (e.g., clicking on the device) causes the corresponding object in the graphical rendering to be indicated.

O nce extracted, the device(s) can be exported to various end points, such as BIM rendering, for example. The extracted device(s) can be displayed in the BIM rendering along with a background (e.g., floorplan), for instance.

F igured illustrates a method 1 088 for enriching building information modeling data in ac ordance with one or more embodiments of the present disclosure. M ethod 1 088 can be performed, for example, by a computing device, such as computing device 102 described above (e.g., in connection with Figure 1 ). For example, computing device. 02 can execute instructions to perform method 1088.

At block 1 090, method 1 088 includes providing a first selectable building domain via a graphical user interface, wherein the first selectable domain includes a first layer template, and a first lurality of selectable device templates. A first selectable domain (e.g., HVAC system, security system, lighting system, utility monitoring system, life safety system, etc.) can be provided via a user interface in a manner analogous to that previously discussed in connection with Figure 2, for instance.

The first selectable domain can include a first layer template. The first layer template can refer to a relationship between one or more particular Isr/ers of a graphical rendering (e. g. , CAD drawing) and the first selectable domain and/ or devices of the first selectable domain. The first selectable domain can include a first plurality of selectable device templates. Each of the first plurality of selectable device templates can be an association of a particular (e.g., selected) object with a device type, in a mariner analogous to that previous! discussed in connection with F igure 2, for instance.

At block 1 092, method 1 088 includes providing a second selectable building domain via the graphical user interface, wherein the second selectable domain includes a second layer template and a second plurality of selectable device templates. A second selectable domain (e.g., HVAC system, security system, lighting system, utility monitoring system, life safety system, etc.) can be provided via a user interface in a manner analogous to that previously discussed in

connection with Figure 2, for instance. The second selectable domain can include a second layer template. The second layer template can refer to a relationship between one or more particular layers of a graphical rendering (e.g., CAD drawing) and the second selectable domain and/or devices of the second

selectable domain. The second selectable domain can include a second plurality of selectable device templates. Each of the second plurality of selectable device templates can be an association of a particular (e.g., selected) object with a device type, in a manner analogous to that previously discussed in connection with Figure 2, for instance.

Although specific embodiments have been illustrated and

described herein, those of ordinary skill in the art will appreciate that any arrangement calculated to achieve the same techniques can be

substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments of the disclosure. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combination of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. The scope of the various embodiments of the disclosure includes any other applications in which the above structures and methods are used. Therefore, the scope of various embodiments of the disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled. In the foregoing Detailed Description, various features are grouped together in example embodiments illustrated in the figures for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the embodiments of the disclosure require more features than are expressly recited in each claim.

Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.