Glass measurement and cable layout for windows of enclosures

By accurately measuring the glass and optimizing the cable routing on a virtual 3D model of the enclosure, the problems of window frame engagement and cable routing complexity were resolved, achieving accurate glass volume estimation and simplified cable routing.

CN120641942APending Publication Date: 2025-09-12VIEW INC
View PDF 21 Cites 0 Cited by

Patent Information

Application Number
CN202380094231.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-21
Filing Date
2023-12-18
Publication Date
2025-09-12

Smart Images

  • Figure CN120641942A_ABST
    Figure CN120641942A_ABST
Patent Text Reader

Abstract

In some embodiments, a computer system may obtain a virtual three-dimensional (3D) model of an enclosure, the virtual 3D model having a plurality of windows. The computer system may classify the plurality of windows of the virtual 3D model as a plurality of window types based at least in part on one or more characteristics of the plurality of windows. The computer system may determine a frame bite of one or more windows in a set of window types including one or more of the plurality of window types. The computer system may determine a total amount of glass for the window in the set of window categories, wherein the determined total amount of glass accounts for a determined frame bite for the one or more windows in the set of window groups. The computer system may be utilized to provide output data indicative of the determined total amount of glass for the window in the set of window types.
Need to check novelty before this filing date? Find Prior Art

Description

Related applications

[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 476,437, filed on December 21, 2022, entitled “GLASS MEASUREMENT AND CABLE LAYOUT FOR WINDOWS OF AN ENCLOSURE.” This application also claims priority to International Patent Application No. PCT / US2021 / 057678, filed on November 2, 2021, entitled “VIRTUALLY VIEWING DEVICES IN A FACILITY” (the “’678 Application”), which claims the benefit of: (i) U.S. Provisional Patent Application No. 63 / 109,306, filed on November 3, 2020, entitled “ACCOUNTING FOR DEVICES IN A FACILITY”; and (ii) U.S. Provisional Patent Application No. 63 / 214,741, filed on June 24, 2021, entitled “VIRTUALLY VIEWING DEVICES IN A FACILITY.” The '678 application is also a continuation-in-part of: (i) International Patent Application No. PCT / US21 / 27418, filed on April 15, 2021, entitled “INTERACTION BETWEEN AN ENCLOSURE AND ONE OR MORE OCCUPANTS”; (ii) International Patent Application No. PCT / US21 / 33544, filed on May 21, 2021, entitled “ENVIRONMENTAL ADJUSTMENT USING ARTIFICIAL INTELLIGENCE”; and (iii) International Patent Application No. PCT / US21 / 30798, filed on May 5, 2021, entitled “DEVICE ENSEMBLES AND COEXISTENCE MANAGEMENT OF DEVICES”. The '678 application is also a continuation-in-part of U.S. patent application Ser. No. 16 / 946,947, filed on July 13, 2020, and entitled “AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK,” which entered the national phase of International Patent Application No. PCT / US17 / 62634, filed on November 20, 2017, and entitled “AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK.”The '678 application is also a continuation-in-part of U.S. patent application Ser. No. 17 / 211,697, filed on March 24, 2021, entitled “COMMISSIONING WINDOW NETWORKS,” which is a continuation-in-part of U.S. patent application Ser. No. 15 / 727,258, filed on October 6, 2017, entitled “COMMISSIONING WINDOW NETWORKS.” The '678 application is also a continuation-in-part of U.S. patent application Ser. No. 17 / 450,091, filed on October 6, 2021, entitled “MULTI-SENSOR HAVING ALIGHT DIFFUSING ELEMENT AROUND A PERIPHERY OF A RING OF PHOTOSENSORS,” which is a continuation-in-part of U.S. patent application Ser. No. 17 / 450,091, filed on May 11, 2020, entitled “ADJUSTING WINDOW TINT BASED ATLEAST IN PART ON SENSED SUN RADIATION.” RADIATION)” which is a continuation of U.S. patent application No. 16 / 871,976 filed on October 6, 2015, which is a continuation of U.S. patent application No. 14 / 998,019 filed on October 6, 2015, and now U.S. Patent No. 10,690,540 issued on June 23, 2020, and entitled “Multi-sensor with light diffusing elements around the perimeter of the light sensor ring.” The '678 application is also a continuation-in-part of U.S. patent application Ser. No. 16 / 696,887, filed on November 26, 2019, entitled “SENSING SUN RADIATION,” which is a continuation-in-part of U.S. patent application Ser. No. 15 / 287,646, filed on October 6, 2016, now U.S. Patent No. 10,533,892, issued on January 14, 2020, entitled “MULTI-SENSOR,” which is a continuation-in-part of U.S. patent application Ser. No. 14 / 998,019, filed on October 6, 2015, now U.S. Patent No. 10,690,540, issued on June 23, 2020, entitled “MULTIPLE-SENSOR HAVING A LIGHT DIFFUSERING ELEMENT AROUND THE PERIPHERAL OF THE LIGHT SENSOR RING.”The '678 application is also a continuation-in-part of: (i) U.S. patent application Ser. No. 17 / 380,785, filed on July 20, 2021, entitled “WINDOW ANTENNAS”; and (ii) U.S. patent application Ser. No. 17 / 385,810, filed on July 26, 2021, entitled “WINDOW ANTENNAS”, both of which claim priority to U.S. patent application Ser. No. 16 / 099,424, filed on November 6, 2018, entitled “WINDOW ANTENNAS”, which entered the national phase of International Patent Application Ser. No. PCT / US17 / 31106, filed on May 4, 2017, entitled “WINDOW ANTENNAS”. The '678 application is also a continuation-in-part of U.S. patent application Ser. No. 16 / 980,305, filed on September 11, 2020, entitled “WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS,” which entered the national phase of International Patent Application No. PCT / US19 / 22129, filed on March 13, 2019, entitled “WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS.” Each of the aforementioned patent documents is incorporated herein by reference in its entirety. Background Art

[0002] Some optically switchable windows that include electrochromic materials can be electronically controlled to, for example, adjust the amount of light and heat passing through them. Such windows are often found on the exterior of enclosures, such as buildings or other types of facilities. Proper consideration of windows (including such optically switchable windows) for an enclosure being designed can often overlook certain aspects, such as frame engagement. This can lead to incorrect consideration of the enclosure's bill of materials (BOM). Additionally, routing cables to the windows to power and / or control the optical switching functionality can be a challenging aspect of enclosure design. Summary of the Invention

[0003] According to the present disclosure, an example method performed by a computer system for precise glass measurement of an enclosure may include obtaining a virtual three-dimensional (3D) model of the enclosure, the virtual 3D model having a plurality of windows. The method may also include classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows. The method may also include determining a frame bite for one or more windows in a window type set that includes one or more of the plurality of window types. The method may also include determining a total amount of glass for the windows in the window category set, wherein the determined total amount of glass takes into account the determined frame bite for the one or more windows in the window group set. The method may also include providing output data, utilizing the computer system, the output data indicating the determined total amount of glass for the windows in the window type set.

[0004] According to the present disclosure, an example computer system includes: at least one memory and at least one processor communicatively coupled to the at least one memory. The at least one processor may be configured to obtain a virtual three-dimensional (3D) model of an enclosure, the virtual 3D model having a plurality of windows. The at least one processor may be further configured to classify the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows. The at least one processor may be further configured to determine a frame bite of one or more windows in a window type set that includes one or more of the plurality of window types. The at least one processor may be further configured to determine a total amount of glass for the windows in the window category set, wherein the determined total amount of glass takes into account the determined frame bite of the one or more windows in the window group set. The at least one processor may be further configured to provide output data using the computer system, the output data indicating the determined total amount of glass for the windows in the window type set.

[0005] According to the present disclosure, an example non-transitory computer-readable medium stores instructions for precise glass measurement of an enclosure, the instructions comprising code for obtaining a virtual three-dimensional (3D) model of the enclosure, the virtual 3D model having a plurality of windows. The instructions may further comprise code for classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows. The instructions may further comprise code for determining a frame bite of one or more windows in a set of window types that includes one or more of the plurality of window types. The instructions may further comprise code for determining a total amount of glass for the windows in the window category set, wherein the determined total amount of glass takes into account the determined frame bite of the one or more windows in the window group set. The instructions may further comprise code for providing, using a computer system, output data indicating the determined total amount of glass for the windows in the window type set.

[0006]

[0010] This summary section is provided as a simplified introduction to the disclosure and is not intended to limit the scope of any invention disclosed herein or the scope of the appended claims.

[0007] Additional aspects and advantages of the present disclosure will become apparent to those skilled in the art from the following detailed description, wherein only exemplary embodiments of the present disclosure are shown and described. As will be appreciated, the present disclosure is capable of other and different embodiments, and its several details are capable of modification in various obvious respects without departing from the present disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature and not restrictive.

[0008] These and other features and embodiments will be described in more detail with reference to the accompanying drawings. Incorporation by reference

[0009] All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent, or patent application was specifically and individually indicated to be incorporated by reference. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The novel features of the present invention are set forth with particularity in the appended claims. A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description and accompanying drawings (also referred to herein as "Figs") which illustrate illustrative embodiments utilizing the principles of the present invention, in which:

[0011] Figure 1 is a simplified diagram showing a cross section depicting the formation of an electrochromic device stack;

[0012] Figure 2It is a diagram of the control system used in a building;

[0013] Figure 3 It is the block diagram of the control system;

[0014] Figure 4 is a diagram of a hierarchical structure in which devices may be arranged;

[0015] Figure 5 is a flow chart of a process for obtaining a bill of materials (BOM) according to an embodiment;

[0016] Figure 6 is a flowchart of a method for modeling according to an embodiment;

[0017] Figure 7 is a simplified side view of an example visualization of a virtual model of a building;

[0018] Figure 8 is a side view of another example visualization of a virtual model of a building;

[0019] Figure 9 is a flowchart of a method for performing estimation according to an embodiment;

[0020] Figure 10 is an illustration of a graphical interface that may be provided to a user for identifying window groups in a visualization of a virtual model of a building, according to an embodiment;

[0021] Figure 11A is an illustration of a table that may be provided in a graphical user interface to implement framework occlusion identification according to an embodiment;

[0022] Figure 11B is a visual illustration of a virtual model of a building (showing a portion of the exterior of a building with several windows);

[0023] Figure 12 is a visualization of a virtual model of a building that may be provided in conjunction with an estimation process according to an embodiment;

[0024] Figure 13 is a flow chart of an embodiment of a method for cable layout;

[0025] Figure 14 is a diagram of a portion of an example floor plan that may use a window clustering algorithm according to an embodiment;

[0026] Figure 15 is another diagram of a portion of an example floor plan that may use a window clustering algorithm according to an embodiment;

[0027] Figure 16 is another diagram of a portion of an example floor plan that may use a window clustering algorithm according to an embodiment;

[0028] Figure 17 is a flow chart of a method performed by a computer system for precise glass measurement of an enclosure according to an embodiment;

[0029] Figure 18 is a flow chart of a method performed by a computer system for performing a cabling layout for powering and / or providing data to a plurality of windows of an enclosure, according to an embodiment; and

[0030] Figure 19 An embodiment of a computer system is schematically depicted.

[0031] The figures and components therein may not be drawn to scale. Various components of the figures described herein may not be drawn to scale. DETAILED DESCRIPTION

[0032] Although various embodiments of the present invention are shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, modifications, and substitutions may be devised by those skilled in the art without departing from the present invention. It will be understood that various alternatives to the embodiments of the present invention described herein may be employed.

[0033] As described above, the design process of a building or other enclosure may involve calculating at least a portion of the building's windows (e.g., optically switchable windows) in order to, for example, provide an accurate bill of materials (BOM) and / or bill of quantities. This calculation, referred to as "estimating," may include determining the total amount of glass (e.g., volume), the number of windows, the type of windows, or a combination thereof based on a building floor plan or diagram. The estimate may be performed using a virtual model of the building, such as a multi-dimensional (e.g., two-dimensional (2D) or three-dimensional (3D)) floor plan. (As described herein, a "virtual model of a building" may also be referred to as a "virtual building model.") The virtual model of the building may be represented in a computer-aided design (CAD) file, such as a building information modeling (BIM) file. Using CAD software such as SketchUp™ from Trimble Navigation, Autodesk Revit, or the like, users (e.g., architects, engineers, contractors, building material suppliers, etc.) can create, view, or manipulate a virtual model of a building, or perform any combination thereof.

[0034] Traditionally, performing estimates using a virtual model of a building can take weeks, depending on the building's complexity. Using CAD software, users may need to manually identify all relevant exterior windows in order to estimate, categorize, and prioritize them. Furthermore, this manual process often fails to account for frame bite, which is the portion of a window where the glass overlaps the supporting structure (e.g., mullion) (i.e., there is a spatial offset between the window and the supporting structure). This failure can lead to an underestimation of the size and total amount of glass required for each window, and therefore, the overall amount of glass in the building.

[0035] Embodiments can address these and other issues by implementing various operations that can be applied to a virtual model of a building to streamline the estimation process. As described in more detail below, the operations can include identifying and classifying windows of the virtual model of the building into different window types; determining the frame engagement and total glazing capacity of one or more window types; and outputting data indicating the determined total glazing capacity. These operations can be implemented, for example, using a standalone software program to access the model (e.g., a BIM file) and / or using plugins, scripts, extensions, or a combination thereof that can be executed within existing CAD software programs.

[0036] Additionally or alternatively, embodiments may facilitate cabling to windows. As described in further detail herein, certain types of windows (such as optically switchable windows) may use electricity to perform functions such as increasing or decreasing window tinting, changing window tints, and the like. According to some embodiments, various operations may be performed on a virtual model of a building to streamline such power cabling by grouping windows into window clusters (using constraints on cable power capacity and window power usage), routing cables to each window cluster, and providing output data indicating the number and length of cables.

[0037] Additional details regarding embodiments that implement such streamlining of estimation and / or cabling are provided below, after describing relevant terminology and techniques.

[0038] Terms such as "a," "an," and "the" are not intended to refer to only a single entity, but include the general class of which a specific example may be used for illustration. The terminology herein is used to describe specific embodiments of the invention, but their usage does not limit the invention.

[0039] Unless otherwise specified, when referring to a range, the range is intended to be inclusive. For example, a range between value 1 and value 2 is intended to be inclusive and include value 1 and value 2. An inclusive range will span any value from about value 1 to about value 2. As used herein, the term "adjacent" or "near" includes "immediately adjacent," "abutting," "contacting," and "close to."

[0040] As used herein, including as used in the claims, the conjunction “and / or” in phrases such as “comprising X, Y, and / or Z” means that any combination or plurality of X, Y, and Z is included. For example, this phrase is intended to include X. For example, this phrase is intended to include Y. For example, this phrase is intended to include Z. For example, this phrase is intended to include X and Y. For example, this phrase is intended to include X and Z. For example, this phrase is intended to include Y and Z. For example, this phrase is intended to include multiple Xs. For example, this phrase is intended to include multiple Ys. For example, this phrase is intended to include multiple Zs. For example, this phrase is intended to include multiple Xs and multiple Ys. For example, this phrase is intended to include multiple Xs and multiple Zs. For example, this phrase is intended to include multiple Ys and multiple Zs. For example, this phrase is intended to include multiple Xs and Ys. For example, this phrase is intended to include multiple Xs and Zs. For example, this phrase is intended to include multiple Xs and Ys. For example, this phrase is intended to include multiple Xs and Zs. For example, this phrase is intended to include multiple Ys and Zs. For example, this phrase is intended to include Xs and multiple Ys. For example, this phrase is intended to include X and multiple Z. For example, this phrase is intended to include Y and multiple Z. The conjunction "and / or" is intended to have the same effect as the phrase "X, Y, Z, or any combination or multiples thereof." The conjunction "and / or" is intended to have the same effect as the phrase "one or more X, Y, Z, or any combination thereof."

[0041] The term "operably coupled" or "operably connected" refers to a first element (e.g., a mechanism) coupled (e.g., connected) to a second element to allow the intended operation of the second and / or first element. Coupling can include physical or non-physical coupling (e.g., communicative coupling). Non-physical coupling can include signal-induced coupling (e.g., wireless coupling). Coupling can include physical coupling (e.g., physical connection) or non-physical coupling (e.g., via wireless communication). Operably coupled can include communicatively coupled.

[0042] An element (e.g., a mechanism) that is "configured to" perform a function includes structural features that enable the element to perform the function. Structural features may include electrical features, such as circuitry or circuit elements. Structural features may include actuators. Structural features may include circuitry (e.g., including electrical or optical circuitry). Electrical circuitry may include one or more wires. Optical circuitry may include at least one optical element (e.g., a beam splitter, a mirror, a lens, and / or an optical fiber). Structural features may include mechanical features. Mechanical features may include latches, springs, closures, hinges, chassis, supports, fasteners, or cantilever supports, among others. Performing a function may include utilizing logical features. Logical features may include programming instructions. Programming instructions may be executed by at least one processor. Programming instructions may be stored or encoded on a medium accessible by one or more processors. In addition, in the following description, the phrases "operable to," "adapted to," "configured to," "designed to," "programmed to," or "capable of" may be used interchangeably where appropriate.

[0043] Furthermore, as used herein, the terms pane and window pane are used interchangeably. A window comprising an electrochromic window can be in the form of an insulating glass unit (IGU), a laminate structure, or both, for example, where the IGU has one or more laminated panes as its window panes, such as a double-pane IGU, where one pane is a single pane of glass and the other pane is a laminate of two panes of glass. The laminate can include two, three, or more panes of glass.

[0044] As mentioned, a multi-dimensional model of an enclosure (e.g., a 2D or 3D model of a building) is generated by computer-aided design software having a modeling environment for designing and inspecting building structures. In some cases, pairing a network ID for each of the optically switchable (e.g., tintable) windows with at least one network node ID includes storing each pairing in a network configuration file. A node can be a device that is operatively (e.g., communicatively) coupled to a network.

[0045] In some embodiments, the enclosure includes an area defined by at least one structure. The at least one structure may include at least one wall. The enclosure may include and / or enclose one or more sub-enclosures. The at least one wall may include metal (e.g., steel), clay, stone, plastic, glass, plaster (e.g., gypsum), a polymer (e.g., polyurethane, styrene, or vinyl), asbestos, fiberglass, concrete (e.g., reinforced concrete), wood, paper, or ceramic. The at least one wall may include wire, brick, block (e.g., cinder block), tile, drywall, or a frame (e.g., steel frame).

[0046] In some embodiments, the enclosure includes one or more openings. One or more openings may be reversibly closable. One or more openings may be permanently open. The primary length dimension of one or more openings may be smaller than the primary length dimension of the walls defining the enclosure. The primary length dimension may include the diameter, length, width, or height of a delimiting circle. The surface of one or more openings may be smaller than the surface of the walls defining the enclosure. The opening surface may be a percentage of the total surface of the wall. For example, the opening surface may comprise up to approximately 30%, 20%, 10%, 5%, or 1% of the wall. The wall may comprise a floor, a ceiling, or a sidewall. The closable opening may be closed by at least one window or door. The enclosure may be at least part of a facility. The facility may comprise a building. The enclosure may comprise at least part of a building. The building may be a private building and / or a commercial building. The building may comprise one or more floors. A building (e.g., a floor thereof) may include at least one of a room, a hall, a foyer, a loft, a basement, a balcony (e.g., an interior balcony or exterior balcony), a stairwell, a corridor, an elevator shaft, a facade, a mezzanine, a top floor, a garage, a porch (e.g., an enclosed porch), a terrace (e.g., an enclosed terrace), a cafeteria, and / or a duct. In some embodiments, the enclosure may be stationary and / or movable (e.g., a train, an airplane, a ship, a vehicle, or a rocket).

[0047] In some embodiments, one or more target devices may be operably (e.g., communicatively) coupled to a control system that may be used, among other things, to control window tinting and / or other functions. Multiple devices may be housed in a facility (e.g., comprising a building and / or room). The control system may include a hierarchy of controllers. The target devices may include emitters, sensors, or (e.g., tintable) windows (e.g., IGUs). The devices may be any device as disclosed herein. At least two of the multiple devices may be of the same type. For example, two or more IGUs may be coupled to the control system. At least two of the multiple devices may be of different types. For example, a sensor and an emitter may be coupled to the control system. The multiple devices may sometimes include at least 20, 50, 100, 500, 1000, 2500, 5000, 7500, 10,000, 50,000, 100,000, or 500,000 devices. The plurality of devices may have any number of devices between the aforementioned numbers (e.g., 20 devices to 500,000 devices, 20 devices to 50 devices, 50 devices to 500 devices, 500 devices to 2,500 devices, 1,000 devices to 5,000 devices, 5,000 devices to 10,000 devices, 10,000 devices to 100,000 devices, or 100,000 devices to 500,000 devices). For example, the number of windows in a floor may be at least 5, 10, 15, 20, 25, 30, 40, or 50. The number of windows in a floor may be any number between the aforementioned numbers (e.g., 5 to 50, 5 to 25, or 25 to 50). The device may sometimes be in a multi-story building. At least a portion of the floors of the multi-story building may have devices controlled by a control system (e.g., at least a portion of the floors of the multi-story building may be controlled by a control system). For example, a multi-story building may have at least 2, 8, 10, 25, 50, 80, 100, 120, 140, or 160 floors controlled by the control system. The number of floors controlled by the control system (e.g., having devices therein) may be any number between the aforementioned numbers (e.g., 2 to 50, 25 to 100, or 80 to 160). The number of floors may be at least about 150 m 2 , 250 m 2 , 500 m 2 , 1000 m 2 , 1500 m 2 or 2000 square meters (m 2 ) area. A floor may have an area between any of the aforementioned floor area values ​​(e.g., approximately 150 m 2 to about 2000 m 2 , about 150 m 2 About 500 m 2 , about 250 m 2 About 1000 m2 or about 1000 m 2 to about 2000 m 2 ).

[0048] In various embodiments, a network infrastructure supports a control system for one or more windows, such as tintable (e.g., electrochromic) windows. The control system may include one or more controllers operably coupled (e.g., directly or indirectly) to the one or more windows. Although the disclosed embodiments describe optically switchable windows (also referred to as "smart windows"), such as tintable or electrochromic windows, the concepts disclosed herein may be applicable to other types of switchable optical devices, including liquid crystal devices, electrochromic devices, suspended particle devices (SPDs), nanochrome displays (NCDs), organic electroluminescent displays (OELDs), suspended particle devices (SPDs), nanochrome displays (NCDs), or organic electroluminescent displays (OELDs). The display element may be attached to a portion of a transparent body (such as a window). The optically switchable window may be placed in a (non-transitory) facility, such as a building, and / or in a temporary facility (e.g., a vehicle), such as a car, RV, bus, train, airplane, helicopter, ship, or boat.

[0049] In some embodiments, an optically switchable window, such as a tintable window, exhibits a (e.g., controllable and / or reversible) change in at least one optical property of the window when a stimulus is applied. The change may be continuous. The change may be to discrete tint levels (e.g., at least about 2, 4, 8, 16, or 32 tint levels). The optical property may include tint or transmittance. The tint may include color. The transmittance may have one or more wavelengths. The wavelengths may include ultraviolet, visible, or infrared wavelengths. The stimulus may include optical, electrical, and / or magnetic stimulation. For example, the stimulus may include the application of voltage and / or current. One or more optically switchable windows may be used to control lighting and / or glare conditions, such as by regulating the transmission of solar energy transmitted through them. One or more optically switchable windows may be used to control the temperature within a building, such as by regulating the transmission of solar energy transmitted through the window. Control of solar energy may control the heat load imposed on the interior of a facility (e.g., a building). Control may be manual and / or automatic. Control may be used to maintain one or more requested (e.g., environmental) conditions, such as occupant comfort. Control may include reducing energy consumption of heating, ventilation, air conditioning, and / or lighting systems. At least two of heating, ventilation, and air conditioning may be induced by separate systems. At least two of heating, ventilation, and air conditioning may be induced by one system. Heating, ventilation, and air conditioning may be induced by a single system (abbreviated herein as "HVAC"). In some cases, the optically switchable window may be responsive to (e.g., and communicatively coupled to) one or more environmental sensors and / or user controls. The optically switchable window may include (e.g., may be) an electrochromic window. The window may be located in a range from the interior to the exterior of a structure (e.g., a facility, such as a building). However, this is not necessarily the case. The optically switchable window may be operated using a liquid crystal device, a suspended particle device, a microelectromechanical system (MEMS) device (such as a microshutter), or any technology now known or later developed that is configured to control light transmission through the window. Windows (e.g., having MEMS devices for tinting) are described in U.S. Patent No. 10,359,681, filed on May 15, 2015, and published on July 23, 2019, entitled "Multi-pane windows including electrochromic devices and electromechanical systems devices," which is incorporated herein by reference in its entirety. In some cases, one or more optically switchable windows may be located inside a building, such as between a conference room and a hallway. In some cases, one or more optically switchable windows may be used in cars, trains, airplanes, and other vehicles, for example, to replace passive and / or non-tinting windows.

[0050] Optically switchable windows may include electrochromic windows that can be used in a variety of environments, such as in office buildings and residential buildings. The complexity of many conventional electrochromic windows (e.g., wiring, installation, and programming of controllers, etc.) may hinder their use. For example, a residential user may have a local contractor install the windows, and the local contractor may not be familiar with electrochromic windows and their installation requirements. Therefore, one goal in certain disclosed embodiments is to provide electrochromic IGUs and window assemblies that are as easy to install as non-electrochromic windows. Certain disclosed features that facilitate easy installation include wireless power capabilities and / or self-powered capabilities, wireless control communications, self-gridding networks, onboard controllers, automated commissioning, and form factors that match common windows such as double-pane or triple-pane IGUs. Easy installation can refer to installation that is fast, requires minimal labor, is robust (e.g., less prone to error), and is inexpensive. Other target devices that may be included in various embodiments include: cellular or other antennas (e.g., disposed on windows), cellular repeaters (e.g., in controllers), touch panel controls (e.g., attached to media display structures), installable and / or removable controllers, learning capabilities, weather tracking, sharing of sensor output and other control information (e.g., between devices (e.g., windows) coupled to a network), subframes that may include certain controller components, wireless busses, optical (e.g., built-in photoelectric) sensors, other sensors, etc. Any two or more of these target devices may be combined as required by a particular application.

[0051] Some embodiments of electrochromic windows and / or other electrochromic devices may include first and second electrochromic layers, which include a cathode coloring layer and an anode coloring layer. In such embodiments, when exposed to opposite polarities, the first and second electrochromic layers will be colored. For example, the first electrochromic layer can be colored under an applied cathode potential (and clear under an applied anode potential), while the second electrochromic layer can be colored under an applied anode potential (and clear under an applied cathode potential). Of course, for some applications, the arrangement can be reversed. In either case, the first and second electrochromic layers can work together to color and clear.

[0052] In some embodiments, one of the first and second electrochromic layers can be replaced with a non-electrochromic ion storage layer. In this case, (e.g., only) one of the two layers exhibits electrochromic properties, such that it becomes colored and clear when a suitable potential is applied. When the other layer (sometimes referred to as the counter electrode layer) is exposed to a cathodic potential, the other layer only serves as an ion reservoir.

[0053] In some embodiments, the device stack has different layers, but in other embodiments, the electrochromic stack can be a gradient structure, or can include additional components such as antenna structures. Although some of the discussion in this disclosure focuses on windows with electrochromic devices, the disclosure can more generally relate to windows with any type of optically switchable device (such as liquid crystal devices and suspended particle devices), as well as target devices other than optically switchable windows, including any electrically controllable device, such as a sensor, a transmitter, an integration of sensors and / or transmitters, a media display structure, an antenna, a router, a transceiver, a controller (e.g., a microcontroller), a processor, a table, a chair, a door, a lighting device, a heater, a ventilator, an air conditioner, an alarm, or any other identifiable device associated with a facility.

[0054] Figure 1 An electrochromic device 100 is depicted disposed on a substrate 102. Device 100 includes, starting from substrate 102, a first conductive layer 104, a first electrochromic layer (EC1) 106, an ionic conductor layer (IC) 108, a second electrochromic layer (EC2) 110, and a second conductive layer 112. Components 104, 106, 108, 110, and 112 are collectively referred to as an electrochromic stack 114. In some embodiments, the transparent conductor layer is made of a transparent material, such as a transparent conductive oxide, which may be referred to as a "TCO." Because the TCO layer is transparent, the coloring behavior of the EC1-IC-EC2 stack can be observed through the TCO layer, allowing, for example, reversible shading using such a device on a window. A voltage source 116, which can be used to apply a potential across electrochromic stack 114, effects a transition of the electrochromic device from, for example, a clear state (i.e., transparent) to a colored state. In some embodiments, the electrochromic device may not include different ionic conductor layers. See U.S. Patent No. 8,764,950, issued July 1, 2014, and PCT Publication No. WO 2015 / 168626, filed May 1, 2015, both of which are incorporated herein by reference in their entirety.

[0055] In some embodiments, an "IGU" comprises two (or more) substantially transparent substrates, e.g., two panes of glass, wherein at least one substrate comprises an electrochromic device disposed thereon, and the panes have a divider disposed therebetween. The IGU may be sealed (e.g., airtight), having an interior region isolated from the surrounding environment. A "window assembly" may comprise an IGU or, for example, a separate laminate, and include electrical leads for connecting the IGU or the laminate of one or more electrochromic devices to a voltage source, a switch, etc., and may include a frame supporting the IGU or the laminate. A window assembly may include or be operably (e.g., communicatively) coupled to a window controller (e.g., as described herein) and / or components of the window controller (e.g., a docking piece).

[0056] Window controllers can have many sizes, formats, and positions relative to the optically switchable windows they control. The controller can be attached to the glass of the IGU and / or laminate. The controller can be housed in a frame that houses the IGU and / or laminate. Tintable (e.g., electrochromic) windows can include one, two, three, or more separate electrochromic panes (electrochromic devices on a transparent substrate). Individual panes of an electrochromic window can have an electrochromic coating having independently tintable zones. A controller as described herein can control all electrochromic coatings associated with such a window, whether the electrochromic coating is integral or partitioned.

[0057] The controller can typically be placed in close proximity to the optically switchable (e.g., electrochromic) window, typically adjacent to the glass, on the glass, or inside the IGU (e.g., within the frame of a separate assembly). In some embodiments, the window controller is an "in situ" controller; that is, the controller is part of the window assembly, IGU, and / or laminate. The controller may not necessarily be matched with the optically switchable window and installed on site, for example, the controller is shipped with the window as part of the assembly from the factory. The controller can be installed in the window frame of the window assembly or be part of the IGU and / or laminate assembly. The controller can be installed on or between the panes of the IGU or on the panes of the laminate. In the case where the controller is located on the visible portion of the IGU, at least a portion of the controller can be (e.g., substantially) transparent. Other examples of on-glass controllers are provided in U.S. patent application Ser. No. 14 / 951,410, filed on November 24, 2015, entitled "SELF CONTAINED EC IGU," which is incorporated herein by reference in its entirety. In some embodiments, the local controller is provided as more than one part, wherein at least one part (e.g., a memory component containing information about the associated optically switchable window) is provided as part of the window assembly, and at least one other part is separate and configured to mate with at least one part that is part of the window assembly, IGU, or laminate. In some embodiments, the controller is an assembly of interconnected parts that are not in a single housing, but rather are spaced apart, such as in a secondary seal of an IGU. In some embodiments, the controller is a compact unit, such as in a single housing or in a combination of two or more components, such as a docking piece and housing assembly, that is close to the glass, not in the viewable area, or mounted on the glass in the viewable area.

[0058] In one embodiment, the controller is incorporated into or onto the IGU and / or window frame prior to installation of the optically switchable window. In one embodiment, the controller is incorporated into or onto the IGU and / or window frame prior to leaving the manufacturing facility. In one embodiment, the controller is incorporated into the IGU substantially within the secondary seal. In another embodiment, the controller is incorporated into or onto the IGU partially, substantially, or completely within the perimeter defined by the primary seal between the sealing divider and the substrate.

[0059] By having the controller as part of an IGU and / or window assembly, the IGU can have, for example, the logic and / or features of the controller shipped with the IGU or window unit. For example, when the controller is part of an IGU assembly having an electrochromic window, the characteristic function can be used, for example, to update control parameters used to drive tinting state transitions in the event that the characteristics of the electrochromic device change over time (e.g., through degradation). In another embodiment, if already installed in an optically switchable window unit, the logic and / or features of the controller can be used to calibrate one or more of the control parameters, for example, to match an intended installation. If already installed, one or more control parameters can be recalibrated to match the performance characteristics of the optically switchable window.

[0060] In some embodiments, the controller is not pre-associated with the window, but rather, a docking assembly, for example, having parts common to any optically switchable window, is associated with each window at the factory. After the window is installed, or otherwise on-site, a second component of the controller can be combined with the docking assembly to complete the optically switchable window controller assembly. The docking assembly can include a chip that is factory-programmed with the physical characteristics and / or parameters of the specific window to which the docking assembly is attached (e.g., the surface that will face the interior of the building after installation, sometimes referred to as surface 4 or "S4"). A second component (sometimes referred to as a "carrier," "housing," "shell," or "controller") can mate with the docking assembly, and when powered on, the second component can read the chip and configure itself to power the window according to the specific characteristics and parameters stored on the chip. In this way, a window can be shipped with (e.g., only) its associated parameters stored on a chip that is integral to the window, while more complex circuitry and components can be combined later (e.g., shipped separately and installed by the window manufacturer after the glazier has installed the window, and then commissioned by the window manufacturer). In some embodiments, the chip is contained in the wires or wire connectors attached to the window controller. This type of wire with a connector is sometimes called a pigtail.

[0061] As used herein, the term "outside" means closer to the outside environment, while the term "inside" means closer to the interior of a building. For example, in the case of an IGU with two panes, the pane that is positioned closer to the outside environment is referred to as the outside pane or outer pane, while the pane that is positioned closer to the interior of the building is referred to as the inside pane or inner pane. The different surfaces of the IGU may be referred to as S1, S2, S3, and S4 (assuming a double-pane IGU). S1 refers to the surface of the outside pane that faces outward (i.e., the surface that can be physically contacted by a person standing outside). S2 refers to the surface of the outside pane that faces inward. S3 refers to the surface of the inside pane that faces outward. S4 refers to the surface of the inside pane that faces inward (i.e., the surface that can be physically contacted by a person standing inside the building). In other words, starting from the outermost surface of the IGU and counting inward, the surfaces are labeled S1-S4 ( Figure 1 (not shown in FIG. 1 ). Where the IGU comprises three panes, the same trend applies (S6 being a surface that can be physically touched by a person standing inside the building). In some embodiments employing two panes, an electrochromic device (or other optically switchable device) is disposed on S3.

[0062] Examples of optically switchable (e.g., tintable) windows, window controllers, methods of using them, and features thereof are presented in U.S. patent application Ser. No. 15 / 334,832, filed on Oct. 26, 2016, entitled “CONTROLLERS FOR OPTICALLY-SWITCHABLE DEVICES,” and U.S. patent application Ser. No. 16 / 082,793, filed on Sept. 6, 2018, entitled “METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS,” each of which is incorporated herein by reference in its entirety.

[0063] Figure 2A drawing showing a system 200 for controlling and driving a plurality of optically switchable windows is shown. The system can be used to control the operation of one or more devices associated with the optically switchable windows (such as window antennas). The system 200 can be suitable for use with a facility (e.g., building 204) including a commercial office building or a residential building. In some embodiments, the system 200 is designed to function in conjunction with a modern heating, ventilation, and air conditioning (HVAC) system 206, an interior lighting system 207, a security system 208, and a power system 209 as a single, integrated and efficient energy control system for the entire building 204 or a campus of buildings 204. Some embodiments of the system 200 are particularly suitable for integration with a building management system (BMS) 210. The BMS 210 is a computer-based control system that can be installed in a building to monitor and control the building's mechanical and electrical equipment, such as the HVAC system, lighting system, power system, elevators, fire protection system, and security system. The BMS 210 may include hardware and associated firmware or software for maintaining conditions in the building 204 according to preferences set by the occupants or the building manager or other administrator. The software may be based on, for example, Internet protocols or open standards.

[0064] A BMS can be used in large buildings, where its function is to control the environment within the building. For example, the BMS 210 can control the lighting, temperature, carbon dioxide level, and / or humidity within the building 204. There can be several (e.g., many) mechanical and / or electrical devices controlled by the BMS 210, including, for example, a furnace or other heater, an air conditioner, a blower, and / or a vent. To control the building environment, the BMS 210 can, for example, turn these various devices on and off according to rules and / or in response to conditions. Such rules and / or conditions can be selected and / or specified by a user (e.g., a building manager and / or administrator). One function of the BMS 210 can be to maintain a comfortable environment for the occupants of the building 204, for example, while minimizing heating and cooling energy losses and costs. In some embodiments, the BMS 210 is configured not only to monitor and control, but also to optimize the synergy between the various systems, for example, to save energy and reduce building operating costs.

[0065] Some embodiments are designed to function responsively or reactively based on feedback. The feedback control scheme may include measurements sensed by, for example, thermal, optical, or other sensors. The feedback control scheme may include inputs from HVAC, interior lighting systems, and / or inputs from user controls. Examples of control systems, methods for their use, and associated software may be found in U.S. Patent No. 8,705,162, issued April 22, 2014, which is incorporated herein by reference in its entirety. Some embodiments are used in existing structures, including, for example, commercial and / or residential structures with traditional or conventional HVAC and / or interior lighting systems. Some embodiments are retrofitted for use in older facilities (e.g., residences).

[0066] System 200 includes a network controller 212 configured to control a plurality of window controllers 214. For example, one network controller 212 can control at least tens, hundreds, or thousands of window controllers 214. Each window controller 214 can, in turn, control and drive one or more electrochromic windows 202. In some embodiments, the network controller 212 can issue high-level commands, such as the final tint state of a tintable window. The window controller can receive these commands and directly control its associated window, for example, by applying electrical stimulation to appropriately drive the tint state transition and / or maintain the tint state. The number and size of optically switchable (e.g., electrochromic) windows 202 that each window controller 214 can drive can generally be limited by the voltage and / or current characteristics of the load on the window controller 214 controlling the corresponding electrochromic window 202. In some embodiments, the maximum window size that a window controller 214 can drive is limited by the voltage, current, and / or power requirements to induce the requested optical transition in the electrochromic window 202 within the requested time frame. These requirements, in turn, vary with the window surface area. In some embodiments, this relationship is nonlinear. For example, the voltage, current, and / or power requirements can increase nonlinearly with the surface area of ​​the electrochromic window 202. Without wishing to be bound by theory, in some cases, the relationship is at least partially nonlinear because the sheet resistance of the first and second conductive layers increases nonlinearly with distance over the length and width of the first or second conductive layer. In some embodiments, the relationship between the voltage, current, and / or power requirements required to drive multiple electrochromic windows 202 of the same size and shape is proportional to the number of electrochromic windows 202 being driven.

[0067] Figure 2 An example of a master controller 211 is shown. The master controller 211 communicates with and functions in conjunction with a plurality of network controllers 212, each of which is capable of addressing a plurality of window controllers 214. In some embodiments, the master controller 211 issues high-level instructions (e.g., the final tinting state of a tintable window) to the network controllers 212, which then transmit the instructions to the corresponding window controllers 214. Figure 2 An example of a hierarchical control system including a master controller, a network controller, and window controllers is shown.

[0068] In some embodiments, the various electrochromic windows 202, antennas, and / or other target devices of a facility (e.g., comprising a building or other structure) are (e.g., advantageously) grouped into zones or zone groups (e.g., where each zone contains a subset of electrochromic windows 202). For example, each zone can correspond to a collection of electrochromic windows 202 in a specific location or area of ​​the facility that should be tinted (or otherwise transformed) to the same or similar optical state based at least in part on their location. As another example, consider a building with four faces or sides: north, south, east, and west. Imagine the building has ten floors. In such an example, each zone can correspond to a collection of electrochromic windows 202 on a specific floor and on a specific one of the four faces. In some such embodiments, each network controller 212 can address one or more zones or zone groups. For example, the master controller 211 can issue a final tint state command for a specific zone or zone group to the corresponding one or more network controllers 212. For example, the final tint state command can include an abstract identification of each target zone. The designated network controller 212 receiving the final tint state command may then map the abstract identification of the zone to a specific network address of a corresponding window controller 214 that controls the voltage or current profile to be applied to the electrochromic windows 202 in the zone.

[0069] In some embodiments, a distributed network of controllers is used to control optically switchable windows. For example, according to some embodiments, the network system can be operated to control multiple IGUs. One primary function of the network system can be to control the optical state of an electrochromic device (or other optically switchable device) within an IGU.

[0070] In some embodiments, another function of the network system is to obtain status information (e.g., data) from the IGUs. For example, the status information for a given IGU may include identification of the current tinting state of a tintable device within the IGU or information about the current tinting state. The network system may be operable to obtain data from various sensors, such as temperature sensors, photoelectric sensors (referred to herein as light sensors), humidity sensors, air flow sensors or occupancy sensors, antennas, whether integrated on or within the IGU, or other various locations within, on, or around the building. At least one sensor may be configured (e.g., designed) to measure one or more environmental characteristics, such as temperature, humidity, ambient noise, carbon dioxide, VOCs, particulate matter, oxygen, and / or any other aspect of the environment (e.g., its atmosphere). The sensors may include electromagnetic sensors.

[0071] Electromagnetic sensors may be configured to sense ultraviolet, visible light, infrared, and / or radio wave radiation. Infrared radiation may be passive infrared radiation (e.g., blackbody radiation). Electromagnetic sensors may sense radio waves. Radio waves may include broadband or ultra-wideband radio signals. Radio waves may include pulsed radio waves. Radio waves may include radio waves used in communications. Radio waves may be at a medium frequency of at least approximately 300 kilohertz (KHz), 500 KHz, 800 KHz, 1000 KHz, 1500 KHz, 2000 KHz, or 2500 KHz. Radio waves may be at a medium frequency of up to approximately 500 KHz, 800 KHz, 1000 KHz, 1500 KHz, 2000 KHz, 2500 KHz, or 3000 KHz. Radio waves may be at any frequency within the aforementioned frequency ranges (e.g., approximately 300 KHz to approximately 3000 KHz). The radio waves may be at a high frequency of at least about 3 megahertz (MHz), 5 MHz, 8 MHz, 10 MHz, 15 MHz, 20 MHz, or 25 MHz. The radio waves may be at a high frequency of at most about 5 MHz, 8 MHz, 10 MHz, 15 MHz, 20 MHz, 25 MHz, or 30 MHz. The radio waves may be at any frequency between the aforementioned frequency ranges (e.g., about 3 MHz to about 30 MHz). The radio waves may be at a very high frequency of at least about 30 megahertz (MHz), 50 MHz, 80 MHz, 100 MHz, 150 MHz, 200 MHz, or 250 MHz. The radio waves may be at a very high frequency of at most about 50 MHz, 80 MHz, 100 MHz, 150 MHz, 200 MHz, 250 MHz, or 300 MHz. The radio waves may be at any frequency between the aforementioned frequency ranges (e.g., about 30 MHz to about 300 MHz). The radio waves may be at an ultra-high frequency of at least about 300 kilohertz (MHz), 500 MHz, 800 MHz, 1000 MHz, 1500 MHz, 2000 MHz, or 2500 MHz. The radio waves may be at an ultra-high frequency of at most about 500 MHz, 800 MHz, 1000 MHz, 1500 MHz, 2000 MHz, 2500 MHz, or 3000 MHz. The radio waves may be at any frequency between the aforementioned frequency ranges (e.g., about 300 MHz to about 3000 MHz). The radio waves may be at an ultra-high frequency of at least about 3 gigahertz (GHz), 5 GHz, 8 GHz, 10 GHz, 15 GHz, 20 GHz, or 25 GHz.The radio waves may be at ultra-high frequencies of up to about 5 GHz, 8 GHz, 10 GHz, 15 GHz, 20 GHz, 25 GHz, or 30 GHz. The radio waves may be at any frequency between the aforementioned frequency ranges (e.g., about 3 GHz to about 30 GHz).

[0072] The network system may include any suitable number of distributed controllers with various capabilities or functions.In some embodiments, the functions and arrangements of the various controllers are defined hierarchically. Figure 3 An example of a network system 300 is shown that includes multiple distributed local (e.g., window) controllers (WCs) 304, multiple floor (e.g., network) controllers (NCs) 306, and a master controller (MC) 308. In some embodiments, the MCs 308 can communicate with and control at least two, ten, dozens, hundreds, or even millions of floors using floor controllers (e.g., network controllers NCs) 306. A floor controller can be configured to control a floor or a portion of a floor. In various embodiments, the master controller MC 308 issues high-level instructions to the NCs 306 via one or more wired and / or wireless communication links. These instructions may include, for example, shading commands for causing a change in the optical state of the IGUs controlled by the corresponding NCs 306. Each NC 306 can, in turn, communicate with and control a plurality of window controllers (WCs) 304 via one or more wired and / or wireless links. The communication links can be bidirectional.

[0073] The MC 308 may issue communications containing shading commands, status request commands, data (e.g., sensor data) request commands, or other instructions. In some embodiments, the MC 308 periodically issues such communications at certain predetermined times of the day (which may vary based on the day of the week or the year) or based at least in part on the detection of a particular event, condition, or combination of events or conditions (e.g., as determined by acquired sensor data, or based at least in part on the receipt of a request initiated by a user and / or an application, or a combination of such sensor data and such requests). In some embodiments, when the MC 308 determines that a change (e.g., modification) in the shading state of a set of one or more IGUs is caused, the MC 308 generates or selects a shading value corresponding to the requested shading state. In some embodiments, the set of IGUs is associated with a first protocol identifier (ID) (e.g., a Building Automation and Control (BAC) Network Identification (BACnet ID)). The MC 308 may then generate and transmit a communication containing the shading value and the first protocol ID over a link via a first communication protocol (e.g., a BACnet-compatible protocol)—referred to herein as a "primary shading command." In some embodiments, the MC 308 addresses the primary shading command to a specific NC 306, which controls one or more specific WCs 304, which in turn control the set of IGUs to be transformed. The NC 306 may receive the primary shading command including a shading value and a first protocol ID and map the first protocol ID to one or more second protocol IDs. In some embodiments, each of the second protocol IDs identifies a corresponding one of the WCs 304. The NC 306 may then transmit a secondary shading command including the shading value to each of the identified WCs 304 over a link via a second communication protocol. In some embodiments, each of the WCs 304 that receives the secondary shading command then selects a voltage and / or current profile from internal memory based on the shading value to drive its respectively connected IGU to a shading state consistent with the shading value. Each of the WCs 304 may then generate a voltage and / or current signal and provide the voltage and / or current signal to its respectively connected IGU over a link to apply the voltage or current profile.

[0074] In a manner similar to the functionality and / or arrangement of controllers arranged hierarchically, optically switchable windows can be arranged in a hierarchical structure. The hierarchical structure can help facilitate control of optically switchable windows at a particular site by allowing rules or user controls to be applied to various groups of optically switchable windows or IGUs. Furthermore, for aesthetic reasons, multiple consecutive windows in a room and / or other site locations may sometimes need to have their optical states correspond and / or tint at the same rate. Treating consecutive groups of windows as zones can facilitate achieving these goals.

[0075] In some embodiments, IGUs are grouped into zones of optically switchable windows, each of which includes at least one window controller and its corresponding IGU. Each zone of an IGU can be controlled by one or more corresponding NCs and one or more corresponding WCs controlled by these NCs. For example, each zone can be controlled by a single NC and two or more WCs controlled by the single NC.

[0076] In some embodiments, at least one device operates in conjunction with at least one other device, the devices being coupled to a network. At least one device can be controlled via Ethernet. For example, the tint level of a tintable window can be adjusted simultaneously. When the devices are in use, zones of the devices can have at least one characteristic that is the same. For example, when a tintable window is within a zone, the zones of tintable windows can have their tint levels (automatically) changed (e.g., darkened or lightened) to the same level. For example, when sound sensors are within a zone, they can sample sound at the same frequency and / or within the same time window. A zone of devices can include multiple devices (e.g., of the same type). A zone may include (i) devices (e.g., optically switchable windows) facing a particular direction of an enclosure (e.g., a facility), (ii) multiple devices mounted on a particular face of an enclosure (e.g., a facade), (iii) devices on a particular floor of a facility, (iv) devices in a particular type of room and / or activity (e.g., an open space, an office, a conference room, a lecture hall, a corridor, a reception hall, or a cafeteria), (v) devices mounted on the same fixture (e.g., an interior or exterior wall), and / or (vi) user-defined devices (e.g., a group of optically switchable windows in a room or on a facade that is a subset of a larger group of optically switchable windows). (Automatic) adjustment of devices may be performed automatically and / or by the user. Automatic changes in properties and / or conditions of devices in a zone may be overridden by the user (e.g., by manually adjusting tinting levels). The user may override automatic adjustment of devices in a zone using a mobile circuit system (e.g., a remote control, a virtual reality controller, a cellular phone, an electronic notepad, a laptop computer, and / or via a similar mobile device).

[0077] In some embodiments, when instructions related to the control of a device (e.g., instructions for a window controller or IGU) are passed through a network system, the instructions are accompanied by the unique network ID of the device to which they are sent. The network ID can help ensure that the instructions arrive and are executed on the intended device. For example, a window controller that controls the shading state of more than one IGU can determine which IGU to control based on a network ID, such as a controller area network (CAN) ID (a form of network ID) passed along with the shading command. In window networks such as those described herein, the term network ID includes, but is not limited to, CAN IDs and BACnet IDs. Such network IDs can be applied to window network nodes such as window controllers, network controllers, and master controllers. The network ID of a device can include the network ID of each device that controls the device in a hierarchical structure. For example, in addition to its own CAN ID, the network ID of an IGU can also include a window controller ID, a network controller ID, and a master controller ID.

[0078] Figure 4 Various IGUs 422 are shown grouped into zones 403 of optically switchable windows, each zone 403 including at least one window controller 424 and its corresponding IGU 422. In some embodiments, each zone of IGUs 422 is controlled by one or more corresponding NCs and one or more corresponding WCs 424 controlled by those NCs. Each zone 403 can be controlled by a single NC and two or more WCs 424 controlled by that single NC. Thus, zones 403 can represent logical groupings of IGUs 422. Similarly, zone groups 402 can represent logical groupings of zones 403. For example, each zone 403 can correspond to a collection of IGUs 422 in a specific location or area of ​​a building that are driven together based on their location. As a more specific example, consider a site 401 that is a building with four faces or sides: north, south, east, and west. Imagine the building has ten floors. In such an example, each zone 403 can correspond to a collection of optically switchable windows (IGUs 422) on a particular floor and on a particular one of the four faces. Each zone 403 can correspond to a collection of IGUs 422 that share one or more physical characteristics (e.g., device parameters such as size or age). In some embodiments, zones 403 of IGUs 422 are grouped based at least in part on one or more non-physical characteristics (including security designations or business classifications) (e.g., IGUs 422 defining manager offices can be grouped in one or more zones, while IGUs 422 defining non-manager offices can be grouped in one or more different zones).

[0079] In some such embodiments, each NC can address all IGUs 422 in each of one or more corresponding zones 403. For example, the MC can issue a primary shading command to the NC that controls the target zone 403. The primary shading command can include an abstract identification of the target zone (hereinafter referred to as a "zone ID"). In some such embodiments, the zone ID can be a first protocol ID, such as the protocol ID described in the example just above. The NC can receive the primary shading command including the shading value and the zone ID, and can map the zone ID to a second protocol ID associated with the WC 424 within the zone. In some embodiments, the zone ID can be a higher level of abstraction than the first protocol ID. In this case, the NC can first map the zone ID to one or more first protocol IDs, and then map the first protocol ID to the second protocol ID.

[0080] In order for tinting control to function (e.g., to allow the window control system to change the tinting state of a particular window or IGU, or a particular set of windows or IGUs), the master controller, network controller, and / or other controller responsible for tinting decisions may utilize the network address of the window controller connected to the particular window or set of windows. To this end, a debugging function may be used to provide the correct assignment of window controller addresses and / or other identifying information to particular windows and window controllers, as well as the physical location of the windows and / or window controllers in the building. In some embodiments, the purpose of debugging is to correct errors and / or other problems that occur when windows are installed in the wrong location or cables are connected to the wrong window controller. In some embodiments, the purpose of debugging is to provide semi-automated or fully automated installation. In other words, to allow installation to be performed with little or no location guidance from the installer.

[0081] In some embodiments, the commissioning process for a particular window or IGU may involve associating the ID of a device (e.g., a window and / or other window-related component) with its corresponding local (e.g., window) controller. The process may assign a building location, a relative location, and / or an absolute location (e.g., latitude, longitude, and elevation) to a device (e.g., a window or another component). Examples related to debugging and / or configuring networks for optically switchable (e.g., tintable) windows can be found in U.S. patent application Ser. No. 14 / 391,122, filed on October 7, 2014, entitled “APPLICATIONS FOR CONTROLLING OPTICALLY SWITCHABLE DEVICES,” U.S. patent application Ser. No. 14 / 951,410, filed on November 24, 2015, entitled “STAND-ALONE EC IGU,” U.S. Provisional Patent Application Ser. No. 62 / 305,892, filed on March 9, 2016, entitled “METHOD OF DEBUGGING ELECTROCHROMIC WINDOW,” and U.S. Provisional Patent Application Ser. No. 62 / 370,174, filed on August 2, 2016, entitled “METHOD OF DEBUGGING ELECTROCHROMIC WINDOW,” each of which is incorporated herein by reference in its entirety.

[0082] After physically installing a network of devices (e.g., optically switchable windows), the network can be debugged to correct any incorrect assignment of window controllers to the wrong windows (typically IGUs) or building locations. In some embodiments, a debug map pairs or links each device (e.g., window) and its location with an associated location (e.g., window) controller.

[0083] In some embodiments, commissioning is expected to resolve, for example, incorrect pairings of local (e.g., window) controllers with associated devices (e.g., windows) during installation. For example, prior to installation, a local (e.g., window) controller may be assigned to a specific device (e.g., window), which may be assigned to a specific location in a building. However, during installation, the local (e.g., window) controller and / or the device (e.g., window) may be installed in an incorrect location. For example, a local (e.g., window) controller may be paired with the wrong device (e.g., window), or the device (e.g., window) may be installed in the wrong location. These incorrect pairings may be difficult to resolve and / or require a significant amount of (e.g., manual) labor, time, and / or cost to resolve and / or correct. Additionally, during the construction process, the physical device (e.g., window) installation and wiring installation in a building may be completed by different teams at different times. Recognizing this challenge, in some embodiments, the devices (e.g., windows) and / or local controllers are not pre-assigned to each other, but are paired during the commissioning process. Even if mispairing is not a problem because, for example, a local (e.g., window) controller is physically attached to its corresponding device (e.g., window), the installer may not know or care which device (e.g., window) (and therefore which local controller) is installed in which location. For example, the devices (e.g., windows) may be identical in size, shape, and / or optical properties and therefore interchangeable. The installer may install such devices (e.g., windows) at any convenient location, regardless of the unique local controller associated with each such device (e.g., window). The various commissioning embodiments described herein allow for such flexible installation.

[0084] Some examples of problems that may arise during installation are as follows: (I) Errors in placing windows in the correct location: Electrically controllable windows can be easily installed incorrectly, for example, by technicians who are not accustomed to working with electrically controllable windows. These technicians may include tradespeople such as glaziers and / or low-voltage electricians (LVEs); (II) Incorrectly connecting cables to window controllers: This can occur, for example, when multiple windows are placed in close proximity; (III) Failure (e.g., damage) of optically switchable windows and / or window controllers: The installer may install a working window and / or controller to replace a failed (e.g., damaged) window and / or controller. The new window and / or controller may not be included in the installation and / or building (e.g., BIM) plans and therefore may not be considered and / or identified during commissioning; and (IV) The process of installing many windows in the correct location can be complicated. It is desirable to replace the paradigm where installers are responsible for installing many unique windows in unique locations, which can be prone to human error. Therefore, it may be useful to eliminate (e.g., most or all) window and / or controller location considerations, which can complicate the installation process. Similar discussion can apply to any device (instead of a window) and any local controller that controls the device (instead of a window controller).The device can be, for example, any of the devices disclosed herein.

[0085] In one example, the installation and attendant problems requiring improved debugging methods may arise from the following actions:

[0086] a. When the window controllers are manufactured, each window controller is assigned a unique network address (eg, CANID).

[0087] b. The window manufacturer (not necessarily the window controller manufacturer), building designer, or other entity specifies information about the window controller (having a specified network address) and the window (IGU). It does this by assigning a window controller ID (WCID), which is not (e.g., different from) the network address of the window controller. The window manufacturer and / or other entity specifies which IGU(s) are associated with the window controller (WCID). To do this, the entity specifies the window ID (WID) of the window. In some cases, the manufacturer and / or other entity does not specify the association between the IGU and the controller, such as which specific IGU(s) the controller needs to be connected to. For example, the window manufacturer does not need to specify that a WC (having a CANID (e.g., 19196997)) needs to be connected to any specific WID (e.g., 04349`0524`0071`0017`00). Instead, the manufacturer or other entity specifies that a WC (having a CANID (e.g., 19196997)) has a window controller ID, such as WC10. The window controller ID can be reflected (e.g., presented) on an interconnection diagram, architectural drawing, or other representation of a building as a location tag (e.g., an arbitrary number assigned to a window in the facility), which can also specify that the window controller is connected to a specific IGU identified by the window ID (e.g., W31 and W32 (location tags for the IGs)).

[0088] c. As indicated, the manufacturer or other entity applies a window controller ID (WCxx tag) on ​​each window controller. The entity enters the WCxx / CAN ID pair information in a configuration file used by the master controller / network controller or other device that contains the logic responsible for issuing the individual shading decisions.

[0089] d. This process requires the LVE or other technician responsible for installing and / or wiring the electrically controllable windows to select a specific window controller from the window controller box and install it in a specific location in the building.

[0090] e. Any errors made in operations (c) or (d) will make it difficult to conduct on-site troubleshooting to locate the incorrect mapping and correct it.

[0091] f. Even if operations (c) and (d) are performed correctly, the window controller and / or window may be damaged, in which case the window controller and / or window must be replaced during installation. This may cause problems unless the changes are manually tracked and reflected in the configuration file. Similar discussions apply to any device (replacing the window) and any local controller (replacing the window controller) that controls the device. The device may be any of the devices disclosed herein.

[0092] A local controller may directly control a device, be located on the device, or be positioned proximate to the device (e.g., on or near a window or device integration housing). In some embodiments, the commissioning process specifies the type of controller in the hierarchical network and / or the controller's logical position in the network's topology. Each individual device (e.g., a sensor, device integration, and / or optically switchable window) may have a physical ID (e.g., a window or slat ID (WID) as referred to herein) and an associated controller with a unique network ID (e.g., a CAN ID as referred to above). In some embodiments, a local controller includes a physical ID (e.g., a WCID). Generally speaking, the commissioning process can be used to link or pair any two related network components, including, but not limited to, an IGU (or slat in an IGU), a window controller, a network controller, a master controller, a sensor, a transmitter, an antenna, a receiver, a transceiver, a processor, and / or a device integration. In some embodiments, the commissioning process involves pairing network identifiers associated with devices (e.g., IGUs) and / or controllers with fixtures, surfaces, and / or any other features on a three-dimensional building model (e.g., a BIM file). Device integration may be referred to herein as a "digital building element."

[0093] As previously mentioned, some embodiments can streamline the estimating and / or cabling process by implementing various operations on a virtual model of a building or other enclosure. Estimating and / or cabling can be part of a process for obtaining a bill of materials (BOM) from a virtual model of an enclosure. Figure 5-18 The windows and controllers described may correspond to the previously described Figure 1-4 The IGU and local controller described (e.g., Figure 3 IGU and local controller 304).

[0094] Figure 5 FIG is a flow chart of a process 500 for obtaining a BOM for a building, according to an embodiment. As with other figures herein, Figure 5 Provided as non-limiting examples, and alternative embodiments may be Figure 5 The process 500 shown in FIG. 5 can be implemented with various modifications and in addition to or as an alternative to a building design solution for various types of enclosures. The process 500 can be performed by a computer, for example, using a CAD software program. The functions shown in the blocks of the process 500 can be implemented by the CAD software program itself, or using a plug-in, extension, or script (or a combination thereof) within the CAD software.

[0095] At block 510, the functionality includes obtaining a virtual building model. As mentioned, the virtual building model may include . A CAD program executed by a computer system (e.g. Figure 19 ) can be used to obtain and read electronic files (e.g., from a file storage medium) and display a virtual building model. A visualization of an example virtual building model that can be displayed on such a display is shown in block 515.

[0096] Depending on the type of virtual building model used, the model may include different components. For example, in some embodiments, the model may be made up of different components or elements that may include individual or multiple groups of building features. For example, each window may include different elements, although (depending on how the virtual model was created) some virtual models may group various elements together. Therefore, some embodiments may "ungroup" all elements in the virtual model to eliminate groupings and ensure that the elements include essential components. Elements may belong to categories (e.g., windows, walls, etc.), families (e.g., families of elements that make up larger components, such as a double storefront window, a single storefront window, a curtain wall, etc.), types (e.g., sharing common properties such as size, material, etc.), or a combination thereof. Element properties, such as material, may further include characteristics or attributes. For example, transparency may be a property of the material (e.g., glass) of an element (e.g., a window). Similarly, the types of components in a virtual model may vary depending on the type of model used, the electronic file format, and so on.

[0097] Depending on the desired functionality, the user may be able to view and manipulate the virtual building model in various ways. For example, the building may be displayed as a 3D model (e.g., as shown in block 515), and the user may be able to manipulate the view by panning, tilting, rotating, zooming, or any combination thereof. In addition, the user may be able to select (e.g., by clicking on the element with a mouse cursor) individual elements to display aspects of the element, such as the element's material, the family to which it belongs, the category to which the family belongs, or a combination thereof.

[0098] Once the virtual building model is obtained, process 500 may proceed to model conditioning, as shown in block 520. As explained in more detail below, model conditioning may include preparing the model for the estimation process. This may involve operations such as identifying relevant model elements (e.g., windows), removing irrelevant model elements, classifying windows, or a combination thereof. Additional details regarding model conditioning are provided below with respect to Figure 6-8 Depending on the desired functionality, embodiments may enable different window categories to be displayed differently to the user to facilitate visual identification by the user. An example of this is provided in block 525, where windows are categorized by level (e.g., among other categories), and windows at different levels of the virtual model of the building are colored or shaded differently.

[0099] At block 530, process 500 includes estimating. Depending on the desired functionality, estimating may include operations such as measuring and classifying windows, determining frame bite, adjusting frame bite, creating visual filters, outputting estimates, or a combination thereof. Figure 9-12 Describe additional details about the estimation. Ultimately, the estimation can provide information (e.g., for a bill of materials) about at least a subset of the windows of a building or other enclosure (e.g., including exterior windows of the building envelope). This information can be used, for example, by a window manufacturer to determine the number and type of windows to use in a building. Furthermore, as shown in block 535, embodiments can provide a visualization of the windows identified for estimation, thereby distinguishing the windows from other elements of the building (e.g., by shading, color, pattern, or a combination thereof).

[0100] At block 540, process 500 may include cabling. As previously mentioned, windows, such as optically switchable windows, may use electricity to power their functionality. Thus, according to some embodiments, cables providing power (and optionally data) may be routed from a power source (e.g., a control panel) to the various windows. The cabling at block 540 may include operations that enable the creation of a plan and / or bill of materials for such cabling. As described below with respect to Figure 13-16 Described in more detail, these operations may include clustering windows, routing cables, performing voltage checks, determining control panel requirements, deriving power values, or a combination thereof.

[0101] Following estimation at block 530 and / or cabling at block 540 , process 500 may then output relevant information, such as a BOM containing the windows identified during estimation at block 530 and / or the cables identified during cabling at block 540 .

[0102] Figure 6 is a flow chart of a method 600 for model tuning according to an embodiment. Figure 6 The functions shown in the boxes may correspond to e.g. Figure 5 The model adjustment at block 520 of FIG. 5 is also described. Furthermore, the functionality may be performed, for example, using a plug-in, extension, script, or combination thereof, executed in a CAD software program in which the virtual building model may be manipulated. As described herein, method 600 may be fully automated or may utilize user input.

[0103] At block 610, method 600 includes removing irrelevant elements from the virtual model. Because the virtual model of the building may have a relatively large number of details that may not be relevant to the estimation, its file size may be unnecessarily large and may use a large amount of memory on the computer executing method 600. This may slow down operations on the model. Removing irrelevant elements (e.g., light fixtures, HVAC components, interior glazing elements, etc.) can help reduce the file size of the model (e.g., creating a "lite" version of the model that can be used to perform estimation and / or cabling, as described herein) and speed up the overall process.

[0104] According to some embodiments, irrelevant elements may be identified by their location within the virtual model. For example, for a project where the estimation involves windows comprising the building's envelope (or "skin"), this may mean removing elements located within the building's interior from the virtual model. According to some embodiments, removing irrelevant elements at block 610 may thus include removing elements in the building's virtual model that are located beyond a threshold distance (e.g., 1 m, 3 m, 5 m, 10 m, etc.) from the building's exterior walls. Additionally or alternatively, removing irrelevant elements may include removing elements that are within a threshold (e.g., horizontal) distance (e.g., 1 m, 3 m, 5 m, 10 m, etc.) from the building's (e.g., horizontal) center.

[0105] Depending on the desired functionality and / or user preferences, the process of removing irrelevant elements may retain certain non-window elements of the virtual building model. For example, certain elements may be retained to allow the user to identify windows that are relevant to the estimation process. This may mean, for example, retaining elements such as exterior walls and roofs to allow the user to identify the location of exterior windows relative to the entire building in the visualization of the retained elements of the virtual model (in Figure 5 An example visualization of retaining external elements in this manner is provided in 525 of ).

[0106] Additionally or alternatively, irrelevant elements may be identified by category. In some cases, elements within a virtual model may be categorized based on element type. Thus, according to some embodiments, an interface may be provided to a user to enable the user to identify irrelevant categories. Irrelevant categories may include categories that include or are associated with light fixtures, HVAC components, electrical components, etc., which may be easily identified by a user. The user may then identify categories that are irrelevant and / or relevant to the estimation, and the computer may utilize this user input to remove the irrelevant categories. According to some embodiments, prior to removal, the user interface may provide the user with a visualization of the identified elements (e.g., relevant or irrelevant elements, based on the categories identified by the user), which may be identified, for example, by, for example, shading, color, pattern, or a combination thereof (e.g., similar to Figure 5525, 535, and 545 of FIG. ). This visual identification provided to the user may allow the user to confirm irrelevant elements to be removed and / or relevant elements that will not be removed.

[0107] At block 620, method 600 includes finding all relevant windows in the virtual model of the building, which may occur after removing irrelevant elements at block 610. According to some embodiments, because non-window elements of the building may still be retained in the model, a filtering process may be used to identify elements of the virtual model including windows that are relevant to the estimation process. This filtering may be based on, for example, properties of the material the element comprises, the category to which the element belongs (e.g., window, wall, etc.), one or more other element characteristics, or a combination thereof.

[0108] Optionally, as indicated by the dashed line at block 630, method 600 may include finding correlation windows that were missed in the find all correlation windows operation performed at block 620. The functionality at block 630 may include providing a visualization to the user so that the user can manually select and add the missing windows. In some embodiments, the find missing windows operation at block 630 may be part of a user verification operation in which the user verifies the correlation windows for evaluation. An example of a visualization for such verification is provided in FIG. Figure 7 In display.

[0109] Figure 7 is a simplified side view of an example visualization of a virtual model of a building 700. In this example, included in the Find All Related Window Operation ( Figure 6 The identified windows 710 of the elements identified as relevant windows during block 620 of FIG. 1 (to avoid confusion, only Figure 7 700 (e.g., using shading, color, pattern, etc.). In this way, the user may be able to identify missing windows 720. These missing windows 720 may be identified by the user as windows that do not have the identifying characteristics of the identified windows 710 (e.g., shading, color, pattern, or combination thereof).

[0110] Additionally or alternatively, embodiments may identify instances where a window for finding a correlation window (e.g., as in Figure 6 620 of the script) (e.g., using a different shade, color, pattern, or combination thereof than the identified window 710). For example, if a material property of the element (e.g., glass) is used to identify the element as a relevant window, the script may mark the element for the user to review (e.g., in a dialog box similar to Figure 7In some embodiments, the user interface may include a visualization of the properties of the component and / or a table or other textual interface showing the properties, wherein the marked components include components with unknown materials, multiple materials, or missing material properties. In this way, the user can appropriately identify missing windows (and optionally other component types) for estimation. According to some embodiments, the user interface may enable the user to then mark or label the marked components as related windows, correct any component data that may have caused the components to be marked, perform other operations on the components, or a combination thereof.

[0111] Return to Figure 6 , method 600 may then proceed to the operation of window classification, as shown at block 640. In this operation, the identified windows may be classified into different window types. This may facilitate future operations in which the identified windows are classified or otherwise manipulated by category.

[0112] The categories into which the identified windows are classified may vary depending on the desired functionality. For example, Figure 8 Another side view of an example visualization of a virtual model of a building 800 is shown. Here, windows 810 may be categorized by level. (Note: Figure 8 Only a few windows are labeled. ) That is, for example, different levels of the virtual model of building 800 can be defined as ranges of vertical positions (e.g., range 820) between a lower horizontal plane (e.g., plane 830) and an upper horizontal plane (e.g., plane 840). ( Figure 8 Other ranges and levels are shown in , but not labeled to reduce clutter. For example, some levels may not be within the scope of a given estimate, and therefore, sorting the relevant windows by level allows windows in those levels to be quickly removed before the estimate. The levels defining the different levels (e.g., planes 830 and 840) are typically readily available from the virtual building model. Otherwise, they can be determined by the user, who can, in some embodiments, define the height of each of the planes defining the different levels. Once ranges (e.g., range 820) are defined for the various levels within the virtual model of the building, windows can be classified as belonging to a particular level based on whether the center point of each window lies within the range.

[0113] According to some embodiments, orientation can also be a way to classify windows. Figure 8As shown, windows on surface 850 can be classified as having a different orientation than window 810. The orientation can be helpful, for example, because windows with an orientation can have different glazing / tinting depending on their orientation relative to the sun. The orientation of each window can be determined, for example, by determining a vector that is perpendicular to a center point on a plane defined by the flat glass of the window. The orientation of the vector can represent the orientation of the window (the vector can be defined as a number of feet long, in which case if the end of the vector is determined to be inside building 800, the vector can be "flipped" in the opposite direction to ensure that the window is oriented facing outward from the building rather than inward.).

[0114] Depending on the desired functionality, the granularity of the orientation of windows in a building can vary. According to some embodiments, windows can be grouped into orientation categories representing cardinal directions (e.g., east, north, west, south). According to some embodiments, windows can be grouped into different orientation categories where the windows are within a certain range of angles relative to each other (e.g., within 5°, 10°, 20°, 30°, 45°, 60°, 90°, etc.). According to some embodiments, the orientation direction, the degree range used to categorize different window orientations, other aspects of the orientation, or any combination thereof can be defined by the user.

[0115] Depending on the desired functionality, the window classification at block 640 of method 600 may include categories that supplement or replace those previously described. For example, some categories may include grouping by building (e.g., in embodiments where a single BIM file includes multiple buildings), type, manufacturer, construction phase, material, or a combination thereof. Some embodiments may classify windows by size and / or shape, although as noted below, the determination of the size and / or shape of the windows may be performed subsequently as part of the estimation process.

[0116] Figure 9 is a flow chart of a method 900 for performing an estimation according to an embodiment. Generally speaking, the method 900 may include Figure 9 The functions shown in the boxes may correspond to, for example, Figure 5 The estimate at box 530 of . Similar to Figure 6 The method 600 can be implemented, for example, using a plug-in, extension, script, or combination thereof executed in a CAD software program in which the virtual building model can be manipulated. As described herein, the method 900 can be fully automated or can utilize user input.

[0117] Method 900 may begin with the functionality at block 910, where a window (e.g., Figure 6600 ). According to some embodiments, this may include an automated process whereby windows are classified into groups of the same (or substantially similar) size. For example, such classification may be performed by analyzing the size of each window in the virtual building model. For a given window, if the size matches the size of an existing group, the window may be placed into the group. If the size is unique, a new group may be created such that if the size of a subsequent analysis window matches the size of the new group, a subsequent analysis window may be added to the new group. According to some embodiments, this classification of windows may be based on features in addition to or in lieu of size, for example, whether the window is optically switchable or standard (non-switchable), glazing type, glass type, or a combination thereof.

[0118] Some embodiments may enable a user to set rules to identify or label different groups of windows based on manufacturing constraints. For example, groups of windows having dimensions that exceed a manufacturable threshold (e.g., too large or too small, too thick or too thin, etc.) and / or having a non-manufacturable shape may be identified as non-manufacturable. Thus, embodiments may enable a user to set rules for identifying or labeling groups of windows as manufacturable or non-manufacturable by setting size-related thresholds on size and / or shape (e.g., defining a range for height, width, thickness, or a combination thereof; setting a minimum number of 90° angles rule, etc.). Groups of windows may then be identified as manufacturable or non-manufacturable by applying these rules to each group of windows. Some embodiments may further allow groups of manufacturable windows to be classified as "standard" or "non-standard" using similar rules for defining how manufacturable windows may be identified as standard and / or non-standard. Users may similarly implement rule-based identification or labeling for windows that do not meet certain constraints and therefore cannot operate properly.

[0119] Optionally, some embodiments of method 900 may include visual filter creation, as shown at block 920. This functionality may enable a user to apply one or more filters to the visualization of the virtual model of the building, thereby enabling the user to visually identify windows based on the classification performed during the measurement and classification at block 910. For example, Figure 10 As shown in FIG, a graphical interface 1000 can be provided to a user in which the user is provided with descriptions of different window groups (e.g., column 1010) and can select (e.g., using a checkbox in column 1020) whether a particular group is to be displayed in a visualization of a virtual model of a building. The user can also be provided with an indication of one or more characteristics of the visualization of the various window groups. This can include, for example, a unique pattern for identifying each group (e.g., as shown in column 1030). Additional or alternative characteristics (e.g., shading, color, pattern, etc.) can be used, and according to some embodiments, the user interface can allow the user to customize these visualization characteristics for each group.

[0120] Return to Figure 9 , method 900 may also include determining frame snapping, as shown in block 930. The frame snapping determination function may include identifying groups to which frame snapping applies. As mentioned, this can help ensure that the estimation process does not increase the total amount of glass required to construct a building. As previously described, frame snapping may include the portion of a window where glass panels overlap a supporting structure, such as a mullion. However, frame snapping may not be applicable for certain types of overlap. For example, for overlap of glass panels in front of a supporting structure (e.g., from the perspective of an observer outside the building), frame snapping may not be applicable, and the existing dimensions of the window group (e.g., as determined using the measurement and classification operations at block 910) may accurately reflect the categorical quantity of windows in the window group. However, for overlap of glass panels behind a supporting structure, frame snapping may need to be determined and taken into account. As such, some embodiments may enable a user to review and determine whether frame snapping applies to a particular window group.

[0121] Figure 11A and 11B is a diagram illustrating information that may be provided to a user (e.g., via a graphical user interface) to enable the user to determine whether to apply frame snapping. According to some embodiments, window groups may be categorized based on the type of glass panel / support structure overlap they have, and a table 1100 may be provided to the user providing a description of each type of overlap (e.g., as shown in column 1110).

[0122] In addition, if Figure 11B As shown, a visualization 1120 of the building may also be provided to the user, using which the user may be able to visually determine whether frame snapping is applicable. In some embodiments, for example, the user may select a frame snapping type in table 1100, and the corresponding window having that frame snapping type may be highlighted in visualization 1120, as shown by highlight 1130. (Alternatively or alternatively, the user may select a window in visualization 1120, and the frame snapping type may be highlighted in table 1100.) In this way, the user may be able to visually inspect the overlapping types of each frame snapping type to verify whether the frame snapping is applicable. If the frame snapping is not applicable, embodiments may allow the user to remove frames by type from table 1100, or otherwise mark frames by type to be excluded from the frame snapping determination.

[0123] According to some embodiments, a user may be able to modify the amount of frame bite for a given frame bite type. For example, if a particular frame bite type identifies frame bite in the overlap of the glass panel with the vertical support structure, but the user determines that additional frame bite is appropriate for the overlap of the glass panel with the horizontal support structure, the user may be able to adjust the overlap for the corresponding frame bite type (e.g., in table 1100) to account for the additional overlap.

[0124] Return to Figure 9 , method 900 may include adjusting the frame bite, as shown in block 940. In this operation, the dimensions of the glass panels of the window measured in the measurement and classification operation of block 910 are measured to account for the glass in the frame bite. In some embodiments, this may include automatically including overlapping dimensions, which may be included in the frame bite description in column 1110 of table 1100. Additionally or alternatively, the graphical user interface may allow the user to manually enter the amount of additional glass to be used for each frame bite.

[0125] Method 900 may also include exporting estimated values, as shown in block 950. According to some embodiments, the values ​​provided during the estimation may be user-selectable. That is, embodiments may allow a user (e.g., via a graphical user interface) to input and / or select values ​​to be exported during the estimation. These values ​​may include, for example, the number and / or type of material (e.g., glass, spandrel, frit) of windows identified for estimation, a breakdown of window grouping categories (e.g., by shape, size, standard / non-standard identification), a total value for each category (e.g., number of units, total square feet), a total value for all windows identified for estimation (e.g., total volume, square feet, number of units), or a combination thereof.

[0126] Depending on the desired functionality, these values ​​can be exported in different ways. For example, a computer executing method 900 can export the values ​​by providing the values ​​at a user interface, transmitting the values ​​to another device (e.g., directly or via the Internet), transmitting the values ​​to an application executing at the computer, or a combination thereof. Additionally, the values ​​can be provided via a file (e.g., a comma-separated value (CSV) file, a Microsoft® Excel® file, an HTML file, an XML file, etc.), a stream, or other format, or a combination thereof. According to some embodiments, the manner in which the values ​​are exported can be user-configurable.

[0127] Additionally, some embodiments may enable a user to visually inspect a virtual model of a building before generating and exporting an estimate. For example, Figure 12An example visualization of a virtual model of a building is shown. In this example, windows 1200 for which estimates will be derived may be identified using shading, color, pattern, or a combination thereof. This may enable a user to identify windows for estimation, discover any windows that may have been inadvertently included and / or omitted, etc. According to some embodiments, a user may manually select one or more windows within the visualization to include or omit from the estimation process. Some embodiments may also allow a user to modify the visualization so that different categories of windows are identified differently (e.g., using a window that is different from the window that is not included). Figure 10 ).

[0128] Figure 13 A flow chart illustrating a method 1300 for cabling according to an embodiment is shown. As previously mentioned, cabling (the routing of cables carrying data and / or power) may be part of a larger process for obtaining a BOM for a building. Thus, the method 1300 may correspond to Figure 5 The functionality of block 540 in process 500 of FIG. 1300 may also be implemented by the CAD software or using a plug-in, extension, or script (or a combination thereof) within the CAD software.

[0129] The cabling process of method 1300 can be used to route a trunk line, comprising relatively large cables, from a control panel to a cluster of windows. Additionally, relatively smaller cables, which may be referred to as "drop cables," can be extended from the larger cables to each window (and optionally, each window controller) in the cluster. According to some embodiments, the cabling process can be limited to cabling from the customer premises. In alternative embodiments, the cabling process can also include routing of drop cables.

[0130] Method 1300 may begin by clustering windows, as shown in block 1310. In some embodiments, method 1300 may begin by clustering windows. Figure 9 After method 900, the windows associated with the construction project for which a BOM is to be obtained may have been categorized. As part of the categorization, windows requiring electrical power (e.g., optically switchable windows) may be identified. In some embodiments, these windows may be identified in a visualization provided to the user. Additionally or alternatively, embodiments may enable the user to select a window of a virtual model of a building in which the cables are to be routed.

[0131] Figure 1414 is an illustration of a floor plan 1400 that includes exterior walls 1410 of a level of a virtual model of a building, the virtual model containing windows 1420 to which cables will be routed. (To avoid clutter, only a small portion of walls 1410 and windows 1420 are labeled.) According to some embodiments, a visualization of floor plan 1400 can be provided to a user in a graphical user interface. The floor plan can be derived from a virtual model of a building as described herein. In addition, the virtual model can contain additional information, such as structural information, structural dimensions, and information such as identifiers of the various components depicted.

[0132] According to some embodiments, for each level of the building, the windows of the virtual model of the building may be clustered by first sorting the windows, e.g. Figure 14 In the manner shown in Figure 14 In the example of , the windows are given a number in order based on their position in the virtual model, starting with window 1 and moving clockwise around the building (as indicated by arrow 1430) until the last window (window 25) is given a number. Once the ordering is complete, clustering can further include grouping the windows into clusters, such as Figure 15 As shown in .

[0133] On display Figure 14 Updated view 1500 of floor plan 1400 Figure 15 , windows are grouped into clusters 1510a-1510h (indicated by dashed lines). Here, the power requirement of each window can be determined, for example, based on various known parameters of a given window, such as size (e.g., width×height), and window clusters can be formed based on these determined power requirements. For example, according to some embodiments, window clusters 1510a-1510h can be created by starting with a first window, window 1, and sequentially adding windows to the cluster including the first window until a maximum power threshold is exceeded. If adding a new window to the cluster would exceed the maximum power threshold, a new group can be formed, and the window can be added to the new group, and the new group can be formed in a similar manner.

[0134] exist Figure 15 In the example of FIG5 , for example, windows 2-4 are added to a first window cluster 1510a that includes window 1 without exceeding the maximum power threshold. The addition of window 5 exceeds the maximum power threshold of the first window cluster 1510a, and thus a second window cluster 1510b is formed that includes window 5. Subsequent windows are then added to the second window cluster 1510b until the maximum power threshold is again exceeded, and a new cluster 1510c is formed in the same manner as the second cluster 1510b.

[0135] The maximum power threshold can include the maximum power that the trunk can provide, which can be specified by the user. As described below, because the length of a given trunk can affect the maximum power it can provide, subsequent voltage checks can be used to verify the power requirements of various clusters. Therefore, the user can select a maximum power threshold that reflects relatively long cables (e.g., the maximum expected length given the size of the building) to help ensure that power requirements are met.

[0136] In some embodiments, the grouping can be further governed by user-provided rules and / or constraints, which can help facilitate the subsequent routing of trunk lines and / or other cables that provide power (and optionally data) from the trunk lines to the individual windows. For example, a user can provide rules to ensure that each window in a group is within a threshold distance of the nearest window in the group, and / or that all windows have a common orientation (e.g., no single group has windows facing two directions). Additionally or alternatively, a user can provide rules to ensure that certain windows are grouped together, such as windows that form a larger common window panel. According to some embodiments, such rules can be selected by the user and provided via the user interface.

[0137] Return to Figure 13 , method 1300 may then include routing a trunk line to each window cluster, as indicated at block 1320. As mentioned, the trunk line may be routed from one or more control panels at one or more locations to power each cluster. In addition, the routing may be governed by user-provided layout rules and / or constraints. Additional details regarding routing are provided below with respect to Figure 16 supply.

[0138] Figure 16 is similar to Figure 14 and 15 FIG. 1 is a diagram of a floor plan 1600 of a diagram in FIG. 1 , which has clusters 1610 a-1610 h. Here, trunks have been routed to show routes 1620 from one or more control panel locations 1630 to each cluster. According to some embodiments, each cluster 1610 a-1610 h may be provided with an assigned trunk ID, by which the trunks of a given cluster may be identified.

[0139] As described above, the wiring of each route 1620 itself can be governed by layout rules and / or constraints provided by a user (e.g., via a user interface). For example, a user can identify areas of the building where wiring can and / or cannot be performed, preferred paths for routes, etc. Depending on the desired functionality, different routing approaches can be taken to help balance routing considerations, such as installation complexity, cable length optimization, or the like. For example, reduced complexity can involve a single route extending from the control panel location 1630 to a path along the perimeter of the building and passing through all window clusters within the perimeter of the building. This can enable all cables to share at least a portion of a single route, with each cable traveling a different length of the shared common path before connecting to the corresponding window cluster. Alternatively, a "hub and spoke" approach can connect each window cluster to the location 1630 with a direct path. This may increase complexity because the routing path will not be shared, however this will minimize cable lengths. Other approaches, such as Figure 16 The methods in

[15] can provide balanced approaches that allow for both shared paths and table length optimization. Again, these approaches can be governed by user-provided rules and / or constraints.

[0140] like Figure 16 As shown in multiple locations 1630 in , some instances may have different options for the location of one or more control panels. These locations 1630 may, for example, be managed by the building structure and correspond to locations where power (and optionally data) can be routed to the control panel from other levels of the building. Where multiple locations (e.g., locations 1630) are available, the routing method may include routing a trunk line from each of the multiple locations and selecting a location that provides a better route in view of one or more of the previously mentioned routing considerations (e.g., complexity, cable length, etc.). Some buildings may allow for one or more control panels at multiple locations, in which case routing may involve routing a trunk line from the corresponding window cluster to one of the multiple locations (e.g., the closest location). According to some embodiments, the locations for routing may be user-selectable.

[0141] The location at each window cluster 1610a-1610h to which the trunk line is routed can vary depending on the desired functionality. For simplicity, some embodiments may simply route the trunk line to a threshold distance from the center point of the corresponding window cluster. However, in some embodiments, the windows within a window cluster may be daisy-chained such that a first cable runs from the trunk line to the first window in the cluster, a second cable runs from the first window in the cluster to the second window in the cluster, and so on. Thus, in some embodiments, the routing process may route the trunk line from the control panel location to within a threshold distance of the first window in the corresponding window cluster.

[0142] Return to Figure 13, a voltage check can be performed, as shown in block 1330. As previously described, the windows can be grouped into clusters based on a maximum power threshold, which can be selected to take into account the maximum expected cable length. Given the route created at block 1320, the voltage check at block 1330 can verify whether the trunks can meet the power requirements. Specifically, because an increase in cable length is accompanied by an increase in voltage drop, a voltage check can be performed to determine whether all trunks can provide a threshold voltage for the corresponding window cluster. Because each window cluster can have different power requirements, a different threshold voltage can be used for each window cluster based on the requirements of the cluster. According to some embodiments, the threshold voltage can be higher than the maximum voltage requirement of the window cluster (e.g., in volts, a percentage of a maximum value, etc.) by a certain amount. This can help ensure sufficient voltage (e.g., in the event that one or more windows within a window cluster draws more power than expected). The maximum voltage requirement of a window cluster can be based on the maximum expected power draw of each window and the corresponding controller.

[0143] If the voltage check fails, method 1300 may iterate back to the routing of the trunk at block 1320, as indicated by arrow 1335, to reroute the trunk in a manner that passes the voltage check. For a window cluster that fails the voltage check at block 1330, some embodiments may resolve this failure by splitting the window cluster into two so that two respective trunk cables can be used to power windows that were previously supplied with a single trunk cable. Additionally or alternatively, embodiments may impose new routing rules and / or constraints (e.g., reducing the maximum cable length) to help ensure that subsequent voltage checks pass. Additionally or alternatively, some embodiments may re-cluster the windows to reduce the power requirements in each cluster (e.g., reducing the number of windows).

[0144] At block 1340, method 1300 includes determining control panel requirements. Because control panels may be limited in the number of mains they can support (e.g., 12, 24, 32, or 48 mains, depending on the type of control panel), the number and type of control panels may be selected based on the wiring performed at block 1320. That is, if the wiring results in a number of mains that a single control panel can support, additional control panels may be used. Additionally or alternatively, if a single control panel is capable of supporting mains at different levels of a building, the number of control panels may be reduced accordingly (note, however, that additional wiring may be required to route mains to control panels on different levels, or to route mains to / from power connectors that connect mains between levels).

[0145] At block 1350, Figure 13 The method 1300 includes deriving a power value. Figure 9As with block 950 of the present invention, the export of power values ​​may vary depending on the desired functionality. According to some embodiments, the power values ​​may include the total number of mains, control panels, controllers, connectors, and / or associated hardware, or a combination thereof, for each level of the building and / or the entire building (e.g., all levels of the building). In some embodiments, a user may be allowed to select the type of data to export using, for example, a user interface in which available data types may be selected. According to some embodiments, exporting power values ​​may include creating an interconnection diagram for routing the mains based on the routing performed at block 1320. Such an interconnection diagram may provide information about a power distribution network for an electrochromic device, such as that described in U.S. Patent No. 10,253,558, issued on April 9, 2019, which is incorporated herein by reference in its entirety.

[0146] According to some embodiments, the derivation of the power value at block 1350 may be incorporated into the generation of a BOM for a construction project. For example, in some embodiments, the derivation of the power value at block 1350 may be performed Figure 9 The estimated value at box 950 is derived as part of the generation of a BOM for a project involving the manufacture and / or insulation of optically switchable windows for a building or other enclosure.

[0147] Figure 17 is a flow chart of a method 1700 for accurate glass measurement of an enclosure according to an embodiment. Aspects of the method 1700 may correspond to previously disclosed embodiments regarding model adjustment and / or estimation, including Figure 6-12 Described embodiment. Figure 17 The functions of one or more blocks shown in the figure may be performed, for example, by software and / or hardware components of a computer system such as a personal computer (PC), tablet computer, notebook computer, computer server or other computing system. Figure 19 An example computing system is described.

[0148] At block 1710, the functionality includes obtaining a virtual three-dimensional (3D) model of a closed volume, the virtual 3D model having a plurality of windows. As noted herein, this may include one or more different aspects, depending on the desired functionality. For example, as described with respect to Figure 5 As discussed in block 510 of method 1700, obtaining a virtual model (e.g., a 3D model) of the enclosure may include obtaining a file or data stream comprising the virtual model. The enclosure may include a building. The virtual model may be obtained from a local memory or a device separate from the computer system performing method 1700. According to some embodiments, the virtual 3D model comprises a BIM file. Additionally or alternatively, each of the plurality of windows comprises a corresponding insulating glass unit (IGU). In some embodiments, at least a portion of the plurality of windows may comprise one or more optically switchable windows.

[0149] At block 1720, the functionality includes classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows. According to some embodiments, for example, classifying the plurality of windows of the virtual 3D model into a plurality of window types includes determining whether each window of the plurality of windows is an optically switchable window. In such embodiments, determining whether each window of the plurality of windows is an optically switchable window may be based at least in part on a size of the respective window, a shape of the respective window, or both. As also described herein, the one or more characteristics of the plurality of windows may include height, width, thickness, shape, position, orientation, material, mounting type, or any combination thereof.

[0150] In some embodiments, for example, for each of the plurality of windows, the one or more characteristics of the corresponding window may include a level at which the corresponding window is located within the enclosure. In such embodiments, method 1700 may further include determining the level at which the corresponding window is located within the enclosure based at least in part on a position of the corresponding window relative to one or more planes (e.g., horizontal planes) representing level boundaries of the virtual 3D model. As mentioned, such planes may be included in the virtual model or defined by a user (e.g., via a user interface).

[0151] It is also noted that the window type may also include the orientation of the window. Thus, according to some embodiments, for each window in the plurality of windows, the one or more characteristics of the corresponding window may include the orientation of the corresponding window. In such embodiments, the method may further include determining the orientation of the corresponding window by determining the direction of a vector perpendicular to a plane formed by the corresponding window (e.g., in a glass panel of the window). As mentioned, the length of the vector may be selected to help ensure that the end of the vector is clearly inside or outside the enclosure.

[0152] As noted herein (e.g., with respect to Figure 10 ), some embodiments may include a visualization of window types. Thus, some embodiments of method 1700 may further include providing a visualization of the enclosure using a graphical user interface (GUI), wherein the visualization identifies the plurality of windows based, at least in part, on the window types. According to some embodiments, the manner in which the visualization identifies the plurality of windows may be user-customizable. For example, a user may select a type of shading, color, pattern, or combination thereof, by which each window type may be identified in the visualization. Additionally or alternatively, some embodiments may enable a user to change the window type of a selected window via the GUI.

[0153] Some embodiments may allow a user to manually review and classify windows. For example, some embodiments of method 1700 may further include identifying one or more windows of the virtual 3D model that cannot be classified as a window type from the plurality of window types. In such embodiments, the windows may be marked for review by a user, who may provide input regarding a window type (e.g., a new window type or an existing window type) to which the marked window may belong. Thus, some embodiments may include assigning a window type from the plurality of window types to at least one of the one or more windows of the virtual 3D model that cannot be classified as a window type, wherein assigning the window type is based at least in part on the user input.

[0154] At block 1730, the functionality includes determining a frame snap for one or more windows in a window type set that includes one or more of a plurality of window types. Here, the window type set includes, for example, a subset of the plurality of window types that have frame snaps. As mentioned in the previously discussed embodiments, determining the frame snap may include various operations, including, for example, determining the frame snap. Figure 11A and 11B Those operations discussed. For example, determining the frame bite of one or more windows may include classifying each of the one or more windows according to installation type and determining a frame bite for each installation type. In such embodiments, determining the frame bite for each installation type may include determining a spatial offset between the window and the mullion for the corresponding installation type. This determination may be done automatically (e.g., via a script), for example, by analyzing window features of a virtual model of the enclosure. That is, some embodiments may utilize user input. For example, in some embodiments, determining the frame bite for each installation type may include providing a description of each installation type using a GUI, and receiving user input for each installation type indicating a frame bite for the corresponding installation type. Such embodiments may also include providing a GUI that allows selection of an installation type and provides a visualization of an instance of the selected installation type within the virtual 3D model.

[0155] At block 1740, the functionality includes determining the total amount of glass for the windows in the window category set, wherein the determined total amount of glass takes into account the determined frame bite of one or more windows in the window group set. As noted herein with respect to the estimation process, the amount of glass (e.g., measured in surface area and / or volume) of the associated windows of the enclosure can be adjusted (e.g., based on initial window measurements based on window dimensions) to include the glass of the frame bite. This adjustment can be made for all windows having a frame bite, and windows of the same type having the same frame bite can be adjusted by the same amount.

[0156] At box 1750, the function includes providing output data, using a computer system, the output data indicating the determined total amount of glass for the windows in the set of window types. As indicated in the previously discussed embodiments, for each window type in the set of window types, the output data may further include the number of windows of the corresponding window type. According to some embodiments, providing the output data includes displaying the output data via a GUI, providing the output data to a computer application, or both. In addition, the values ​​may be provided via a file (e.g., a comma separated values ​​(CSV) file, a Microsoft® Excel® file, an HTML file, an XML file, etc.), a stream, or other format, or a combination thereof. According to some embodiments, the type of value provided by the computer system and / or the manner in which the value is provided by the computer system may be user-configurable.

[0157] As also discussed herein, embodiments may involve identifying windows within a virtual model of an enclosure. This may involve, for example, identifying glass elements in the virtual 3D model using material properties of elements in the virtual 3D model, element categories in the virtual 3D model, or a combination thereof. Additionally or alternatively, embodiments may include identifying non-glass elements in the virtual 3D model using material properties of elements in the virtual 3D model, element categories in the virtual 3D model, or a combination thereof.

[0158] Figure 18 is a flow chart of a method 1800 for performing cabling layout for powering (and optionally providing data to) a plurality of windows of an enclosure, according to an embodiment. Aspects of the method 1800 may correspond to previously disclosed embodiments regarding cabling, including those regarding Figure 13-16 The embodiment described. Similar to Figure 17 Method 1700, Figure 18 The functions of one or more blocks shown in the figure may be performed, for example, by software and / or hardware components of a computer system (such as a PC, tablet computer, notebook computer, computer server or other computing system). Again, the following description of Figure 19 An example computing system is described.

[0159] At block 1810, the functionality includes obtaining a virtual three-dimensional (3D) model of an enclosure, the virtual 3D model including a plurality of windows. Here, the plurality of windows may include windows that may require power to perform certain functions (e.g., window tinting, tint / color adjustment, etc.). As noted herein, this may include one or more different aspects depending on the desired functionality. For example, as described with respect to Figure 5As discussed in block 510 of method 1800, obtaining a virtual model (e.g., a 3D model) of the enclosure may include obtaining a file or data stream comprising the virtual model. The enclosure may include a building. The virtual model may be obtained from a local memory or a device separate from the computer system performing method 1800. According to some embodiments, the virtual 3D model comprises a BIM file. Additionally or alternatively, each of the plurality of windows comprises a corresponding insulating glass unit (IGU). In some embodiments, at least a portion of the plurality of windows may comprise one or more optically switchable windows.

[0160] At block 1820, the functionality includes grouping a plurality of windows into a plurality of window clusters, wherein each cluster includes one or more windows from the plurality of windows grouped in the respective window cluster based at least in part on proximity to one another, and the number of windows in each window cluster is based at least in part on: a cable (e.g., a power cable providing power and optionally data) power capacity limitations, and a power usage of each window in the window cluster. As described herein, windows may be assigned numbers based on location, with adjacent numbers representing adjacent windows. As described with respect to Figure 14 and 15 As discussed, the number of adjacent windows in a group can be limited based on the power capacity of a cable (e.g., a trunk line), which can be based on a maximum expected length of the cable. According to some embodiments, the cable power capacity limit is based at least in part on user input, a standard cable length, or both.

[0161] The number of windows in a group may be further based on the power requirements of each window (which may be determined by the window size, circuitry, other aspects of the window, or a combination thereof). According to some embodiments, method 1800 may further include providing a visualization of the enclosure using a GUI, the visualization identifying each window cluster in the plurality of window clusters. As described in detail herein, different window clusters may be identified in the visualization, for example, by using different shading, colors, patterns, or a combination thereof. The GUI may further be used to enable a user to assign one or more windows within a first window cluster in the plurality of window clusters to a second window cluster in the plurality of window clusters.

[0162] At block 1830, the functions include routing a plurality of cables for powering a plurality of window clusters in the virtual 3D model, wherein routing the plurality of cables includes, for each window cluster, routing a respective cable from a location of a control panel of an enclosure in the virtual 3D model to within a threshold distance of at least one window of the respective window cluster. Figure 16 As described, routing of cables (e.g., trunk lines) can be an automated process. This process can be governed by user-provided rules and / or constraints regarding where routes can and / or cannot be placed.

[0163] like Figure 13As indicated by method 1300, routing can involve an iterative process, in which routing of a cable is followed by a voltage check to verify that the cable can supply sufficient power. After the voltage check indicates a fault in the routing, the process can restart with a new route. With this in mind, embodiments of method 1800 may also include performing a voltage check to determine whether each of the plurality of cables can provide at least a threshold voltage to the corresponding window cluster to which the corresponding cable is routed. Such embodiments may also include, in response to determining that a particular cable from the plurality of cables cannot provide at least the threshold voltage to the window cluster to which the particular cable is routed, providing an indication to a user via a graphical user interface of the computer system that the particular cable has not passed the voltage check. Additionally or alternatively, embodiments may include, in response to determining that a particular cable from the plurality of cables cannot provide at least the threshold voltage to the window cluster to which the particular cable is routed, providing an alternative route for the particular cable, modifying the window cluster to which the particular cable is routed, or both. In such embodiments, modifying the window cluster includes changing the number of windows in the window cluster, replacing one or more windows in the cluster with one or more windows of a different window type, or both. In situations where different window types have different power requirements, replacing a window of one window type with another window of a different type can help mitigate power requirements. Some embodiments may also include relocating the control panel in response to determining that a particular cable among the plurality of cables is unable to provide at least a threshold voltage to the window cluster to which the particular cable is routed. As mentioned herein, relocating the control panel may include selecting a new control panel location from a plurality of available control panel locations. In some embodiments, performing the voltage check includes determining a voltage drop along each cable. This determination may be based on, for example, a known relationship between cable length and voltage drop for the type of cable being used.

[0164] At block 1840, the functionality includes providing, using the computer system, output data indicating the number and length of the plurality of cables. According to some embodiments, the length of the plurality of cables may include the combined length of the plurality of cables, the length of each of the plurality of cables, or both. Furthermore, as mentioned elsewhere herein, outputting the data may include displaying the output data via a GUI, providing the output data to a computer application, or both.

[0165] As mentioned in the embodiments described herein, there can be some flexibility in using control panels in different locations, which can achieve different functions. For example, there may be multiple locations (which may be predefined) where a control panel can be located. Thus, some embodiments may involve determining the location of a control panel. According to some embodiments, this determination may be based at least in part on user input. For example, a user may select a desired location for one or more control panels from a list and / or visualization of available locations. Some embodiments may include determining the number of control panels for one or more levels of an enclosure based at least in part on the number of window clusters. For example, determining the number of control panels for one or more levels of an enclosure may include determining that a control panel cannot provide sufficient power for the multiple window clusters and adding a second control panel. In such embodiments, adding the second control panel may include routing a subset of multiple cables to the second control panel in the virtual model, the subset of the multiple cables being used to power the subset of the multiple window clusters. As mentioned herein, the location may be the same or different for different control panels. Furthermore, different control panel types may have different capacities. Specifically, for example, some control panel types may be able to support more cables than other control panel types. Thus, some embodiments may further include determining the control panel type of the control panel based at least in part on the number of window clusters.

[0166] Figure 19 A schematic example of a computer system 1900 is shown that is programmed or otherwise configured to perform one or more operations of any of the methods provided herein, including with respect to Figure 17 and 18 The methods described herein, and more generally, the functionality described herein with respect to CAD design and BOM generation. A computer can be coupled to one or more of the mechanisms disclosed herein and / or any portion thereof. A computer system can be used to execute a software program that provides a graphical user interface (GUI) as described herein. The GUI can be used to provide information to a user and / or receive input from a user.

[0167] A computer system may include a processing unit (e.g., 1906) ("processor," "computer," and "computer processor" are also used herein). A computer system may include a memory or memory location (e.g., 1902) (e.g., random access memory, read-only memory, flash memory), an electronic storage unit (e.g., 1904) (e.g., a hard disk), a communication interface (e.g., 1903) (e.g., a network adapter) for communicating with one or more other systems, and peripheral devices (e.g., 1905) such as cache, other memory, data storage devices, and / or an electronic display adapter. Figure 19In the example shown, memory 1902, storage unit 1904, interface 1903 and peripheral device 1905 communicate with processing unit 1906 via a communication bus (solid line) such as a motherboard. The storage unit can be a data storage unit (or data repository) for storing data. The computer system can be operatively coupled to a computer network ("network") (e.g., network 1901) by means of a communication interface. The network can be the Internet, an internet and / or an extranet or an intranet and / or an extranet that communicates with the Internet. In some cases, the network is a telecommunications and / or data network. The network can include one or more computer servers that can implement distributed computing such as cloud computing. In some cases, the network can implement a peer-to-peer network by means of a computer system, which can enable a device coupled to the computer system to act as a client or server.

[0168] The processing unit can execute a series of machine-readable instructions, which can be implemented in a program or software. The instructions can be stored in a memory location such as memory 1902. The instructions can be directed to the processing unit, which can then be programmed or otherwise configured to implement the method of the present disclosure. Examples of operations performed by the processing unit may include acquiring, decoding, executing, and writing back. The processing unit can interpret and / or execute instructions. The processor may include a microprocessor, a data processor, a central processing unit (CPU), a graphics processing unit (GPU), a system on a chip (SOC), a coprocessor, a network processor, an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a controller, a programmable logic device (PLD), a chipset, a field-programmable gate array (FPGA), or any combination thereof. The processing unit can be part of a circuit such as an integrated circuit. One or more other components of system 1900 may be included in the circuit.

[0169] The storage unit can store files, such as drivers, libraries, and saved programs. The storage unit can store user data (e.g., user preferences and user programs). In some cases, the computer system may include one or more additional data storage units external to the computer system, such as located on a remote server that communicates with the computer system via an intranet or the Internet.

[0170] The computer system can communicate with one or more remote computer systems via a network. For example, the computer system can communicate with a remote computer system of a user (e.g., an operator). Examples of remote computer systems include a personal computer (e.g., a portable PC), a tablet computer or tablet PC (e.g., an Apple® iPad, a Samsung® Galaxy Tab), a phone, a smartphone (e.g., an Apple® iPhone, an Android-enabled device, a Blackberry®), or a personal digital assistant. A user (e.g., a client) can access the computer system via a network.

[0171] The methods described herein can be implemented with the aid of machine (e.g., computer processor) executable code stored in an electronic storage location on a computer system, such as memory 1902 or electronic storage unit 1904. The machine executable code or machine readable code can be provided in the form of software. During use, the processing unit 1906 can execute the code. In some cases, the code can be retrieved from the storage unit and stored in the memory for access by the processor. In some cases, the electronic storage unit can be eliminated and the machine executable instructions can be stored in the memory.

[0172] The code may be precompiled and configured for use on a machine having a processor suitable for executing the code, or may be compiled at runtime. The code may be supplied in a programming language that may be selected to enable execution of the code in a precompiled or as-compiled manner.

[0173] In some embodiments, the processor includes code. The code may be program instructions. The program instructions may cause at least one processor (e.g., a computer) to direct a feedforward and / or feedback control loop. In some embodiments, the program instructions cause at least one processor to direct a closed-loop and / or open-loop control scheme. The control may be based, at least in part, on one or more sensor readings (e.g., sensor data). A controller may direct multiple operations. At least two operations may be directed by different controllers. In some embodiments, different controllers may direct at least two of operations (a), (b), and (c). In some embodiments, different controllers may direct at least two of operations (a), (b), and (c). In some embodiments, a non-transitory computer-readable medium causes each different computer to direct at least two of operations (a), (b), and (c). In some embodiments, different non-transitory computer-readable media causes each different computer to direct at least two of operations (a), (b), and (c). The controller and / or computer-readable medium may direct any device or component thereof disclosed herein. The controller and / or computer-readable medium may direct any operation of the method disclosed herein.

[0174] In some embodiments, the software application may include a facility visualization tool. The software application may provide a user with the ability to view, manipulate (e.g., revise or adjust) and / or create various features associated with a facility (e.g., a building or other disclosure as described herein). Features may relate to the architectural structure of the facility (e.g., fixtures), the assets of the facility (e.g., non-fixed parts and / or devices), the network of the facility, and / or the control system of the facility. For example, a facility visualization tool (e.g., a building visualization tool) may facilitate the utilization, modification, and / or creation of a BOM and / or estimating process, and may provide visualization as described herein via a GUI of a facility visualization tool software application (e.g., an app). The app may reside in the cloud or locally (e.g., in the facility or outside the facility).

[0175] In some embodiments, the software application may present a virtual visualization of the facility within its surroundings in the real world. For example, the software application may present an image of the facility (on the GUI) within a municipal surrounding (e.g., a city surrounding) and / or a topographical surrounding. For example, the software application may present an image of the facility (on the GUI) in conjunction with any civil and / or structural engineering features (e.g., roads, bridges, and / or fountains). These features may be taken into account during the rendering of the facility, for example, to consider their impact on the exterior and / or interior (e.g., the interior environment) of the facility.

[0176] In some embodiments, the app utilizes a software module that includes APIs and / or services that facilitate accessing and / or using a facility's design and engineering data (e.g., via the cloud). In some embodiments, the app may utilize a software module configured to allow access to design and engineering data in the cloud (e.g., the Autodesk Forge platform). The app may facilitate the extraction of the underlying code of third-party cloud design and / or engineering software (e.g., Autodesk Forge). For example, the app may facilitate the extraction of open standard file formats and / or data exchange formats (e.g., those that use human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays (and / or other serializable values)). The app may facilitate the extraction of language-independent data formats. For example, the app may facilitate the extraction of JavaScript or JavaScript-related formats. For example, the app may facilitate the extraction of JavaScript Object Notation (JSON), such as HBJSON. The app may facilitate the extraction of file formats from such cloud applications (e.g., from Forge models). The extracted files may be used by control modules (e.g., smart devices) configured to control the facility (e.g., the facility's control devices). For example, the extracted file (e.g., HBJSON file) can be used to provide input to a control system (e.g., by providing input to a smart module in the cloud) and / or to a facility's (e.g., local) database. The facility's database may or may not be in the cloud. The database may be located within the facility or external to the facility.

[0177] Although preferred embodiments of the present invention have been shown and described herein, it will be apparent to those skilled in the art that these embodiments are provided as examples only. The present invention is not intended to be limited by the specific examples provided in the specification. Although the present invention has been described with reference to the foregoing description, the description and illustration of the embodiments herein are not intended to be interpreted in a limiting sense. Those skilled in the art will now appreciate that a large number of variations, changes, and substitutions will be appreciated without departing from the present invention. In addition, it will be understood that all aspects of the present invention are not limited to the specific descriptions, configurations, or relative proportions set forth herein, which depend on a variety of conditions and variables. It will be understood that in practicing the present invention, various alternatives to the embodiments of the present invention described herein may be adopted. Therefore, it is envisioned that the present invention will also encompass any such substitutions, modifications, variations, or equivalents. The following claims are intended to define the scope of the present invention and thus cover methods and structures within the scope of these claims and their equivalents.

[0178] In view of this description, embodiments may include different combinations of features. Implementation examples are described in the following numbered clauses:

[0179] Item 1: A method performed by a computer system for precise glass measurement of an enclosure, the method comprising: obtaining a virtual three-dimensional (3D) model of the enclosure, the virtual 3D model having a plurality of windows; classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows; determining a frame bite for one or more windows in a set of window types that includes one or more of the plurality of window types; determining a total amount of glass for the windows in the set of window categories, wherein the determined total amount of glass takes into account the determined frame bite for one or more windows in a set of window groups; and providing output data using the computer system, the output data indicating the determined total amount of glass for the windows in the set of window types.

[0180] Clause 2: The method of clause 1, wherein classifying the plurality of windows of the virtual 3D model into a plurality of window types comprises determining whether each window of the plurality of windows is an optically switchable window.

[0181] Clause 3: The method of clause 2, wherein determining whether each window of the plurality of windows is an optically switchable window is based at least in part on a size of the respective window, a shape of the respective window, or both.

[0182] Clause 4: The method of any of clauses 1-3, further comprising identifying glass elements in the virtual 3D model using material properties of the elements in the virtual 3D model.

[0183] Clause 5: The method of clause 4, wherein identifying the glass component comprises identifying the glass component using a component classification in the virtual 3D model.

[0184] Clause 6: The method of any of clauses 1-5, further comprising identifying non-glass elements in the virtual 3D model using material properties of the elements in the virtual 3D model.

[0185] Clause 7: The method of clause 6, wherein identifying the non-glass components comprises identifying the glass components using component categories in the virtual 3D model.

[0186] Clause 8: The method of any of clauses 1-7, further comprising providing a visualization of the enclosure using a graphical user interface (GUI), the visualization identifying the plurality of windows based at least in part on window type.

[0187] Clause 9: The method of clause 8, further comprising enabling a user to change the window type of a selected window via the GUI.

[0188] Clause 10: The method of any of clauses 1-9, further comprising identifying one or more windows of the virtual 3D model that cannot be classified as a window type of the plurality of window types.

[0189] Clause 11: The method of clause 10, further comprising assigning a window type from a plurality of window types to at least one of the one or more windows of the virtual 3D model that cannot be classified as a window type, wherein assigning the window type is based at least in part on user input.

[0190] Clause 12: A method according to any one of clauses 1-11, wherein for each of a plurality of windows, one or more characteristics of the corresponding window include a level at which the corresponding window is located in the enclosure, and wherein the method further comprises determining the level at which the corresponding window is located in the enclosure based at least in part on a position of the corresponding window relative to one or more planes representing a level boundary of the virtual 3D model.

[0191] Clause 13: The method of any of clauses 1-12, wherein, for each window of the plurality of windows, the one or more characteristics of the respective window include an orientation of the respective window.

[0192] Clause 14: The method of clause 13, further comprising determining the orientation of the respective window by determining the direction of a vector perpendicular to a plane formed by the respective window.

[0193] Clause 15: The method of any of clauses 1-14, wherein determining a frame bite for the one or more windows comprises: categorizing each of the one or more windows according to installation type; and determining the frame bite for each installation type.

[0194] Clause 16: The method of clause 15, wherein determining the frame bite for each installation type comprises determining a spatial offset between the window and the mullion for the respective installation type.

[0195] Clause 17: The method of clause 15 or 16, wherein determining the frame snap for each mounting type comprises providing a description of each mounting type using a GUI and receiving user input for each mounting type indicating the frame snap for the corresponding mounting type.

[0196] Clause 18: The method of clause 17, further comprising providing a GUI that allows selection of an installation type and provides visualization of instances of the selected installation type within the virtual 3D model.

[0197] Clause 19: The method of any of clauses 1-18, wherein for each window type in the set of window types, the output data further comprises the number of windows of the respective window type.

[0198] Clause 20: The method of any of clauses 1-19, wherein the virtual 3D model comprises a Building Information Modeling (BIM) file.

[0199] Clause 21: The method of any of clauses 1-20, wherein each window of the plurality of windows comprises a respective insulating glass unit (IGU).

[0200] Clause 22: The method of any one of clauses 1 to 21, wherein at least a portion of the plurality of windows comprises one or more optically switchable windows.

[0201] Clause 23: The method of any of clauses 1-22, wherein the enclosure comprises a building.

[0202] Clause 24: The method of any of clauses 1-23, wherein the one or more characteristics of the plurality of windows include height, width, thickness, shape, position, orientation, material, mounting type, or any combination thereof.

[0203] Clause 25: The method of any of clauses 1-24, wherein providing the output data comprises displaying the output data via a GUI, providing the output data to a computer application, or both.

[0204] Item 26: A method performed by a computer system for performing power cable layout to power multiple windows of an enclosure, the method comprising: obtaining a virtual three-dimensional (3D) model of the enclosure, the virtual 3D model having multiple windows; grouping the multiple windows into multiple window clusters, wherein: each cluster includes one or more windows from a plurality of windows grouped in a corresponding window cluster based at least in part on proximity to each other, and the number of windows in each window cluster is based at least in part on: power cable power capacity limitations, and power usage of each window in the window cluster; routing multiple power cables in the virtual 3D model for powering the multiple window clusters, wherein routing the multiple power cables includes, for each window cluster, routing the corresponding power cable from a location of a control panel of the enclosure in the virtual 3D model to within a threshold distance of at least one window of the corresponding window cluster; and providing output data using the computer system, the output data indicating the number and length of the multiple power cables.

[0205] Clause 27: The method of clause 26, further comprising performing a voltage check to determine whether each power cable of the plurality of power cables is capable of providing at least a threshold voltage to a respective window cluster to which the respective power cable is routed.

[0206] Clause 28: The method of clause 27, further comprising: in response to determining that a particular power cable among the plurality of power cables cannot provide at least a threshold voltage to a window cluster to which the particular power cable is routed, providing an indication to a user via a graphical user interface of the computer system that the particular power cable has not passed the voltage check.

[0207] Clause 29: The method of clause 27 or 28, further comprising: in response to determining that a particular power cable among a plurality of power cables cannot provide at least a threshold voltage to a window cluster to which the particular power cable is routed, providing an alternative route for the particular power cable, modifying the window cluster to which the particular power cable is routed, or both.

[0208] Clause 30: The method of clause 29, wherein modifying the window cluster comprises changing the number of windows in the window cluster, replacing one or more of the windows in the cluster with one or more windows of a different window type, or both.

[0209] Clause 31: The method of any of clauses 27-30, further comprising: in response to determining that a particular power cable of the plurality of power cables cannot provide at least a threshold voltage to a window cluster to which the particular power cable is routed, moving a position of the control panel.

[0210] Clause 32: The method of any of clauses 27-31, wherein performing the voltage check comprises determining a voltage drop along each power cable.

[0211] Clause 33: The method of any of clauses 26-32, wherein the length of the plurality of power cables comprises a combined length of the plurality of power cables, a length of each power cable in the plurality of power cables, or both.

[0212] Clause 34: The method of any of clauses 26-33, wherein the power cable power capacity limit is based at least in part on user input.

[0213] Clause 35: The method of any of clauses 26-34, wherein the power cable power capacity limit is based at least in part on a standard power cable length.

[0214] Clause 36: The method of any of clauses 26-35, further comprising determining a position of the control panel based at least in part on user input.

[0215] Clause 37: The method of any of clauses 26-36, further comprising determining a number of control panels for one or more levels of the enclosure based at least in part on the number of the plurality of window clusters.

[0216] Clause 38: The method of clause 37, wherein determining the number of control panels for one or more levels of the enclosure comprises determining that a control panel cannot provide sufficient power for the plurality of window clusters and adding a second control panel.

[0217] Clause 39: The method of clause 38, wherein adding the second control panel comprises routing a subset of the plurality of power cables to the second control panel in the virtual model, the subset of the plurality of power cables being used to power a subset of the plurality of window clusters.

[0218] Clause 40: The method of any of clauses 26-39, further comprising determining a control panel type for the control panel based at least in part on the number of the plurality of window clusters.

[0219] Clause 41: The method of any of clauses 26-40, further comprising providing, using the GUI, a visualization of the enclosure, the visualization identifying each window cluster of the plurality of window clusters.

[0220] Clause 42: The method of clause 41, further comprising enabling a user to assign one or more windows within a first window cluster of the plurality of window clusters to a second window cluster of the plurality of window clusters using the GUI.

[0221] Clause 43: The method of any of clauses 26-42, wherein the virtual 3D model comprises a Building Information Modeling (BIM) file.

[0222] Clause 44: The method of any of clauses 26-43, wherein each window of the plurality of windows comprises a respective insulating glass unit (IGU).

[0223] Clause 45: The method of any one of clauses 26 to 44, wherein at least a portion of the plurality of windows comprises one or more optically switchable windows.

[0224] Clause 46: The method of any of clauses 26-45, wherein the enclosure comprises a building.

[0225] Clause 47: The method of any of clauses 26-46, wherein providing the output data comprises displaying the output data via a GUI, providing the output data to a computer application, or both.

[0226] A computer system comprising at least one processor coupled to at least one memory, the at least one processor being configured to perform the method according to any of clauses 1-47.

[0227] A system of one or more communicatively coupled computing devices configured to perform the method of any of clauses 1-47.

[0228] An apparatus having means for performing the method of any of clauses 1-47.

[0229] A non-transitory computer-readable medium storing instructions comprising code for performing the method of any of clauses 1-47.

Claims

1. A method for accurate glass measurement of a closure, performed by a computer system, characterized in that: The method comprises: obtaining a virtual three-dimensional (3D) model of the closed body, the virtual 3D model having a plurality of windows; classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows; determining a frame snap for one or more windows in a set of window types including one or more of the plurality of window types; determining an amount of glass for the windows in the set of window categories, wherein the determined amount of glass takes into account a determined frame bite for the one or more windows in the set of window groups; and Output data is provided, utilizing the computer system, the output data indicating the determined total amount of glass for the windows in the set of window types.

2. The method according to claim 1, wherein: Categorizing the plurality of windows of the virtual 3D model into a plurality of window types includes determining whether each window of the plurality of windows is an optically switchable window.

3. The method according to claim 2, wherein: Determining whether each window of the plurality of windows is an optically switchable window is based at least in part on a size of the corresponding window, a shape of the corresponding window, or both.

4. The method according to claim 1, wherein: Further comprising identifying glass elements in the virtual 3D model using material properties of the elements in the virtual 3D model.

5. The method according to claim 4, characterized in that: Identifying the glass element includes identifying the glass element using an element classification in the virtual 3D model.

6. The method according to claim 1, wherein: Further comprising identifying non-glass elements in the virtual 3D model using material properties of the elements in the virtual 3D model.

7. The method according to claim 6, characterized in that: Identifying the non-glass components includes identifying glass components using component categories in the virtual 3D model.

8. The method according to claim 1, wherein: Further comprising providing a visualization of the enclosure using a graphical user interface (GUI), the visualization identifying the plurality of windows based at least in part on window type.

9. The method according to claim 8, characterized in that: Further included enabling a user to change the window type of a selected window via the GUI.

10. The method according to claim 1, wherein: Further comprising identifying one or more windows of the virtual 3D model that cannot be classified as a window type from the plurality of window types.

11. The method according to claim 10, characterized in that: Further comprising assigning a window type from the plurality of window types to at least one of the one or more windows of the virtual 3D model that cannot be classified as a window type, wherein assigning the window type is based at least in part on user input.

12. The method according to claim 1, wherein: For each of the plurality of windows, the one or more characteristics of the corresponding window include a level at which the corresponding window is located in the enclosure, and wherein the method further includes determining the level at which the corresponding window is located in the enclosure based at least in part on a position of the corresponding window relative to one or more planes representing level boundaries of the virtual 3D model.

13. The method according to claim 1, wherein: For each window of the plurality of windows, the one or more characteristics of the corresponding window include an orientation of the corresponding window.

14. The method according to claim 13, wherein: Further comprising determining the orientation of the respective window by determining a direction of a vector perpendicular to a plane formed by the respective window.

15. The method according to claim 1, wherein: Determining the frame snap of the one or more windows includes: categorizing each of the one or more windows according to installation type; and The frame snap is determined for each installation type.

16. The method according to claim 15, characterized in that: Determining the frame snap for each installation type includes determining a spatial offset between the window and the mullion for the corresponding installation type.

17. The method according to claim 15, characterized in that: Determining the frame snap for each installation type includes: Provide a description of each installation type using the GUI; and User input is received for each installation type indicating a frame snap for the corresponding installation type.

18. The method according to claim 17, wherein: Further comprising providing a GUI, said GUI: Allows selection of installation type; and A visualization of instances of the selected installation type within the virtual 3D model is provided.

19. A computer system, characterized in that: include: at least one memory; as well as at least one processor communicatively coupled with the at least one memory and configured to: obtaining a virtual three-dimensional (3D) model of the closed body, the virtual 3D model having a plurality of windows; classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows; determining a frame snap for one or more windows in a set of window types including one or more of the plurality of window types; determining a total amount of glass for the windows in the set of window categories, wherein the determined total amount of glass takes into account a determined frame bite for the one or more windows in the set of window groups; as well as Output data is provided, utilizing the computer system, the output data indicating the determined total amount of glass for the windows in the set of window types.

20. A non-transitory computer-readable medium storing instructions for precise glass measurement of an enclosure, characterized in that: The instructions include code for: obtaining a virtual three-dimensional (3D) model of the closed body, the virtual 3D model having a plurality of windows; classifying the plurality of windows of the virtual 3D model into a plurality of window types based at least in part on one or more characteristics of the plurality of windows; determining a frame snap for one or more windows in a set of window types including one or more of the plurality of window types; determining a total amount of glass for the windows in the set of window categories, wherein the determined total amount of glass takes into account a determined frame bite for the one or more windows in the set of window groups; as well as Output data is provided, utilizing a computer system, the output data indicating the determined total amount of glass for the windows in the set of window types.

Citation Information

Patent Citations

  • Power distribution networks for electrochromic devices

    US10253558B2

  • Multi-pane windows including electrochromic devices and electromechanical systems devices

    US10359681B2

  • Multi-sensor device and system with a light diffusing element around a periphery of a ring of photosensors and an infrared sensor

    US10533892B2

  • Multi-sensor having a light diffusing element around a periphery of a ring of photosensors

    US10690540B2

  • Commissioning window networks

    US10989976B2