A method and system for generating window sills in architectural models
By using the host relationship of opening components and a binary search algorithm in BIM civil engineering quantity calculation software to generate window sills, the problem of inaccurate window sill generation in existing technologies has been solved, achieving fast and accurate window sill generation and improving design efficiency and calculation accuracy.
Patent Information
- Application Number
- CN202411859924.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-12-17
AI Technical Summary
Existing civil engineering quantity calculation software lacks a method for quickly and accurately generating window sills, resulting in complex operations and a high risk of calculation errors, which fails to meet the design requirements of window sills.
By using BIM civil engineering quantity calculation software, the host relationship of the opening components is used to determine the attached wall components. The height above the ground is obtained by combining the binary search algorithm and the red-black tree data structure. The distance of the end point of the window sill is determined according to the user-input placement length and the preset window width. The three-dimensional model is constructed by using spatial rotation matrix and vector extrusion.
It enables the rapid and accurate generation of window sills, ensuring compatibility with building structures, improving design efficiency and calculation accuracy, and providing reliable data support.
Smart Images

Figure CN119885344B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer graphics technology, and in particular to a method, system, computer device, and computer-readable storage medium for generating window sills in an architectural model. Background Technology
[0002] A windowsill is a flat, panel-like component located at the bottom of a window. It serves to protect the wall from rainwater erosion and from the impact and friction of opening and closing the window, and also has a decorative function. Materials include wood, which has a warm feel but requires attention to moisture prevention; marble, which is hard and waterproof but has a cold feel and is expensive; and artificial stone, which comes in many colors and patterns but is less heat-resistant and less hard.
[0003] Currently, no specialized window sill component exists in civil engineering quantity calculation software for this type of component. This lack of dedicated calculation and design capabilities makes it difficult to handle such components. For this type of project, ring beams and exterior wall details must be used to replace the window sill. This substitution method is not only complex but also prone to errors during calculation, as the properties of ring beams and exterior wall details are not entirely the same as those of window sills, potentially leading to inaccurate results.
[0004] Currently, no effective solution has been proposed to address the lack of a fast and accurate method for generating window sills in civil engineering quantity calculation software. Summary of the Invention
[0005] This application provides a method, system, computer device, and computer-readable storage medium for generating window sills in a building model, to at least solve the problem of the lack of a fast and accurate method for generating window sills in related technologies.
[0006] In a first aspect, embodiments of this application provide a method for generating window sills in a building model, applied to BIM civil engineering quantity calculation software, the method comprising:
[0007] In response to user operation commands, select the opening component, and determine the preset window sill path based on the opening component and the target wall component to which it is attached;
[0008] The ground clearance is obtained from the cached data of the opening component using a binary search algorithm, wherein the cached data adopts a red-black tree data structure;
[0009] The system receives the placement length of the windowsill from the user input, determines the distance between the windowsill endpoints based on the insertion point of the opening component, the placement length, and the preset window width, and determines the insertion endpoint on the preset windowsill path based on the windowsill endpoint distance to obtain the complete windowsill path.
[0010] Initialize the reference section, create a spatial rotation matrix based on the left endpoint of the insertion endpoint and the complete window sill path, and construct a three-dimensional model of the window sill based on the spatial rotation matrix and the preset window sill path.
[0011] In some embodiments, determining the preset window sill path based on the overlap area between the centerline of the opening component and the wall component to which it is attached includes:
[0012] Based on the host relationship of the cached opening component, obtain the connection relationship of the auxiliary entity corresponding to the opening component;
[0013] Based on the connection relationship, the target wall component to which the opening component is attached is obtained. In the case that there are multiple attached wall components, the target wall component is determined from the multiple wall components by comparing the overlapping area of the centerline of the opening component and the wall component.
[0014] The preset window sill path is determined based on the properties of the target wall component.
[0015] In some embodiments, when the windowsill is a double-sided door-window combination, the method further includes:
[0016] Based on the attribute information of the opening components, obtain the lowest elevation in the area composed of multiple windows;
[0017] The initial ground clearance is obtained based on the elevation and the windowsill height in the attribute column of the opening component;
[0018] The initial ground clearance is validated. If the validation result indicates that the initial ground clearance is correct, the initial ground clearance is defined as the ground clearance used to generate the windowsill.
[0019] In some embodiments, determining the distance between the end points of the windowsill based on the insertion point of the opening component, the resting length, and the preset window width includes:
[0020] The insertion point is determined based on the family instance positioning information of the opening component;
[0021] After extending the window width by half in the left and right directions of the insertion point, and extending the resting length, the left and right endpoints of the windowsill are determined respectively. The endpoint distance of the windowsill is determined based on the left and right endpoints.
[0022] In some embodiments, determining the insertion endpoint based on the windowsill endpoint distance and the preset windowsill path includes:
[0023] On the preset windowsill path, the left and right endpoints of the windowsill are determined based on the distance between the endpoints of the windowsill, thus obtaining the insertion endpoint, wherein:
[0024] When the distance between the wall edges of the wall components on the preset window panel path is less than the left and right endpoints of the window panel, determine whether there are adjacent wall components in the same direction as the preset window panel path. If yes:
[0025] The insertion endpoint is determined based on the preset window panel path in the wall component and the adjacent wall component;
[0026] If not, the insertion endpoint is determined based on the distance between the preset window panel path and the wall edge.
[0027] In some embodiments, the reference section is a two-dimensional plane in the XY direction at the origin. Constructing a three-dimensional model of the windowsill based on the spatial rotation matrix and the preset windowsill path includes:
[0028] The reference section is rotated to the target position using the rotation vector.
[0029] Based on the target location and the preset windowsill path, a three-dimensional model of the windowsill is constructed using a vector stretching method.
[0030] Secondly, embodiments of this application provide a window sill generation system for architectural models. The system includes a preprocessing module, a path refinement module, and a 3D model generation module.
[0031] The preprocessing module is used to respond to user operation commands, select opening components, and determine the preset window sill path based on the opening components and the target wall components to which they are attached.
[0032] Furthermore, the ground clearance is obtained from the cached data of the opening component using a binary search algorithm, wherein the cached data adopts a red-black tree data structure;
[0033] The path improvement module is used to receive the placement length of the windowsill input by the user, determine the distance between the endpoints of the windowsill based on the insertion point of the opening component, the placement length and the preset window width, and determine the insertion endpoint in the preset windowsill path based on the distance between the endpoints of the windowsill to obtain a complete windowsill path.
[0034] The 3D model generation module is used to initialize the reference section, create a spatial rotation matrix based on the left endpoint of the insertion endpoint and the complete window sill path, and construct a 3D model of the window sill based on the spatial rotation matrix and the preset window sill path.
[0035] In some embodiments, the preprocessing module: obtains the connection relationship of the auxiliary entities corresponding to the opening component based on the host relationship cached by the opening component;
[0036] Based on the connection relationship, the target wall component to which the opening component is attached is obtained. In the case that there are multiple attached wall components, the target wall component is determined from the multiple wall components by comparing the overlapping area of the centerline of the opening component and the wall component.
[0037] The preset window sill path is determined based on the properties of the target wall component.
[0038] Thirdly, embodiments of this application provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method described in the first aspect above.
[0039] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect above.
[0040] Compared to related technologies, this application provides a method for generating window sills in a building model. This method utilizes the host relationship of opening components to determine the attached wall components, compares overlapping areas along the centerline to determine the target wall components, and obtains a preset window sill path. Furthermore, the path is refined based on the user-set placement length. A three-dimensional model is constructed using user-selected or custom cross-sections combined with rotation matrices and vector extrusion. This solution solves the problem of automatically generating window sills for different types of windows, filling the gap in the lack of a unified and efficient method for window sill generation. Accurate window sill generation ensures compatibility with the building structure, achieving precision and integrity in the building model, and providing reliable data support for building design, construction, and operation management. Attached Figure Description
[0041] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0042] Figure 1 This is a flowchart of a method for generating a window sill in a building model according to an embodiment of this application;
[0043] Figure 2 This is a schematic diagram of user input operation instructions according to an embodiment of this application;
[0044] Figure 3 This is a schematic diagram of a method for generating a windowsill according to an embodiment of this application;
[0045] Figure 4 This is a schematic diagram illustrating the arrangement of window sills for specific door and window configurations according to an embodiment of this application;
[0046] Figure 5 This is a structural block diagram of a window sill generation system in a building model according to an embodiment of this application;
[0047] Figure 6 and Figure 7 These are schematic diagrams of a three-dimensional model of a windowsill according to an embodiment of this application;
[0048] Figure 8 This is a schematic diagram of the internal structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of this application clearer, the application is described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.
[0050] Obviously, the accompanying drawings described below are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar scenarios based on these drawings without any inventive effort. Furthermore, it is understood that although the efforts made in this development process may be complex and lengthy, for those skilled in the art related to the content disclosed in this application, any changes to design, manufacturing, or production based on the technical content disclosed in this application are merely conventional technical means and should not be construed as insufficient disclosure of the content of this application.
[0051] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment that is mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.
[0052] Unless otherwise defined, the technical or scientific terms used in this application shall have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms “a,” “an,” “an,” “the,” and similar words used in this application do not indicate quantity limitation and may indicate singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that includes a series of steps or modules (units) is not limited to the listed steps or units, but may also include steps or units not listed, or may include other steps or units inherent to these processes, methods, products, or devices. The terms “connected,” “linked,” “coupled,” and similar words used in this application are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. “Multiple” used in this application refers to two or more. “And / or” describes the relationship between related objects, indicating that three relationships may exist; for example, “A and / or B” can represent: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following objects are in an "or" relationship. The terms "first," "second," and "third" used in this application are merely to distinguish similar objects and do not represent a specific ordering of the objects.
[0053] Current civil engineering quantity calculation software has several problems. First, the software lacks a specific component for this type of window sill, resulting in a lack of targeted calculation and design functions when dealing with such components. Some software uses ring beams and exterior wall nodes to replace drawing window sills. This substitution method is not only complex to operate, but also prone to errors during calculation, because the properties of ring beams and exterior wall nodes are not exactly the same as those of window sills, which may lead to inaccurate calculation results.
[0054] Furthermore, these software programs lack the function to quickly generate window sills. When dealing with a large number of window sill drawings, it can only be done manually or through other complex methods, which greatly reduces work efficiency and increases the workload and design cycle for designers. Finally, the software also does not support the calculation of window sill reinforcement.
[0055] In view of this, embodiments of this application provide a method for generating window sills in a building model, which is applied in BIM civil engineering quantity calculation software. Figure 1 This is a flowchart of a method for generating a window sill in a building model according to an embodiment of this application, as shown below. Figure 1 As shown, the process includes the following steps:
[0056] S101, respond to user operation instructions to select opening components, and determine the preset window sill path based on the opening components and the target wall components they are attached to;
[0057] The user operation commands are instructions used to instruct the generation of window sills. In this embodiment, two generation methods are supported: batch selection generation and generation by floor. Figure 2 This is a schematic diagram of user input operation instructions according to an embodiment of this application.
[0058] In this process, after selecting the opening component, the host link information can be obtained by using its own cached host relationship, and then the connection relationship of the subordinate entity can be queried to obtain the attached wall component. Then, by comparing the center line overlap area of the opening component and the wall component (selecting the appropriate wall for the case where the door and window are arranged across multiple walls), the preset window sill path can be initially obtained.
[0059] It should be noted that the positional relationship between opening components and window sills in the architectural model is closely related. Determining the preset window sill path based on the opening components ensures that the generated window sill matches the position of the opening in the wall, ensuring that the layout of the window sill is reasonable and conforms to the overall logic of the architectural model. This provides an important basis for the accurate generation of the window sill in the appropriate position, thereby guaranteeing the accuracy and rationality of the architectural model in the relevant parts of the window sill.
[0060] Specifically, this step includes the following sub-steps:
[0061] Step 1: Based on the host relationship of the opening component cache, obtain the connection relationship of the subordinate entities corresponding to the opening component;
[0062] The starting point of the entire process is to obtain the host link information by leveraging the cached host relationships of the selected opening component. These host relationships are inherent association information within the BIM software, linking the opening component to other parts of the building model. By parsing the host link information, the connection relationships of attached entities can be deeply investigated, thereby obtaining the positional relationship network of the opening component within the building structure, providing clues for subsequently determining the wall components it is attached to. For example, the host link information may be used to find the building module or structural unit to which the opening belongs, and thus identify other entities associated with that opening.
[0063] Step 2: Based on the connection relationship, obtain the wall components to which the opening component is attached. In the case of multiple attached wall components, the target wall component is determined from the multiple wall components by comparing the overlapping area of the center lines of the opening component and the wall components.
[0064] Furthermore, based on the queried connection relationships, the wall components to which the opening component is attached can be accurately identified. In actual building scenarios, an opening may be associated with multiple wall components, especially in complex situations where doors and windows span multiple walls. In this embodiment, comparing the overlapping areas of the centerlines of the opening component and the wall components becomes a key screening method. Through this comparison, the wall component that best matches the opening in spatial location and is most suitable as the foundation for the window sill can be identified, i.e., the most suitable wall component. This ensures that the subsequent determination of the preset window sill path has a reasonable and accurate wall foundation, avoiding the problem of unreasonable window sill positions due to improper selection of wall components.
[0065] Step 3: Determine the preset window sill path based on the attribute information of the target component wall.
[0066] By identifying the wall component that best meets the requirements, a preliminary path for the window sill can be obtained. The characteristics of the wall component (such as the wall's orientation, length, and whether it has an outer edge) significantly influence the window sill path. For example, if the wall has an outer edge, the window sill component may be generated according to that edge; otherwise, it will be generated according to the internal orientation. By combining these attributes of the wall component, the approximate direction and range of the window sill on the wall can be planned, laying the foundation for further refining the window sill generation parameters (such as height and cross-sectional shape) and ultimately generating an accurate window sill model.
[0067] Additionally, it should be noted that after determining the wall components for the windowsill, the judgment should be made based on the outer edge of the wall. Figure 3 This is a schematic diagram of a window sill generation method according to an embodiment of this application, as shown below. Figure 3 As shown, if the wall has an outer edge line, the window sill component is generated according to the outer edge line. If the wall does not have an outer edge line, then...
[0068] Generate the window sill according to the built-in orientation.
[0069] Through the above step S101, the associated information of the opening component is retrieved, the target wall component attached to it is determined, and the preset window sill path is determined based on the target wall component. This provides direction and position information for the accurate generation of the window sill and provides basic guidance for the subsequent generation of the window sill model.
[0070] S102, the ground clearance is obtained from the cached data of the opening component using a binary search algorithm, wherein the cached data adopts a red-black tree data structure;
[0071] In order to efficiently and accurately obtain the required data from the basic attributes stored in the opening component itself, this embodiment uses a red-black tree data structure combined with a binary search algorithm.
[0072] It's important to note that a red-black tree is a self-balancing binary search tree, possessing excellent balance to ensure high efficiency during insertion, deletion, and search operations. The binary search algorithm, on the other hand, leverages the ordered nature of the data, rapidly locating the target value by continuously halving the search interval.
[0073] During the search process, the direction of movement is determined by the relationship between the target value and the current node value. If the target value is less than the current node's value, the node moves to the left subtree; if it is greater, it moves to the right subtree, and so on, until the target value is found or the current node is empty. In this way, the required data can be retrieved accurately and efficiently from the component's own cache, thereby obtaining the ground clearance of the opening component's actual attributes.
[0074] Specifically, under normal circumstances, the ground clearance of the opening components can accurately reflect the appropriate starting height of the window sill, ensuring that the window sill height setting conforms to the basic logic and practical needs of architectural design. Therefore, for general opening components, their obtained ground clearance is directly used to synchronize the height position of the generated window sill.
[0075] In certain special cases, corresponding calculation methods can be adaptively set; for example, in the case of a single door and window, the position and related height parameters of the window are obtained by separating the door and window information, and the window sill is generated according to the window information, wherein the length of the end closest to the door is set to 0.
[0076] In the case of double-sided doors and windows, the height information between the windows and the required length of the window sill will differ, necessitating careful window sill placement based on the specific circumstances. For example, obtain the elevations of both the left and right windows separately, and then select the lowest elevation. Considering the relatively complex structure of double-sided doors and windows, and the potential differences in elevation between the left and right windows, using the lowest elevation as a base is more appropriate to ensure the window sill is positioned reasonably below the entire door-and-window assembly and functions properly. Then, add the window sill height from the properties panel to this lowest elevation to obtain the final height of the window sill.
[0077] Figure 4 This is a schematic diagram illustrating the arrangement of window sills for a specific door and window configuration according to an embodiment of this application.
[0078] Furthermore, in actual building scenarios, the installation location of window sills is affected by various factors. After obtaining the final height of the window sill, it is necessary to verify the legality of this height. For example, there may be concrete components such as balustrades or ring beams below the window, which can restrict the installation space of the window sill. In addition, the space in the brick wall below the window may not meet the thickness requirements of the window sill. If these factors are not considered, the window sill may not be able to be installed properly or may affect the overall aesthetics and functionality of the building after installation.
[0079] By verifying the legality of the obtained height from the ground, architectural designers or construction workers can promptly identify any problems and take appropriate measures, such as adjusting the design height of the window sill or modifying the building's structural layout, thereby ensuring the proper installation and normal use of the window sill in the building.
[0080] S103, receive the placement length of the window sill input by the user, determine the distance between the endpoints of the window sill based on the insertion point of the opening component, the placement length and the preset window width, and determine the insertion endpoint on the preset window sill path based on the distance between the endpoints of the window sill to obtain the complete window sill path.
[0081] The placement length mainly refers to the length required for the window sill to rest on the wall, which is crucial for ensuring the stability and functionality of the window sill installation.
[0082] Furthermore, the insertion point can be obtained through the family instance positioning information of the opening component, which is equivalent to a reference point. In this embodiment, the insertion point of the window sill is uniformly used as the insertion point of the opening component, which provides a clear starting reference for subsequently determining the specific position and range of the window sill, so that the window sill and the opening component can accurately correspond in spatial position.
[0083] Specifically, calculating the distance between the left and right endpoints of the windowsill and the insertion point (i.e., the distance between the windowsill endpoints) involves: based on the insertion point of the opening component, extending the left and right sides by half the window width plus the support length to obtain the ideal distance between the left and right endpoints of the windowsill and the insertion point. It should be noted that extending by half the window width ensures that the windowsill covers both sides of the window opening, guaranteeing its compatibility with the window in the width direction; adding the support length further considers the support requirements of the windowsill on the wall, thus comprehensively determining the reasonable distance range between the left and right endpoints and the insertion point.
[0084] After obtaining the distances from the left and right endpoints to the insertion point, the corresponding left and right endpoints of the window sill are found on the initially preset window sill path. The initially preset window sill path in step S101 has provided a general direction and range framework for the position of the window sill. By applying the calculated distances to this path, the specific positions of the left and right endpoints of the window sill can be accurately determined after considering factors such as wall layout, so that the generation of the window sill conforms to the overall design concept of the building.
[0085] For certain special cases, this solution provides the following countermeasures: For example, when the left and right ends of a wall are insufficient in length, the window sill will be generated at the wall's end. This is because in actual building scenarios, wall length may be limited, making it impossible to meet the conventionally calculated requirements for the left and right end positions of the window sill. Generating the window sill at the wall's end ensures that it is generated within the wall's boundaries, preventing situations where the window sill extends beyond the wall's limits, leading to inconsistencies with the building structure or inability to install it.
[0086] Simultaneously, if an adjacent wall shares the same vector direction as this path, the windowsill can also extend outwards onto that adjacent wall. Here, "same vector direction" means that the orientation of the adjacent wall is consistent with the orientation of the current windowsill's preset path. In this case, allowing the windowsill to extend outwards onto the adjacent wall fully utilizes the space of that wall, making the generated path of the windowsill more continuous and complete. This further adapts to different building layouts, improving the flexibility and adaptability of windowsill generation to better meet the needs of architectural design and practical use.
[0087] Through the above steps S103, from considering the placement length, determining the insertion point, calculating the distance from the left and right endpoints to the insertion point, to determining the endpoints on the preliminary preset path and addressing situations such as insufficient wall length and expansion using adjacent walls, a complete window sill generation path is obtained. This complete generation path provides an accurate data foundation for subsequent accurate window sill model generation (such as by determining the cross-sectional shape and performing vector stretching), ensuring that the window sill is accurately positioned in the building model, rationally laid out, and meets the functional requirements of actual use.
[0088] S104, initialize the reference section, create a spatial rotation matrix based on the left endpoint in the inserted endpoint and the complete window sill path, and construct the three-dimensional model of the window sill based on the spatial rotation matrix and the preset window sill path.
[0089] In this embodiment, when generating a windowsill, the user has two options to determine the cross-section: selecting an existing windowsill cross-section VecterID or creating a user-defined reference cross-section. The initialization operation of the reference cross-section sets the cross-section as a two-dimensional plane in the XY direction at the origin (0,0,0); providing a unified starting state that is easy to calculate and process for subsequent operations.
[0090] Furthermore, after initializing the cross-section, a spatial rotation matrix is created using the left endpoint of the windowsill and the direction of the generation path. This rotation matrix can be a 3x3 matrix, where the rows and columns are orthogonal unit vectors. The matrix formed by these orthogonal unit vectors can precisely define a new coordinate system.
[0091] Additionally, it should be noted that multiplying a vector by a rotation matrix actually calculates the vector's coordinates in the new coordinate system. This matrix operation transforms vectors originally in the initial coordinate system (such as the vertex vectors of the initial cross-section) into the new coordinate system defined by the rotation matrix. This effectively changes the initial cross-section from its initial state to a state that more closely matches the actual position of the generated window sill.
[0092] Preferably, matrix operations in linear algebra can be used to change the initial cross-section to the actual position to be generated. Specifically, the aforementioned rotation matrix can be used to perform matrix multiplication operations on the vertex vectors of the initial cross-section. Through these operations, each vertex vector will be repositioned according to the new coordinate system defined by the rotation matrix, thereby moving and rotating the entire cross-section in three-dimensional space to a position that meets the actual requirements of the window sill.
[0093] Finally, after adjusting the cross-section to the desired position, a three-dimensional geometric model of the windowsill is created using vector stretching. Vector stretching is performed on a pre-defined cross-section and generation path. Specifically, based on the adjusted cross-section, the two-dimensional cross-section is gradually extended into a three-dimensional shape along the generation path by performing vector stretching operations. During this process, parameters such as the length and direction of the vector stretching are set according to the specific generation path and the design requirements of the windowsill.
[0094] Optionally, after generating the window sill, you can also set the attribute data of the window sill. For example, you can set parameters such as the type of steel reinforcement, thickness, height, starting support length, and ending support length of the window sill in the attribute data of the window sill component to achieve batch generation of window sills.
[0095] Through the above steps S104, from the selection and initialization of the cross section, to the creation and application of the rotation matrix, to the change of the cross section position, and finally to the establishment of a three-dimensional geometric model through vector stretching, the window sill was successfully generated.
[0096] In addition, an exemplary interactive process for generating window sills in BIM civil engineering quantity calculation software is as follows:
[0097] Step 1: Select the window you want to generate. You can choose "Window (Ordinary Window)", "Bay Window", "Wall Hole", "Door-to-Window", or "Ribbon Window".
[0098] Step 2: Select the location to be generated. You can choose "Masonry Inner Wall" or "Masonry Outer Wall".
[0099] Step 3: Choose whether you want it to only be generated on the outer edge of the exterior wall;
[0100] Step 4: Set the width of the windowsill "B". You can enter it manually or generate it according to the wall thickness.
[0101] Step 5: Set the width "H" of the windowsill; this can be entered manually.
[0102] Step 6: Set the support length of the window sill (the length of the window sill extending out of the window component): The starting support length and the ending support length can be entered manually.
[0103] Step 7: Select the type of windowsill: Two types are supported, which means two types of steel reinforcement.
[0104] Step 8: Select generation method: "Generate by selecting components" or "Generate by selecting floors" are supported.
[0105] Through steps S101 to S104, the host relationship of the opening components is used to determine the attached wall components, and the target wall components are determined by comparing the overlapping areas of the centerline to obtain the preset window sill path. Further, the path is refined based on the user-set placement length. A three-dimensional model is constructed using user-selected or custom cross-sections combined with rotation matrices and vector extrusion. This solution solves the problem of automatically generating window sills for different types of windows, filling the gap in the lack of a unified and efficient method for window sill generation. Accurate window sill generation ensures compatibility with the building structure, achieving precision and integrity of the building model, and providing reliable data support for architectural design, construction, and operation management.
[0106] Meanwhile, this solution is universally applicable in its methods of identifying wall components and obtaining ground clearance by determining connection relationships. The generation of preset paths and the refinement of paths based on placement lengths also offer flexibility. Model construction using cross-sections, rotation matrices, and vector extrusion is equally applicable. However, special handling may be required for special windows such as bay windows, and different window types may have different design requirements; therefore, adjustments and optimizations can be made accordingly based on user needs. Overall, after adjustment and optimization, the solution can achieve automatic generation of window sills for different types of windows (such as ordinary windows, bay windows, wall openings, door-to-door windows, and strip windows) whether independent or uniform.
[0107] It should be noted that the steps shown in the above process or in the flowchart of the accompanying figures can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0108] This embodiment also provides a window sill generation system for architectural models. Figure 5 This is a structural block diagram of a window sill generation system in a building model according to an embodiment of this application, such as... Figure 5 As shown, this system is used in BIM civil engineering quantity calculation software. The system includes: a preprocessing module 50, a path refinement module 51, and a 3D model generation module 52, wherein:
[0109] The preprocessing module 50 is used to respond to user operation commands, select opening components, determine the preset window sill path based on the opening components and the target wall components they are attached to, and obtain the ground clearance from the cached data of the opening components using a binary search algorithm, wherein the cached data adopts a red-black tree data structure.
[0110] The path improvement module 51 is used to receive the placement length of the windowsill plate input by the user, determine the distance between the endpoints of the windowsill plate according to the insertion point of the opening component, the placement length and the preset window width, and determine the insertion endpoint in the preset windowsill plate path based on the distance between the endpoints of the windowsill plate to obtain the complete windowsill plate path.
[0111] The 3D model generation module 52 is used to initialize the reference section, create a spatial rotation matrix based on the left endpoint in the inserted endpoint and the complete window sill path, and construct a 3D model of the window sill based on the spatial rotation matrix and the preset window sill path.
[0112] Figure 6 and Figure 7 These are schematic diagrams of three-dimensional models of the windowsill according to embodiments of this application, such as... Figure 6 and Figure 7 As shown, this system utilizes the host relationship of opening components to determine the attached wall components, compares the overlapping areas of the centerline to determine the target wall components to obtain the preset window sill path; further, it refines the path based on the user-set placement length; and constructs a 3D model using user-selected or custom cross-sections combined with rotation matrices and vector extrusion. This solution solves the problem of automatically generating window sills for different types of windows, filling the gap in the lack of a unified and efficient method for window sill generation. Accurate window sill generation ensures compatibility with the building structure, achieving the accuracy and integrity of the building model, and providing reliable data support for building design, construction, and operation management.
[0113] In one embodiment, a computer device is provided, which may be a terminal. The computer device includes a processor, memory, a network interface, a display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, it implements a method for generating window sills based on an architectural model. The display screen may be a liquid crystal display (LCD) or an e-ink display. The input devices may be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.
[0114] In one embodiment, Figure 8 This is a schematic diagram of the internal structure of an electronic device according to an embodiment of this application, such as... Figure 8 As shown, an electronic device is provided, which can be a server, and its internal structure diagram can be as follows. Figure 8 As shown, the electronic device includes a processor, a network interface, internal memory, and non-volatile memory connected via an internal bus. The non-volatile memory stores an operating system, computer programs, and a database. The processor provides computing and control capabilities, the network interface communicates with external terminals via a network connection, the internal memory provides an environment for the operation of the operating system and computer programs, the computer programs are executed by the processor to implement a method for generating window sills in an architectural model, and the database stores data.
[0115] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0116] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.
[0117] The above embodiments merely illustrate several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for generating window sills in a building model, characterized in that, Applied to BIM civil engineering quantity calculation software, the method includes: In response to user operation commands, select the opening component, and determine the preset window sill path based on the opening component and the target wall component to which it is attached; The ground clearance is obtained from the cached data of the opening component using a binary search algorithm, wherein the cached data adopts a red-black tree data structure; The system receives the placement length of the windowsill from the user input, determines the distance between the windowsill endpoints based on the insertion point of the opening component, the placement length, and the preset window width, and determines the insertion endpoint on the preset windowsill path based on the windowsill endpoint distance to obtain the complete windowsill path. Initialize the reference section, create a spatial rotation matrix based on the left endpoint of the insertion endpoint and the complete window sill path, and construct a three-dimensional model of the window sill based on the spatial rotation matrix and the preset window sill path.
2. The method according to claim 1, characterized in that, Based on the opening component and the target wall component it is attached to, the predetermined window sill path is determined as follows: Based on the host relationship of the cached opening component, obtain the connection relationship of the auxiliary entity corresponding to the opening component; Based on the connection relationship, the target wall component to which the opening component is attached is obtained. In the case that there are multiple attached wall components, the target wall component is determined from the multiple wall components by comparing the overlapping area of the centerline of the opening component and the wall component. The preset window sill path is determined based on the properties of the target wall component.
3. The method according to claim 1, characterized in that, When the windowsill is a double-sided door-window structure, the method further includes: Based on the attribute information of the opening components, obtain the lowest elevation in the area composed of multiple windows; The initial ground clearance is obtained based on the elevation and the windowsill height in the attribute column of the opening component; The initial ground clearance is validated. If the validation result indicates that the initial ground clearance is correct, the initial ground clearance is defined as the ground clearance used to generate the windowsill.
4. The method according to claim 1, characterized in that, Determining the distance between the end points of the windowsill based on the insertion point of the opening component, the resting length, and the preset window width includes: The insertion point is determined based on the family instance positioning information of the opening component; After extending the window width by half in the left and right directions of the insertion point, and extending the resting length, the left and right endpoints of the windowsill are determined respectively. The endpoint distance of the windowsill is determined based on the left and right endpoints.
5. The method according to claim 4, characterized in that, Determining the insertion endpoint based on the windowsill endpoint distance and the preset windowsill path includes: On the preset windowsill path, the left and right endpoints of the windowsill are determined based on the distance between the endpoints of the windowsill, thus obtaining the insertion endpoint, wherein: When the distance between the wall edges of the wall components on the preset window sill path is less than the left and right endpoints of the window sill, determine whether there are adjacent wall components in the same direction as the preset window sill path. If yes: The insertion endpoint is determined based on the preset windowsill path in the wall component and the adjacent wall component; If not, the insertion endpoint is determined based on the distance between the preset windowsill path and the wall edge.
6. The method according to claim 1, characterized in that, The reference section is a two-dimensional plane in the XY direction at the origin. Based on the spatial rotation matrix and the preset window sill path, the three-dimensional model of the window sill is constructed as follows: The reference section is rotated to the target position using the spatial rotation matrix; Based on the target location and the preset windowsill path, a three-dimensional model of the windowsill is constructed using a vector stretching method.
7. A window sill generation system for architectural models, characterized in that, The system is used for BIM civil engineering quantity calculation software and includes: a preprocessing module, a path improvement module, and a 3D model generation module. The preprocessing module is used to respond to user operation commands, select opening components, and determine the preset window sill path based on the opening components and the target wall components to which they are attached. Furthermore, the ground clearance is obtained from the cached data of the opening component using a binary search algorithm, wherein the cached data adopts a red-black tree data structure; The path improvement module is used to receive the placement length of the windowsill input by the user, determine the distance between the endpoints of the windowsill based on the insertion point of the opening component, the placement length and the preset window width, and determine the insertion endpoint in the preset windowsill path based on the distance between the endpoints of the windowsill to obtain a complete windowsill path. The 3D model generation module is used to initialize the reference section, create a spatial rotation matrix based on the left endpoint of the insertion endpoint and the complete window sill path, and construct a 3D model of the window sill based on the spatial rotation matrix and the preset window sill path.
8. The system according to claim 7, characterized in that, The preprocessing module: obtains the connection relationship of the auxiliary entities corresponding to the opening component based on the host relationship of the cached opening component; Based on the connection relationship, the target wall component to which the opening component is attached is obtained. In the case that there are multiple attached wall components, the target wall component is determined from the multiple wall components by comparing the overlapping area of the centerline of the opening component and the wall component. The preset window sill path is determined based on the properties of the target wall component.
9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 6.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Door and window model arrangement method and device, computer equipment and storage medium
CN112464327A
Revit model-based high-rise housing hanging plate automatic design method and device
CN112836271A