A 3D modeling interaction method, system, electronic device and storage medium based on BIM
By dividing key modeling areas in BIM modeling and defining user coordinate systems, combining temporary reference planes and probing capture technology, the problems of poor universality and low efficiency of existing BIM modeling interaction mechanisms are solved, and efficient three-dimensional modeling is achieved in different engineering design scenarios.
Patent Information
- Application Number
- CN202510502697.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2045-04-22
AI Technical Summary
The existing BIM modeling interaction mechanism based on working planes is poorly versatile in architectural design scenarios and cannot be applied to other engineering design business scenarios, such as power grid engineering design, and is inefficient, especially when drawing three-dimensional straight lines, it requires time-consuming and labor-intensive calculation of three-dimensional coordinates.
By dividing key modeling areas in the interactive modeling process, defining and managing user coordinate systems, dynamically switching user coordinate systems, and using tentative capture technology based on temporary reference planes, dynamically setting the capture position in three-dimensional space, and performing three-dimensional precise drawing.
It improves the efficiency and accuracy of three-dimensional modeling, is suitable for two-dimensional and three-dimensional mapping, reduces the amount of calculation, improves user experience and work efficiency, and is suitable for large and complex projects, especially power grid engineering design.
Smart Images

Figure CN120029513B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of three-dimensional modeling, and particularly to a three-dimensional modeling interaction method, system, electronic device and storage medium based on BIM. Background Art
[0002] Currently, the digital transformation based on new generation information technology has become a hot research field. Digitalization adapts to the energy revolution and is a new driving force for the high-quality development of each country. Therefore, accelerating digital transformation has become a common choice for large domestic and foreign enterprises to promote the conversion of old and new driving forces and cultivate new competitive advantages.
[0003] BIM (Building Information Modeling) is a digital three-dimensional modeling tool applied to engineering design, construction and management, and is crucial for the digital transformation in fields such as architecture, machinery, and power grid engineering.
[0004] In BIM-related software, the interaction mechanism is a key technology for realizing efficient design and precise drawing of three-dimensional models, directly affecting the user's creation process and the collaboration efficiency of the design team. With the development of computer graphics, some BIM-related three-dimensional modeling software provides certain interaction mechanism support for interactive modeling.
[0005] Currently, the existing BIM-related software usually implements a modeling interaction mechanism based on a working plane in the field of architecture. The working plane refers to a horizontal or vertical plane defined by the user during the three-dimensional modeling process, such as the plane formed by floors, roofs, ceilings, etc. The user performs modeling on the currently defined working plane. For example, the user places components such as walls, columns, and beams along the currently defined working plane. Another example is that the user moves doors and windows along the currently defined working plane to adjust their positions.
[0006] However, the existing modeling interaction mechanism based on a working plane in the field of architecture only fits the architectural design scenario and is not applicable to other engineering design business scenarios, such as power grid engineering design, with poor generality. Moreover, the existing modeling interaction mechanism based on a working plane is only applicable to drawing two-dimensional graphics. When performing three-dimensional drawing, for example, when drawing a straight line in three-dimensional space, the user needs to input the three-dimensional coordinates of the starting point and the ending point, and the BIM-related software calculates the three-dimensional path of the straight line.
[0007] It can be understood that, first of all, in the architectural design scenario, the building does not require large-scale spaces and is usually decomposed into multiple horizontal layers, and then the layout and design are carried out in each horizontal layer. This design idea of horizontally stratifying the building fits well with the modeling interaction mechanism based on the working plane; however, in other engineering design business scenarios, the object to be modeled cannot be decomposed into multiple horizontal layers; for example, in the design of overhead transmission lines in power grid engineering, operations need to be carried out in large-scale spaces (such as thousands of kilometers), and the conductors of the transmission lines are affected by factors such as temperature and wind, making their shapes present non-linear changes, and BIM-related software is required to dynamically reflect these changes; therefore, the existing modeling interaction mechanism based on the working plane is not applicable to many engineering design business scenarios. Secondly, since the working plane is a horizontal or vertical plane, the existing modeling interaction mechanism based on the working plane is only applicable to drawing two-dimensional graphics. Finally, when performing three-dimensional drawing, for example, when drawing a straight line in a three-dimensional space, the user needs to calculate and input the three-dimensional coordinates of the end point based on the three-dimensional coordinates of the starting point, and the BIM-related software calculates the three-dimensional path of the straight line based on the input three-dimensional coordinates of the starting point and the end point. These calculations are time-consuming and laborious, reducing work efficiency.
[0008] It can be seen that providing a general and efficient three-dimensional modeling interaction method and system is an urgent problem to be solved. Summary of the Invention
[0009] In view of the above analysis, the present invention aims to provide a BIM-based three-dimensional modeling interaction method, system, electronic device and storage medium to solve the problems of poor generality and low efficiency of the existing modeling interaction mechanism based on the working plane.
[0010] The present invention provides a BIM-based three-dimensional modeling interaction method, system, electronic device and storage medium. The method includes the following steps:
[0011] Start interactive modeling, divide key modeling areas according to the business scenario, and define a number of user coordinate systems based on the key modeling areas;
[0012] Among them, adding, deleting, modifying, showing / hiding control and switching of the user coordinate system are allowed;
[0013] During the interactive modeling process, dynamically switch relevant user coordinate systems as the current user coordinate system according to needs;
[0014] Based on the current user coordinate system, dynamically set a temporary reference plane according to needs;
[0015] Based on the temporary reference plane, use trial-and-error capture to determine the capture position, and create, place and edit model elements at the capture position for three-dimensional precise drawing.
[0016] Further, the temporary reference plane is a virtual two-dimensional plane for determining the position and orientation of the model elements being operated on.
[0017] Further, the trial-and-error snap means that during the interactive modeling process, in an interactive manner, the snap point is dynamically positioned to the required snap position for snapping through continuous trial-and-error; the snap position can be any point in three-dimensional space.
[0018] Further, the trial-and-error snap includes at least one trial. For each trial, a new temporary reference plane is established, and on the temporary reference plane, the current snap point is moved from the starting position of this trial to the ending position of this trial;
[0019] After each trial, the next trial can be continued until the snap point is dynamically positioned to the required snap position.
[0020] Further, a new temporary reference plane is set by determining the origin and axis direction of the temporary reference plane;
[0021] The starting position of the current trial is used as the origin of the temporary reference plane;
[0022] The axis direction of the temporary reference plane is determined based on face alignment;
[0023] When the new temporary reference plane is successfully set, the life cycle of the original temporary reference plane ends, and the user operates on the new temporary reference plane.
[0024] Further, according to the specific business scenario and modeling requirements, the following operations are performed on the user coordinate system:
[0025] Add a user coordinate system;
[0026] Dynamically modify and update the defined unreasonable user coordinate systems;
[0027] Dynamically delete the repeatedly defined or invalidly defined user coordinate systems;
[0028] Perform visibility control on the defined user coordinate systems;
[0029] Switch between the defined user coordinate systems.
[0030] Further, during the interactive modeling process, between the defined user coordinate systems, the relevant user coordinate systems are dynamically switched as the activated current user coordinate system as needed.
[0031] Further, by default, the XOY plane of the current user coordinate system is used as the temporary reference plane, and a new temporary reference plane is dynamically set as needed.
[0032] Further, if no tentative capture has been performed in the current user coordinate system, the origin of the current user coordinate system is used as the starting position for the first tentative capture; if a tentative capture has been performed in the current user coordinate system, the ending position of the last tentative capture is used as the starting position for the first tentative capture of the current tentative capture.
[0033] Further, the method for determining the axis direction of the temporary reference plane based on face alignment includes:
[0034] Align the temporary reference plane to the top view of the global coordinate system or the user coordinate system, that is, the XOY plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Y-axis direction of the global coordinate system or the user coordinate system;
[0035] Align the temporary reference plane to the side view of the global coordinate system or the user coordinate system, that is, the YOZ plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the Y-axis direction and Z-axis direction of the global coordinate system or the user coordinate system;
[0036] Align the temporary reference plane to the front view of the global coordinate system or the user coordinate system, that is, the XOZ plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Z-axis direction of the global coordinate system or the user coordinate system;
[0037] Align the temporary reference plane to the surface of the primitive. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the u direction and v direction of the primitive surface;
[0038] Align the temporary reference plane to the baseline of the primitive. At this time, the X-axis direction of the temporary reference plane is the direction of the primitive baseline, and the Y-axis direction of the temporary reference plane is the cross product of the Z-axis direction of the user coordinate system and the direction of the primitive baseline.
[0039] Further, for the startup of interactive modeling, key modeling regions are divided according to the business scenario, and several user coordinate systems are defined based on the key modeling regions, including:
[0040] Open the modeling software to start interactive modeling; determine the specific business scenario, and divide the project to be modeled into several key modeling regions according to the business scenario;
[0041] Establish a global coordinate system, and define at least one user coordinate system within each of the key modeling regions;
[0042] Establish the conversion relationship between each user coordinate system and the global coordinate system.
[0043] Furthermore, the display style of the temporary reference plane is pixel-defined and independent of scaling, and the axis and direction of the temporary reference plane are marked through the display style.
[0044] Furthermore, within each of the key modeling regions, at least one user coordinate system is defined according to the actual situation and needs of modeling, serving as a local coordinate system.
[0045] Furthermore, a 3D modeling interaction system based on BIM, the system includes:
[0046] A coordinate system management module, used to manage the global coordinate system and the user coordinate system, and send the current user coordinate system to the temporary reference plane management module and the tentative capture module;
[0047] A temporary reference plane management module, used to set a temporary reference plane in the current user coordinate system and send the temporary reference plane to the tentative capture module;
[0048] A tentative capture module, used to dynamically position the capture point to the required capture position for capture in an interactive manner through continuous tentative probing based on the temporary reference plane during the interactive modeling process; the capture position can be any point in three-dimensional space.
[0049] Furthermore, the coordinate system management module includes a global coordinate system management module, a user coordinate system management module, and a coordinate system conversion module;
[0050] The global coordinate system management module is used to establish a global coordinate system as the benchmark for the project to be modeled;
[0051] The user coordinate system management module is used to establish a user coordinate system as a local coordinate system; perform addition, deletion, modification, visibility control, and switching on the user coordinate system; and send the current user coordinate system to the temporary reference plane management module and the tentative capture module;
[0052] The coordinate system conversion module is used to establish the conversion relationship between each user coordinate system and the global coordinate system.
[0053] Furthermore, the coordinate system conversion module is also used to establish the conversion relationship between user coordinate systems.
[0054] Furthermore, the coordinate system conversion module establishes the conversion relationship between each user coordinate system and the global coordinate system based on the node coordinate transformation matrix corresponding to each user coordinate system, so as to convert the coordinates under each user coordinate system and the coordinates under the global coordinate system.
[0055] Further, the coordinate system conversion module establishes a conversion relationship between two user coordinate systems based on the node coordinate transformation matrix corresponding to each user coordinate system, enabling the conversion between coordinates in one user coordinate system and those in another user coordinate system.
[0056] Further, a 3D modeling electronic device based on BIM, the electronic device includes:
[0057] A memory for storing computer programs;
[0058] A processor for executing the computer programs to implement the 3D modeling interaction method based on BIM.
[0059] Further, a computer-readable storage medium stores computer programs thereon, and when the computer programs are executed by a processor, the steps of the 3D modeling interaction method based on BIM are implemented.
[0060] Compared with the prior art, the present invention can at least achieve one of the following beneficial effects:
[0061] 1. By adding and managing several user coordinate systems according to key modeling areas, the present invention facilitates the flexible application of coordinate systems and collaborative work by users in different business scenarios, improves the efficiency and accuracy of users in creating and modifying 3D models, and can significantly improve the design quality and work efficiency, especially for large and complex 3D projects to be modeled.
[0062] 2. During the interactive modeling process, the present invention dynamically sets a temporary reference plane as needed. Based on the temporary reference plane, tentative capture is used for 3D precise drawing, providing a new 3D modeling interaction mechanism and improving the operation logic of users. When performing 3D drawing, instead of calculating and inputting the 3D coordinates of the end point, the user moves the capture point to the required capture position for capture in an interactive manner through continuous tentative exploration, which not only significantly improves the user experience but also improves work efficiency.
[0063] 3. The 3D modeling interaction method provided by the present invention is applicable to 2D and 3D drawing, and 2D and 3D modeling can be carried out under a unified interaction mechanism, improving versatility. Moreover, when performing 3D drawing, the required 3D path does not need to be calculated based on the 3D coordinates of the starting point and the end point through tentative capture, reducing the amount of calculation and improving the modeling efficiency.
[0064] 4. The present invention changes the direction required for user operations by transforming the temporary reference plane. When it is necessary to frequently change the direction and angle of the model elements to be operated in a complex 3D modeling scenario, the temporary reference plane can more flexibly respond to the frequent changes in the required direction and angle. Moreover, the change of the temporary reference plane does not affect the current user coordinate system, that is, the current user coordinate system can remain unchanged. Therefore, when it is necessary to frequently change the direction and angle of the model elements to be operated, there is no need to frequently switch the current user coordinate system, which improves work efficiency.
[0065] 5. The present invention facilitates users to perform modeling operations in a large-scale space by dividing key modeling areas and defining several user coordinate systems; and by using tentative capture for 3D precise mapping, it can flexibly and accurately draw the non-linear features of 3D objects. Therefore, the present invention is applicable to other engineering design business scenarios, especially applicable to power grid engineering design, improving versatility.
[0066] In the present invention, the above technical solutions can also be combined with each other to achieve more preferred combination schemes. Other features and advantages of the present invention will be described in the subsequent specification, and some advantages can be made obvious from the specification, or understood by implementing the present invention. The objectives and other advantages of the present invention can be realized and obtained from the content specifically pointed out in the specification and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings. The drawings are only used for the purpose of showing specific embodiments and are not considered to be a limitation of the present invention. Throughout the drawings, the same reference signs represent the same components;
[0068] Figure 1 is a flowchart of the 3D modeling interaction method based on BIM according to an embodiment of the present invention;
[0069] Figure 2 is the conversion relationship between the world coordinate system and the user coordinate system according to an embodiment of the present invention;
[0070] Figure 3 is the default display style of the temporary reference plane according to an embodiment of the present invention;
[0071] FIG. 4(a) is a schematic diagram of the global coordinate system and the user coordinate system according to an embodiment of the present invention;
[0072] FIG. 4(b) is a schematic diagram of the starting position of the first tentative capture according to an embodiment of the present invention;
[0073] Figure 4 (c) is a schematic diagram of the starting position of the second trial of the trial capture in the embodiment of the present invention;
[0074] Figure 5 It is a block diagram of a BIM-based three-dimensional modeling interaction system according to an embodiment of the present invention. Specific Embodiments
[0075] The following will specifically describe the preferred embodiments of the present invention with reference to the accompanying drawings. The accompanying drawings form a part of this application and are used together with the embodiments of the present invention to explain the principles of the present invention, rather than to limit the scope of the present invention. It should be clear that the described embodiments are only a part of the embodiments of the present invention, not all of them. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative work fall within the scope of protection of the present invention.
[0076] Those skilled in the art should be aware that the following specific embodiments or specific implementation manners are a series of optimized setting manners listed by the present invention to further explain the specific inventive content, and these setting manners can be combined with each other or used in association with each other, unless the present invention clearly states that some or a specific embodiment or implementation manner cannot be associated or used together with other embodiments or implementation manners. At the same time, the following specific embodiments or implementation manners are only used as the most optimized setting manners and are not used as an understanding of limiting the protection scope of the present invention.
[0077] Embodiment 1:
[0078] A specific embodiment of the present invention discloses a BIM-based three-dimensional modeling interaction method. As Figure 1 shown, the method includes the following steps:
[0079] Step S11: Start interactive modeling, divide the key modeling area according to the business scenario, and define a number of user coordinate systems based on the key modeling area;
[0080] Among them, it is allowed to add, delete, modify, control the visibility and invisibility, and switch the user coordinate system;
[0081] Step S12: During the interactive modeling process, dynamically switch the relevant user coordinate system as the current user coordinate system according to the need;
[0082] Based on the current user coordinate system, dynamically set a temporary reference plane according to the need;
[0083] Based on the temporary reference plane, use trial capture to determine the capture position, and create, place, and edit model elements at the capture position for three-dimensional precise drawing.
[0084] Specifically, in step S11, when starting interactive modeling, key modeling areas are divided according to the business scenario, and a number of user coordinate systems are defined based on the key modeling areas, including:
[0085] Open the modeling software to start interactive modeling; determine the specific business scenario, and divide the project to be modeled into several key modeling areas according to the business scenario;
[0086] Establish a global coordinate system, and define at least one user coordinate system within each key modeling area;
[0087] Establish the conversion relationship between each user coordinate system and the global coordinate system.
[0088] Specifically, according to different specific business scenarios, the project to be modeled is divided into several key modeling areas in the following ways:
[0089] 1) Division by stage:
[0090] Divide the project to be modeled into several key modeling areas according to the construction stage; for example, the planning and design area, the construction management area, the operation and maintenance management area, etc.;
[0091] 2) Division by function:
[0092] Divide the project to be modeled into several key modeling areas according to different functions; for example, the building main body area, the mechanical and electrical system area, the building exterior area, etc.;
[0093] 3) Division by level:
[0094] Divide the project to be modeled into several key modeling areas according to different hierarchical structures; for example, it is divided into four levels of areas. The first-level areas are the building main body area, the building exterior area, etc.; the second-level areas are the office area, the greening area, etc.; the third-level areas are the room area, the machine room area, the cable tray area, etc.; the fourth-level areas are the equipment body area, the pipeline area, etc.
[0095] It should be noted that according to the actual situation of the specific business scenario, one or more of the above three division methods are selected to effectively divide the project to be modeled into several small modeling areas, which is convenient for defining user coordinate systems and multi-person collaborative modeling, and improves the modeling efficiency.
[0096] Exemplarily, assume that the specific business scenario is a power grid substation modeling project. According to the stage division, the power grid substation modeling project is divided into a planning and design area, a construction management area, an operation and maintenance management area, etc.; then, according to the function division, the planning and design area is divided into a main transformer modeling area, a distribution modeling area, a control room modeling area, etc.; finally, according to the hierarchical division, the main transformer modeling area is divided into three levels of areas. The first-level area is the main transformer system modeling area; the second-level areas are the main transformer body area, the main transformer protection device area, the auxiliary equipment area, etc.; the third-level areas are the winding area, the cooling system area, the oil conservator area, the grounding device area, etc.
[0097] Furthermore, establish a global coordinate system as the reference for the project to be modeled.
[0098] Specifically, the world coordinate system can be used as the global coordinate system, or the center of the project to be modeled can be used as the origin of the global coordinate system.
[0099] It should be noted that for a specific project to be modeled, its global coordinate system is unique and will not change with the change of model elements or operations on model elements in the project to be modeled, that is, the direction and origin position of its global coordinate system remain unchanged. Therefore, the global coordinate system of the project to be modeled provides a fixed reference benchmark for all model elements in the project to determine the absolute positions of each point, edge, face, body and other geometric topology elements and components in the project to be modeled in the global coordinate system.
[0100] It can be understood that a model element refers to an independent unit used to describe information such as the shape, structure, and position of an object in a digital model, including geometric topology elements (such as points, edges, faces, bodies) and components (such as doors, windows, mechanical equipment).
[0101] Furthermore, in each of the key modeling areas, at least one user coordinate system is defined according to the actual situation and needs of modeling as the local coordinate system.
[0102] Exemplarily, a series of pipelines need to be designed in a certain key modeling area. The series of pipelines have different directions and lengths; among them, the direction, length, starting point, and ending point of each section of the pipeline are determined; therefore, a user coordinate system is defined for each section of the pipeline, with the starting point of the section of the pipeline as the origin of its user coordinate system, and the direction of the section of the pipeline along the x coordinate axis in its user coordinate system.
[0103] It can be understood that by establishing different user coordinate systems, model elements with different directions or structures within a key modeling area can be distinguished, which is conducive to separate operations. Moreover, when multiple developers work collaboratively, each developer can operate on different model elements within the same key modeling area through a user coordinate system, which is conducive to parallel operations and improves work efficiency.
[0104] Furthermore, through the node coordinate transformation matrix corresponding to each user coordinate system, a conversion relationship between each user coordinate system and the global coordinate system is established to enable conversion between the coordinates under each user coordinate system and the coordinates under the global coordinate system.
[0105] It should be noted that through the node coordinate transformation matrix corresponding to a certain user coordinate system, the three-dimensional coordinates under this user coordinate system can be mapped to the three-dimensional coordinates under the global coordinate system; through the inverse matrix of the coordinate transformation matrix corresponding to this user coordinate system, the three-dimensional coordinates under the global coordinate system can be mapped to the three-dimensional coordinates under this user coordinate system. Therefore, by establishing the conversion relationship between each user coordinate system and the global coordinate system, the model elements under the user coordinate system can be converted to the global coordinate system for representation and calculation, and vice versa.
[0106] Exemplarily, such as Figure 2As shown, it is assumed that a global coordinate system and three user coordinate systems are established, and there is a model node whose coordinates in the global coordinate system are (X0, Y0, Z0), whose coordinates in user coordinate system 1 are (X1, Y1, Z1), whose coordinates in user coordinate system 2 are (X2, Y2, Z2), and whose coordinates in user coordinate system 3 are (X3, Y3, Z3). A node coordinate transformation matrix M10 corresponding to user coordinate system 1 is established, a node coordinate transformation matrix M20 corresponding to user coordinate system 2 is established, and a node coordinate transformation matrix M30 corresponding to user coordinate system 3 is established; then through matrix M10, the three-dimensional coordinates (X1, Y1, Z1) in user coordinate system 1 can be mapped to the three-dimensional coordinates (X0, Y0, Z0) in the global coordinate system; through matrix M20, the three-dimensional coordinates (X2, Y2, Z2) in user coordinate system 2 can be mapped to the three-dimensional coordinates (X0, Y0, Z0) in the global coordinate system; through matrix M30, the three-dimensional coordinates (X3, Y3, Z3) in user coordinate system 3 can be mapped to the three-dimensional coordinates (X0, Y0, Z0) in the global coordinate system. The inverse matrix M01 of matrix M10 is established, the inverse matrix M02 of matrix M20 is established, and the inverse matrix M03 of matrix M30 is established; then through matrix M01, the three-dimensional coordinates (X0, Y0, Z0) in the global coordinate system can be mapped to the three-dimensional coordinates (X1, Y1, Z1) in user coordinate system 1; through matrix M02, the three-dimensional coordinates (X0, Y0, Z0) in the global coordinate system can be mapped to the three-dimensional coordinates (X2, Y2, Z2) in user coordinate system 2; through matrix M03, the three-dimensional coordinates (X0, Y0, Z0) in the global coordinate system can be mapped to the three-dimensional coordinates (X3, Y3, Z3) in user coordinate system 3.
[0107] Furthermore, based on the node coordinate transformation matrix corresponding to each user coordinate system, a conversion relationship between two user coordinate systems is established to convert the coordinates in one user coordinate system to the coordinates in another user coordinate system.
[0108] It should be noted that a user coordinate transformation matrix of one user coordinate system relative to another user coordinate system is established based on the node coordinate transformation matrices corresponding to the two user coordinate systems. Through the user coordinate transformation matrix of one user coordinate system relative to another user coordinate system, the three-dimensional coordinates in the one user coordinate system can be mapped to the three-dimensional coordinates in the other user coordinate system; through the inverse matrix of the user coordinate transformation matrix of one user coordinate system relative to another user coordinate system, the three-dimensional coordinates in the other user coordinate system can be mapped to the three-dimensional coordinates in the one user coordinate system. Therefore, by establishing a conversion relationship between two user coordinate systems, the model elements in one user coordinate system can be converted to those in another user coordinate system for representation and calculation, and vice versa.
[0109] Exemplarily, as Figure 2 shown, based on the node coordinate transformation matrix M10 corresponding to the user coordinate system 1 and the node coordinate transformation matrix M20 corresponding to the user coordinate system 2, a user coordinate transformation matrix M12 corresponding to the user coordinate system 1 relative to the user coordinate system 2 is established; then through the matrix M12, the three-dimensional coordinates (X1, Y1, Z1) in the user coordinate system 1 can be mapped to the three-dimensional coordinates (X2, Y2, Z2) in the user coordinate system 2. The inverse matrix M21 of the matrix M12 is established, and then through the matrix M21, the three-dimensional coordinates (X2, Y2, Z2) in the user coordinate system 2 can be mapped to the three-dimensional coordinates (X1, Y1, Z1) in the user coordinate system 1. Similarly, based on the node coordinate transformation matrix M10 corresponding to the user coordinate system 1 and the node coordinate transformation matrix M30 corresponding to the user coordinate system 3, a user coordinate transformation matrix M13 corresponding to the user coordinate system 1 relative to the user coordinate system 3 is established; then through the matrix M13, the three-dimensional coordinates (X1, Y1, Z1) in the user coordinate system 1 can be mapped to the three-dimensional coordinates (X3, Y3, Z3) in the user coordinate system 3; the inverse matrix M31 of the matrix M13 is established, and then through the matrix M31, the three-dimensional coordinates (X3, Y3, Z3) in the user coordinate system 3 can be mapped to the three-dimensional coordinates (X1, Y1, Z1) in the user coordinate system 1. Based on the node coordinate transformation matrix M20 corresponding to the user coordinate system 2 and the node coordinate transformation matrix M30 corresponding to the user coordinate system 3, a user coordinate transformation matrix M23 corresponding to the user coordinate system 2 relative to the user coordinate system 3 is established; then through the matrix M23, the three-dimensional coordinates (X2, Y2, Z2) in the user coordinate system 2 can be mapped to the three-dimensional coordinates (X3, Y3, Z3) in the user coordinate system 3; the inverse matrix M32 of the matrix M23 is established, and then through the matrix M32, the three-dimensional coordinates (X3, Y3, Z3) in the user coordinate system 3 can be mapped to the three-dimensional coordinates (X2, Y2, Z2) in the user coordinate system 2.
[0110] It can be understood that for an existing geometric object, such as a model node, its geometric properties are unique, and displaying the geometric object in different coordinate systems is just to display the geometric object from different angles and directions.
[0111] Furthermore, according to the specific business scenario and modeling requirements, the following operations are performed on the user coordinate system:
[0112] Add a user coordinate system; for example, for the local detail modeling requirement, add a user coordinate system according to the current origin position and coordinate axis direction and name it.
[0113] Dynamically modify and update the defined unreasonable user coordinate system.
[0114] Dynamically delete the user coordinate system with duplicate or invalid definitions.
[0115] It should be noted that by calling the corresponding API interface in BIM-related software, the functions related to the user coordinate system are implemented through programming, allowing users to add, delete, and modify the user coordinate system at any time according to specific business scenarios and modeling requirements during the interactive modeling process. The user coordinate system is modified and updated by changing at least one of the origin position and axis direction of the user coordinate system and saving. The origin position of the user coordinate system can be changed by moving, and the axis direction of the user coordinate system can be changed by rotating.
[0116] Furthermore, the following operations are performed on the user coordinate system:
[0117] Control the visibility of the defined user coordinate system;
[0118] Switch between the defined user coordinate systems.
[0119] It should be noted that the visibility control refers to controlling the display of the user coordinate system in the modeling software. Through the visibility control, users can control whether to display the user coordinate system, as well as the display method and display accuracy of the user coordinate system according to their needs to meet different operation requirements. Allowing switching between the defined user coordinate systems means allowing the current user coordinate system to be switched to another defined user coordinate system.
[0120] It can be understood that the present invention facilitates the flexible application of the coordinate system and collaborative work by adding and managing several user coordinate systems according to the key modeling areas, improving the efficiency and accuracy of users when creating and modifying 3D models. Especially for large and complex 3D projects to be modeled, it can significantly improve the design quality and work efficiency.
[0121] Specifically, in step S12, during the interactive modeling process, among the defined user coordinate systems, the relevant user coordinate system is dynamically switched as the activated current user coordinate system according to the need.
[0122] Furthermore, the temporary reference plane is a virtual two-dimensional plane used to determine the position and direction of the model elements being operated on.
[0123] It should be noted that the user can choose whether to turn on and display the temporary reference plane by keyboard input or mouse click.
[0124] Furthermore, the user can set a new temporary reference plane at any time by determining the origin and axis direction of the temporary reference plane;
[0125] Take the current starting position of the trial as the origin of the temporary reference plane;
[0126] Determine the axis direction of the temporary reference plane based on face alignment;
[0127] When the new temporary reference plane is successfully set, the life cycle of the original temporary reference plane ends, and the user operates on the new temporary reference plane.
[0128] It should be noted that at the beginning of each trial, a new temporary reference plane is set first, and the origin position and axis direction of the temporary reference plane are adjusted by setting the new temporary reference plane.
[0129] In specific implementation, if no trial capture has been performed in the current user coordinate system, the origin of the current user coordinate system is used as the starting position of the first trial of the current trial capture; if trial capture has been performed in the current user coordinate system, the end position of the last trial is used as the starting position of the first trial of the current trial capture; that is, the origin of the new temporary reference plane set first at the beginning of the first trial of the current trial capture. During each trial, when the user moves the current capture point on the temporary reference plane, the temporary reference plane will immediately prompt the relative position of the current capture point with respect to the origin of the temporary reference plane and the coordinate values in the user coordinate system.
[0130] It can be understood that multiple trial captures can be performed in the current user coordinate system, and each trial capture includes at least one trial. Through multiple trial captures, the starting position of the first trial of the current trial capture can be moved to any point in three-dimensional space.
[0131] Specifically, the determining the axis direction of the temporary reference plane based on face alignment includes:
[0132] If the temporary reference plane is aligned with the top view of the global coordinate system or the user coordinate system, that is, the XOY plane of the global coordinate system or the user coordinate system, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Y-axis direction of the global coordinate system or the user coordinate system;
[0133] If the temporary reference plane is aligned with the side view of the global coordinate system or the user coordinate system, that is, the YOZ plane of the global coordinate system or the user coordinate system, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the Y-axis direction and Z-axis direction of the global coordinate system or the user coordinate system;
[0134] If the temporary reference plane is aligned with the front view of the global coordinate system or the user coordinate system, that is, the XOZ plane of the global coordinate system or the user coordinate system, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Z-axis direction of the global coordinate system or the user coordinate system;
[0135] If the temporary reference plane is aligned with the element surface, the X-axis direction and Y-axis direction of the temporary reference plane are the u-direction and v-direction of the element surface respectively at this time;
[0136] If the temporary reference plane is aligned with the element baseline, the X-axis direction of the temporary reference plane is the element baseline direction, and the Y-axis direction of the temporary reference plane is the cross product of the Z-axis direction of the user coordinate system and the element baseline direction.
[0137] It should be noted that, according to actual needs, the axis directions of the temporary reference plane are determined by one of the above methods. An element is a constituent unit in a digital model, such as a component, a device, etc. The element surface is a two-dimensional plane with two orthogonal u-directions and v-directions. The u-direction represents the horizontal direction of the element surface, and the v-direction represents the vertical direction of the element surface. The element baseline refers to the reference line used to determine the position and direction of the element.
[0138] In specific implementation, the absolute position of the mouse point can be kept unchanged, and the temporary reference plane is rotated based on the mouse point until it is aligned with the specified plane; or, by using a shortcut key / right mouse button to select "Align to View", "Align to Specified Plane", and then picking up the corresponding plane or element baseline, the plane alignment can be automatically achieved.
[0139] Specifically, the display style of the temporary reference plane is fixed-pixel and independent of scaling, and the axes and directions of the temporary reference plane are marked through the display style.
[0140] It should be noted that the temporary reference plane has a border and axes set within the border. The display style of the temporary reference plane includes its axis width, border width, border size, axis color, and axis line type. Fixed-pixel means that the axis width, border width, and border size of the temporary reference plane are defined by a fixed number of pixel values, rather than being defined based on relative units. Therefore, regardless of the device or screen resolution, the number of pixels of the display style of the temporary reference plane remains unchanged. Moreover, when the user performs a scaling operation on the above fixed-pixel display style, its actual pixel size remains unchanged, so that the display effect of the temporary reference plane is independent of the scaling operation, that is, the temporary reference plane will not be distorted, blurred, deformed, etc. due to the user's magnification or reduction of this key modeling area, ensuring that the temporary reference plane maintains a clear and accurate display effect.
[0141] It can be understood that designing the display style of the temporary reference plane to be fixed-pixel and independent of scaling has the following advantages:
[0142] First, regardless of the device, screen resolution, or scaling ratio, the temporary reference plane can maintain a clear, accurate, and consistent display effect, without distortion, blur, deformation, etc.; it will not cause deviation in its axis color due to the scaling operation, making the display of its axis color more stable;
[0143] Second, since the display effect of the temporary reference plane will not change due to the user's zoom operation, it is easier for the user to operate intuitively on the temporary reference plane, reducing the probability of misoperation, improving the operation efficiency, and enhancing the user interaction modeling experience;
[0144] Third, there is no need to write a large amount of code to adapt to various different devices, screen resolutions, or zoom ratios, reducing the development workload, improving the development efficiency, and providing a basis for BIM-related software to support multiple platforms (such as iOS, Android, etc.), multiple architectures (such as x86, x64, etc.), and multiple systems (Windows, Linux, etc.) from the desktop to the mobile terminal.
[0145] Exemplarily, the default display style of the temporary reference plane is as Figure 3 shown. Among them, the straight line where the red line segment is located represents the X-axis of the temporary reference plane, the straight line where the green line segment is located represents the Y-axis of the temporary reference plane, the end of the red line segment far from the virtual line segment represents the positive direction of the X-axis of the temporary reference plane, and the end of the green line segment far from the virtual line segment represents the positive direction of the Y-axis of the temporary reference plane.
[0146] Furthermore, the XOY plane of the current user coordinate system is defaultly used as the temporary reference plane, and a new temporary reference plane is dynamically set as needed.
[0147] It should be noted that the temporary reference plane is independent of the user coordinate system. Therefore, when the user transforms the temporary reference plane, it will not affect the current user coordinate system. In the current user coordinate system, the user can set a new temporary reference plane multiple times according to needs, thereby changing the direction required for user operations multiple times.
[0148] It can be understood that the present invention changes the direction required for user operations by transforming the temporary reference plane. When it is necessary to frequently change the direction and angle of the model elements to be operated in a complex 3D modeling scenario, for example, when the user needs to frequently draw 3D lines not in the same plane, the temporary reference plane can more flexibly respond to the frequent changes in the required direction and angle. And the change of the temporary reference plane does not affect the current user coordinate system, that is, the current user coordinate system can remain unchanged. Therefore, when it is necessary to frequently change the direction and angle of the model elements to be operated, there is no need to frequently switch the current user coordinate system, improving the work efficiency.
[0149] Furthermore, the tentative capture refers to dynamically positioning the capture point to the required capture position for capture in an interactive manner through continuous tentative during the interactive modeling process; the capture position can be any point in the three-dimensional space.
[0150] Specifically, the tentative capture includes at least one tentative attempt. Each tentative attempt establishes a new temporary reference plane, and on the temporary reference plane, the current capture point is moved from the starting position of the current tentative attempt to the ending position of the current tentative attempt.
[0151] After each tentative attempt, the next tentative attempt can be continued until the capture point is dynamically positioned at the required capture position for capture.
[0152] In specific implementation, whether it is the current capture point or the required capture position is distinguished through a shortcut key or the right mouse button.
[0153] It should be noted that a new temporary reference plane is set at the beginning of each tentative attempt, and the current tentative attempt is completed on the newly set temporary reference plane. Through at least one continuous tentative attempt, the capture point is accurately moved to the required capture position, thereby achieving dynamic precise positioning.
[0154] It can be understood that currently, the existing interaction methods usually input the coordinates of the required capture position through a command line or a pop-up window. Therefore, the user needs to calculate in advance to determine the coordinate values of the capture position. And the capture position is often not isolated, so the coordinate values of the capture position need to be calculated based on a reference object, which is usually an existing component, axis, reference plane, etc. in the model. For example, if the required capture position is the position where a new component needs to be placed, it is necessary to calculate the accurate coordinate values of the position where the new component needs to be placed in advance based on an existing switch cabinet in the model as a reference object, so that the new component and the existing components have the correct relative position relationship in three-dimensional space, so that the various components of the model can be correctly connected and meet the design requirements. However, due to the large scale and complex physical entity unit shapes of three-dimensional modeling projects, especially power grid engineering projects, on the one hand, it is difficult to find a suitable reference object for the required capture position in three-dimensional space; on the other hand, developers need to calculate the coordinate values of the required capture position. For example, when the required capture position is to shift after rotating a certain angle relative to the current coordinate system, it is difficult for developers to calculate the coordinate values of the required capture position. Therefore, the existing interaction methods are time-consuming and laborious, reducing work efficiency. And this application is based on a temporary reference plane, dynamically tentatively explores the relative position relative to the temporary reference plane through tentative capture, and achieves accurate movement to the required capture position in three-dimensional space in an interactive manner. It neither needs to find a reference object nor needs to calculate the coordinate values of the required capture position in advance. Therefore, it not only greatly reduces the complexity of the operation of developers in the interactive modeling process and improves the work efficiency of developers, but also improves the interactivity of BIM-related software and enhances the user experience.
[0155] It can be understood that during the interactive modeling process, the present invention dynamically sets a temporary reference plane as needed. Based on the temporary reference plane, tentative capture is used for three-dimensional precise drawing, providing a new three-dimensional modeling interaction mechanism and improving the user's operation logic. When performing three-dimensional drawing, the user does not need to calculate and input the three-dimensional coordinates of the end point. Instead, in an interactive manner, the user reaches the desired end point through continuous tentative capture, which not only significantly improves the user experience but also increases work efficiency. The three-dimensional modeling interaction method provided by the present invention is applicable to two-dimensional and three-dimensional drawing, and two-dimensional and three-dimensional modeling can be carried out under a unified interaction mechanism, improving versatility. Moreover, when performing three-dimensional drawing, through tentative capture, there is no need to calculate the required three-dimensional path based on the three-dimensional coordinates of the starting point and the end point, reducing the amount of calculation and improving the modeling efficiency.
[0156] Exemplarily, it is assumed that it is necessary to draw a three-dimensional straight line from Point0 (3, 3, 3) to Point2 (3, 4, 5) in the global coordinate system. As shown in Figure 4(a), the global coordinate system is defined. The coordinates of the origin O of the global coordinate system are (0, 0, 0). The X-axis of the global coordinate system is x, the Y-axis is y, and the Z-axis is z. A user coordinate system Ucs1 is defined. The origin O of Ucs1 is Point0. The X-axis of Ucs1 is Ux, the Y-axis is Uy, and the Z-axis is Uz.
[0157] During the interactive modeling process, Ucs1 is used as the activated current user coordinate system. By default, the XOY plane of Ucs1 is used as the temporary reference plane. As shown in Figure 4(b), since this is the first tentative capture, the origin of the temporary reference plane is at the origin Point0 of Ucs1. The X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Y-axis direction of Ucs1. Point0 is the starting position of the first tentative capture of the current tentative capture. Click the mouse at Point0 to start the first tentative capture of the current tentative capture. Move a distance of 1 along the Y-axis direction on the temporary reference plane, and move the capture point to the end position Point1 of the first tentative capture. The coordinates of Point1 in Ucs1 are (0, 1, 0).
[0158] As shown in Figure 4 (c), right-click to select "Align to View" to set the XOZ plane of the current user coordinate system as the new temporary reference plane. The origin of this temporary reference plane is at Point1, and the X-axis direction and Y-axis direction of this temporary reference plane are the X-axis direction and Z-axis direction of Ucs1 respectively. Point1 is the starting position of the second trial snap of the current trial snap. Click the mouse at Point1 to start the second trial snap of the current trial snap. Move a distance of 2 along the Y-axis direction on the temporary reference plane to move the snap point to the end position Point2 of the second trial snap. The coordinates of Point2 in Ucs1 are (0, 1, 2), and the coordinates in the global coordinate system are (3, 4, 5). Right-click to select "Trial Snap" and click the mouse to complete the current trial snap, and draw a three-dimensional line from the starting position Point0 of the first trial snap to the end position Point2 of the second trial snap.
[0159] It can be understood that through trial snap, the precise positioning of Point2 is decomposed into continuous trials, which is equivalent to first moving a distance of 1 along the Uy coordinate axis of Ucs1 at Point0, and then moving a distance of 2 along the Uz coordinate axis of Ucs1, so as to reach the required snap position Point2 for snapping. In addition, for more complex situations, for example, the required snap position is to rotate the XOY plane of the current user coordinate system clockwise by 20 degrees and then move a distance of 20 horizontally. Then, the horizontal graphic elements can be rotated clockwise by 20 degrees in the current user coordinate system and the primitive surface can be picked up. The axis direction of the temporary reference plane is determined by aligning the temporary reference plane to the primitive surface, and move a distance of 20 along the X-axis direction on the temporary reference plane to move to the required snap position. Therefore, through the interaction method provided by this application, the complexity of the operation of developers in the interactive modeling process is greatly reduced, the work efficiency of developers is improved, and the interactivity of BIM-related software is improved, enhancing the user experience.
[0160] Specifically, trial snap is used to determine the required snap position, and based on the required snap position, model elements in the project to be modeled are created, placed, and edited to achieve three-dimensional precise drawing.
[0161] It should be noted that for new model elements, behaviors such as creation and placement are required, and for the model elements that already exist in the project to be modeled, editing behaviors such as modification, movement, copying, mirroring, and array are required.
[0162] It can be understood that the present invention divides the key modeling areas and defines several user coordinate systems, which is convenient for users to perform modeling operations in a large-scale space; by using trial snap for three-dimensional precise drawing, the non-linear features of three-dimensional objects can be drawn flexibly and accurately. Therefore, the present invention is applicable to other engineering design business scenarios, especially applicable to power grid engineering design, improving the generality.
[0163] Embodiment 2:
[0164] Another specific embodiment of the present invention discloses a 3D modeling interaction system based on BIM. As Figure 5 shown, the system includes:
[0165] A coordinate system management module, configured to manage the global coordinate system and the user coordinate system, and send the current user coordinate system to the temporary reference plane management module and the tentative capture module;
[0166] A temporary reference plane management module, configured to set a temporary reference plane in the current user coordinate system, and send the temporary reference plane to the tentative capture module;
[0167] A tentative capture module, configured to, based on the temporary reference plane, in the process of interactive modeling, in an interactive manner, dynamically position the capture point to the required capture position for capture through continuous tentative; the capture position can be any point in the three-dimensional space.
[0168] Furthermore, the coordinate system management module includes a global coordinate system management module, a user coordinate system management module, and a coordinate system conversion module;
[0169] The global coordinate system management module is configured to establish a global coordinate system as the benchmark for the project to be modeled;
[0170] The user coordinate system management module is configured to establish a user coordinate system as a local coordinate system; perform addition, deletion, modification, visibility control, and switching on the user coordinate system; and send the current user coordinate system to the temporary reference plane management module and the tentative capture module;
[0171] The coordinate system conversion module is configured to establish the conversion relationship between each user coordinate system and the global coordinate system.
[0172] Specifically, the world coordinate system can be used as the global coordinate system, or the center of the project to be modeled can be used as the origin of the global coordinate system.
[0173] Specifically, according to the specific business scenario and modeling requirements, the following operations are performed through the user coordinate system management module:
[0174] Add a user coordinate system; for example, for the local detail modeling requirement, add a user coordinate system according to the current origin position and axis direction and name it;
[0175] Dynamically modify and update the defined unreasonable user coordinate system;
[0176] Dynamically delete the repeatedly defined or invalidly defined user coordinate system;
[0177] Perform the display and hiding control of the defined user coordinate system;
[0178] Switch between the defined user coordinate systems.
[0179] Specifically, during the interactive modeling process, the user coordinate system management module dynamically switches the relevant user coordinate system as the active current user coordinate system among the defined user coordinate systems as needed.
[0180] Specifically, based on the node coordinate transformation matrix corresponding to each user coordinate system, the coordinate system conversion module establishes the conversion relationship between each user coordinate system and the global coordinate system, so as to convert the coordinates under each user coordinate system and the coordinates under the global coordinate system.
[0181] Furthermore, the coordinate system conversion module is also used to establish the conversion relationship between user coordinate systems.
[0182] Specifically, based on the node coordinate transformation matrix corresponding to each user coordinate system, the coordinate system conversion module establishes the conversion relationship between two user coordinate systems, so as to convert the coordinates under one user coordinate system and the coordinates under the other user coordinate system.
[0183] Furthermore, the user can set a new temporary reference plane at any time through the temporary reference plane management module. When the new temporary reference plane is successfully set, the life cycle of the original temporary reference plane ends, and the user operates on the new temporary reference plane.
[0184] Furthermore, set the display style of the temporary reference plane through the temporary reference plane management module.
[0185] Specifically, the display style of the temporary reference plane is fixed-pixel and independent of scaling, and the axes and directions of the temporary reference plane are marked through the display style.
[0186] Furthermore, the probing and capturing at least includes one probing. Each probing establishes a new temporary reference plane, and on the temporary reference plane, the current capture point is moved from the starting position of this probing to the ending position of this probing;
[0187] After each probing, the next probing can be continued until the capture point is dynamically positioned to the required capture position for capturing.
[0188] Furthermore, set the origin and axis direction of the temporary reference plane through the temporary reference plane management module;
[0189] Take the starting position of the current probing as the origin of the temporary reference plane;
[0190] Determine the axis direction of the temporary reference plane based on face alignment.
[0191] It should be noted that at the beginning of each trial, a new temporary reference plane is set first, and the origin position and axis direction of the temporary reference plane are adjusted by setting the new temporary reference plane.
[0192] In specific implementation, if no trial capture has been performed in the current user coordinate system, the origin of the current user coordinate system is used as the starting position of the first trial of the current trial capture; if trial capture has been performed in the current user coordinate system, the end position of the last trial is used as the starting position of the first trial of the current trial capture; that is, the origin of the new temporary reference plane set at the beginning of the first trial of the current trial capture. During each trial, when the user moves the current capture point on the temporary reference plane, the temporary reference plane will immediately prompt the relative position of the current capture point with respect to the origin of the temporary reference plane and the coordinate values in the user coordinate system.
[0193] Specifically, the determination of the axis direction of the temporary reference plane based on face alignment includes:
[0194] Align the temporary reference plane to the top view of the global coordinate system or the user coordinate system, that is, the XOY plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Y-axis direction of the global coordinate system or the user coordinate system;
[0195] Align the temporary reference plane to the side view of the global coordinate system or the user coordinate system, that is, the YOZ plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the Y-axis direction and Z-axis direction of the global coordinate system or the user coordinate system;
[0196] Align the temporary reference plane to the front view of the global coordinate system or the user coordinate system, that is, the XOZ plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Z-axis direction of the global coordinate system or the user coordinate system;
[0197] Align the temporary reference plane to the surface of the primitive. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the u direction and v direction of the primitive surface;
[0198] Align the temporary reference plane to the baseline of the primitive. At this time, the X-axis direction of the temporary reference plane is the direction of the primitive baseline, and the Y-axis direction of the temporary reference plane is the cross product of the Z-axis direction of the user coordinate system and the direction of the primitive baseline.
[0199] It should be noted that according to actual needs, the axis direction of the temporary reference plane is determined by one of the above methods.
[0200] During specific implementation, the absolute position of the mouse point can be kept unchanged, and the temporary reference plane can be rotated based on the mouse point until it aligns with the specified plane; alternatively, "Align to View" or "Align to Specified Plane" can be selected through a shortcut key / right mouse button, and then the corresponding plane or primitive baseline can be picked to automatically achieve surface alignment.
[0201] Embodiment 3:
[0202] Another specific embodiment of the present invention discloses a 3D modeling electronic device based on BIM, and the electronic device includes:
[0203] A memory for storing a computer program;
[0204] A processor for executing the computer program to implement the BIM-based 3D modeling interaction method as described above.
[0205] Embodiment 4:
[0206] Another specific embodiment of the present invention discloses a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the BIM-based 3D modeling interaction method as described above are implemented.
[0207] Compared with the prior art, the beneficial effects of the BIM-based 3D modeling interaction method, system, electronic device and storage medium provided by the present invention are as follows:
[0208] 1. By adding and managing several user coordinate systems according to the key modeling areas, the present invention facilitates users to flexibly apply coordinate systems and collaborate in different business scenarios, improves the efficiency and accuracy of users when creating and modifying 3D models, and can significantly improve the design quality and work efficiency, especially for large and complex 3D projects to be modeled.
[0209] 2. During the interactive modeling process, the present invention dynamically sets a temporary reference plane as needed, and based on the temporary reference plane, tentative capture is used for 3D precise drawing, providing a new 3D modeling interaction mechanism and improving the user's operation logic. When performing 3D drawing, instead of calculating and inputting the 3D coordinates of the end point, the user moves the capture point to the required capture position through continuous tentative probing in an interactive manner, which not only significantly improves the user experience but also improves work efficiency.
[0210] 3. The 3D modeling interaction method provided by the present invention is applicable to 2D and 3D drawing, and 2D and 3D modeling can be carried out under a unified interaction mechanism, improving versatility. Moreover, when performing 3D drawing, the required 3D path does not need to be calculated based on the 3D coordinates of the starting point and the end point through tentative capture, reducing the calculation amount and improving the modeling efficiency.
[0211] 4. The present invention changes the direction required for user operations by transforming the temporary reference plane. When it is necessary to frequently change the direction and angle of the model elements being operated in a complex 3D modeling scenario, the temporary reference plane can more flexibly respond to the frequent changes in the required direction and angle. Moreover, the change of the temporary reference plane does not affect the current user coordinate system, that is, the current user coordinate system can remain unchanged. Therefore, when it is necessary to frequently change the direction and angle of the model elements being operated, there is no need to frequently switch the current user coordinate system, which improves the work efficiency.
[0212] 5. The present invention facilitates users to perform modeling operations in a large-scale space by dividing key modeling areas and defining several user coordinate systems; and can flexibly and accurately draw the non-linear features of 3D objects by using tentative capture for 3D precise drawing. Therefore, the present invention is applicable to other engineering design business scenarios, especially applicable to power grid engineering design, which improves the versatility.
[0213] It should be noted that any process or method description shown in the flowchart or described in other ways herein can be understood as representing a module, segment, or part of code including one or more executable instructions for implementing a specific logical function or process. And the scope of the preferred implementation of this solution includes additional implementations, where the functions can be executed in a manner that is not shown or discussed in sequence, including in a substantially simultaneous manner or in the reverse order according to the functions involved, which should be understood by those skilled in the technical field to which the embodiments of this solution belong. The processor executes the various methods and processes described above. For example, the method embodiments in this solution can be implemented as a software program, which is tangibly included in a machine-readable medium, such as a memory. In some embodiments, part or all of the software program can be loaded and / or installed via the memory and / or communication interface. When the software program is loaded into the memory and executed by the processor, one or more steps of the methods described above can be executed. Alternatively, in other embodiments, the processor can be configured to execute one of the above methods by any other suitable means (such as by means of firmware).
[0214] It should also be noted that in this application, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.
[0215] Those skilled in the art can understand that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.
[0216] Furthermore, those skilled in the art can understand that all or part of the processes for implementing the methods of the above embodiments can be completed by instructing relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium. Among them, the computer-readable storage medium is a magnetic disk, an optical disk, a read-only memory, or a random access memory, etc.
[0217] The above is only a preferred specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present invention should be covered by the protection scope of the present invention.
Claims
1. A 3D modeling interaction method based on BIM, characterized in that, The method includes the following steps: Start interactive modeling, divide the key modeling areas according to the business scenario, and define a number of user coordinate systems based on the key modeling areas; Among them, adding, deleting, modifying, showing / hiding control and switching of the user coordinate systems are allowed; During the interactive modeling process, dynamically switch relevant user coordinate systems as the current user coordinate system according to needs; Based on the current user coordinate system, dynamically set a temporary reference plane according to needs; Based on the temporary reference plane, use trial and error capture to determine the capture position, and create, place, and edit model elements at the capture position for three-dimensional precise mapping; The trial and error capture refers to, during the interactive modeling process, in an interactive manner, dynamically positioning the capture point to the required capture position through continuous trial and error for capture; the capture position can be any point in three-dimensional space; The trial and error capture includes at least one trial. Each trial establishes a new temporary reference plane, and on the temporary reference plane, moves the current capture point from the starting position of this trial to the ending position of this trial; After each trial, the next trial can be continued, taking the ending position of this trial as the starting position of the next trial until the capture point is dynamically positioned to the required capture position; Multiple trial and error captures can be performed in the current user coordinate system.
2. The BIM-based three-dimensional modeling interaction method according to claim 1, wherein The temporary reference plane is a virtual two-dimensional plane used to determine the position and direction of the model elements being operated on.
3. The 3D modeling interaction method based on BIM according to claim 1, characterized in that Set a new temporary reference plane by determining the origin and axis direction of the temporary reference plane; Take the starting position of the current trial as the origin of the temporary reference plane; Determine the axis direction of the temporary reference plane based on face alignment; When the new temporary reference plane is successfully set, the life cycle of the original temporary reference plane ends, and the user operates on the new temporary reference plane.
4. The BIM-based three-dimensional modeling interaction method according to claim 3, wherein According to the specific business scenario and modeling requirements, perform the following operations on the user coordinate system: Add a user coordinate system; Dynamically modify and update the defined unreasonable user coordinate systems; Dynamically delete the repeatedly defined or invalidly defined user coordinate systems; Perform showing / hiding control on the defined user coordinate systems; Switch between the defined user coordinate systems.
5. The 3D modeling interaction method based on BIM according to claim 4, wherein, During the interactive modeling process, dynamically switch relevant user coordinate systems as the activated current user coordinate system among the defined user coordinate systems according to needs.
6. The BIM-based three-dimensional modeling interaction method according to claim 5, wherein By default, use the XOY plane of the current user coordinate system as the temporary reference plane, and dynamically set a new temporary reference plane according to needs.
7. The BIM-based three-dimensional modeling interaction method according to claim 5, wherein If no trial and error capture has been performed in the current user coordinate system, take the origin of the current user coordinate system as the starting position of the first trial of the current trial and error capture; if trial and error capture has been performed in the current user coordinate system, take the ending position of the last trial as the starting position of the first trial of the current trial and error capture.
8. The BIM-based three-dimensional modeling interaction method according to claim 7, wherein The determining the axis direction of the temporary reference plane based on face alignment includes: Align the temporary reference plane to the top view of the global coordinate system or the user coordinate system, that is, the XOY plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are respectively the X-axis direction and Y-axis direction of the global coordinate system or the user coordinate system; Side view of aligning the temporary reference plane to the global coordinate system or the user coordinate system, that is, the YOZ plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are the Y-axis direction and Z-axis direction of the global coordinate system or the user coordinate system respectively; Front view of aligning the temporary reference plane to the global coordinate system or the user coordinate system, that is, the XOZ plane of the global coordinate system or the user coordinate system. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are the X-axis direction and Z-axis direction of the global coordinate system or the user coordinate system respectively; Align the temporary reference plane to the surface of the primitive. At this time, the X-axis direction and Y-axis direction of the temporary reference plane are the u direction and v direction of the primitive surface respectively; Align the temporary reference plane to the baseline of the primitive. At this time, the X-axis direction of the temporary reference plane is the baseline direction of the primitive, and the Y-axis direction of the temporary reference plane is the cross product of the Z-axis direction of the user coordinate system and the baseline direction of the primitive.
9. The 3D modeling interaction method based on BIM according to claim 1, wherein Start the interactive modeling, divide the key modeling areas according to the business scenario, and define several user coordinate systems based on the key modeling areas, including: Open the modeling software to start the interactive modeling; determine the specific business scenario, and divide the project to be modeled into several key modeling areas according to the business scenario; Establish a global coordinate system, and define at least one user coordinate system in each of the key modeling areas; Establish the conversion relationship between each user coordinate system and the global coordinate system.
10. The 3D modeling interaction method based on BIM according to claim 1, characterized in that, The display style of the temporary reference plane is fixed-pixel and independent of scaling. The axes and directions of the temporary reference plane are marked through the display style.
11. The 3D modeling interaction method based on BIM according to claim 1, characterized in that In each of the key modeling areas, define at least one user coordinate system as a local coordinate system according to the actual situation and needs of modeling.
12. A 3D modeling interaction system based on BIM, characterized in that, The system includes: A coordinate system management module for managing the global coordinate system and the user coordinate system, and sending the current user coordinate system to the temporary reference plane management module and the tentative capture module; A temporary reference plane management module for setting the temporary reference plane in the current user coordinate system and sending the temporary reference plane to the tentative capture module; A tentative capture module for dynamically positioning the capture point to the required capture position in an interactive manner through continuous tentative probing based on the temporary reference plane during the interactive modeling process; the capture position can be any point in three-dimensional space; The tentative capture includes at least one tentative probe. Each tentative probe establishes a new temporary reference plane, and moves the current capture point from the starting position of this tentative probe to the ending position of this tentative probe on the temporary reference plane; after each tentative probe, the next tentative probe can be continued, taking the ending position of this tentative probe as the starting position of the next tentative probe until the capture point is dynamically positioned to the required capture position.
13. The 3D modeling interaction system based on BIM according to claim 12, characterized in that, The coordinate system management module includes a global coordinate system management module, a user coordinate system management module, and a coordinate system conversion module; The global coordinate system management module is used to establish a global coordinate system as the benchmark for the project to be modeled; The user coordinate system management module is used to establish a user coordinate system as a local coordinate system; perform addition, deletion, modification, visibility control, and switching on the user coordinate system; And send the current user coordinate system to the temporary reference plane management module and the tentative capture module; The coordinate system conversion module is used to establish the conversion relationship between each user coordinate system and the global coordinate system.
14. The BIM-based three-dimensional modeling interaction system according to claim 13, wherein The coordinate system conversion module is also used to establish the conversion relationship between user coordinate systems.
15. The 3D modeling interaction system based on BIM according to claim 13, characterized in that, Based on the node coordinate transformation matrix corresponding to each user coordinate system, the coordinate system conversion module establishes the conversion relationship between each user coordinate system and the global coordinate system, so as to convert the coordinates under each user coordinate system and the coordinates under the global coordinate system.
16. The 3D modeling interaction system based on BIM according to claim 14, characterized in that, Based on the node coordinate transformation matrix corresponding to each user coordinate system, the coordinate system conversion module establishes the conversion relationship between two user coordinate systems, so as to convert the coordinates under one user coordinate system and the coordinates under another user coordinate system.
17. A 3D modeling electronic device based on BIM, characterized in that, The electronic device includes: A memory for storing computer programs; A processor for executing the computer program to implement the BIM-based 3D modeling interaction method according to any one of claims 1 to 11.
18. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the BIM-based 3D modeling interaction method according to any one of claims 1 to 11 are implemented.