A method and system for simulating variable spatial residential user demand

By parsing residential information and providing an interactive design interface in a virtual environment, users can directly participate in the design of variable-space residential buildings, solving the problem of inaccurate communication of customer needs, achieving consistency between design solutions and customer expectations, and shortening the design cycle.

CN119577885BActive Publication Date: 2025-10-17CHINA CONSTR THIRD ENG BUREAU GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411558230.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-04
Publication Date
2025-10-17
Estimated Expiration
2044-11-04

AI Technical Summary

Technical Problem

In the existing design process of variable-space residences, customer needs are not accurately communicated, resulting in a large gap between the design plan and customer expectations, extended design cycles, and low efficiency.

Method used

By parsing the uploaded residential information to obtain basic attribute information, dividing it into local spaces and providing controls, users can directly participate in the design in the virtual environment and use the interactive interface and functional module library to realize demand conversion and real-time adjustment.

Benefits of technology

It reduces information loss in the process of conveying customer ideas, ensures that the design plan is consistent with customer expectations, shortens the design cycle, and improves design efficiency and customer satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119577885B_ABST
    Figure CN119577885B_ABST
Patent Text Reader

Abstract

The application provides a simulation method and system based on variable space residential user demand, and relates to the technical field of building. Basic attribute information is obtained by analyzing uploaded residential information, accurate basic data is provided for subsequent design, residential information is divided into local space and corresponding controls are provided, so that users can accurately express the demand of each space. This refined demand collection method reduces information loss in the process of conveying customer ideas, converts user demand into structured design demand data, effectively eliminates designer understanding bias, provides an interactive design interface in a virtual environment, lets users directly participate in the design process, adjusts and views effects in real time, thereby ensuring that the final design scheme is consistent with customer expectations. This method shortens the design cycle, improves design efficiency and customer satisfaction.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of building technology, and in particular to a simulation method and system based on variable space residential user demand. BACKGROUND

[0002] With the acceleration of urbanization and the improvement of people's living standards, the demand for living space is increasingly diversified and personalized. People are no longer satisfied with standardized residential design, but hope to be able to customize and transform living space according to their own lifestyle and needs. This trend has promoted the development of variable space residential design, making residential space more flexible to adapt to the needs of different users.

[0003] Currently, variable space residential design is mainly achieved through the following ways: designers communicate face-to-face with customers to collect demand information; use CAD software such as AutoCAD and Revit to draw floor plans, and use 3D modeling software such as SketchUp and 3ds Max to create solid models; then select appropriate functional modules and furniture from existing product catalogs or furniture manufacturers' sample books according to experience; integrate these elements into the design. Throughout the process, the designer needs to confirm with the customer several times and adjust the plan according to the feedback.

[0004] However, from the customer's expectations to the final design scheme, there are several links in between: the customer's inner thoughts, the customer's verbal expression, the designer's understanding, and the designer's specific presentation. Each link may produce deviation, and these deviations accumulate, often leading to a large gap between the final design scheme and the customer's expectations. Therefore, multiple communications and modifications are often needed in the design process, thus prolonging the entire design cycle. SUMMARY

[0005] The present application provides a simulation method and system based on variable space residential user demand, which is used to shorten the design cycle.

[0006] In a first aspect, the present application provides a simulation method based on variable space residential user demand, comprising: analyzing uploaded residential information of a current residence to obtain basic attribute information of the current residence, the basic attribute information including house size, layout information, wall data, and door and window data; dividing the current residential information into a plurality of local spaces according to the basic attribute information; providing a control for each local space and the whole, the control being used to enable a user to provide demand information about each local space or the whole; after receiving the demand information of each local space and the whole, converting each user demand information into structured design demand data; according to each design demand data, loading a functional module library from a preset database, so that each local space and the whole correspond to a functional module library; generating a whole house outline of the current residence in a virtual environment according to the basic attribute information, and generating corresponding local space outlines in the whole house outline according to the division of the local spaces; providing an interactive design interface in the virtual environment, the interactive design interface including the whole house outline and each local space outline, the whole and each local space corresponding to a functional module library; the functional module library having a plurality of modules, and the user being able to control rotation, scaling, and movement of the modules; generating a design scheme of the current residence according to the user-adjusted virtual environment, the design scheme including a plan, a 3D model, a material list, module coordinates, and cost estimation.

[0007] By adopting the above technical solution, the basic attribute information is obtained by analyzing the uploaded residential information, thereby providing accurate basic data for subsequent design. The residential information is divided into local spaces and corresponding controls are provided, so that the user can accurately express the demand of each space. This refined demand collection method reduces information loss in the process of conveying customer ideas. The user demand is converted into structured design demand data, which effectively eliminates the understanding bias of designers. The interactive design interface is provided in the virtual environment, so that the user can directly participate in the design process and adjust and view the effect in real time, thereby ensuring that the final design scheme is consistent with the customer's expectation. This method shortens the design cycle, improves the design efficiency and customer satisfaction.

[0008] In some embodiments in combination with the first aspect, the step of converting each user demand information into structured design demand data specifically comprises: pre-processing the user demand information to obtain pre-processed text; splitting the pre-processed text into sentences; performing word segmentation processing on the sentences to obtain a word sequence; performing part-of-speech tagging on each word in the word sequence; performing named entity recognition on the part-of-speech tagged word sequence to identify specific entities; based on the results of the part-of-speech tagging and the named entity recognition, performing dependency syntax analysis to determine the grammatical relationship between the words and construct a dependency tree; and generating design demand data according to the dependency tree, the part-of-speech tagged word sequence, and the specific entities.

[0009] By adopting the technical solution, the user demand information is preprocessed and split, laying a foundation for subsequent analysis. Through word segmentation processing and part-of-speech tagging, the system can identify keywords and grammatical structures, especially the named entity recognition step, which can accurately identify specific entities related to design, such as furniture, materials, etc. Dependency syntax analysis further clarifies the relationship between words and constructs a complete semantic structure. This series of processing steps enable the system to deeply understand the internal logic and association of user demand, thereby generating more accurate and structured design demand data, improving the accuracy of demand conversion.

[0010] In combination with some embodiments of the first aspect, in some embodiments: the step of generating the design demand data according to the dependency tree, the part-of-speech tagged word sequence and the specific entity specifically comprises: associating the specific entity and the modifier corresponding to the specific entity in the part-of-speech tagged word sequence according to the dependency tree to obtain a design element set; establishing a predefined semantic mapping table to map the design element set to a design attribute to obtain a semantic mapping result; extracting quantity information corresponding to the design element set in the part-of-speech tagged word sequence according to the dependency tree, and assigning the quantity information to the design element set to obtain a quantity design element set; determining the priority of each quantity design element in the quantity design element set according to the dependency tree, and arranging the quantity design element set according to the priority to obtain a priority design element set; arranging the priority design elements in the priority design element set according to the dependency relationship according to the dependency tree to obtain the design demand data.

[0011] By adopting the technical solution, the specific entity and the modifier are associated to form a design element set, which ensures the integrity of the design demand. The design elements are mapped to specific design attributes using a predefined semantic mapping table, improving the accuracy of demand interpretation. By extracting quantity information and assigning it to the design elements, the system can accurately grasp the specific demand quantity of each design element by the user. By determining the priority of each design element and arranging them according to the dependency relationship, the system not only captures the content of the user demand, but also accurately reflects the importance and hierarchical structure of the demand. This multi-dimensional and multi-level demand data generation method makes the final design demand data closer to the user's real intention, improving the pertinence and satisfaction of the design scheme.

[0012] In some embodiments of the first aspect, in some embodiments: the step of generating the overall house profile of the current residence in the virtual environment according to the basic attribute information, and generating the corresponding local space profile in the overall house profile according to the division of the local space, specifically comprises: creating a blank virtual environment; setting the initial ground plane size according to the house size in the basic attribute information, creating a corresponding number of blank floors according to the house size in the basic attribute information, setting the vertical spacing between the blank floors according to the house size in the basic attribute information, obtaining an initial blank residence structure; generating a wall model in the initial blank residence structure according to the wall data in the basic attribute information, creating a door and window opening on the wall model and placing a door and window model according to the door and window data in the basic attribute information, generating a staircase model at a specified position in the initial blank residence structure according to the staircase data in the basic attribute information, obtaining the overall house profile; according to the division of the local space, creating a rectangular geometric body in the overall house profile as a room placeholder of the local space profile, and assigning a unique identifier and associated information to each room placeholder, obtaining a preliminary layout scheme; generating a passageway and a corridor placeholder in the preliminary layout scheme, connecting each room placeholder, obtaining the local space profile.

[0013] By adopting the above technical solution, by creating a blank virtual environment and setting an initial structure according to the basic attribute information, it is ensured that the basic framework of the virtual model conforms to the actual residence, by generating wall, door and window and staircase models, the details of the overall house profile are further perfected, according to the division of the local space, a room placeholder is created, and a unique identifier and associated information are assigned to each placeholder, ensuring high consistency between the virtual model and the actual residence, providing an intuitive and accurate design basis for the user, and improving the accuracy and efficiency of the subsequent design process.

[0014] In some embodiments of the first aspect, the steps of controlling the rotation, scaling and movement of the module by the user specifically include: establishing a three-dimensional coordinate system, determining an origin in the three-dimensional coordinate system, and positioning the module based on the origin; receiving user input and determining whether the user input is a rotation operation, a scaling operation or a movement operation; when the user input is a rotation operation, converting the user input into a rotation direction and a rotation angle; determining a rotation axis, which can be any axis of the three-dimensional coordinate system or a custom axis; based on the rotation direction, the rotation angle and the rotation axis, calculating the new positions of the points of the module after rotation; when the user input is a scaling operation, converting the user input into a scaling ratio; determining a scaling center point, which is usually the geometric center of the module; based on the scaling ratio and the scaling center point, adjusting the distances of the points of the module to the scaling center point in proportion; when the user input is a movement operation, converting the user input into a movement direction and a movement distance; based on the movement direction and the movement distance, calculating the displacement of the module on each coordinate axis of the three-dimensional coordinate system; updating the coordinates of all points of the module according to the displacement; and updating the display of the module in the three-dimensional coordinate system based on the new position, new size or new direction of the module after the rotation operation, scaling operation or movement operation is performed.

[0015] By adopting the above technical solution, an accurate reference basis is provided for module operation by establishing a three-dimensional coordinate system, and the system can recognize and process the rotation, scaling and movement operations of the user. These three basic operations cover most design adjustment requirements. In particular, in the rotation operation, the system can achieve accurate rotation at any angle by determining the rotation axis, direction and angle. In the scaling operation, accurate control of the size of the module is achieved by determining the scaling center point and the ratio. In the movement operation, accurate adjustment of the position of the module is ensured by calculating the displacement on each coordinate axis. The display of the module in the three-dimensional space is updated in real time to provide intuitive feedback for the user, so that the user can easily achieve complex spatial design, improve the degree of freedom and accuracy of design, and thus improve the quality of the design scheme and the user experience.

[0016] In some embodiments of the first aspect, after the step of updating the display of the module in the three-dimensional coordinate system based on the new position, new size or new direction of the module after the rotation operation, scaling operation or movement operation is performed, the method further includes: creating a bounding box for each module; updating the position information of the bounding box of the affected module in the three-dimensional coordinate system after the rotation operation, scaling operation or movement operation is performed; determining whether the bounding box of the affected module intersects with the bounding box of another module; and if the bounding boxes intersect, executing a collision strategy.

[0017] By adopting the technical scheme, the system simplifies the collision detection calculation of complex shapes by creating a bounding box for each module. After the user operates the module, the system automatically updates the position information of the bounding box of the affected module and performs real-time collision judgment. This real-time detection mechanism can timely discover potential spatial conflicts during the design process, avoiding the need for substantial modifications due to problems discovered in the later design stage. In particular, the system not only detects collisions but also provides collision strategy selection. This flexible handling method makes the design process smoother. By timely discovering and solving spatial conflicts, the method improves the accuracy and efficiency of the design and reduces design errors.

[0018] In combination with some embodiments of the first aspect, in some embodiments: the collision strategy includes: preventing the operation that causes the collision, restoring the affected module to the state before the operation; or, allowing the operation, but marking the module that has the collision and highlighting the module that has the collision in a specific manner in the display in the three-dimensional spatial coordinate system; or, automatically adjusting the position of the affected module so that the bounding box of the affected module does not intersect with the bounding boxes of other modules.

[0019] By adopting the technical scheme, the collision strategy method provided by the present application provides users with flexible and diverse spatial conflict resolution solutions. The "prevent the operation that causes the collision" strategy can effectively prevent unreasonable design modifications and ensure the rationality of the design. The "allow the operation but mark the collision module" strategy provides users with greater design freedom, while highlighting the collision module in a specific manner enables users to clearly identify potential problems. The "automatically adjust the position of the module" strategy provides an intelligent conflict resolution solution, reducing the user's operation burden. These three strategies cover different needs from strict control to intelligent assistance.

[0020] In the second aspect, the present application provides a simulation system based on variable space residential user demand, which comprises one or more processors and a memory; the memory is coupled with the one or more processors, and the memory is used to store computer program code, the computer program code comprises computer instructions, and the one or more processors invoke the computer instructions to enable the simulation system based on variable space residential user demand to perform the method as described in the first aspect and any possible implementation manner of the first aspect.

[0021] In the third aspect, the present application provides a computer program product containing instructions, which, when the computer program product runs on the simulation system based on variable space residential user demand, enables the simulation system based on variable space residential user demand to perform the method as described in the first aspect and any possible implementation manner of the first aspect.

[0022] In a fourth aspect, the present application provides a computer-readable storage medium comprising instructions that, when executed on a simulation system based on variable space residential user needs, cause the simulation system based on variable space residential user needs to perform the method as described in the first aspect and any possible implementation manner of the first aspect.

[0023] The one or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:

[0024] 1. By analyzing the uploaded residential information to obtain basic attribute information, accurate basic data is provided for subsequent design. The residential information is divided into local spaces and corresponding controls are provided, so that the user can accurately express the needs of each space. This refined demand collection method reduces information loss in the process of conveying customer ideas. The user needs are converted into structured design requirement data. This step effectively eliminates the understanding bias of designers. An interactive design interface is provided in a virtual environment, allowing users to directly participate in the design process and make real-time adjustments and view the effects, thereby ensuring that the final design scheme is consistent with the customer's expectations. This method shortens the design cycle, improves design efficiency and customer satisfaction.

[0025] 2. By associating specific entities and modifiers, a design element set is formed. This step ensures the completeness of the design requirements. The design elements are mapped to specific design attributes using a predefined semantic mapping table, improving the accuracy of requirement interpretation. By extracting quantity information and assigning design elements, the system can accurately grasp the specific demand quantity of each design element by the user. By determining the priority of each design element and arranging them according to the dependency relationship, the system not only captures the content of user requirements, but also accurately reflects the importance and hierarchy of requirements. This multi-dimensional and multi-level requirement data generation method makes the final design requirement data closer to the user's true intention, improving the pertinence and satisfaction of the design scheme.

[0026] 3. By creating a bounding box for each module, the system simplifies the collision detection calculation of complex shapes. After the user operates the module, the system automatically updates the bounding box position information of the affected modules and performs real-time collision judgment. This real-time detection mechanism can detect potential space conflicts during the design process, avoiding the need for significant modifications if problems are discovered late in the design process. In particular, the system not only detects collisions, but also provides collision strategy selection. This flexible handling method makes the design process smoother. By detecting and solving space conflicts in a timely manner, this method improves the accuracy and efficiency of design and reduces design errors. BRIEF DESCRIPTION OF DRAWINGS

[0027] Figure 1 is a flowchart of a simulation method based on variable space residential user needs in the embodiments of the present application;

[0028] Figure 2 is Figure 1 a flowchart of step S104 in the embodiment;

[0029] Figure 3 is Figure 2 a flowchart of step S1047 in the embodiment;

[0030] Figure 4 is Figure 1 a flowchart of step S107 in the embodiment;

[0031] Figure 5 is an exemplary hardware structure diagram of the simulation system based on variable space residential user demand in the embodiment. DETAILED DESCRIPTION

[0032] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments and are not intended to be limiting of the present application. As used in the specification and the appended claims of the present application, the singular forms "a," "an" and "the" are intended to include both singular and plural forms, unless the context clearly indicates otherwise. It will be further understood that the terms "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0033] Hereinafter, the terms "first" and "second" are used only for the purpose of description and cannot be understood as implying or suggesting relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first" and "second" can explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, the meaning of "a plurality of" is two or more, unless otherwise specified.

[0034] Please refer to Figure 1 , Figure 1 is a flowchart of the simulation method based on variable space residential user demand in the embodiment of the present application;

[0035] S101, parsing the uploaded residential information of the current residence to obtain the basic attribute information of the current residence, the basic attribute information including house size, layout information, wall data, door and window data;

[0036] Residential information refers to a comprehensive data set for describing a specific residence, such as CAD drawings, BIM models or other formats of data.

[0037] In some embodiments, the system receives the residential information uploaded by the user, extracts the key information using a specific parsing algorithm, and converts the original data into structured basic attribute information.

[0038] In some specific embodiments, the uploaded floor plan is analyzed using image recognition techniques to identify elements such as walls, doors, and windows; the corresponding size data is obtained directly from the floor plan; and the obtained data is converted into a standardized data structure, which is not limited here.

[0039] In some specific embodiments, three-dimensional spatial information is directly extracted from the BIM file; and the basic attribute information of the current residence is measured, which is not limited here.

[0040] S102, according to the basic attribute information, the current residence information is divided into several local spaces;

[0041] The local space refers to an independent functional area or room inside the residence.

[0042] In some embodiments, the layout information and wall position obtained in step S101 are used to divide the entire residence into spaces.

[0043] In some specific embodiments, a spatial connectivity graph is constructed based on the wall position; the topological properties of the connectivity graph are analyzed to identify interconnected spatial units; different room types are identified according to the distribution of doors and windows and the shape of the space; the identification results are matched with predefined room type templates; a space layout report is generated, including the location, area, and type information of each room; and this is not limited here.

[0044] In some specific embodiments, the digitized floor plan is parsed to extract layer information containing room labels; text labels on the floor plan are identified to directly obtain room names and types; and this is not limited here.

[0045] S103, providing controls for each local space and the whole, the controls are used to make the user provide demand information about each local space or the whole;

[0046] Among them, the control refers to an interactive element in the user interface, used to receive user input or display information.

[0047] In some embodiments, the system designs special interactive controls for each local space (such as kitchen, bedroom, etc.) and the whole residence. These controls may include drop-down menus, sliders, text boxes, etc., allowing users to specify their specific needs for each space in detail. For example, users can select the layout type of the kitchen, specify the main color of the living room, set the storage needs of the bedroom, etc. through the controls. At the same time, whole controls are also provided to set the unified style or overall functional requirements of the whole house.

[0048] S104, after receiving the demand information of each local space and the whole, converting each user demand information into structured design demand data;

[0049] Structured design requirement data refers to user requirement information that has been systematically processed and standardized to facilitate subsequent automated design and data processing.

[0050] In some embodiments, the system receives demand information provided by the user through various controls in step S103. This information may include text descriptions, option selections, numerical inputs, and other forms. The system uses predefined data models and conversion rules to uniformly convert these diverse inputs into standardized data structures.

[0051] In some specific embodiments, user input is mapped to predefined demand categories; natural language processing technology is used to extract keywords and semantic information from text descriptions; and a rule engine is applied to generate data objects that conform to a predefined structure based on the extracted information, which is not limited here.

[0052] S105, loading the function module library from the preset database according to each design requirement data, so that each local space and the whole corresponds to a function module library;

[0053] In some embodiments, the system analyzes structured design requirements data for each local space and the entire residence, identifying key functional requirements and design preferences. The system then accesses a pre-defined design resource database containing a large number of categorized and organized design elements, furniture models, material textures, and other resources. Based on the identified requirements, the system selectively loads the corresponding functional modules for each local space and the entire residence.

[0054] In some specific embodiments, key information, such as space type, style, size, etc., is extracted from the design requirement data, and a database query is constructed using the extracted information. The query is executed to obtain qualified functional modules, a functional module library object is created for each local space, and the queried modules are added to the corresponding functional module library.

[0055] S106: Generate an overall house outline of the current residence in the virtual environment based on the basic attribute information, and generate corresponding local space outlines within the overall house outline based on the division of local spaces;

[0056] In some embodiments, the basic attribute information obtained in step S101, especially the house size and wall data, is used to construct the outer outline of the house in a virtual three-dimensional environment. This process includes creating the basic geometric shapes of the exterior walls, floors and roofs. Based on the space division results in step S102, the system draws the boundaries of each local space within the overall outline, which includes creating elements such as interior walls, door and window openings to form a complete indoor space structure.

[0057] In some embodiments, S106 specifically includes:

[0058] S1061. Create a blank virtual environment;

[0059] In some embodiments, the system creates a virtual three-dimensional space without any content. The system reads the house dimensions in the basic attribute information and uses this data to determine the size of the ground plane, which is usually a rectangle or other simple geometric shape. Next, the system creates a corresponding number of blank floors vertically on this ground plane based on the specified number of floors. Each floor is a plane and does not contain any internal structure for the time being. The system uses the house dimensions to set the vertical distance between these blank floors to ensure that the height of the overall structure is reasonable. In this way, the system creates an initial residential structure that is simple but contains basic spatial information.

[0060] In some specific embodiments, the scene creation function of the software is called to create a blank three-dimensional scene; the plane creation function is used to create a ground plane according to the size of the house; the loop and copy functions are used to create multiple floor planes according to the specified number of floors; the transformation function is used to set the vertical position of each floor plane to achieve the floor spacing; all created elements are combined into a group or set to form an initial blank residential structure, which is not limited here.

[0061] S1062: Generate a wall model in the initial blank residential structure based on the wall data in the basic attribute information; create door and window openings on the wall model and place the door and window models based on the door and window data in the basic attribute information; and generate a stair model at a specified location in the initial blank residential structure based on the stair data in the basic attribute information to obtain the overall house outline;

[0062] In some embodiments, the system reads the wall data in the basic attribute information and generates corresponding wall models on each floor of the initial blank residential structure. These walls define the boundaries of the room and the outer outline of the house. Next, the system processes the door and window data, creates appropriate openings on the generated wall models, and places door and window models in these openings. This step not only increases the functionality of the house, but also defines the connection between the internal and external spaces. Based on the stair data, the system generates stair models at specified locations to connect different floors. Through these steps, the system gradually constructs a complete residential outline including walls, doors, windows, and stairs from a blank frame structure, laying the foundation for subsequent detailed design.

[0063] In some specific embodiments, a parametric model defining walls, doors, windows, and stairs is created, including attributes such as location, size, material, etc. Wall instances are created on each floor plan based on the wall data, automatically handling wall intersections. Openings are created on the corresponding walls based on the door and window data, and door and window models are instantiated. Stair instances are created at designated locations based on the stair data, automatically adjusting connections with adjacent floors. All generated elements are combined to form the overall house outline, which is not limited here.

[0064] S1063、According to the division of the local space, create rectangular geometric bodies in the overall house outline as room placeholders for the local space outline, and assign each room placeholder a unique identifier and associated information to obtain a preliminary layout scheme.

[0065] In some embodiments, the system determines the types and approximate locations of rooms that need to be created according to a predetermined local space division scheme. In the overall house outline, the system creates a series of rectangular geometric bodies, each representing a room. These rectangles are simplified representations that occupy the approximate space of the room. Next, the system assigns each room placeholder a unique identifier to accurately reference each room in subsequent operations. At the same time, the system also adds associated information to each placeholder, such as room type (bedroom, living room, kitchen, etc.), estimated area, orientation, etc.

[0066] In some specific embodiments, a space division algorithm can be used: implement a rectangular division algorithm such as Binary Space Partitioning Tree (BSP Tree); recursively divide the overall space into small rectangular regions according to predetermined room types and area requirements; create a geometric body for each divided rectangular region as a room placeholder; use a hash table or database to assign a unique identifier to each placeholder; add associated information such as room type and area to each placeholder based on information during the division process; check and adjust the division results to ensure compliance with architectural design specifications, which are not limited here.

[0067] S1064、In the preliminary layout scheme, generate hallway and corridor placeholders to connect various room placeholders to obtain the local space outline.

[0068] In some embodiments, the system analyzes the relative positions and relationships of the room placeholders in the preliminary layout plan, and creates passage placeholders between the rooms that need to be connected. These passages can be short connecting passages or long hallways that run through the entire house. The system takes into account architectural design specifications to ensure that the passages and hallways are wide enough and avoid unnecessary bends or intersections. In creating these passage spaces, the system may need to adjust the size or position of some room placeholders to accommodate the newly added passages and hallways. Through this process, the system connects the individual room placeholders into a whole, forming a more complete and practical partial space outline, providing a basis for subsequent detailed design and optimization.

[0069] In some specific embodiments, a path planning algorithm can be used: implement a path planning algorithm such as A* or Dijkstra algorithm; treat room placeholders as nodes in a graph and possible passage paths as edges; use the algorithm to calculate the optimal path connecting all rooms; create passage and hallway placeholders between rooms according to the calculated path; adjust the width of the passage and hallway to ensure compliance with architectural specifications; adjust the size of adjacent rooms as necessary to accommodate the newly added passage space, without limitation.

[0070] As can be seen, by creating a blank virtual environment and setting an initial structure according to basic attribute information, the basic framework of the virtual model is ensured to be consistent with the actual house, and by generating wall, door, window and staircase models, the details of the overall house outline are further perfected, and according to the creation of room placeholders according to the division of partial spaces, each placeholder is assigned a unique identifier and associated information, ensuring high consistency between the virtual model and the actual house, providing users with an intuitive and accurate design basis, and improving the accuracy and efficiency of the subsequent design process.

[0071] S107, providing an interactive design interface in the virtual environment, the interactive design interface including the overall house outline and each partial space outline, the overall and each partial space corresponding to a functional module library; the functional module library has a plurality of modules, and the user can control rotation, scaling and movement of the modules;

[0072] In some embodiments, the system creates an intuitive graphical interface in the 3D virtual environment, displaying the outline of the entire house and the layout of all partial spaces. Each space is associated with the corresponding functional module library loaded in step S105. The user can browse these module libraries, select design elements of interest such as furniture, decorations, etc., and drag and drop them into the virtual space. The system provides intuitive control tools to allow users to freely adjust the position, orientation and size of these elements.

[0073] S108, generating a design scheme of the current residence according to the virtual environment adjusted by the user, the design scheme including a floor plan, a 3D model, a material list, module coordinates and a cost estimate.

[0074] In some embodiments, the system extracts the final design layout and element configuration information determined by the user from the virtual environment, and automatically generates design documents in multiple formats: generates an accurate two-dimensional floor plan showing the spatial layout and furniture positions; renders a high-quality 3D model providing a realistic visual effect; compiles a detailed material list including all the design elements and decoration materials used; records the precise coordinates of each module for subsequent construction; and calculates the cost estimate of the overall project based on the selected materials and processes.

[0075] In some specific embodiments, the model data in the virtual environment adjusted by the user is directly used. The export function of the software is used to generate a 2D floor plan directly from the model. All modules in the model are traversed to count the use of each material. A simple statistics function is created to record the name and quantity of each material. The coordinate information of each module is extracted directly from the model. A coordinate list is created to record the ID and corresponding X, Y, Z coordinates of each module. A unit price attribute is assigned to each module. All modules are traversed, and the quantity of each module is multiplied by its unit price to accumulate the total cost. The above information (floor plan, material list, module coordinates and cost estimate) is integrated into a document to obtain the design scheme.

[0076] As can be seen, by parsing the uploaded residence information to obtain basic attribute information, accurate basic data is provided for subsequent design. The residence information is divided into local spaces and corresponding controls are provided, allowing users to accurately express the requirements of each space. This detailed requirement collection method reduces information loss during the process of conveying customer ideas, converts user requirements into structured design requirement data, effectively eliminates designer understanding bias, provides an interactive design interface in the virtual environment, allows users to directly participate in the design process, and adjusts and views the effect in real time, thereby ensuring that the final design scheme is consistent with customer expectations. This method shortens the design cycle, improves design efficiency and customer satisfaction.

[0077] Please refer to Figure 2 , Figure 2 is Figure 1 a flowchart of step S104 in

[0078] Step S104 specifically includes:

[0079] S1041, pre-processing the user requirement information to obtain pre-processed text;

[0080] User demand information represents the original demand content described by users in natural language. The preprocessing process includes operations such as removing redundant white spaces, unifying case, replacing special characters, correcting obvious spelling errors, etc. to make the text more standardized and standardized, laying a foundation for subsequent processing.

[0081] In some specific embodiments, the preprocessing of user demand information can be implemented in various ways: optionally, the following steps can be used: use regular expression matching and delete redundant white spaces; convert all text to lowercase; replace common abbreviations and short forms; use a predefined dictionary to check and correct spelling errors. Here is not limited.

[0082] S1042, split the preprocessed text into sentences;

[0083] In some implementations, the system will identify the sentence boundaries in the text, such as the period, question mark, exclamation point, etc. Punctuation marks are cut at these locations.

[0084] In some specific embodiments, the sentence segmentation function of the natural language processing library can be used: import the sent_tokenize module of NLTK; pass the preprocessed text as input to the sent_tokenize function; get the returned sentence list, which is not limited here.

[0085] S1043, perform word segmentation processing on the sentence to obtain a word sequence;

[0086] Word segmentation processing refers to the process of cutting a sentence into smaller language units, and the word sequence represents a list of words arranged in the order of their appearance in the original sentence.

[0087] S1044, perform part-of-speech tagging on each word in the word sequence;

[0088] Part-of-speech tagging refers to the process of identifying the grammatical function of each word in the sentence. The part-of-speech includes grammatical categories such as nouns, verbs, adjectives, etc.

[0089] In some specific embodiments, a dictionary containing common words and their possible parts of speech is established; a series of context rules are defined to solve ambiguity; the word sequence is traversed, the dictionary is searched, and the rules are applied to determine the part of speech, which is not limited here.

[0090] S1045, perform named entity recognition on the word sequence after part-of-speech tagging to identify specific entities;

[0091] Named entity recognition refers to the process of identifying and classifying specific category entities in the text. Specific entities represent noun phrases with specific meanings.

[0092] In some embodiments, a rule and dictionary-based approach can be used: a dictionary containing common named entities is established; a series of pattern matching rules are defined; the word sequence is traversed, and the dictionary and rules are applied to identify entities, without limitation.

[0093] S1046, based on the results of part-of-speech tagging and named entity recognition, perform dependency syntax analysis to determine the grammatical relationships between words and construct a dependency tree;

[0094] The dependency tree is a tree structure representing the dependency relationships between words.

[0095] In some embodiments, the system analyzes the relationship between each word and other words to determine the center word (governor) and dependency relationship type of each word. This process takes into account part-of-speech information, entity types, and grammatical rules of the language, ultimately constructing a dependency tree reflecting the structure of the entire sentence.

[0096] In some specific embodiments, a rule-based approach can be used: a set of grammatical rules is defined to describe possible dependency relationships between different parts of speech; starting from the root node of the sentence, the rules are recursively applied to determine the dependency relationship of each word; and a dependency tree is constructed based on the determined relationships, without limitation.

[0097] In some specific embodiments, a pre-trained dependency syntax analyzer such as Stanford Parser is used; the results of part-of-speech tagging and named entity recognition are input into the analyzer; and the dependency relationships and dependency tree structure output by the analyzer are obtained, without limitation.

[0098] Please refer to Figure 3 , Figure 3 is Figure 2 a flowchart of step S1047 in

[0099] S1047, generating design requirement data from the dependency tree, the word sequence after part-of-speech tagging, and the specific entities.

[0100] In some embodiments, the design requirement data is a combination of the dependency tree, the word sequence after part-of-speech tagging, and the specific entities.

[0101] As can be seen, the preprocessing and splitting of user requirement information lay the foundation for subsequent analysis. Through tokenization and part-of-speech tagging, the system can identify key words and grammatical structures, especially the named entity recognition step, which can accurately identify specific entities related to design, such as furniture, materials, etc. Dependency syntax analysis further clarifies the relationships between words, constructing a complete semantic structure. This series of processing steps enables the system to deeply understand the internal logic and associations of user requirements, thereby generating more accurate and structured design requirement data, improving the accuracy of requirement conversion.

[0102] But in actual use, if the design requirement data only contains the combination of dependency tree, word sequence with part-of-speech tagging and specific entity, it leads to a problem that the dependency tree, the word sequence with part-of-speech tagging and the specific entity only stay at the level of piling up various information together without integrating and refining the core.

[0103] Therefore, in some embodiments, S1047 specifically comprises:

[0104] S10471, associating the specific entity and the modifier words corresponding to the specific entity in the word sequence with part-of-speech tagging according to the dependency tree to obtain a design element set;

[0105] In some embodiments, the system traverses the dependency tree to find the modifier words directly related to the specific entity. These modifier words can be adjectives, adverbs, or word groups connected to the entity through certain specific grammatical relationships (such as adjective clauses). The system associates these modifier words with the corresponding specific entity to form individual design elements. Each design element contains a specific entity and all its related modifier information.

[0106] In some specific embodiments, a rule-based method is used: a set of rules is defined to describe the possible dependency relationship types between modifier words and entities; the dependency tree is traversed, and for each specific entity, the directly connected nodes that satisfy the rules are found; the found modifier words are combined with the corresponding specific entity to form design elements, which are not limited here.

[0107] S10472, establishing a predefined semantic mapping table to map the design element set to the design attribute to obtain a semantic mapping result;

[0108] In some embodiments, the predefined semantic mapping table contains various possible design elements and their corresponding standard design attributes. The system traverses each element in the design element set, finds the matching item in the semantic mapping table, and converts it to the corresponding standard design attribute.

[0109] In some specific embodiments, a mapping table containing common design elements and corresponding design attributes is provided; for each element in the design element set, find the completely matched or most similar item in the mapping table; if a match is found, use the corresponding design attribute; if there is no exact match, apply the predefined fuzzy matching rule, which is not limited here.

[0110] S10473, extracting the quantity information corresponding to the design element set in the word sequence with part-of-speech tagging according to the dependency tree, and assigning the quantity information to the design element set to obtain a quantity design element set;

[0111] In some embodiments, the system traverses the dependency tree to find quantifiers or numerical values associated with entities in the set of design elements. These quantity information can appear in different forms, such as direct numbers, quantifiers (e.g. "multiple", "several"), or more complex quantity expressions (e.g. "at least 5"). The system needs to correctly identify these quantity information and associate them with the corresponding design elements.

[0112] In some specific embodiments, a set of rules is defined to describe the possible locations and forms of quantity information in the dependency tree; the dependency tree is traversed to find relevant nodes for each design element that satisfy the rules; the found nodes are parsed to extract quantity information and assign them to the corresponding design elements, without limitation.

[0113] S10474、According to the dependency tree, determine the priority of each quantity design element in the set of quantity design elements, and arrange the set of quantity design elements according to the priority to obtain a set of priority design elements;

[0114] In some embodiments, the system analyzes the syntactic relationships in the dependency tree, considering factors such as subject-predicate relationships, modification relationships, parallel relationships, etc. to evaluate the importance of each design element. For example, the subject of a sentence usually has a high priority, while elements in subordinate clauses may have a lower priority. In addition, the system may also consider some linguistic features, such as emphasis words ("especially", "especially", etc.) or sentence position information to adjust the priority.

[0115] In some specific embodiments, the priority scores corresponding to different syntactic relationships and positions are described; the dependency tree is traversed to calculate the priority score for each quantity design element according to its position and relationship in the tree; the set of quantity design elements is sorted according to the calculated priority score, without limitation.

[0116] S10475、According to the dependency tree, arrange the priority design elements in the set of priority design elements according to the subordinate relationship to obtain the design requirement data.

[0117] In some embodiments, the system analyzes the subordinate relationships in the dependency tree, such as master-slave relationships, parallel relationships, etc. to determine the hierarchical structure between design elements. For example, a main design element may have multiple subordinate sub-elements, which may have their own subordinate elements. The system needs to correctly identify these relationships and organize the design elements according to this hierarchical structure to ultimately form a complete, structured design requirement data.

[0118] In some specific embodiments, a set of rules is defined to describe the dependency relationships represented by different types of edges in the dependency tree; starting from the design element with the highest priority, the dependency elements related to it are identified by traversing the dependency tree; this process is recursively applied to build a hierarchical design requirement structure, which is not limited here.

[0119] As can be seen, by associating specific entities and modifiers, a set of design elements is formed, which ensures the integrity of the design requirements, and by using a predefined semantic mapping table to map the design elements to specific design attributes, the accuracy of requirement interpretation is improved, and by extracting quantity information and assigning design elements, the system can accurately grasp the specific quantity of user requirements for each design element, and by determining the priority of each design element and arranging them according to the dependency relationship, the system not only captures the content of user requirements, but also accurately reflects the importance and hierarchy of requirements. This multi-dimensional, multi-level requirement data generation method makes the final design requirement data closer to the user's true intention, improving the pertinence and satisfaction of the design scheme.

[0120] Please refer to Figure 4 , Figure 4 is Figure 1 a flowchart of step S107 in

[0121] In some implementations, the user can control the rotation, scaling and movement of the module in step S107, which specifically includes:

[0122] S1071, establish a three-dimensional space coordinate system, determine an origin in the three-dimensional space coordinate system, and position the module based on the origin;

[0123] In some implementations, the system needs to establish a standard three-dimensional rectangular coordinate system, define X, Y, Z three mutually perpendicular coordinate axes, and select an appropriate point as the origin in this coordinate system, usually the (0, 0, 0) point. Next, the system will position the module to be operated with this origin as a reference. This means that the position of the module will be represented in coordinates relative to the origin. This step provides a unified reference framework for subsequent spatial operations.

[0124] In some specific embodiments, a computer graphics library can be used: select a suitable three-dimensional graphics library such as OpenGL or DirectX; use library functions to create a three-dimensional world coordinate system; define the origin position, usually (0, 0, 0); use the transformation functions provided by the library to place the module in the appropriate position relative to the origin.

[0125] S1072, receive user input, determine that the user input is a rotation operation, a scaling operation or a movement operation;

[0126] In some embodiments, the system needs to listen to and parse the user's input behavior. This can involve the recognition and classification of mouse movements, clicks, drags, keyboard presses, or touch screen gestures. The system needs to convert these raw inputs into meaningful operation instructions, i.e., rotation, scaling, or movement, according to predefined rules or patterns.

[0127] In some specific embodiments, an event-driven approach can be used: register event listeners for different types of user inputs (such as mouse events, keyboard events); in the event handling function, determine the operation type according to the characteristics of the input (such as the direction and distance of mouse movement, the combination of keys, etc.); pass the judgment result to the corresponding operation processing module, which is not limited here.

[0128] S1073、When the user input is a rotation operation, convert the user input into a rotation direction and a rotation angle; determine the rotation axis, which can be any axis of a three-dimensional coordinate system or a custom axis; based on the rotation direction, rotation angle, and rotation axis, calculate the new positions of each point in the module after rotation;

[0129] In some embodiments, the system needs to convert the user's input (such as the distance and direction of mouse drag) into a specific rotation direction and angle, and the system needs to determine the rotation axis, which can be a preset coordinate axis or a custom axis calculated dynamically according to user input. The system uses mathematical tools such as three-dimensional rotation matrices or quaternions to calculate the new positions of each point in the module after rotation.

[0130] In some specific embodiments, the rotation angle and direction are calculated according to the user input; the rotation axis is determined, which can be the X, Y, Z axis or a custom axis; a corresponding 3x3 rotation matrix is constructed; this rotation matrix is applied to each point in the module to calculate the new position, which is not limited here.

[0131] In some specific embodiments, the rotation axis and angle are converted to quaternion representation; perform a quaternion rotation operation on each point in the module; convert the rotated quaternion result back to three-dimensional coordinates. It can be understood that other ways can also be used to implement the rotation operation, such as using Euler angles or axis-angle representation, calculating the position after rotation through the corresponding mathematical formula, which is not limited here.

[0132] S1074、When the user input is a scaling operation, convert the user input into a scaling ratio; determine the scaling center point, which is usually the geometric center of the module; based on the scaling ratio and the scaling center point, adjust the distance of each point in the module to the scaling center point by the scaling ratio;

[0133] In some implementations, the system needs to convert user input (such as the amount of mouse wheel scrolling) into a specific zoom ratio. The system needs to determine the center point of the zoom, usually the geometric center of the module, but other points may be selected based on specific needs. The system calculates the vector from each point in the module to the zoom center point and adjusts the length of this vector according to the zoom ratio to obtain the new position of each point after zooming.

[0134] In some specific embodiments, the geometric center of the module is calculated as the scaling center point; the user input (such as the amount of mouse wheel scrolling) is converted into a scaling ratio; for each point of the module, the vector from the module to the scaling center point is calculated; this vector is multiplied by the scaling ratio; and the scaled vector is added back to the scaling center point to obtain the new position of the point.

[0135] In some specific embodiments, a 3x3 scaling matrix is ​​constructed, with the diagonal elements representing the scaling ratios. The coordinates of the scaling center point are subtracted from the coordinates of all points in the module. The scaling matrix is ​​applied to the result, and the result is added back to the coordinates of the scaling center point. It is understood that other methods can also be used to implement the scaling operation, such as using parametric surface methods to perform non-uniform scaling on complex shapes, which is not limited here.

[0136] S1075. When the user input is a movement operation, convert the user input into a movement direction and a movement distance; based on the movement direction and the movement distance, calculate the displacement of the module on each coordinate axis of the three-dimensional space coordinate system; and update the coordinates of all points of the module according to the displacement;

[0137] In some embodiments, the system needs to convert the user input (such as the direction and distance of mouse dragging) into the movement direction and distance in three-dimensional space. The system needs to decompose this movement into the three coordinate axes of X, Y, and Z, calculate the displacement on each axis, and add these displacements to the original coordinates of each point in the module to obtain the new coordinates after the movement.

[0138] In some specific embodiments, user input (such as mouse dragging) is converted into a movement vector in three-dimensional space; this movement vector is added to the coordinates of each point of the module; and the coordinates of all points of the module are updated, which is not limited here.

[0139] In some specific embodiments, a 4x4 translation matrix is ​​constructed, where the first three elements of a column are the displacements on the X, Y, and Z axes; all points of the module are represented as homogeneous coordinates (adding a fourth component of 1); the translation matrix is ​​applied to each point; and the result is converted back to three-dimensional coordinates, which is not limited here.

[0140] S1076, update the display of the module in the three-dimensional space coordinate system based on the new position, new size or new direction of the module obtained after performing the rotating operation, scaling operation or moving operation.

[0141] It can be seen that by establishing a three-dimensional space coordinate system, an accurate reference basis is provided for module operations. The system can recognize and process user rotating, scaling and moving operations, which cover most design adjustment needs. In particular, in the rotating operation, the system can achieve accurate rotation at any angle by determining the rotation axis, direction and angle. In the scaling operation, the system can achieve accurate control of the size of the module by determining the scaling center point and scale. In the moving operation, the system can ensure accurate adjustment of the position of the module by calculating the displacement on each coordinate axis. By updating the display of the module in the three-dimensional space in real time, the system provides intuitive feedback to the user, enabling the user to easily achieve complex spatial design, improving the degree of freedom and accuracy of design, and thus improving the quality of the design scheme and user experience.

[0142] In some embodiments, after step S1076, the method further comprises:

[0143] S1077, creating a bounding box for each module;

[0144] Wherein, the module refers to an independent object in the virtual environment, such as furniture, walls, etc. The bounding box represents a simplified, rectangular three-dimensional space that wraps all the geometric shapes of the module.

[0145] In some embodiments, the system analyzes the geometric shape of each module, calculates its maximum and minimum coordinate values in three dimensions, and the system uses these coordinate values to create a rectangular box that can contain the entire module. This bounding box is usually axis-aligned, i.e. its edges are parallel to the axes of the coordinate system, to simplify subsequent calculations. The bounding box is not displayed in the final rendering result, but serves as an auxiliary tool for quickly detecting collisions and spatial relationships.

[0146] In some specific embodiments, all vertices of the module are traversed to find the minimum and maximum values on each coordinate axis; an axis-aligned bounding box (AABB) is created using these extreme values; the bounding box information is associated with the module object and stored as a property of the module, without limitation.

[0147] S1078, when performing a rotating operation, a scaling operation or a moving operation, update the position information of the bounding box of the affected module in the three-dimensional space coordinate system;

[0148] S1079, determine whether the bounding box of the affected module intersects with the bounding box of another module;

[0149] In some embodiments, the system obtains the updated bounding box information of the affected module, and the system iterates through all other modules in the scene, comparing their bounding boxes with the bounding box of the affected module one by one. The comparison process usually involves checking whether the projections of the two bounding boxes on the three coordinate axes overlap. If there is overlap on all three axes, the two bounding boxes are considered to intersect.

[0150] In some specific embodiments, the Separating Axis Theorem (SAT) is used: for each pair of bounding boxes that need to be detected, a potential separating axis is determined; the two bounding boxes are projected on each separating axis; it is checked whether the projections overlap; if there is overlap on all axes, it is determined that there is an intersection; in a preferred embodiment, detection can be stopped immediately when the first non-overlapping axis is found, which is not limited here.

[0151] S10710, if the result of the judgment is that the bounding boxes intersect, a collision strategy is executed.

[0152] As can be seen, by creating a bounding box for each module, the system simplifies the collision detection calculation of complex shapes. After the user operates the module, the system automatically updates the position information of the bounding box of the affected module and performs real-time collision judgment. This real-time detection mechanism can discover potential spatial conflicts in the design process in a timely manner, avoiding the need for major modifications when problems are discovered at the end of the design. In particular, the system not only detects collisions, but also provides a choice of collision strategies. This flexible handling makes the design process smoother, and by discovering and solving spatial conflicts in a timely manner, this method improves the accuracy and efficiency of the design and reduces design errors.

[0153] The collision strategy includes:

[0154] Prevent the operation that causes the collision, and restore the affected module to its state before the operation;

[0155] In some embodiments, the system identifies the specific operation that causes the collision, which can be a user's drag, rotation, or scaling action. The system will immediately suspend the execution of this operation and not allow it to be completed. Then, the system accesses the previously saved module state information, which includes the precise position coordinates, rotation angle, and size parameters of the module before the operation began. The system uses this information to accurately restore the affected module to its state before the operation began, and the system updates the display of the scene to ensure that the user can see that the module has returned to its original position. This process is usually accompanied by visual or auditory feedback to remind the user that the operation has been blocked.

[0156] Alternatively,

[0157] Allow the operation, but mark the modules that have collided and highlight the modules that have collided in a specific way in the display in the three-dimensional coordinate system;

[0158] In some embodiments, the system allows the user to complete the current operation, whether it is moving, rotating, or scaling, and the system identifies all pairs of modules that are colliding. For each colliding module, the system marks their collision status in an internal data structure. Next, the system applies predefined visual effects to highlight these modules. This can include adding a sharp outline to the modules, changing the color of the modules (e.g., turning them red or flashing), adding a semi-transparent highlight area around the modules, or displaying a warning icon above the modules. The system can also adjust the camera perspective to ensure that the user can clearly see all colliding modules. This visual feedback persists until the collision status is resolved or the user chooses to ignore it.

[0159] Alternatively,

[0160] Automatically adjusting the position of the affected modules so that the bounding boxes of the affected modules do not intersect with the bounding boxes of other modules.

[0161] In some embodiments, the system identifies all pairs of modules that are colliding. The system analyzes each collision case, calculating the degree and direction of the collision. Based on this information, the system attempts to find a new position for the affected modules so that they no longer collide with other modules. This process can involve multiple iterations, each time fine-tuning the position of the modules and rechecking the collision status. The system takes into account other constraints in the scene, such as the position of the floor, walls, and other non-colliding modules, ensuring that the adjusted position is reasonable. If a suitable new position is found, the system smoothly moves the modules to this position. If a suitable position cannot be found within a predetermined number of attempts, the system can trigger other strategies or notify the user.

[0162] In some embodiments, a physics-based simulation method can be used: assign mass and other physical properties, such as friction coefficient, to each module; use a physics engine to simulate the interaction forces between colliding objects; apply a small repulsive force in the simulation to gradually separate colliding modules; check the collision status after each simulation step until all collisions are resolved; if the simulation reaches a stable state with no collisions, apply the calculated new position; if collisions cannot be resolved within a predetermined time, fall back to the initial state and try other strategies, not limited here.

[0163] It can be seen that the collision strategy method provided by the application provides flexible and diverse space conflict resolution solutions for users. The strategy of "preventing the operation that causes the collision" can effectively prevent unreasonable design modifications and ensure the rationality of the design. The strategy of "allowing the operation but marking the collision module" provides users with greater design freedom, and highlights the collision module in a specific manner, so that users can clearly identify potential problems. The strategy of "automatically adjusting the position of the module" provides an intelligent conflict resolution solution and reduces the operation burden of users. The three strategies cover different needs from strict control to intelligent assistance.

[0164] An example of a simulation system 500 based on variable space residential user needs provided by an embodiment of the application is described below. Figure 5 FIG. 1 is an example of a hardware structure diagram of a simulation system 500 based on variable space residential user needs provided by an embodiment of the application.

[0165] In some embodiments, the simulation system 500 based on variable space residential user needs is a computer device or includes a computer device in the simulation system 500 based on variable space residential user needs. The computer device includes a processor, a memory, and a network interface connected through a system bus. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for running the operating system and the computer program in the non-volatile storage medium. The database of the computer device is configured to store data. The network interface of the computer device is configured to communicate with other terminals or servers outside through a network connection. In some embodiments, the network interface can be a wired network interface, and in some embodiments, the network interface can also be a wireless network interface. The computer program is executed by the processor to implement the method in the embodiments of the application.

[0166] Those skilled in the art can understand that, Figure 5 The structure shown in FIG. 1 is only a block diagram of part of the structure related to the scheme of the application, and does not limit the computer device to which the scheme of the application is applied. Specifically, the computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.

[0167] The above-described embodiments merely serve to illustrate the technical solutions of the present application, rather than limit the present application; even though the present application has been described in detail with reference to the foregoing embodiments, those ordinarily skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or equivalently replace some of the technical features thereof; and these modifications or replacements do not cause the essence of the corresponding technical solutions to depart from the scope of the technical solutions of the embodiments of the present application.

[0168] In the above-described embodiments, the term "when" can be interpreted as meaning "if" or "after" or "in response to determining" or "in response to detecting" according to the context. Similarly, the phrase "upon determining" or "if detecting (the stated condition or event)" can be interpreted as meaning "if determining" or "in response to determining" or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)" according to the context.

[0169] In the above-described embodiments, all or some of the processes can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, the processes can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded into and executed by a computer, all or some of the processes described in the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through a wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium accessible by a computer or a data storage device such as a server, data center, etc. that includes one or more available media sets. The available media can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state disk), etc.

[0170] Those of ordinary skill in the art can understand that all or part of the processes in the above-described embodiments can be implemented by a computer program instructing relevant hardware, which can be stored in a computer-readable storage medium. The program can include the processes of the above-described embodiments when executed. The aforementioned storage medium includes ROM or random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

Claims

1. A simulation method based on user demand of variable space residence, characterized in that: include: Parsing the uploaded residential information of the current residence to obtain basic attribute information of the current residence, the basic attribute information including house size, layout information, wall data, door and window data, and stair data; Dividing the current residential information into a plurality of local spaces according to the basic attribute information; Providing a control for each of the local spaces and the whole, wherein the control is used to allow a user to provide required information about each of the local spaces or the whole; After receiving the demand information of each local space and the overall space, converting each user demand information into structured design demand data; According to each of the design requirement data, a function module library is loaded from a preset database, so that each of the local spaces and the whole corresponds to a function module library; Generating an overall house outline of the current residence in a virtual environment according to the basic attribute information, and generating corresponding local space outlines within the overall house outline according to the division of the local space; wherein: creating a blank virtual environment; Setting an initial ground plane size according to the house size in the basic attribute information, creating a corresponding number of blank floors according to the house size in the basic attribute information, and setting a vertical spacing between the blank floors according to the house size in the basic attribute information to obtain an initial blank residential structure; Generate a wall model in the initial blank residential structure according to the wall data in the basic attribute information, create door and window openings on the wall model and place the door and window models according to the door and window data in the basic attribute information, and generate a stair model at a specified position in the initial blank residential structure according to the stair data in the basic attribute information, to obtain the overall house outline; According to the division of the local space, rectangular geometric bodies are created within the overall house outline as room placeholders of the local space outline, and a unique identifier and associated information are assigned to each room placeholder to obtain a preliminary layout plan; Generating passage and corridor placeholders in the preliminary layout plan, and connecting the room placeholders to obtain the local space outline; Providing an interactive design interface in the virtual environment, the interactive design interface including the overall house outline and each of the local space outlines, the overall house outline and each of the local spaces corresponding to the functional module library; the functional module library includes a plurality of modules, and a user can control the rotation, scaling, and movement of the modules; A design plan for the current residence is generated based on the virtual environment adjusted by the user, the design plan including a floor plan, a 3D model, a material list, module coordinates, and a cost estimate.

2. The method according to claim 1, wherein: The step of converting each user requirement information into structured design requirement data specifically includes: Preprocessing the user demand information to obtain a preprocessed text; Splitting the preprocessed text into sentences; Perform word segmentation on the sentence to obtain a word sequence; Performing part-of-speech tagging on each word in the word sequence; Performing named entity recognition on the word sequence after the part-of-speech tagging to identify specific entities; Based on the results of the part-of-speech tagging and named entity recognition, performing dependency syntax analysis to determine the grammatical relationship between words and constructing a dependency tree; The design requirement data is generated according to the dependency tree, the word sequence after the part-of-speech tagging, and the specific entity.

3. The method according to claim 2, wherein: The step of generating the design requirement data according to the dependency tree, the word sequence after the part-of-speech tagging, and the specific entity specifically includes: Associating the specific entity with the modifier corresponding to the specific entity in the word sequence after the part-of-speech tagging according to the dependency tree to obtain a design element set; Establishing a predefined semantic mapping table, mapping the design element set to design attributes, and obtaining a semantic mapping result; Extracting quantity information corresponding to the design element set in the word sequence after the part-of-speech tagging according to the dependency tree, and assigning the quantity information to the design element set to obtain a quantity design element set; determining, according to the dependency tree, a priority of each quantity design element in the quantity design element set, and arranging the quantity design element set according to the priority to obtain a priority design element set; According to the dependency tree, the priority design elements in the priority design element set are arranged according to a subordinate relationship to obtain the design requirement data.

4. The method according to claim 1, wherein: The user can control the rotation, scaling and movement of the module, specifically including: Establishing a three-dimensional space coordinate system, determining an origin in the three-dimensional space coordinate system, and positioning the module based on the origin; receiving user input, and determining whether the user input is a rotation operation, a zoom operation, or a move operation; When the user input is a rotation operation, converting the user input into a rotation direction and a rotation angle; determining a rotation axis, which may be any axis of the three-dimensional space coordinate system or a custom axis; and calculating a new position of each point of the module after the rotation based on the rotation direction, the rotation angle, and the rotation axis; When the user input is a zoom operation, converting the user input into a zoom ratio; determining a zoom center point, which is usually the geometric center of the module; and proportionally adjusting the distance between each point of the module and the zoom center point based on the zoom ratio and the zoom center point; When the user input is a movement operation, converting the user input into a movement direction and a movement distance; calculating the displacement of the module on each coordinate axis of the three-dimensional space coordinate system based on the movement direction and the movement distance; and updating the coordinates of all points of the module according to the displacement; Based on the new position, new size or new orientation of the module obtained after performing the rotation operation, the scaling operation or the movement operation, the display of the module in the three-dimensional space coordinate system is updated.

5. The method according to claim 4, characterized in that: After the step of updating the display of the module in the three-dimensional space coordinate system based on the new position, new size or new orientation of the module obtained after performing the rotation operation, the scaling operation or the move operation, the method further includes: Creating a bounding box for each of said modules; After performing the rotation operation, the scaling operation, or the movement operation, updating position information of the bounding box of the affected module in the three-dimensional space coordinate system; Determining whether the bounding box of the affected module intersects with the bounding boxes of other modules; If the judgment result is that the bounding boxes intersect, the collision strategy is executed.

6. The method according to claim 5, characterized in that: The collision strategy includes: Preventing the operation that caused the collision and restoring the affected module to a state before the operation; or, allowing the operation, but marking the modules that collided, and highlighting the modules that collided in a specific manner in the display in the three-dimensional space coordinate system; or, The position of the affected module is automatically adjusted so that the bounding box of the affected module does not intersect with the bounding boxes of other modules.

7. A simulation system based on the needs of users of variable space residences, characterized in that: The simulation system based on variable space residential user needs includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the simulation system based on variable space residential user needs to execute the method described in any one of claims 1-6.

8. A computer program product comprising instructions, characterized in that When the computer program product is run on a simulation system based on variable-space residential user demand, the simulation system based on variable-space residential user demand is enabled to execute the method according to any one of claims 1 to 6.

9. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are run on a simulation system based on variable-space residential user needs, the simulation system based on variable-space residential user needs is caused to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Modularized residential product customization design system oriented to three-dimensional visualization

    CN115393017A

  • Information providing apparatus, information providing system, and information providing method

    US20220129976A1