Method, apparatus and computer-readable storage medium for building a virtual assembly
The method and apparatus for constructing virtual assemblies address the limitations of conventional building blocks by enabling flexible construction through user-defined cutting and assembly commands, improving user experience.
Patent Information
- Application Number
- JP2022570123
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-10-22
- Filing Date
- 2021-08-10
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2041-08-10
AI Technical Summary
Conventional building blocks and cardboard assemblies have geometric and spatial limitations that restrict flexibility in construction.
A method and apparatus for constructing virtual assemblies that allow users to input cutting and assembly commands to create virtual assemblies on a user interface, enabling flexible construction without material or shape limitations.
Enhances flexibility and user experience by allowing virtual assemblies to be constructed based on user-defined parts and commands, overcoming spatial constraints.
Smart Images

Figure 0007767315000001 
Figure 0007767315000002 
Figure 0007767315000003
Abstract
Description
[Technical Field]
[0001] This disclosure claims priority to a Chinese patent application entitled "Method, Apparatus and Computer-Readable Storage Medium for Constructing Virtual Assembly," filed with the State Intellectual Property Office of the People's Republic of China on October 22, 2020, bearing application number 202011140700.2, the entire contents of which are incorporated herein by reference.
[0002] The present disclosure relates to the field of computer technology, and more particularly to a method, apparatus, and computer-readable storage medium for building a virtual assembly. [Background technology]
[0003] Assembly construction using building blocks, cardboard, magnetic blocks, etc. is enjoyed as a common entertainment and educational activity in people's daily lives.
[0004] However, the building blocks, cardboard, and magnetic blocks themselves often have geometric and spatial limitations that limit or reduce flexibility in constructing conventional assemblies. Summary of the Invention [Means for solving the problem]
[0005] To solve the above technical problem, or to at least partially solve the above technical problem, the present disclosure provides a method, an apparatus, and a computer-readable storage medium for building a virtual assembly that can improve the flexibility of building the assembly.
[0006] According to a first aspect of the present disclosure, there is provided a method for constructing a virtual assembly, the method comprising: receiving a cutting operation command input by a user on a substrate, the substrate being displayed in an operation area of a user interface, the cutting operation command being used to indicate a cutting path; marking the cutting path on the substrate, the substrate being cut into at least two parts by the cutting path; receiving assembly instructions input by a user, assembling the at least two parts, and displaying a virtual assembly formed by the assembly, wherein the assembly instructions are used to instruct the at least two parts to perform an assembly operation.
[0007] In a possible embodiment, prior to the step of receiving a cutting operation command input by a user on the board, The method further includes receiving attribute information of a substrate input by a user to the user interface, and displaying a substrate corresponding to the attribute information in the operation area.
[0008] In a possible embodiment, prior to the step of receiving a cutting operation command input by a user on the substrate, the method further includes a step of receiving a cutting start command input by a user, the cutting start command being used to instruct the cutting operation to be performed.
[0009] In a possible embodiment, the step of receiving a user-entered start cutting command comprises: receiving a user selection operation for a disconnection function control; receiving a user's selection of a key or key combination corresponding to the start cutting command; or The method includes accepting a first operation input by the user on the user interface, the first operation corresponding to a start disconnection command, the first operation including a click, a swipe, or an air gesture.
[0010] In a possible embodiment, the step of receiving a cutting operation command input by a user on the board comprises: receiving a click operation by the user on the board, and determining a straight line between positions corresponding to two successive click operations as a cutting path; or The method includes a step of accepting a swipe operation by the user on the substrate and determining a swipe trajectory corresponding to the swipe operation as a cutting path.
[0011] In a possible embodiment, prior to the step of receiving user input assembly instructions, The method further includes displaying a mark corresponding to each of the at least two parts.
[0012] In a possible embodiment, the step of displaying a mark corresponding to each of the at least two parts comprises: generating and displaying marks corresponding to the parts according to the cutting order of the parts; or The method includes displaying a customized mark interface, and receiving and displaying a mark corresponding to the part input by the user in the mark interface.
[0013] In a possible embodiment, prior to the step of receiving user input assembly instructions, The method further includes a step of accepting a joint setting operation corresponding to the part input by a user, the joint setting operation including setting of an attachment position and / or setting of a joint type.
[0014] In a possible embodiment, the step of accepting a joint setting operation corresponding to the part input by a user includes: receiving a selection operation by the user for a joint setting control, wherein the joint setting control is associated with a joint type; The method includes a step of accepting a joint addition operation input by a user at a first position of a component, and displaying a joint of a joint type associated with the joint setting control at the first position.
[0015] In a possible embodiment, after the step of displaying a fitting of a fitting type associated with the fitting setting control in the first position, receiving a first user operation on the joint and moving the joint from a first position to a second position, the first operation being used to instruct the joint to move from the first position to the second position; and / or and receiving a second user operation on the joint and duplicating the joint to a third location, wherein the second operation is used to instruct duplicating the joint to the third location.
[0016] In a possible embodiment, the step of receiving an assembly instruction input by a user and assembling the at least two parts comprises: The method includes a step of accepting a user's selection operation for a joint of the component, and performing an assembly operation for the selected joint.
[0017] In a possible embodiment, prior to the step of performing an assembly operation on the selected joint, receiving a user selection of the assembly function control, the assembly function control being used to instruct the execution of an assembly task; or The method further includes determining that the time interval between the selection operations for the at least two joints is less than a preset threshold.
[0018] In a possible embodiment, The method further includes receiving a confirmation instruction for the virtual assembly input by a user, and displaying the virtual assembly from multiple viewpoints according to the confirmation instruction.
[0019] In a possible embodiment, prior to the step of receiving a cutting operation command input by a user on the board, The method further includes accepting a user's texture operation on the substrate and displaying the texture on the substrate.
[0020] According to a second aspect of the present disclosure, there is provided an apparatus for constructing a virtual assembly, the apparatus comprising: a receiving module for receiving a cutting operation command input by a user on a board, the board being displayed in an operation area of a user interface, and the cutting operation command being used to indicate a cutting path; a display module for displaying the cutting path on the substrate, the display module showing that the substrate is cut into at least two parts by the cutting path; The receiving module is further configured to receive assembly instructions input by the user, assemble the at least two parts, and display a virtual assembly formed by the assembly, wherein the assembly instructions are used to instruct the parts to perform an assembly operation.
[0021] In a possible embodiment, the receiving module is further configured to receive attribute information of a substrate input by a user to the user interface, and to display a substrate corresponding to the attribute information in the operation area.
[0022] In a possible embodiment, the receiving module is further configured to receive a start disconnect command input by a user, the start disconnect command being used to instruct to perform a disconnect operation.
[0023] In a possible embodiment, the receiving module is specifically configured to accept a user selection operation on a cutting function control, accept a user selection operation on a key or key combination corresponding to a start cutting command, or accept a first operation corresponding to a start cutting command input by a user on the user interface, the first operation including a click, a swipe, or an air gesture.
[0024] In a possible embodiment, the receiving module is configured to receive a user's click operation on the substrate and determine a straight line between positions corresponding to two consecutive click operations as the cutting path, or to receive a user's swipe operation on the substrate and determine a swipe trajectory corresponding to the swipe operation as the cutting path.
[0025] In a possible embodiment, said display module is specifically configured to display a mark corresponding to each of said at least two parts.
[0026] In a possible embodiment, the display module is specifically configured to: generate and display marks corresponding to parts according to the cutting sequence of the parts; or display a customized mark interface, and receive and display marks corresponding to parts input by a user in the mark interface.
[0027] In a possible embodiment, the receiving module is further configured to accept a joint setting operation corresponding to the part input by a user, the joint setting operation including setting an installation position and / or setting a joint type.
[0028] In a possible embodiment, the receiving module is specifically configured to accept a user selection operation on a joint setting control associated with a joint type, accept a joint addition operation input by the user at a first position on a part, and display a joint of the joint type associated with the joint setting control at the first position.
[0029] In possible embodiments, the receiving module is further configured to receive a first user operation on the joint and move the joint from a first position to a second position, the first operation being used to instruct the joint to be moved from the first position to the second position, and / or to receive a second user operation on the joint and duplicate the joint to a third position, the second operation being used to instruct the joint to be duplicated to the third position.
[0030] In a possible embodiment, the receiving module is specifically configured to receive a user's selection operation for a joint of the part and to perform the step of performing an assembly operation for the selected joint.
[0031] In a possible embodiment, the receiving module is further configured to accept a user selection operation on the assembly function control to instruct the execution of an assembly operation, or to determine that a time interval between selection operations on at least two joints is less than a preset threshold.
[0032] In a possible embodiment, the receiving module is further configured to receive a confirmation instruction for the virtual assembly input by a user, and to display the virtual assembly in multiple viewpoints according to the confirmation instruction.
[0033] In a possible embodiment, the receiving module is further configured to accept a user texture manipulation on the substrate and to display the texture on the substrate.
[0034] According to a third aspect of the present disclosure, there is provided an electronic device including a processor configured to execute a computer program stored in a memory, the electronic device implementing an embodiment of any one of the methods described in the examples of the present application when the computer program is executed by the processor.
[0035] According to a fourth aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program that, when executed by a processor, implements any one of the embodiments of the methods described in the examples of the present application.
[0036] The technical solutions provided by the embodiments of the present disclosure have the following advantages over the prior art: In a technical solution provided by an embodiment of the present application, a cutting operation command input by a user is received on a substrate, and a cutting path indicated by the cutting operation command is displayed on the substrate, cutting the substrate into at least two parts; and an assembly command input by the user is received, and the at least two parts are assembled, and a virtual assembly formed by the assembly is displayed. Here, since the parts are determined by the cutting path indicated by the cutting operation command input by the user, the "parts" in the present application are not limited by material or shape. Furthermore, since the virtual assembly is generated according to the "parts" and the assembly command input by the user, the virtual assembly is not limited by material, parts, space, etc., and therefore the construction of the virtual assembly is highly flexible and the user experience is improved. [Brief explanation of the drawings]
[0037] The drawings herein, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
[0038] In order to more clearly explain the embodiments of the present disclosure or the technical solutions in the prior art, the following briefly introduces drawings that need to be used in the description of the embodiments or the prior art, and it is obvious that those skilled in the art can further derive other drawings based on these drawings without expending any creative effort. [Figure 1] 1 is a flowchart of an example method for building a virtual assembly according to the present disclosure. [Figure 2] FIG. 1 is a schematic diagram of a user interface according to the present disclosure. [Figure 3] FIG. 10 is a schematic diagram of another user interface according to the present disclosure. [Figure 4] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 5] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 6] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 7] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 8] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 9] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 10] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 11] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 12] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 13] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 14] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 15] 10 is a flowchart of an example method for constructing another virtual assembly according to the present disclosure. [Figure 16] 10 is a flowchart of yet another embodiment of a method for constructing a virtual assembly according to the present disclosure. [Figure 17] FIG. 1 is a schematic diagram of a user interface according to the present disclosure. [Figure 18] FIG. 10 is a schematic diagram of another user interface according to the present disclosure. [Figure 19]FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 20] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 21] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 22] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 23] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 24] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 25] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 26] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 27] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 28] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 29] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 30] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 31] FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure. [Figure 32] 1 is a schematic diagram of an apparatus for constructing a virtual assembly according to the present disclosure; [Figure 33] 1 is a schematic diagram illustrating the configuration of an electronic device according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0039] In order to more clearly understand the above objectives, features and advantages of the present disclosure, the technical solutions of the present disclosure are further described below. It should be noted that, unless contradictory, the embodiments and features of the embodiments of the present disclosure can be combined with each other.
[0040] In order to facilitate a thorough understanding of the present disclosure, numerous details are set forth in the following description; however, the present disclosure may be embodied in other forms different from those described herein. Obviously, the embodiments in the present specification are merely a part of, but not all of, the embodiments of the present disclosure.
[0041] The method for constructing a virtual assembly according to the present disclosure can be applied to an electronic device. Here, the electronic device may be a computer, a tablet, a mobile phone, or other intelligent terminal device. The electronic device is provided with a display screen, which may be a touch screen or a non-touch screen. In the case of an electronic device with a touch screen, a user can realize an interaction operation with the electronic device through gestures, a finger, or a touch tool (e.g., a stylus pen). On the other hand, in the case of a non-touch screen electronic device, an interaction operation with the electronic device can be realized through an external device (e.g., a mouse, a keyboard, a camera, etc.), voice recognition, facial expression recognition, etc.
[0042] The user interface displayed on the electronic device includes an operation area, and in possible embodiments may further include a function area.
[0043] The operation area is used for the user to perform assembly building operations in this area.
[0044] Functional areas contain controls, option fields and / or input fields for various functions.
[0045] A functional area may be permanently displayed in a particular region of the user interface, such as the top, left, right, or bottom.
[0046] The functional area may also have a moving function, for example, a user may move the display position of the functional area in the user interface according to his / her own habits to facilitate the execution of assembly construction operations.
[0047] Furthermore, a functional area may have a hide function or a stretch function. The hide function means that if a functional area satisfies a hide condition, the functional area is hidden in the user interface, and if a display condition is satisfied, the functional area is displayed in the user interface. Here, the hide condition or the display condition can be actively triggered by the user. For example, the functional area is displayed when the user right-clicks on a blank area, and is hidden when the user right-clicks again. Alternatively, the hide condition or the display condition can be automatically triggered when a preset condition is satisfied. For example, the functional area is automatically hidden when the user selects a function control in the functional area. The stretch function is similar to the hide function, and the stretch function displays a stretch icon in the user interface, allowing the user to switch the display state of the functional area by operating the stretch icon. For example, the stretch icon may be an arrow, and clicking the arrow can switch the display state of the functional area. If the functional area is currently assumed to be in a collapsed state, clicking the arrow expands the functional area. If the functional area is currently assumed to be in an expanded state, clicking the arrow contracts the functional area. Since the screen size of electronic devices is limited, the function of hiding or expanding the function area can expand the maximum operation space of the operation area, making user operation more convenient and improving the user experience.
[0048] The technical solutions of the present disclosure are described below with reference to several embodiments, where the same or similar concepts may refer to each other and will not be repeated here.
[0049] 1 is a flowchart of an embodiment of a method for constructing a virtual assembly according to the present disclosure. As shown in FIG. 1, the steps of this embodiment are as follows:
[0050] Step S101: Receive a cutting operation command input by a user on the board. Here, the substrate is displayed in the operation area of the user interface, and the cutting operation command is used to indicate the cutting path.
[0051] In one possible embodiment, the operation area initially displays the substrate. As shown in Figure 2, the user simply opens the user interface to build a virtual assembly, and the substrate is displayed in the operation area of the user interface. Figure 2 is a schematic diagram of a user interface according to the present disclosure.
[0052] In another case, after a user inputs attribute information of a substrate on the user interface, a substrate corresponding to the attribute information is displayed in the operation area according to the attribute information of the substrate input by the user. That is, when a user opens the user interface to build a virtual assembly, the operation area of the user interface is blank. As shown in FIG. 3, only after a user inputs attribute information of a substrate on the user interface, the operation area displays a substrate corresponding to the attribute information. FIG. 3 is a schematic diagram of another user interface according to the present disclosure.
[0053] Receiving the cutting operation command input by the user on the board includes, but is not limited to, the following possible implementation manners:
[0054] In one possible implementation, a user inputs a cutting path by clicking on the substrate, and the cutting path is a straight line connecting the positions corresponding to two consecutive clicks. The electronic device accepts the user's clicks on the substrate and determines the cutting path as a straight line connecting the positions corresponding to the two consecutive clicks (see FIG. 4). In the case of a touchscreen, the click can be implemented by a finger (e.g., a finger pad or knuckle), a touch tool (e.g., a stylus pen), an air gesture (e.g., a part of a finger approaches the screen from a distance in the vertical direction of the screen), etc. In the case of a non-touchscreen, the click can be implemented by a mouse click or a keyboard (e.g., clicking the Enter key at a specific position), etc. FIG. 4 is a schematic diagram of yet another user interface according to the present disclosure.
[0055] In another possible implementation, a user inputs a cutting path by swiping on the substrate, and a swipe trajectory corresponding to the swipe becomes the cutting path. The electronic device receives the user's swipe on the substrate and determines the swipe trajectory corresponding to the swipe as the cutting path (see FIG. 5 ). In the case of a touchscreen, the swipe can be achieved by swiping with a finger (e.g., a finger pad or knuckle), a touch tool (e.g., a stylus pen swipe), or an air gesture swipe (e.g., a finger swipe upward on the screen). In the case of a non-touchscreen, the swipe can be achieved by a mouse (e.g., swiping while holding down the mouse) or a keyboard (e.g., swiping while holding down a directional key). In a possible embodiment, when the swipe is achieved by an air gesture, the projection trajectory of the air gesture swipe trajectory on the substrate can be determined as the cutting path. FIG. 5 is a schematic diagram of yet another user interface according to the present disclosure.
[0056] In a possible embodiment, the method may further include, prior to the step of receiving a user-inputted cutting operation command on the substrate, receiving a user-inputted cutting start command, wherein the cutting start command is used to instruct to perform the cutting operation, and after detecting the cutting start command, the electronic device detects the user-inputted cutting operation command to perform the cutting operation according to the cutting path.
[0057] The manner in which the user inputs the cutoff start command includes, but is not limited to, the following possible implementation manners:
[0058] In one possible implementation, a user selection operation on the disconnect function control is accepted. The disconnect function control is displayed in the function area of the user interface (see FIG. 6), and the user selects the disconnect function control by clicking to instruct execution of the disconnect operation. FIG. 6 is a schematic diagram of yet another user interface according to the present disclosure.
[0059] Another possible implementation is to accept a user's selection of a key or key combination that corresponds to the start cutting command. For example, clicking the "C" and "T" keys simultaneously triggers the start cutting command. In another example, double-clicking the left mouse button on the board triggers the start cutting command.
[0060] In yet another possible implementation, a first operation corresponding to a start cutting command input by a user on a user interface is accepted. The first operation may include a click, a swipe, or an air gesture. For example, the user may click three consecutive times on the substrate, which corresponds to inputting the start cutting command, and the three consecutive clicks must meet a specific condition (e.g., the three consecutive clicks must be completed within one second). In another example, the user may swipe an "S" on the substrate, which corresponds to inputting the start cutting command (see FIG. 7). In yet another example, the user may input an air gesture as an "X," which corresponds to inputting the start cutting command. FIG. 7 is a schematic diagram of yet another user interface according to the present disclosure.
[0061] Step S103: Display a cutting path on the board, where the board is cut into at least two parts by the cutting path.
[0062] The cut path is displayed on the substrate and the cut path may be, for example, highlighted so that it visually appears to be separated from the substrate. The substrate is cut into at least two mutually independent parts by the cutting path (see Figure 8), Figure 8 is a schematic diagram of yet another user interface according to the present disclosure.
[0063] Step S105: Receive an assembly instruction input by a user, assemble at least two parts, and display a virtual assembly formed by the assembly. Assembly instructions are used to instruct parts to perform assembly operations.
[0064] In one possible implementation, a user can select and assemble a first part in a first orientation and a second part in a second orientation (see FIG. 9 ). The user can then drag the first part until it contacts the second part at at least one point, and assemble the first and second parts based on the contact point (see FIG. 10 ). The orientation of the parts can be manipulated using an orientation adjustment command. For example, the user can adjust the orientation of the part by clicking a specific portion of the part to rotate or move it. In this process, the assembly command includes an operation to select a part, an operation to move the part, and an assembly operation. In a possible embodiment, the assembly command can also include an operation to adjust the orientation of the part. FIG. 9 is a schematic diagram of yet another user interface according to the present disclosure, and FIG. 10 is a schematic diagram of yet another user interface according to the present disclosure.
[0065] In another possible implementation, a joint may be provided on a part, and the joint may be a plug or a socket (see FIG. 11 ), and a user may select a joint to be assembled. Furthermore, a user selection operation for a joint of a part may be accepted, and an assembly operation may be performed for the selected joint. The assembly operation may specifically include assembling two parts by mating the joints (see FIG. 12 ). FIG. 11 is a schematic diagram of yet another user interface according to the present disclosure, and FIG. 12 is a schematic diagram of yet another user interface according to the present disclosure.
[0066] For example, a user can select an assembly function control in a function area, and then select a pair of plugs and sockets. After detecting the plugs and sockets selected by the user, the electronic device can assemble the components in which the plugs and sockets are arranged by inserting the plugs into the sockets along the plug-in direction.
[0067] In a possible embodiment, the relative positions of the two parts inserted together can also be adjusted, for example, by clicking, where one click is the first relative position, another click is the second relative position, another click is the third relative position, and another click is the fourth relative position.
[0068] In a possible embodiment, the method further includes accepting a user's selection operation on an assembly function control prior to executing the assembly operation on the selected joints. Here, the assembly function control is used to instruct the execution of the assembly operation, and the assembly function control is displayed in the function area (see FIG. 13 ). Displaying the assembly function control makes the user interface more intuitive and easy to understand, thereby improving the operability and usability of the interface. Alternatively, the method determines whether the time interval between the selection operations on at least two joints is less than a preset threshold. For example, quickly clicking two joints indicates that an assembly operation is to be executed on the two joints. If the preset threshold is set to one second, the assembly operation is executed on the joints clicked within one second. If the time interval between the successive selection operations of the two joints is equal to or greater than the preset threshold, the assembly operation is not executed and another task is executed. This implementation eliminates the need to display the assembly function control on the user interface, thereby simplifying the user interface. FIG. 13 is a schematic diagram of yet another user interface according to the present disclosure.
[0069] The resulting virtual assembly after all parts have been assembled is shown in Figure 14. Figure 14 is a schematic diagram of yet another user interface according to the present disclosure.
[0070] As can be seen from the above content related to the technical solution of the present application, the present application relates to receiving a cutting operation command input by a user on a substrate, displaying the cutting path indicated by the cutting operation command on the substrate, cutting the substrate into at least two parts, and receiving an assembly command input by the user, assembling the at least two parts and displaying a virtual assembly formed by the assembly. Here, since the parts are determined by the cutting path indicated by the cutting operation command input by the user, the "parts" in the present application are not limited by material or shape. Furthermore, since the virtual assembly is generated according to the "parts" and the assembly command input by the user, the virtual assembly is not limited by material, parts, space, etc., resulting in high flexibility in constructing the virtual assembly and an improved user experience.
[0071] 15 is a flowchart of another embodiment of a method for constructing a virtual assembly according to the present disclosure, which is based on the embodiment shown in FIG. 1 and further includes, in one possible implementation, step S100 prior to step S101.
[0072] Step S100: Receive attribute information of a board input by a user to a user interface, and display a board corresponding to the attribute information in an operation area.
[0073] The attribute information of the substrate includes, but is not limited to, the shape, size, and / or display attributes of the substrate.
[0074] The shape of the substrate includes, but is not limited to, rectangular, circular, oval, diamond, or irregular.
[0075] The size parameters of a substrate may be determined depending on the shape of the substrate. For example, if the substrate is rectangular, the size parameters may include length, width, and thickness. If the substrate is circular, the size parameters may include radius and thickness.
[0076] The display attributes of the substrate may include, but are not limited to, the color, transparency, and / or texture of the substrate. The display attributes of the substrate may be user-definable or may be determined based on the material of the substrate selected by the user. Different materials have different corresponding display attributes, and each material may correspond to one or more of color, transparency, and texture. The display attributes corresponding to the materials may also be set to default values. For example, the default display attributes for metal are silver, 0, and smooth; the default display attributes for plastic are green, 5, and smooth; and the default display attributes for cardboard are yellow, 0, and twill.
[0077] The user can input the attribute information of the board through, but not limited to, the following possible implementation methods:
[0078] 1. Board shape A substrate shape selection window may be displayed within the functional area, and various selectable shapes may be displayed within the shape selection window. Alternatively, a substrate shape selection menu may be displayed within the functional area, and various selectable shapes of the substrate may be selected by expanding the shape selection menu. As long as substrate shape options can be displayed so that the user can select them, this disclosure is not limited thereto. The substrate shape options may be displayed in a graphic format or a text format, and this disclosure is not limited thereto.
[0079] The electronic device receives a shape selection command input by a user and determines a shape of the substrate, the shape selection command being used to indicate the shape of the substrate selected by the user.
[0080] A user can trigger a shape selection command by clicking the mouse to select a shape, or by pressing a key or key combination on the keyboard to select a shape. On electronic devices with a touchscreen, a user can also trigger a shape selection command by tapping with a finger, using a specific gesture, an air gesture, or using a touch tool to select a shape.
[0081] 2. Board size In one implementation, after the shape of the substrate is determined, a parameter input window corresponding to that shape can be displayed. For example, when a user selects a rectangle, a parameter input window corresponding to that rectangle is displayed. The parameter input window includes input fields for length, width, and thickness, and the user can input parameter values defined by the user. In a possible embodiment, default values can be displayed in the parameter input window, and the user can correct the default values and input parameter values defined by the user. The user can also directly confirm the size of the substrate according to the default values without changing the default values.
[0082] The electronic device receives parameters for the size of the substrate input from a user and determines the size of the substrate.
[0083] In another implementation, after the shape of the substrate is determined, the shape of the substrate can be displayed in an operation area, and the user can adjust the size of the substrate by operating a mouse and / or keyboard to trigger a size adjustment command. In the case of an electronic device with a touch screen, the user can also adjust the size of the substrate by using a finger swipe, a specific gesture, an air gesture, or a touch tool to trigger a size adjustment command.
[0084] The electronic device receives size adjustment instructions input from a user and determines the size of the substrate.
[0085] 3. PCB display attributes In one implementation, a parameter input window for display attributes can be displayed in the function area. Each parameter for a display attribute can correspond to one or more options. The user can select the parameter for each option using a mouse and / or keyboard. For example, the user can click the mouse to select a color, drag the mouse to select transparency, or click the mouse to select a texture. Alternatively, the user can use the up, down, left, right, and Enter keys on the keyboard to select a color, the left and right keys on the keyboard to select transparency, or the up, down, and Enter keys on the keyboard to select a texture. In an electronic device with a touchscreen, the user can select the parameter for each option using finger taps, swipes, specific gestures, air gestures, or touch tools.
[0086] The electronic device receives display attribute parameters input by a user and determines display attributes of the substrate.
[0087] In another implementation, substrate material options can be displayed and the user can select a material using a mouse and / or keyboard. In electronic devices with touchscreens, the user can select a substrate material using finger taps, swipes, specific gestures, air gestures, or touch tools.
[0088] The electronic device determines the display attributes of the substrate according to the material selection instruction of the user, corresponding to the material.
[0089] In this embodiment, the attribute information of the board input by the user on the user interface is received, and the board corresponding to the attribute information is displayed in the operation area according to the attribute information. Since the attribute information is defined and set by the user, the setting of the board can be made more flexible, which makes the virtual assembly based on cutting and assembling the board more diverse and further improves the user experience.
[0090] FIG. 16 is a flowchart of an example embodiment of a method for constructing yet another virtual assembly according to the present disclosure, which builds on the above example and may further include step S104 in one possible embodiment prior to step S105. Step S104: A mark corresponding to each of the at least two parts is displayed.
[0091] Marking parts makes it easier for users to manipulate them, improving the user experience.
[0092] In one implementation, marks corresponding to the parts are generated and displayed according to the order in which the parts are cut.
[0093] For example, the marks may be numbers. For example, as shown in Fig. 17, the numbers are 1, 2, 3, and 4, respectively. The parts are automatically marked according to the cutting order of the parts, which improves part marking efficiency. Fig. 17 is a schematic diagram of a user interface according to the present disclosure.
[0094] In another implementation, a user-defined marking interface can be provided, and the mark corresponding to the part input by the user can be received and displayed in the marking interface. By providing a user with a customized marking interface, the flexibility of the marking can be improved.
[0095] For example, when a user right-clicks on a part, a mark interface is displayed. The mark interface includes, but is not limited to, a part mark input field. This allows the user to input a mark corresponding to the part in the part mark input field. The method of inputting the mark corresponding to the part can be input by text editing or by selecting from multiple options (see FIG. 18). FIG. 18 is a schematic diagram of yet another user interface according to the present disclosure.
[0096] Mark information can be displayed on the parts, and cut part marks can also be displayed in the function area (see Figure 19), which is a schematic diagram of yet another user interface according to the present disclosure.
[0097] In a possible embodiment, the user interface also includes a function for displaying or hiding parts. For example, a hide control and a show control may be displayed in the function area. Depending on the mark corresponding to a part selected by the user, the part corresponding to the mark may be displayed or hidden in the operation area. For example, the user may select marks corresponding to one or more parts that need to be hidden and click the hide control to hide the parts corresponding to these marks in the operation area. For example, as shown in FIG. 20, parts marked 3, 4, and 5 are hidden. Similarly, the user may select marks corresponding to one or more parts that need to be displayed and click the show control to display the parts corresponding to these marks in the operation area. As shown in FIG. 21, parts marked 3 and 4 are displayed. FIG. 20 is a schematic diagram of yet another user interface according to the present disclosure. FIG. 21 is a schematic diagram of yet another user interface according to the present disclosure.
[0098] In a possible embodiment, the part type can also be set. For example, based on FIG. 18, a part type input field can be displayed on the mark interface, and the part type can be entered via text editing or by selecting from multiple options. For example, as shown in FIG. 22, the part type can be set according to the part type entered by the user in the mark interface. FIG. 22 is a schematic diagram of yet another user interface according to the present disclosure.
[0099] In a possible embodiment, cut parts can be moved within the operation area, allowing the user to store certain parts together as needed. For example, the user can use the mouse to store one type of part in one area and another type of part in another area, e.g., store flat parts in one area, parts marked as chair backs and seats in one area, and parts marked as chair legs in another area (see FIG. 23). Parts are moved according to the user's move command. The user can move parts by selecting them using the mouse and / or keyboard and triggering a move command. For electronic devices with a touch screen, parts can also be moved by selecting them with a touch and triggering a move command. Moving parts allows the user to assemble more conveniently. FIG. 23 is a schematic diagram of yet another user interface according to the present disclosure.
[0100] In a possible embodiment, multiple parts can be categorized and stored in corresponding folders. Folders can be created by the user or automatically generated according to part types. Categorizing and storing parts not only makes it easier for users to search for parts, but also improves the efficiency of assembling parts and enhances the user experience. Folders can be displayed in both the operation area (see FIG. 24) and the function area (see FIG. 25), but are not limited to this disclosure. FIG. 24 is a schematic diagram of yet another user interface according to the present disclosure. FIG. 25 is a schematic diagram of yet another user interface according to the present disclosure.
[0101] In one implementation, a classification control is displayed in the function area, and when the user selects the classification control (see FIG. 26), the electronic device detects that the user has selected the classification control and then stores the parts in corresponding folders according to their type, thereby enabling automatic classification of the parts. Automatic classification of parts according to their type can improve classification efficiency and further improve assembly efficiency. FIG. 26 is a schematic diagram of yet another user interface according to the present disclosure.
[0102] In another implementation, a user can drag a component to trigger a move command to save the component in a corresponding folder. The electronic device can save the file in the corresponding folder according to the user's move command for the component. The ability to drag and classify components increases the flexibility of classification.
[0103] In possible embodiments, the components of the present disclosure may also be configured with joints to facilitate assembly of the components. The process of configuring joints in the components may be performed after the components are cut from the substrate, may be performed prior to component marking and component sorting, may be performed after component marking and component sorting, or may be performed between component marking and component sorting, and is not limited to the present disclosure.
[0104] The system accepts a joint setting operation corresponding to a part input by a user. The joint setting operation includes setting an attachment position and / or a joint type. The joint type may be a plug or a socket, and the plug and socket are provided so as to be engageable with each other. For example, the plug is a protrusion, and the socket is a recess for engaging with the protrusion. The parts can be assembled by inserting the plug into the socket.
[0105] By providing the parts with plugs and sockets, users can assemble the parts simply and directly; when assembling two parts, the relative positions and orientations for assembling the two parts are determined by the plug and socket, so there is no need to translate and / or rotate the whole parts, which simplifies the assembly work and further improves the user experience.
[0106] In a possible embodiment, a coupling setting control may be displayed in the function area. The coupling setting control may be, for example, a plug control and a socket control (see FIG. 27). The socket control and the socket control are controls that can be engaged with each other, and accordingly, the socket and the plug are also engageable with each other. Here, FIG. 27 is a schematic diagram of yet another user interface according to the present disclosure.
[0107] The user selects a fitting setting control, and the control accepts the user's selection operation for the fitting setting control. The fitting setting control may be a plug control or a socket control. After the user selects the fitting setting control, the control selects an installation position for the fitting on the part, and the control accepts a fitting addition operation input by the user at the first position on the part. For example, when the user clicks on the first position on the part, this corresponds to inputting the fitting addition operation at the first position, and a fitting of the fitting type associated with the fitting setting control is displayed at the first position. For example, when the user selects a plug control, a plug is added to the installation position, while when the user selects a socket control, a socket is added to the installation position. Here, the plug also has a plug-in direction.
[0108] The joint shape can be drawn by the user or a target joint can be selected from a pre-defined joint library. Once a joint shape is selected, the joint to be added will be one with the corresponding shape.
[0109] In a possible embodiment, the above-mentioned fitting is movable, meaning that the user can move the fitting to adjust its position if necessary, and accepts a first user operation on the fitting. For example, the user can move the fitting from a first position to a second position, and the first operation is used to instruct the fitting to move from the first position to the second position. For example, as shown in FIG. 28, the plug of the part marked 3 can be moved from one end to the other, thereby improving the installation flexibility of the fitting. FIG. 28 is a schematic diagram of yet another user interface according to the present disclosure.
[0110] In a possible embodiment, the above-mentioned joints can also be duplicated, i.e., by duplicating the added joint, the same type of joint can be added to another location, and a second user operation on the joint is accepted, which is used to instruct duplicating the joint to a third location. For example, as shown in FIG. 29, the plug of the part marked 3 can be duplicated to the other end, thereby improving the efficiency of adding joints. Here, FIG. 29 is a schematic diagram of yet another user interface according to the present disclosure.
[0111] A schematic diagram of the complete assembled configuration of all components is shown in FIG. 30, which is a schematic diagram of a user interface according to the present disclosure.
[0112] In a possible embodiment, after the assembly process or assembly is completed, a confirmation command for the virtual assembly input by the user is received, and according to the confirmation command input by the user, the virtual assembly may be displayed from multiple perspectives, such as zooming in, zooming out, rotating, enlarging or reducing, and the input of different confirmation commands can be controlled, for example, by a combination of a mouse and a keyboard.
[0113] In a possible embodiment, prior to step S101, the method may further include a step of accepting a user's texture operation on the substrate and displaying the texture on the substrate (see FIG. 31), which is a schematic diagram of yet another user interface according to the present disclosure.
[0114] Here, the texture can be selected from a pre-set database, or an external image can be loaded via a link, where this disclosure is not limited.
[0115] The method for constructing a virtual assembly according to the present disclosure can be applied to an independent application program, can be integrated into another application program as a functional module of the other application program, and can even be installed into another application program as a plug-in according to user needs.
[0116] 32 is a schematic diagram of a device for constructing a virtual assembly according to the present disclosure. The device according to this embodiment includes a receiving module 3201 and a display module 3202. The receiving module 3201 receives a cutting operation command input by a user on a board that is displayed in an operation area of a user interface, and the cutting operation command is used to indicate a cutting path. The display module 3202 displays the cutting path on the substrate, and the substrate is cut into at least two parts by the cutting path. The receiving module 3201 further receives an assembly instruction input by a user, assembles the at least two parts, and displays a virtual assembly formed by the assembly, where the assembly instruction is used to instruct the parts to perform an assembly operation.
[0117] In a possible embodiment, the receiving module 3201 further receives attribute information of a substrate input by a user to the user interface, and displays a substrate corresponding to the attribute information in the operation area.
[0118] In a possible embodiment, the receiving module 3201 further receives a start disconnection command input by a user, and the start disconnection command is used to instruct to perform a disconnection operation.
[0119] In a possible embodiment, the receiving module 3201 specifically accepts a user's selection operation on a disconnection function control, accepts a user's selection operation on a key or key combination corresponding to a start disconnection command, or accepts a first operation corresponding to a start disconnection command input by a user on the user interface, where the first operation includes a click, a swipe, or an air gesture.
[0120] In a possible embodiment, the receiving module 3201 receives a user's click operation on the substrate and determines a straight line between positions corresponding to two consecutive click operations as the cutting path, or receives a user's swipe operation on the substrate and determines a swipe trajectory corresponding to the swipe operation as the cutting path.
[0121] In a possible embodiment, the display module 3202 specifically displays a mark corresponding to each of the at least two parts.
[0122] In a possible embodiment, the display module 3202 specifically generates and displays marks corresponding to parts according to the cutting sequence of the parts, or displays a customized mark interface, and receives and displays marks corresponding to parts input by the user in the mark interface.
[0123] In a possible embodiment, the receiving module 3101 further accepts a joint setting operation corresponding to the part input by the user, the joint setting operation including setting an installation position and / or setting a joint type.
[0124] In a possible embodiment, the receiving module 3201 specifically accepts a user selection operation on a joint setting control associated with a joint type, accepts a joint addition operation input by the user at a first position of a part, and displays joints of the joint type associated with the joint setting control at the first position.
[0125] In a possible embodiment, the receiving module 3201 further receives a first user operation on the joint, moving the joint from a first position to a second position, the first operation being used to instruct the joint to be moved from the first position to the second position, and / or receives a second user operation on the joint, duplicating the joint to a third position, the second operation being used to instruct the joint to be duplicated to the third position.
[0126] In a possible embodiment, the receiving module 3201 specifically accepts a user's selection operation for a joint of the part, and executes an assembly operation for the selected joint.
[0127] In a possible embodiment, the receiving module 3201 further receives a user selection operation on the assembly function control to instruct the execution of an assembly operation, or determines that the time interval between selection operations on at least two joints is less than a preset threshold.
[0128] In a possible embodiment, the receiving module 3201 further receives a confirmation instruction for the virtual assembly input by a user, and causes the display module 3202 to display the virtual assembly in multiple viewpoints according to the confirmation instruction.
[0129] In a possible embodiment, the receiving module 3201 further receives a user's texture manipulation on the substrate and displays the texture on the substrate.
[0130] The apparatus according to this embodiment corresponds to the technical solution for implementing each of the method embodiments described above, and the implementation principles and technical effects thereof are similar, so they will not be repeated.
[0131] 33 is a schematic diagram of the configuration of an electronic device according to the present disclosure. The electronic device according to this embodiment includes a processor 3301, a memory 3302, and a display 3303. The processor 3301 is used to execute a computer program stored in the memory 3302, and when the computer program is executed by the processor 3301, the electronic device realizes any one of the embodiments of the method for constructing a virtual assembly provided by the embodiments of the present application. The display 3303 is used to display a user interface for the method.
[0132] The present disclosure also provides a computer-readable storage medium having a computer program stored thereon, the computer program implementing the steps of the method embodiments when executed by a processor.
[0133] It should be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another and do not necessarily require or imply any actual relationship or order between those entities or operations. Furthermore, the terms "comprise" and "comprises," or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or device that includes a set of elements not only includes those elements, but also includes other elements not expressly stated or inherent in such process, method, article, or device. Furthermore, in the absence of further limitations, an element defined by the phrase "comprises" does not exclude the presence of other similar elements in a process, method, article, or device that includes said element.
[0134] The above description is merely a specific embodiment of the present disclosure that will enable those skilled in the art to understand and practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art. The general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. 1. A method for constructing a virtual assembly, comprising: receiving a cutting operation command input by a user on a substrate, the substrate being displayed in an operation area of a user interface, the cutting operation command being used to indicate a cutting path; marking the cutting path on the substrate, the substrate being cut into at least two parts by the cutting path; receiving assembly instructions input by the user, assembling the at least two parts, and displaying a virtual assembly formed by the assembly, wherein the assembly instructions are used to instruct the at least two parts to perform an assembly operation; Prior to the step of receiving assembly instructions input by the user, the method further comprises: generating and displaying marks for the components according to the order in which the components are cut from the board, thereby enabling the user to recognize the components; receiving a joint setting operation corresponding to the part input by the user; and setting a joint for the at least two components in response to the joint setting operation, the joint setting operation including setting an attachment position of the joint and / or setting a type of the joint, the substrate further comprises a functional area; The method comprises: displaying a mark of the component in the functional area; In response to a selection operation on at least one of the marks in the functional area, the method further includes the step of displaying or hiding the component corresponding to the mark in the operation area.
2. Prior to the step of receiving a cutting operation command input by a user on the board, The method of claim 1 , further comprising the step of receiving attribute information of a substrate input by the user to the user interface, and displaying a substrate corresponding to the attribute information in the operation area.
3. Prior to the step of receiving a cutting operation command input by a user on the board, The method of claim 1 , further comprising the step of receiving an initiation cut command input by the user, the initiation cut command being used to instruct a cut operation to be performed.
4. The step of receiving a cut start command input by the user includes: receiving a user selection operation for a disconnection function control; receiving a user's selection of a key or key combination corresponding to the start cutting command; or 4. The method of claim 3, further comprising: accepting a first operation corresponding to a start cutting command input by the user on the user interface, the first operation including a click, a swipe, or an air gesture.
5. The step of receiving a cutting operation command input by a user on the board includes: receiving a click operation by the user on the board, and determining a straight line between positions corresponding to two successive click operations as a cutting path; or The method according to any one of claims 1 to 4, comprising the steps of: accepting a swipe operation by the user on the substrate; and determining a swipe trajectory corresponding to the swipe operation as a cutting path.
6. The step of accepting a joint setting operation corresponding to the part input by the user includes: receiving a selection operation by the user for a joint setting control, wherein the joint setting control is associated with a joint type; 2. The method of claim 1, further comprising: accepting a joint addition operation input by the user at a first position of the part; and displaying a joint of a joint type associated with the joint setting control at the first position.
7. After the step of displaying a joint of a joint type associated with the joint setting control in the first position, receiving a first user operation on the joint and moving the joint from the first position to a second position, the first operation being used to instruct the joint to move from the first position to the second position; and / or 7. The method of claim 6, further comprising: accepting a second operation of the user on the joint and duplicating the joint to a third location, the second operation being used to indicate that the joint should be duplicated to the third location.
8. receiving an assembly instruction input by the user and assembling the at least two components; The method of claim 1 , further comprising accepting a selection operation by the user for a joint of the part, and performing an assembly operation on the joint corresponding to the selection operation.
9. Prior to the step of performing an assembly operation on the joint corresponding to the selection operation, accepting a user selection of an assembly function control, the assembly function control being used to instruct the user to perform an assembly task; or The method of claim 8 , further comprising determining that a time interval between selection operations for at least two of the joints is less than a preset threshold.
10. The method according to any one of claims 1 to 4, further comprising the step of receiving a confirmation command for the virtual assembly input by the user, and displaying the virtual assembly from multiple viewpoints in accordance with the confirmation command.
11. Prior to the step of receiving a cutting operation command input by a user on the board, The method according to any one of claims 1 to 4, further comprising the step of accepting a texture operation from the user on the substrate and displaying a texture on the substrate.
12. 1. An apparatus for constructing a virtual assembly, comprising: a receiving module for receiving a cutting operation command input by a user on a board, the board being displayed in an operation area of a user interface, and the cutting operation command being used to indicate a cutting path; a display module for displaying the cutting path on the board, the display module being configured to cut the board into at least two parts by the cutting path, and to generate and display marks of the parts according to the order in which the parts are cut from the board, thereby enabling the user to recognize the parts; the receiving module is further configured to receive an assembly instruction input by the user, assemble the at least two parts, and display a virtual assembly formed by the assembly, the assembly instruction being used to instruct the parts to perform an assembly operation; the receiving module is further configured to receive a joint setting operation corresponding to the component input by a user, and to set joints for the at least two components in response to the joint setting operation, the joint setting operation including setting an installation position of the joint and / or setting a type of the joint; the substrate further comprises a functional area; the display module is further configured to display marks of the components in the function area, and to display or hide the components corresponding to the marks in the operation area in response to a selection operation on at least one of the marks in the function area. Device.
13. An electronic device comprising a processor for executing a computer program stored in a memory, the computer program implementing the steps of the method according to any one of claims 1 to 11 when executed by the processor.
14. A computer-readable storage medium having stored thereon a computer program, the computer program implementing the steps of the method according to any one of claims 1 to 11 when executed by a processor.
Citation Information
Patent Citations
Method for improving numerical control cutting efficiency
CN107346123A
A three-dimensional part automatic assembly method for virtual assembly
CN109710069A
Model production device and its storage medium
JP1997153082A
Drawing operation method of electronic device
JP2012168940A
System and method for simulated physical interactions with haptic effects
JP2014102830A