Building window primitive creating method and device based on building information model

By defining commands, dynamic functions and constructors in BIM design software, the type creation and visual display of building window primitives are realized, which solves the operability and data application problems of building window primitive creation in the existing technology, and improves the designer's design efficiency and expression ability.

CN120030665AActive Publication Date: 2025-05-23CHINA SOUTHWEST ARCHITECTURAL DESIGN & RES INST CORP LTD

Patent Information

Application Number
CN202510511761.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-23
Publication Date
2025-05-23
Estimated Expiration
2045-04-23

AI Technical Summary

Technical Problem

When creating architectural window primitives, existing BIM design software has barriers in operability and data application, which is difficult to meet the designer's real expression of usage logic and design intention.

Method used

A method of building window primitive creation based on building information model is proposed. By defining commands, dynamic functions and constructors, the type creation and visual display of window primitives are realized, and the construction and editing of window primitives and window panel primitives are supported.

Benefits of technology

This method improves the refined modeling and expression ability of building windows in BIM software, enhances operability and data application, and is more in line with designer design habits and expression requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120030665A_ABST
    Figure CN120030665A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of BIM (Building Information Modeling) design software, and particularly relates to a building window primitive creation method and device based on a building information model. The method comprises the following steps: respectively creating a command, a dynamic function and a constructor function according to the type of a window primitive; calling a corresponding dynamic function through a command; the dynamic function transmits the type parameter to a constructor corresponding to the type parameter to generate corresponding window type constructor data; the dynamic function further calls an activation function corresponding to the construction function, the activation function calculates instantiation data of the window primitives according to the type parameters, the instance parameters and the window primitive construction data, and visual display of the window primitives is conducted according to the instantiation data. The invention discloses a window primitive creating method based on a building information model building, the operability of refined modeling expression of a building window in existing BIM software is achieved, and definition and use of building window primitives can be effectively achieved based on different graphic platforms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of building BIM design software, and in particular relates to a method and device for creating building window elements based on a building information model. Background Art

[0002] Digital technology is an important technology to support social development, but the construction industry is facing the current situation of rough development and low degree of digitalization. As an upstream industry in the construction industry chain, the degree of digitalization of architectural design directly affects the downstream working mode, and thus affects the pace of digital development of the entire construction industry.

[0003] Since the 1990s, the construction industry has actively developed and applied production digitalization technology, and has successively formed two-dimensional digital design technology dominated by Autodesk CAD and BIM technology dominated by Autodesk Revit. Tianzheng architectural plug-ins developed on CAD have gradually occupied the domestic two-dimensional architectural design market, and various architectural design plug-ins developed on the basis of Revit have also become the mainstream software for domestic BIM design. In recent years, with the development trend of localization of software in key areas, BIM modeling software such as PKPM-BIM, Shuwei, and AECMate have gradually appeared in China.

[0004] After decades of product iteration, 2D architectural design software can better meet the needs of architectural designers, but it cannot meet the needs of 3D expression and data transmission. Although Revit, Construct and Digital Dimension in BIM architectural software can perform BIM modeling, it is not from a design perspective, but a remodel after the design is completed. In addition, in the design, the use of these BIM modeling software has a greater workload than 2D architectural design software, which does not conform to the designer's usage logic.

[0005] Architectural windows are one of the most commonly used graphic elements in professional architectural design. Two-dimensional design software cannot truly express the design intent of architectural windows. Although the existing BIM design software can express the design intent of architectural windows in a refined manner, there are still major barriers in operability and data application. Summary of the invention

[0006] In order to realize the refined modeling expression of building windows in the existing BIM software and make it operable, from the perspective of designers, a method and device for creating building window elements based on building information modeling are proposed. This method has the fluency of architectural design, and the generated results have the characteristics of BIM coordination, visualization, accuracy, etc., which is more in line with the design habits of architectural designers and the expression requirements of the final design results.

[0007] In order to achieve the above objectives, the following technical solutions are proposed: A method for creating a building window element based on a building information model comprises the following steps: Create commands, dynamic functions and constructors according to the type of window primitives; Calling the corresponding dynamic function through the command; The dynamic function passes the type parameter to the constructor corresponding to the type of the window primitive, and generates corresponding window primitive construction data; The dynamic function also calls the activation function of the window primitive, which calculates the instantiation data of the window primitive according to the type parameter, instance parameter and window primitive construction data, and performs visual display of the window primitive according to the instantiation data.

[0008] Preferably, the types of the window graphic elements include window grid graphic elements and window panel graphic elements. Preferably, the type parameters of the window panel class graphic element include corner point coordinates and the form of the window panel, and the form of the window panel includes fixed sash, casement sash, sliding sash, hanging sash and louvered sash; the instance parameters of the window panel class graphic element include the insertion point of the window panel.

[0009] Preferably, the activation function of the window panel class primitive performs the following steps: The corner point coordinates are calculated based on the insertion point of the window panel, and the window panel primitive construction data in the constructor corresponding to the form of the window panel is calculated. The corner point coordinates and the window panel primitive construction data constitute the instantiation data of the window panel, and a plan schematic diagram of the window panel is generated based on the instantiation data of the window panel.

[0010] Preferably, the type parameters of the window grid-like graphic element include the starting point, the ending point, the grid height and the grid width of the grid frame; and the instantiation parameters of the window grid-like graphic element include the window grid type.

[0011] Preferably, the activation function of the window grid class primitive performs the following steps: First, determine whether it is an outer frame or an inner grid, determine the control lines of the outer frame and the inner grid by determining two points, and then calculate the auxiliary expression lines of the outer frame and the grid through points and lines; generate a plan schematic diagram of the window grid according to the auxiliary expression lines of the outer frame and the grid; wherein, determining the control lines of the outer frame and the inner grid by determining two points includes: first, generating the control lines of the outer frame and the inner grid by the default parameters of the window type when generating the default window type; second, obtaining the control lines of the outer frame and the inner grid by clicking two coordinate points in the editing interface. Preferably, the type of the window primitive further includes a window type class, and the window type class defines a certain type of window; the type parameter of the window type class includes a collection field of a window panel type primitive and a window grid type primitive; The collection fields of the window panel class primitive and the window grid class primitive are used to be passed into the constructor of the window type class primitive to generate a single window.

[0012] Preferably, the type of the window graphic element also includes a window graphic element class graphic element, the window graphic element class graphic element defines a combined window spliced ​​by multiple window type class graphic elements, and the type parameters of the window graphic element class graphic element include window type, insertion point, bottom elevation, rotation angle, whether placed on the wall and thickness; the instantiation parameters of the window graphic element class graphic element include thickness when not placed on the wall, clear height, effective smoke exhaust area, ventilation area, heat transfer coefficient, solar heat gain coefficient, whether to display as a high window, switch inside and outside, whether to be edited, whether on the wall and whether to mirror.

[0013] Preferably, the activation function of the window primitive class is used to complete the plane expression of the window primitive, and the specific steps include: calculating the plane expression line of the window body; calculating the plane expression line of the window panel; calculating the plane expression line of the window vertical grid; calculating the plane expression style of the window; calculating the ventilation area of ​​the entire window and calculating the effective smoke exhaust area of ​​the entire window.

[0014] Preferably, it is characterized in that the visualization of the window primitives according to the instantiated data comprises: The behavior function or the three-dimensional calculation function is called to generate a three-dimensional visualization graphic of the window instance, wherein the behavior function includes a primitive mirroring function, a stretching function, a copying function, a moving function, a saving function and a reading function.

[0015] Preferably, it is characterized in that the parameters of the type of the window primitive are stored in the primitive layer; The commands, dynamic functions and constructors are stored in the command layer; The interaction layer constructs and displays window instances and edits window element types by inputting data into the element layer and command layer.

[0016] Based on the same concept, a device for creating building window elements based on a building information model is also proposed, comprising at least one processor and a memory communicatively connected to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the above-mentioned methods for creating building window elements based on a building information model.

[0017] Compared with the prior art, the present invention has the following beneficial effects: the present invention proposes a method for creating building window elements based on BIM, which discloses a method for constructing window elements in a hierarchical manner, and can effectively realize the definition and use of building window elements based on different graphic platforms. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1is a flow chart of a method for creating a building window element based on a building information model in Example 1; Figure 2 This is a specific schematic flow of a method for creating a building window element based on a building information model in Example 1; Figure 3 It is a schematic diagram of the overall technical route in Example 1; Figure 4 It is a logical schematic diagram of the overall construction of the graphic element layer in Example 2; Figure 5 is an illustration of different window panel elevations in Example 2; Figure 6 It is the overall logic diagram of the primitive activation function in Example 2; Figure 7 This is a schematic diagram of the window gridding in Example 2; Figure 8 is a schematic diagram of the effect of using the window grid graphic element in Example 2; Fig. 9 It is the overall logic diagram of the window primitive activation function in Example 2; Fig.10 a is a schematic diagram of the plane expression of the fixed window, casement window, hanging window and combination window in Example 2; Fig.10 b is a schematic diagram of the sliding window in Example 2; Fig.10 c is a schematic diagram of the shutter window in Example 2; Fig.11 is a schematic diagram of a plane expression of panels of different window types in Example 2; Fig.12 It is a schematic diagram of the vertical grid plane expression of multiple windows in Example 2; Fig.13 It is the command layer construction logic diagram in Example 2; Fig.14 It is a construction logic diagram of the interaction layer in Example 2; Fig.15 The window instance in Example 2 creates a WPF panel; Fig.16 This is the overall function realization logic diagram of the window type editing in Example 2; Fig.17 It is the window type editing WPF panel in Example 2; Fig.18 is a schematic diagram of the composition of the window type number in Example 2; Fig.19 This is a flow chart of the window type number setting method in Example 2. DETAILED DESCRIPTION

[0019] The present invention is further described in detail below in conjunction with test examples and specific implementation methods. However, this should not be understood as the scope of the above subject matter of the present invention being limited to the following embodiments, and all technologies realized based on the content of the present invention belong to the scope of the present invention.

[0020] Example 1 A method for creating building window elements based on building information modeling, the flow chart is as follows Figure 1 As shown, the following steps are included: Create commands, dynamic functions and constructors according to the type of window primitives; Calling the corresponding dynamic function through the command; The dynamic function passes the type parameter to the constructor corresponding to the type of the window primitive, and generates corresponding window primitive construction data; The dynamic function also calls the activation function of the window primitive, which calculates the instantiation data of the window primitive according to the type parameter, instance parameter and window primitive construction data, and performs visual display of the window primitive according to the instantiation data.

[0021] Furthermore, a specific schematic process of a method for creating a building window element based on a building information model is as follows: Figure 2 As shown. The constructor is used to create commands and dynamic functions to generate primitive instantiation classes, and can set parameters in the primitive instantiation class and call activation functions to visualize primitives. The activation function calculates points and lines according to the parameters set in the class and connects to the underlying display platform for visualization. The window type and other type parameters are used together to construct the window primitive. The parameters of the window primitive and the window instance parameters are passed to the constructor through the creation command and dynamic function to generate the construction data of the window primitive. The dynamic function calls the activation function to visualize the window primitive and display the created window instance.

[0022] Furthermore, the types of window primitives include window grid primitives, window panel primitives, window type primitives, and window primitive primitives. Usually, window primitives are composed of window grids and window panels. Therefore, a variety of window grid primitives are defined and taken as a class to constitute window grid primitives. A variety of window panel primitives are also defined and taken as a class to constitute window panel primitives. By selecting window panels and window grids from window panel primitives and window grid primitives, various types of windows are constituted, which is convenient for design and editing.

[0023] The window type class primitive means that in the actual design process, a certain type of window will be repeatedly used, and the same type of window has the need for unified creation and modification. Therefore, a specific window structure is defined as a certain window type. The window of this type has the same common parameters, which can achieve the purpose of quickly modifying the same type of window in the same project. Therefore, there is no need to repeatedly select window panels and window grids every time the window primitive is constructed. Instead, the collection fields of the window panel primitive and the window grid primitive are selected and integrated into the parameters of a type of window. The collection fields of the window panel primitive and the window grid primitive are then encapsulated together with other identification parameters used for the execution of the window type calculation function to define the window type class primitive.

[0024] A window element class element means that after constructing a window type class element, multiple window type class elements are combined to form the same type of window element class element, that is, the window type class element is a sub-element of the window element class element, and the window element class element defines a combined window spliced ​​by multiple window type class elements.

[0025] In general, the types of window primitives are divided into different types from part to whole, which provides a data architecture for subsequent hierarchical calls to constructors to generate corresponding window primitive construction data.

[0026] Furthermore, corresponding commands, dynamic functions and constructors are created according to the types of window primitives.

[0027] The commands are divided into: window panel element command class, window grid element command class, window type element command class and window element command class.

[0028] The window panel element command class is used in the window type editing scene of the interactive layer. When using it, select the window panel type, and the window panel element command in the window panel element command class calls the dynamic function in the window panel dynamic function class. The dynamic function passes the obtained parameters to the constructor of the window panel element class and the activation function of the window panel element, creates an instance of the window panel element class, displays the corresponding window panel in the current view, and completes the three-dimensional expression calculation of the window panel.

[0029] After completing the creation of the window panel element, you can also select the window panel to switch the panel type, and the related plane expression and 3D expression will also be recalculated.

[0030] The use of the window grid primitive command class is in the window type editing scene of the interactive layer. The window grid primitive commands are divided into outer frame, inner horizontal grid, and inner vertical grid. The outer frame expresses the outer contour boundary of the entire window, the inner horizontal grid expresses the grid division relationship of the window in the horizontal direction, and the inner vertical grid expresses the grid division relationship of the window in the vertical direction. The window grid primitive is created by clicking two points on the screen. The two points will be passed to the constructor of the window grid primitive, and the activation function and the three-dimensional calculation function will be called to generate the window grid primitive. The transaction is used to create an instance of the window grid primitive class (here, "transaction" means that the software's built-in back key can be used to roll back. For example, the shortcut key Ctrl+Z can be used to undo the operation created in the previous step. The following "transaction" is understood in this way), and finally the activation is completed and added to the current view, and the three-dimensional expression calculation of the window grid primitive is completed. The generated window grid primitive can be switched in type, and the related plane expression and three-dimensional expression will also be recalculated.

[0031] The window primitive command class is a type of command formed by commands for creating window primitives. After executing the command for creating window primitives, a window type selection panel can pop up. The user selects the required window type and specifies the bottom elevation of the window as the instance parameter of the window. The type parameters and instance parameters of the window primitive are passed into the constructor of the window primitive through dynamic functions to generate window primitive data. Then, the window primitive activation function is called to create an instance of the window primitive class and display it in the current view, while completing the calculation of the three-dimensional expression of the window.

[0032] Dynamic functions include: window panel primitive dynamic function class, window grid primitive dynamic function class, window type primitive dynamic function class and window primitive dynamic function class.

[0033] The main function of the window panel graphic element dynamic function class is to pass the input parameters to the window panel graphic element constructor after receiving the window panel graphic element command, and generate the window panel graphic element construction data through the constructor.

[0034] In particular, after the user selects the command to arrange the window panel and before the user finally clicks on the screen element, if the closed window panel element enclosed area is not captured during the arrangement process, the default constructor and default parameters of the window panel are used to generate a preview of the selected window panel element; if the closed area enclosed by the window panel element instance is captured, a preview of the selected window panel element is generated in the closed area.

[0035] The main function of the window grid element dynamic function class is to generate a layout preview of the window grid element in real time with the current mouse position as the second point after the command is executed and the user clicks the first point on the screen before finally clicking the second point. During the execution process, the user can change the grid type to be created and generate a preview of the new type of grid.

[0036] The main function of the window element dynamic function class is to call the constructor of the window element according to the current mouse position after the command is executed and before the user finally clicks the screen element to generate a layout preview of the window element in real time.

[0037] The window element needs to be arranged on the wall. During the execution of the dynamic function, it is necessary to capture in real time whether the preview of the current window instance intersects with the wall. When intersecting, the width and rotation angle of the wall will be obtained, and the value of "Is it on the wall" will be set to true. These parameters will be passed to the constructor of the window element as instance parameters, and the activation function of the constructor will be called to generate the layout preview in the current state in real time. When there is no intersection, the default parameters of the width and rotation angle of the window element will be used, and the value of "Is it on the wall" will be set to false, and the activation function of the constructor will be called to generate the layout preview in the current state in real time.

[0038] The activation functions include window panel primitive activation function class, window grid primitive activation function class, window type primitive activation function class and window primitive activation function class. The above activation functions work under the call of corresponding dynamic functions for instantiation calculation and visualization expression.

[0039] Furthermore, the type parameters of the window panel class element include corner point coordinates and the form of the window panel, and the form of the window panel includes fixed sash, casement sash, sliding sash, hanging sash and louvered sash; the instance parameters of the window panel class element include the insertion point of the window panel.

[0040] The activation function of the window panel class primitive performs the following steps: The corner point coordinates are calculated based on the insertion point of the window panel, and the window panel primitive construction data in the constructor corresponding to the form of the window panel is calculated. The corner point coordinates and the window panel primitive construction data constitute the instantiation data of the window panel, and a plan schematic diagram of the window panel is generated based on the instantiation data of the window panel.

[0041] The type parameters of the window grid class graphic element include the starting point, the ending point, the grid height and the grid width of the grid frame; the instantiation parameters of the window grid class graphic element include the window grid type.

[0042] The activation function of the window grid class primitive performs the following steps: First, determine whether it is an outer frame or an inner grid, determine the control lines of the outer frame and the inner grid by determining two points, and then calculate the auxiliary expression lines of the outer frame and the grid through points and lines; generate a plane diagram of the window grid based on the auxiliary expression lines of the outer frame and the grid; among them, there are two ways to determine the two points, the first is to generate them by the default parameters of the window type when generating the default window type, and the second is to obtain them by clicking two coordinate points in the editing interface. The type of the window primitive also includes a window type class, and the window type class defines a certain type of window; the type parameter of the window type class includes a collection field of a window panel type primitive and a window grid type primitive; The collection fields of the window panel class primitive and the window grid class primitive are used to be passed into the constructor of the window type class primitive to generate a single window.

[0043] The type of the window graphic element also includes a window graphic element class graphic element, which defines a combined window spliced ​​by multiple window type class graphic elements. The type parameters of the window graphic element class graphic element include window type, insertion point, bottom elevation, rotation angle, whether to be placed on the wall and thickness; the instantiation parameters of the window graphic element class graphic element include thickness when not placed on the wall, clear height, effective smoke exhaust area, ventilation area, heat transfer coefficient, solar heat gain coefficient, whether to display as a high window, switch inside and outside, whether to be edited, whether to be on the wall and whether to be mirrored.

[0044] The activation function of the window primitive class is used to complete the plane expression of the window primitive, and the specific steps include: calculating the plane expression line of the window body; calculating the plane expression line of the window panel; calculating the plane expression line of the window vertical grid; calculating the plane expression style of the window; calculating the ventilation area of ​​the entire window; and calculating the effective smoke exhaust area of ​​the entire window.

[0045] Further, the visualization of the window primitives according to the instantiated data includes: The behavior function or the three-dimensional calculation function is called to generate a three-dimensional visualization graphic of the window instance, wherein the behavior function includes a primitive mirroring function, a stretching function, a copying function, a moving function, a saving function and a reading function.

[0046] The overall structure of the present invention is as follows Figure 3 As shown in the figure, the creation of window primitives is divided into primitive layer, command layer and interaction layer. The parameters that define the type of window primitives are stored in the primitive layer; commands, dynamic functions and constructors are stored in the command layer; the interaction layer constructs and displays window instances by inputting data into the primitive layer and command layer, and realizes the editing of window primitive types.

[0047] Example 2 Example 2 From Figure 3 The overall architecture shown provides another dimension of explanation and illustration of the concept of the present invention.

[0048] 1. Overall technical route The overall technical route is as follows Figure 3 As shown. Based on the C# language, it is proposed to divide the creation of window primitives into the primitive layer, command layer, and interaction layer. The primitive layer and command layer are in different namespaces to prevent the problem of circular references, that is, the class of the command layer can only reference the class of the primitive layer, but not vice versa. The interaction layer determines different namespaces according to the usage scenarios.

[0049] The graphic element layer mainly includes the window graphic element class and the attached panel graphic element class and window grid graphic element class. Due to the requirements of window types in architectural design, the window panel graphic element class, window grid graphic element class and related type parameters are used to form the window type class, which is then instantiated in the window graphic element class for unified application of data.

[0050] In the command layer, corresponding to the graphic element layer, each type of graphic element has its corresponding creation command and dynamic function. The dynamic function is used for the state of the graphic element following the mouse changes before the user finally confirms the layout of the window instance. The creation command class uses events to execute the graphic element creation command.

[0051] The interaction layer is the main way for users to use window primitives. Users can set the parameters for creating window primitive instances in the window instance creation WPF. These parameters will interact with the window creation command through the data class and be passed to the window constructor to drive the creation of window primitives. Users can edit the window type through the window type editing WPF, including the window panels, window grids and related type parameters contained in the current window type.

[0052] The specific creation and application methods of each layer are introduced in detail as follows.

[0053] 2. Element layer construction method Windows are mainly composed of window panels and window grids. For windows of the same type, unified creation and modification are required. Therefore, the primitive layer includes window primitive classes, window panel primitive classes, window grid primitive classes, and window type classes. The overall construction logic diagram of the primitive layer is as follows: Figure 4 shown.

[0054] The window element class, window panel element class, and window grid element class all include parameter definition, constructor, element activation function, element mirror function, element stretch function, element prompt function, element copy function, element move function, element save function, element read function, and element 3D calculation function. Among them, parameter definition and constructor are necessary components of C# class concepts; element activation function determines the creation logic of the element in the plane, and element 3D calculation function expresses the 3D creation logic of the element; element mirror, stretch, copy, move, save, and read functions are necessary behavior functions for architectural elements, which are used for routine operations on elements in the architectural design process.

[0055] 1. Construction of window panel element class Common forms of architectural window panels include fixed sashes, casement sashes, sliding sashes, hung sashes and louvered sashes. Fixed sashes need to support rectangular and special-shaped methods, while other types of panels only need to support rectangular creation methods to meet the design requirements of architectural windows.

[0056] Fixed sashes usually exist in the form of a single leaf, casement sashes can exist in the form of a single leaf or two leaves, sliding sashes exist in the form of multiple leaves (two or more leaves), hanging window sashes exist in the form of a single leaf, and louvered sashes exist in the form of a single leaf. Figure 5 shown.

[0057] There are three main application scenarios for the sash element. The first is when the program initializes the window type, pass in the default parameters to call the constructor to generate a default fixed sash. The second is when the user is editing the window type and does not capture the window grid, use the default parameters to generate a preview of the window panel according to the selected window panel type. The third is when the user captures the window grid when editing the window type, use the captured window grid data to call the constructor to form the window panel, which is also the main application scenario of the window panel element.

[0058] (1) Parameter definition In the parameter definition of the window panel class element, its geometric parameters and non-geometric parameters are defined respectively. The geometric parameters include the default width, height, thickness, opening angle, and opening distance. The non-geometric parameters include the panel type, opening direction, whether it is a fire rescue window, single-leaf smoke exhaust area, single-leaf ventilation area, material, and various flag variables to assist program execution. For the encapsulation of the program, private fields are used inside the program, and public attributes are used externally to achieve program encapsulation. Attributes related to the two-dimensional or three-dimensional expression of the window panel can be loaded into the property bar of the program, and users can operate them to control the expression of the window panel.

[0059] After setting the properties related to the plane or three-dimensional expression of the window panel, the user can call the activation function or the three-dimensional calculation function to recalculate the window panel primitive.

[0060] (2) Constructor According to different application scenarios of the primitives, the present invention divides the constructors of the window panel primitive into three types. The first type is a constructor that passes the insertion point and the window panel form as parameters, which can support the user to call the default parameters to generate the panel without passing in the panel corner point when using it; the second type is a constructor that passes in the insertion point, four rectangular corner points and the window panel form as parameters, which can support the user to pass in the panel corner point to generate the panel when using it; the third type is a constructor that passes in the insertion point, corner point list and window panel form as parameters to adapt to the special-shaped fixed window sash. The three constructors all set the flag of function execution to call different execution parts in the activation function and the three-dimensional calculation function.

[0061] (3) Element activation function The primitive activation function determines the plane creation logic of the primitive, and the activation function will be called again after the user modifies the parameters. The window panel primitive will face various situations when used, so the activation function first defines three layers of function execution tags. The first layer is whether the default window type is generated by default, the second layer is the window panel primitive form, and the third layer is whether the first constructor is called. The overall logic diagram of the primitive activation function is as follows Figure 6 shown.

[0062] The first layer is used to generate the default window type, and the second constructor is used to generate the default fixed sash type. When the generation is completed, the judgment condition is set to false, and it is true when the window panel element is used and edited later. When it is false, a fixed sash panel is generated according to the panel corner points passed in, and the panel plane glass filling is further generated.

[0063] The second layer window panel element exists in the form of enumeration values, which determines the specific form of the window panel, such as fixed sash, casement sash, sliding sash, hanging sash and blind sash. Different forms of window sash have different expressions, and the two-dimensional plane calculation method is determined according to different window panel forms. When it is a fixed sash, the plane only has a flat glass filling diagram, and when it is other sash forms, the corresponding expression symbol, panel frame line and flat glass filling diagram are generated.

[0064] The third layer determines whether the default constructor is called. If the user does not pass in the panel corner points, the default parameters are used to calculate the panel corner points and generate panels, and then calculate the plane diagram and plane glass filling. If the user passes in the panel corner points, the panel corner points are used to generate panels, and then the plane diagram and plane glass filling are generated.

[0065] In addition, the ventilation area and effective smoke exhaust area of ​​the window are calculated based on the window panels. After the plane expression is completed, other types of window panels, except fixed panels and louver panels, are used in accordance with the effective ventilation area calculation rules of the "Energy-Saving Design Standard for Public Buildings" GB50189-2015, and the relevant parameters are called to calculate the ventilation area of ​​a single panel and saved as the properties of the single panel. Except for fixed panels, the smoke exhaust area calculation rules of the "Technical Standard for Smoke and Exhaust Systems in Buildings" GB 51251-2017 are followed, and the relevant parameters are called to calculate the smoke exhaust area of ​​a single panel, and saved as the window panel element properties, in preparation for further calculation of the ventilation area and effective ventilation area of ​​the entire window.

[0066] (4) Element behavior function The functions of mirroring, stretching, copying, moving, saving, and reading are necessary behavioral functions for building panel elements. The general mathematical methods can be used to complete the mirroring, stretching, copying, and moving of elements in two dimensions and three dimensions.

[0067] Saving and reading use BinaryWriter and BinaryReader under the System.IO namespace in C# language to write and read raw data in binary form.

[0068] (5) Three-dimensional calculation function The logic of generating 3D entities for window panels is to stretch the plane primitives in 3D space, and the stretching height is the panel thickness. When the window panel type is a fixed sash, the 3D entity of the glass panel is calculated; when it is a casement sash, a sliding sash, or a hanging window sash, the 3D entities of the glass panel and the panel frame are calculated; when it is a louver sash, the 3D entities of the louver panel and the frame are calculated. After the 3D entity is calculated, the relevant material is assigned accordingly.

[0069] 2. Construction of window grid element class The window grid element includes the outer frame and inner grid of the window. The schematic diagram of the window grid is as follows: Figure 7 shown.

[0070] (1) Parameter definition In the parameter definition of the window grid primitive, its geometric parameters and non-geometric parameters are defined respectively. The geometric parameters include the default width and height, and the non-geometric parameters include the material and various flag variables that assist the execution of the program. In order to encapsulate the program, private fields are used inside the program, and public properties are used to implement program encapsulation. The properties related to the two-dimensional or three-dimensional expression of the window grid can be loaded into the property bar of the program, and the user can modify it to control the expression of the window panel. After setting the properties related to the plane or three-dimensional expression of the window grid, the user can call the activation function or the three-dimensional calculation function to recalculate the window grid primitive.

[0071] (2) Constructor The constructor of the window grid element needs to specify the geometric parameters of the grid frame's starting point, end point, grid height, grid width, expression line color, expression line type, whether it is a single line, and plane expression parameters of the grid type according to the usage scenario.

[0072] (3) Element activation function In the window primitive activation function, first determine whether it is an outer frame or an inner grid, determine the control lines of the outer frame and inner grid by determining two points, and then calculate the auxiliary expression lines of the outer frame and grid through points and lines. There are two ways to determine the two points. The first is to generate them by the default parameters of the window type when generating the default window type, and the second is to obtain them by clicking two coordinate points in the type editing interface. In specific use, the parameters passed in are used to distinguish them into outer frames, inner horizontal grids, and inner vertical grids. The schematic diagram of the use effect of the window grid primitive is as follows Figure 8 shown.

[0073] (4) Element behavior function The functions of mirroring, stretching, copying, moving, saving, and reading are necessary behavioral functions for building panel elements. The general mathematical methods can be used to complete the mirroring, stretching, copying, and moving of elements in two dimensions and three dimensions.

[0074] Saving and reading use BinaryWriter and BinaryReader under the System.IO namespace in C# language to write and read raw data in binary form.

[0075] (5) Three-dimensional calculation function The logic of generating three-dimensional entities from window grids is to stretch the plane primitives in three-dimensional space, and the stretching height is the width of the window grid primitives.

[0076] 3. Window type class construction In architectural design, windows of the same type must be created and modified in a unified manner. Therefore, using the window type as a common parameter for windows of the same type can achieve the purpose of quickly modifying windows of the same type in the same project.

[0077] (1) Parameter definition The window type defines a class of public parameters for windows, which are also type parameters of windows relative to window primitives. When any parameter of the window type changes, a new type is formed. The geometric parameters of the type parameters include window width and window height, and the non-geometric parameters include window type ID, window type, window type number, window grid material, fire rating and serial number for initializing and modifying the window type number, collection fields for collecting window panel primitives and window grid primitives, and other identification parameters for executing window type calculation functions. For the encapsulation of the program, private fields are used inside the program, and public properties are used externally to implement program encapsulation.

[0078] (2) Constructor According to the usage of the window type, the constructor of the window type class needs to pass in the window type, fire rating, window width, and window height. The window type is an identifier. Its main purpose is to call the window panel element class and the window grid element class to generate different types of single-leaf windows when initializing the default window type. These single-leaf windows include fixed windows, casement windows, sliding windows, hanging windows, and shutters.

[0079] (3) Type calculation function The calculation function of the window type includes two levels of judgment. The first level of judgment is to judge the code block to be executed according to the window type identifier passed in the constructor. The second level of judgment is whether to call the default code block to generate the default single-leaf window type. After execution, the calculated window panel primitives and window grid primitives are collected into the collection fields of window panel primitives and window grid primitives. For the same window type, the default code block will not be executed again after being executed once.

[0080] Subsequent window types will be passed to the window primitives for window instance creation, or passed to the window type editor for window grid, window panel and type parameter editing.

[0081] (4) Type saving and reading functions Saving and reading use BinaryWriter and BinaryReader under the System.IO namespace in C# language to write and read raw data in binary form.

[0082] 4. Window element class construction The window types included in the present invention mainly include fixed windows, casement windows, sliding windows, hanging windows, shutters, and combined windows composed of different window sashes, which are composed of multiple window panels and grids.

[0083] (1) Parameter definition In the parameter definition of the window element, its geometric parameters and non-geometric parameters are defined respectively. Geometric parameters include the floor where the window is located, bottom height, top height, width, height, rotation angle, thickness not placed on the wall, non-geometric parameters include fire rating, data application parameters include clear height, effective smoke exhaust area, ventilation area, heat transfer coefficient, solar heat gain coefficient, function execution flags include whether it is displayed as a high window, switching inside and outside, whether it is edited, whether it is on the wall, whether it is mirrored, and other list fields for auxiliary program operation. Among them, width, height, and fire rating are type parameters of the window, which are assigned by the type of the window, and other parameters are instance parameters of the window.

[0084] For the encapsulation of the program, private fields are used inside the program and public properties are used to encapsulate the program. Properties related to the two-dimensional or three-dimensional expression of the window can be loaded into the property bar of the program, and users can modify them to control the expression of the window panel. After setting the properties related to the plane or three-dimensional expression of the window, users can call activation functions or three-dimensional calculation functions to recalculate the window primitives.

[0085] (2) Constructor According to the usage of window primitives, the constructor of the window needs to pass in the window type, insertion point, bottom elevation, rotation angle, whether to place on the wall, and thickness. Among them, the window type is the common data of the same type of windows; the insertion point is the point arranged by the user in the creation software; the bottom elevation is the height of the window instance relative to the arrangement elevation; the rotation angle is the angle of the wall when the window is placed on the wall; whether to place on the wall involves the color expression of the window plane line, which is true when the wall is captured and false when it is not captured; the thickness is the preview of the window plane when it is not placed on the wall, and the actual thickness of the wall when it is placed on the wall.

[0086] (3) Activation function The activation function of the window primitive mainly completes the plane expression. The activation function is divided into 6 steps. The first step is to calculate the plane expression line of the window body, the second step is to calculate the plane expression line of the window panel, the third step is to calculate the plane expression line of the vertical grid of the window, the fourth step is to calculate the plane expression style of the window, the fifth step is to calculate the ventilation area of ​​the entire window, and the sixth step is to calculate the effective smoke exhaust area of ​​the entire window. The overall logic diagram of the window primitive activation function is as follows: Fig. 9 shown.

[0087] 1) Calculate the form plane expression line Building windows mainly include fixed windows, casement windows, sliding windows, hanging windows, shutters and combination windows. The plane expression diagram of fixed windows, casement windows, hanging windows and combination windows is as follows: Fig.10 As shown in a, the schematic diagram of the sliding window form is as follows Fig.10 As shown in b, the schematic diagram of the shutter window expression is as follows Fig.10 As shown in c.

[0088] By calculating points, lines, and related point movements, line offsets, and other calculation methods, the default expression lines of different window planes can be obtained. The window plane expression style is further calculated according to step 4 to determine the color and linearity of the line.

[0089] 2) Calculate the plane expression line of the window panel Casement windows, sliding windows, hanging windows, and combination windows require further calculation of the window panel plane expression diagram, while fixed windows and shutters do not require calculation of the window panel plane expression diagram. The window panel plane expression diagrams for casement windows, sliding windows, and hanging windows are shown in the figure below. The combination window plane expression diagram is a combination of multiple window panels, and no separate diagram is listed. Fig.11 shown.

[0090] The default expression lines of different window panel planes can be obtained by moving points, lines and related points, and line offsets. The color and linearity of the lines can be determined by further calculating the window plane expression style according to step 4.

[0091] 3) Calculate the vertical grid plane expression line of the window When a window has multiple sashes, the vertical grid lines of the window are expressed on the plane. The schematic diagram of the vertical grid line of multiple windows is as follows: Fig.12 shown.

[0092] By calculating points, lines, and related point movements, line offsets, and other calculation methods, the default plane expression lines of different window vertical grids can be obtained. Further, the window plane expression style is calculated according to step 4 to determine the color and linearity of the line.

[0093] 4) Calculation window plane expression style According to the drawing rules and habits of windows in architectural design, when the user captures a wall when arranging the window, the window plane expression line is expressed as a color with index number 161 on the wall. The window panel plane expression line and the window vertical grid plane expression line do not find the color with index number 8. When the wall is not captured, all lines are set to the color with index number 1 to remind the user that the window is not arranged in a standardized manner.

[0094] 5) Calculate the entire window ventilation area According to the Public Building Energy-saving Design Standard GB50189-2015, openable windows in buildings assume part of the natural ventilation function. According to the collaborative design requirements, the architectural profession needs to pass the window ventilation area data to the green building profession for energy-saving design. Section 3.2.9 of the Public Building Energy-saving Design Standard GB50189-2015 details the ventilation calculation rules for different types of window sashes.

[0095] The present invention calculates the ventilation area of ​​a single casement sash, sliding sash, and hanging window sash panel when defining the window panel graphic element above, so the ventilation area value of a single window panel is accumulated in the window graphic element and saved as a window attribute.

[0096] 6) Calculate the effective smoke exhaust area of ​​the entire window According to the requirements of the Technical Standard for Smoke and Exhaust Systems in Buildings GB 51251-2017, openable windows serve as natural smoke exhaust facilities in the event of a fire in a building. According to the collaborative design requirements, the architecture department needs to transfer the effective smoke exhaust area data of the windows to the HVAC architecture department for smoke and exhaust design. Section 4.3.5 of the Technical Standard for Smoke and Exhaust Systems in Buildings GB51251-2017 details the calculation rules for the effective smoke exhaust area of ​​different types of window sashes.

[0097] The present invention calculates the smoke exhaust area of ​​a single casement sash, sliding sash, hanging window sash, and louvered sash panel when defining the window panel graphic element in the foregoing text. After specifying the instance parameter clear height in the window graphic element, the effective smoke exhaust area of ​​the entire window can be obtained.

[0098] (4) Behavior function The functions of image mirroring, stretching, copying, moving, saving, and reading are necessary behavioral functions for architectural window elements. The general mathematical methods can be used to complete the image mirroring, stretching, copying, and moving of elements in two dimensions and three dimensions.

[0099] After the window element is mirrored, stretched, copied or moved, it will determine whether it intersects with the wall. If it intersects, the activation function will be called again using the parameters of the wall to generate the mirrored, stretched, copied or moved window instance. If it does not intersect, the default parameters will be used to generate the mirrored, stretched, copied or moved window instance.

[0100] Saving and reading use BinaryWriter and BinaryReader in the System.IO namespace of the C# language to achieve writing and reading raw data in binary form.

[0101] (5)Three-dimensional calculation function Since the window primitive uses the window type, when calculating the three-dimensional representation of the window instance, a copy of the three-dimensional window panel primitive and the three-dimensional window grid primitive in the window type is made respectively, and after combination, they are jointly used as the three-dimensional representation of the window instance.

[0102] III. Command layer construction method The command layer is jointly composed of the primitive creation command class and the primitive dynamic function class. The construction logic diagram of the command layer is as Fig.13 shown.

[0103] The main function of the primitive creation command class is to pass parameters into the constructor of the primitive, and finally generate a primitive instance according to the creation logic of the primitive in the primitive layer, and jointly complete the expression of the design intention with other primitives in the current view.

[0104] The main function of the primitive dynamic function class is to interact with the current page through the set interaction logic, obtain the parameters required by the primitive constructor, generate a real-time preview of the generated primitive, and pass the parameters for generating the primitive preview to the primitive creation command as the parameters when the final primitive is created.

[0105] 1. Construction of the window panel primitive command class and dynamic function class (1)Window panel primitive creation command class The window panel primitive command class is used in the window type editing scenario of the interaction layer. When using it, the required window panel type needs to be selected, and the window panel dynamic function class is called. According to the constructor of the window panel primitive class and the primitive calculation logic, the parameters obtained during the execution of the dynamic function are passed into the command class, and then an instance of the window panel primitive class is created using a transaction. Finally, it is activated and added to the current view, and at the same time, the three-dimensional expression calculation of the panel is completed.

[0106] After the user completes the window panel primitive, the user can also select the window panel to switch the panel type, and the relevant planar expression and three-dimensional expression will be recalculated.

[0107] (2)Window panel dynamic function class The main function of the window panel primitive dynamic function class is to generate a real-time layout preview of the window panel primitive according to the current mouse position before the user finally clicks on the screen primitive after the command is executed.

[0108] The layout of window panel elements needs to interact with window grid element instances. When the user selects the type of window panel to be arranged, if the closed window grid element enclosed area is not captured during the layout process, the default constructor and default parameters of the window panel are used to generate a preview of the selected window panel element. If the closed area enclosed by the window grid element instance is captured, a preview of the selected window panel element is generated in the closed area.

[0109] 2. Construction of window grid element command class and dynamic function class (1) Window grid element creation command class The window grid primitive command class is used in the window type editing scene of the interactive layer. According to the usage scenario and the constructor of the window grid primitive, the window grid primitive command includes outer frame, inner horizontal grid, and inner vertical grid. The outer frame expresses the outer contour boundary of the entire window, the inner horizontal grid expresses the grid division relationship of the window in the horizontal direction, and the inner vertical grid expresses the grid division relationship of the window in the vertical direction.

[0110] The window grid primitive is created by clicking two points on the screen. The two points are passed to the constructor of the window grid primitive, and the activation function and the three-dimensional calculation function are called to generate the window grid primitive. A transaction is used to create an instance of the window grid primitive class, and finally the activation is completed and added to the current view, and the three-dimensional expression calculation of the window grid primitive is completed.

[0111] The generated window grid elements can be switched into different types.

[0112] (2) Window grid element dynamic function class The main function of the window grid element dynamic function class is to generate a layout preview of the window grid element in real time with the current mouse position as the second point after the command is executed and the user clicks the first point on the screen and before finally clicking the second point.

[0113] During the execution process, the user can change the type of grid to be created and generate a preview of the new type of grid.

[0114] 3. Window element command class and dynamic function construction class (1) Window element creation command class Window primitives are driven and created by both type parameters and instance parameters. Type parameters control the expression of all window instances of the same type, while instance parameters can only control the expression of a single window instance.

[0115] After executing the command to create a window element, a window type selection panel will pop up, allowing the user to select the required window type and specify the window bottom elevation as the instance parameter of the window. The parameters are then passed into the constructor of the window element to generate the window element. Then, a transaction is used to create an instance of the window element class. Finally, the window element is activated and added to the current view, and the calculation of the window's three-dimensional expression is completed.

[0116] (2) Window element dynamic function class The main function of the window element dynamic function class is to call the constructor of the window element according to the current mouse position after the command is executed and before the user finally clicks the screen element to generate a layout preview of the window element in real time.

[0117] The window element needs to be arranged on the wall. During the execution of the dynamic function, it is necessary to capture in real time whether the preview of the current window instance intersects with the wall. When intersecting, the width and rotation angle of the wall will be obtained, and the value of "Is it on the wall" will be set to true. These parameters will be passed to the constructor of the window element as instance parameters, and the activation function of the constructor will be called to generate the layout preview in the current state in real time. When there is no intersection, the default parameters of the width and rotation angle of the window element will be used, and the value of "Is it on the wall" will be set to false, and the activation function of the constructor will be called to generate the layout preview in the current state in real time.

[0118] 4. Interaction layer construction method The interaction layer consists of the window instance creation WPF panel and the window type editing WPF panel.

[0119] WPF (Windows Presentation Foundation) is a user interface framework developed by Microsoft. It is part of the .NET Framework and is mainly used to build Windows client applications. It consists of the front-end XAML language and the back-end C# language. WPF can provide a unified, feature-rich programming model, language, and framework to create various types of user interface elements, from simple buttons to complex 3D graphics and animations. The construction logic diagram of the interaction layer is as follows Fig.14 shown.

[0120] The window instance creates a WPF panel, which mainly includes window type selection, window bottom height setting, window top height report, window width report, window height report, copy type, and edit type. The window type selection is stored in the static type list in the data class. Users can load the window type from the static list when using the window instance to create a WPF panel.

[0121] The window type editing WPF panel completes the geometry and type parameter settings of the window type, loads it into the static type list in the data class, and then uses it for window instance creation WPF panel.

[0122] The window type data edited by the Window Type Editing WPF Panel comes from the copy type and edit type in the Window Type Editing WPF Panel window instance creation WPF panel, as well as the window type passed in by double-clicking the window instance after the window instance is created.

[0123] 1. Window instance creation WPF panel construction (1) Panel creation The window instance creates a WPF panel written in XAML language, including a title, a search box written by a TextBox control, a window type selection list written by a ComboBox control, copy type and type editing functions written by a Button control, and a bottom height input box, a top height report parameter display box, a width report parameter display box, and a height report parameter display box written by a TextBox control.

[0124] The top height reporting parameter display box is calculated by the window bottom height and the window height in the window type. The width reporting parameter display box and the height reporting parameter display box are passed from the window type and are therefore set to a non-editable state.

[0125] The native ComboBox cannot fully express the information required by the user when selecting the window type. Therefore, it is rewritten based on the native ComboBox to display the window type preview and the window type number at the same time.

[0126] (2) Data Binding The data entered or displayed in the panel is bound to the data in the data class. The window type selection list is bound to the static type list in the data class. Each member in the list consists of a window type elevation preview, a window type number, and a window type. After the user opens the window instance to create the WPF panel, the window type selection list ComboBox control will obtain the static type list of window types in the data class. Clicking the drop-down button will display all window types. After the user selects the required window type, the window instance can be arranged on the drawing interface. Fig.15 shown.

[0127] (3) Functional implementation The search button in the panel can perform fuzzy search based on the window type number, helping users quickly find the required window type for use.

[0128] Click the "Copy Type" button to create a new window type and copy the window grid elements, window panel elements and related type parameters of the window type currently selected by the user to the new window type, and enter the window type editing WPF panel to edit the window type. After editing is completed, a new window type is formed.

[0129] Clicking the "Type Edit" button will transfer the window grid elements, window panel elements and related type parameters of the window type currently selected by the user to the window type editing WPF panel for window type editing. After editing, the original window type will be replaced.

[0130] 2. Window type editing WPF interface class construction Window type editing is an important function of building windows. Users can enter the editing of key parameters of the current type by clicking the "Copy Edit" button on the window creation instance interface and enter the editing of the current type by clicking the "Type Edit" button. Users can preset window types at the beginning of creation or during the creation process, and can also edit the types of created windows to achieve the effect of unified creation and unified modification. The overall function of window type editing is realized in the following logic diagram: Fig.16 shown.

[0131] (1) Panel creation The Window Type Editing WPF panel is written in XAML language, including the title, the window frame, window height, type, size code, and window type number display functions written by the TextBox control, the material, performance, serial number, and sash layout functions written by the ComboBox control, and the outer frame, vertical grid, and horizontal grid creation functions written by the Button control. Fig.17 shown.

[0132] (2) Data Binding In addition to the execution of events corresponding to the Button control, the window width, window height, type, size code, window type number display, material, performance, and serial number are all data-bound to the corresponding properties of the data class.

[0133] The window width and height are linked to the window grid in the current type editing interface. The program can obtain the maximum X maximum difference and Y maximum difference of the current outer frame as the value of the window width and window height, which cannot be modified. In addition, the size code display frame is converted and combined by the window width and window height. The conversion method is to divide the window width and window height by 100 respectively, and then only keep the first two digits for combination through rounding. The first two digits are the window width, and the last two digits are the window height. If the window width after conversion is less than 10 (that is, a single digit), add 0 in front to make it a two-digit number.

[0134] According to the architectural window design expression rules, the material selection control is bound to the material property list in the data class, which includes W, S, A, and G; the performance selection control includes FA, FB, FC, G, T, K, P, and E; the serial code control is preset with "None", 01, 02, 03, 04, 05, and 06.

[0135] (3) Functional implementation Regardless of "Copy Edit", "Type Edit" or "Double-click Edit", what is passed into the Window Type Edit WPF panel are window type data including window grid data, window panel data and window type number data, among which "Type Edit" and "Double-click Edit" have the same functions and effects.

[0136] By clicking the outer frame, vertical grid, and horizontal grid buttons in the window type editing WPF panel, you can call the creation command class and dynamic function class of the window grid element, and draw the outer frame, vertical grid, and horizontal grid in the type editing interface.

[0137] By pulling down and selecting the window type to edit the panel type in the WPF panel, you can call the creation command class and dynamic function class of the window panel element, and create fixed sashes, casement sashes, sliding sashes, hanging window sashes, and blind sashes in the type editing interface.

[0138] By pulling down and selecting the window type to edit the size code, material, performance, and serial number in the WPF panel, the window type number can be updated in real time. After the user executes the frame drawing command, the program can automatically calculate the window width and height based on the closed frame, and automatically update the size code and window type number.

[0139] When the window type editing WPF panel is closed, if it is "Copy Type", the new type currently edited will be added to the window type list in the data class. If it is "Type Edit" and "Double Click Edit", the selected type in the window type list in the data class will be replaced.

[0140] Then the window type list in the data class is sorted by window type number to facilitate user selection. The schematic diagram of the window type number structure is as follows: Fig.18 shown.

[0141] The window type number sorting is divided into four levels. The first level sorts the materials by W, S, A, G, the second level sorts the performance by F-A, F-B, F-C, G, T, K, P, E, the third level sorts the size code from small to large, and the fourth level sorts the serial code by "None", 01, 02, 03, 04...

[0142] After the window type numbers are sorted, the window type list in the data class is updated, and the data source for the window type drop-down list in the WPF panel created for the window instance is set.

[0143] 5. Window element usage process The flow chart of the window type number setting method is as follows: Fig.19 shown.

[0144] The user first clicks the window creation button in the design software to execute the window command, and the window instance creation WPF panel will pop up. The program will automatically select the default window type. After the user sets the instance parameters of the window bottom elevation, the window instance can be arranged. The user can directly click the "Copy Edit" button, "Type Edit" or double-click the arranged window instance to enter the window type editing WPF panel for type editing, including the creation and modification of grid elements, panel elements, and type numbers. After exiting the window type editing WPF panel, the program automatically runs the window instance creation WPF panel and selects the edited window type to arrange the window instance.

[0145] The window type search function can be used during the window type selection process.

[0146] In the process of arranging window type instances, you can use free arrangement, fixed width, wall centering, equal grid division, equal wall division, fixed grid spacing and other methods to arrange window type instances. Different arrangement preview effects will be obtained when executing window dynamic functions according to different arrangement methods.

[0147] Finally, it should be noted that the embodiments described in detail above are only the best practices of the invention and cannot be used to limit the scope of rights of the invention. Equivalent replacement of the technical solutions recorded in the aforementioned embodiments does not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the invention, and they should all be included in the scope of the claims and description of the invention.

Claims

1. A method for creating building window elements based on building information modeling, characterized in that: The following steps are involved: Create commands, dynamic functions and constructors according to the type of window primitives; Calling the corresponding dynamic function through the command; The dynamic function passes the type parameter to the constructor corresponding to the type of the window primitive, and generates corresponding window primitive construction data; The dynamic function also calls the activation function of the window primitive, which calculates the instantiation data of the window primitive according to the type parameter, instance parameter and window primitive construction data, and performs visual display of the window primitive according to the instantiation data.

2. A method for creating building window elements based on building information modeling as claimed in claim 1, characterized in that: The types of the window graphic elements include window grid graphic elements and window panel graphic elements.

3. A method for creating building window elements based on building information modeling as claimed in claim 2, characterized in that: The type parameters of the window panel class element include corner point coordinates and the form of the window panel, and the forms of the window panel include fixed sash, casement sash, sliding sash, hanging sash and blind sash; the instance parameters of the window panel class element include the insertion point of the window panel.

4. A method for creating building window elements based on building information modeling as claimed in claim 3, characterized in that: The activation function of the window panel class primitive performs the following steps: The corner point coordinates are calculated based on the insertion point of the window panel, and the window panel primitive construction data in the constructor corresponding to the form of the window panel is calculated. The corner point coordinates and the window panel primitive construction data constitute the instantiation data of the window panel, and a plan schematic diagram of the window panel is generated based on the instantiation data of the window panel.

5. A method for creating building window elements based on building information modeling as claimed in claim 2, characterized in that: The type parameters of the window grid class graphic element include the starting point, the ending point, the grid height and the grid width of the grid frame; the instantiation parameters of the window grid class graphic element include the window grid type.

6. A method for creating building window elements based on building information modeling as claimed in claim 5, characterized in that: The activation function of the window grid class primitive performs the following steps: First, determine whether it is an outer frame or an inner grid, determine the control lines of the outer frame and the inner grid by determining two points, and then calculate the auxiliary expression lines of the outer frame and the grid through points and lines; generate a plan schematic diagram of the window grid according to the auxiliary expression lines of the outer frame and the grid; wherein, determining the control lines of the outer frame and the inner grid by determining two points includes: first, generating the control lines of the outer frame and the inner grid by the default parameters of the window type when generating the default window type; second, obtaining the control lines of the outer frame and the inner grid by clicking two coordinate points in the editing interface.

7. A method for creating building window elements based on building information modeling as claimed in claim 2, characterized in that: The type of the window primitive also includes a window type class, and the window type class defines a certain type of window; the type parameter of the window type class includes a collection field of a window panel type primitive and a window grid type primitive; The collection fields of the window panel class primitive and the window grid class primitive are used to be passed into the constructor of the window type class primitive to generate a single window.

8. A method for creating building window elements based on building information modeling as claimed in claim 7, characterized in that: The type of the window graphic element also includes a window graphic element class graphic element, which defines a combined window spliced ​​by multiple window type class graphic elements. The type parameters of the window graphic element class graphic element include window type, insertion point, bottom elevation, rotation angle, whether to be placed on the wall and thickness; the instantiation parameters of the window graphic element class graphic element include thickness when not placed on the wall, clear height, effective smoke exhaust area, ventilation area, heat transfer coefficient, solar heat gain coefficient, whether to display as a high window, switch inside and outside, whether to be edited, whether to be on the wall and whether to be mirrored.

9. A method for creating building window elements based on building information modeling as claimed in claim 8, characterized in that: The activation function of the window primitive class is used to complete the plane expression of the window primitive, and the specific steps include: calculating the plane expression line of the window body; calculating the plane expression line of the window panel; calculating the plane expression line of the window vertical grid; calculating the plane expression style of the window; calculating the ventilation area of ​​the entire window and calculating the effective smoke exhaust area of ​​the entire window.

10. A method for creating building window elements based on building information modeling according to any one of claims 1 to 9, characterized in that: The visualization of the window primitive according to the instantiated data includes: The behavior function or the three-dimensional calculation function is called to generate a three-dimensional visualization graphic of the window instance, wherein the behavior function includes a primitive mirroring function, a stretching function, a copying function, a moving function, a saving function and a reading function.

11. A method for creating building window elements based on building information modeling according to any one of claims 1 to 9, characterized in that: The parameters of the window primitive type are stored in the primitive layer; The commands, dynamic functions and constructors are stored in the command layer; The interaction layer constructs and displays window instances and edits window element types by inputting data into the element layer and command layer.

12. A device for creating building window elements based on building information model, characterized in that: It includes at least one processor and a memory communicatively connected to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute a method for creating building window elements based on a building information model as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Curtain wall production and processing method based on BIM technology

    CN111005483A

  • Complex combined door and window modeling method, system and equipment based on Revit and medium

    CN116257911A

  • Building facade window BIM reconstruction method based on three-dimensional point cloud semantic segmentation

    CN118570377A

  • Building enclosure component design method and electronic equipment

    CN119026219A

  • BIM-based window deepening drawing auditing method

    CN119691867A

Cited By

  • BIM-based door and window bulk sample generation method and system

    CN122087933A

  • BIM-based door and window template generation method and system

    CN122087933B