Methods and apparatuses for extracting middle surface, electronic devices, and related products
The method and apparatus enhance the efficiency of extracting a middle surface by processing volumetric elements and generating middle surface patches, addressing the inefficiencies of existing methods and reducing computational time and user interaction.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2024-12-09
- Publication Date
- 2026-06-18
Smart Images

Figure RU2024000364_18062026_PF_FP_ABST
Abstract
Description
METHODS AND APPARATUSES FOR EXTRACTING MIDDLE SURFACE, ELECTRONIC DEVICES, AND RELATED PRODUCTSTECHNICAL FIELD
[0001] This disclosure relates generally to the field of computer-aided engineering (CAE) technologies, and in particular, to methods and apparatuses for extracting a middle surface, electronic devices, and related products.BACKGROUND
[0002] A middle surface is a simplified representation of a three-dimensional (3D) body or model of an object such as a real-world component or structure (e.g. a car or a car battery). The middle surface may enable engineers to use two-dimensional (2D) elements (e.g. triangles or quadrilaterals) on the middle surface during an analysis process of the object. The middle surface may be divided into 2D elements. In the field of CAE technologies, the middle surface may be used for simplifying calculations of physical fields such as electromagnetic, thermal, strength, force, stress, or temperature, on the object, which may be equivalent to calculations of physical fields on the object according to the 3D body or model of the object However, obtaining the middle surface may be complex, so improving the efficiency of obtaining the middle surface is a problem that needs to be resolved.SUMMARY
[0003] The present disclosure provides methods, apparatuses, computing devices, and related products for extracting middle surface, so that a middle surface of a 3D body may be extracted efficiently.
[0004] According to a first aspect, a middle surface extraction method is described. The method may be performed by a computing device (e.g. a computer), or the method may be performed by a module, a circuit, a unit, or a chip in the computing device where the module, the circuit, the unit, or the chip is responsible for the middle surface extraction method in the computing device. The method includes: obtaining, for a body, a mesh including a plurality of volumetric elements and a plurality of surfaces, where a volumetric element in the plurality of volumetric elements includes a plurality of vertices and a plurality of faces, all vertices of the plurality of volumetric elements are located on the plurality of surfaces, and a portion of all faces of the plurality of volumetric elements are located on the plurality of surfaces; determining one or more thin-walled parts of the body, where a first thin-walled part in the one or more thin-walled parts includes a first surface and a second surface in the plurality of surfaces and a first set of volumetric elements in the plurality of volumetric elements; for the first thin-walled part, obtaining a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements; and determining a first middle surface of the body according to the first middle surface patch.
[0005] According to this method, the mesh including the plurality of volumetric elements and the plurality of surfaces is obtained for the body, the one or more thin-walled parts of the body are determined using the mesh, the thin- walled part in the one or more thin-walled parts includes the first surface and the second surface in the plurality of surfaces and the first set of volumetric elements in the plurality of volumetric elements, the middle surface patch is obtained for each thin-walled part in the one or more thin-walled parts according to the first surface, the second surface and the first set of volumetric elements, and the first middle surface of the body is determined according to the first middle surface patch. The obtained mesh includes the plurality of volumetric elements, and the plurality of volumetric elements may be simpler and are easy for calculations, simplifying the computational process and reducing the need for adj ustments, and further improving the efficiency of obtaining the middle surface. Furthermore, the one or more thin-walled parts may be determined using the mesh, the recognition efficiency of the thin-walled parts may be improved and it may not require additional operations from the user. In addition, the generated middle surface only includes one or more simple polygons due to the usage of the mesh, which may not require multiple adjustments from the user. Therefore, the method provided in the foregoing embodiments of the present disclosure improves the efficiency of obtaining the middle surface by reducing computational time and user interaction and adjustments.
[0006] In some embodiments, the first surface or the second surface includes at least one face of a volumetric element in the first set of volumetric elements.
[0007] According to the foregoing embodiments, the first surface or the second surface includes at least one face of the volumetric element in the first set of volumetric elements. The first set of volumetric elements is volumetric elements between the first surface and the second surface, and volumetric elements connected to the first surface or the second surface but are not located between the first surface and the second surface, are excluded, further improving the computational efficiency.
[0008] In some embodiments, the thin-walled part is determined by actions of determining the first surface from the plurality of surfaces, where a set of vertices are located on the first surface; determining a second set of volumetric elements, where each of the second set of volumetric elements includes at least one vertex of the set of vertices; determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements; and determining the second surface from the one or more third surfaces.
[0009] In the foregoing embodiments, the first surface may be determined from the plurality of surfaces, where the set of vertices are located on the first surface; the second set of volumetric elements is determined, where each of the second set of volumetric elements includes at least one vertex of the set of vertices; the one or more third surfaces are determined from the plurality of surfaces according to the second set of volumetric elements; and the second surface is determined from the one or more third surfaces. Therefore, the one or more candidate third surfaces are determined according to the second set of volumetric elements where the second set of volumetric elements relates to the set of vertices located on the first surface; and the second surface may be determined from the one or more candidate third surfaces. There is no need to determine the second surface from the whole body, reducing the time and computational cost, and further improving the efficiency of obtaining the middle surface.
[0010] In some embodiments, determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements, includes: determining, from the plurality of surfaces, a surface that includes at least one face of the second set of volumetric elements as the third surface.
[0011] In the foregoing embodiments, by determining the set of vertices, determining the second set of volumetric elements based on the set of vertices, and determining the one or more third surfaces based on the second set of volumetric elements, only the surfaces include at least one face in the faces of the second set of volumetric elements are determined as third surfaces. By doing so, the scope of third surfaces may be constrained within surfaces that are related to the thin-walled part. Therefore, the subsequent process of determining the second surface may only be performed on these third surfaces, and the time and computational cost may be further reduced, and the efficiency of obtaining the middle surface may be further improved.
[0012] In some embodiments, determining the second surface from the one or more third surfaces includes: determining the second surface from the one or more third surfaces according to a preset condition.
[0013] In some embodiments, the preset condition includes at least one of: paralleling to the first surface; an absolute value of a difference between a perpendicular distance with the first surface, and an average distance of perpendicular distances with the first surface being smaller than a first threshold; or a volume of an overlap with the first surface being greater than a second threshold.
[0014] According to the foregoing embodiments, the second surface may be determined from the one or more third surfaces according to the preset condition, and the preset condition may include one or more of: paralleling to the first surface; the absolute value of the difference between the perpendicular distance with the first surface and the average distance of perpendicular distances with the first surface being smaller than the first threshold; or the volume of the overlap with the first surface being greater than the second threshold. In a case where the third surface meets one or more of three conditions, the third surface is determined as the second surface, and the pair of surfaces is determined, i.e. the first surface and the second surface are determined. In some embodiments, the checking of three conditions is only performed on the vertices of volumetric elements that are on surfaces. Comparing checking a plurality of points on the surfaces, the time and computational cost may be reduced by checking only the vertices of volumetric elements.
[0015] In some embodiments, generating a middle surface patch according to the first surface, the second surface, and the first set of volumetric elements includes obtaining a middle plane that passes through a middle point of a line connecting acentroid of the first surface and a centroid of the second surface; and obtaining one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch.
[0016] According to the foregoing embodiments, the middle plane that passes through the middle point of the line connecting the centroid of the first surface and the centroid of the second surface is obtained, and the one or more first crosssections between the middle plane and the first set of volumetric element is determined as the middle surface patch. By doing so, the first cross-sections may be obtained as the middle surface patch, and there may be no need to further tessellate the middle surface patch or make any adjustments to the middle surface patch. Therefore, the computational cost for obtaining the middle surface may be reduced, and the efficiency may be improved.
[0017] In some embodiments, determining a first middle surface of the body according to the first middle surface patch including: determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts, where the one or more middle surface patches includes the first middle surface patch.
[0018] In some embodiments, determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts includes: determining, from the one or more middle surface patches, a first middle surface patch and a second middle surface patch that are not connected; determining a third set of volumetric elements according to a first thin-walled part corresponding to the first middle surface patch and a second thin-walled part corresponding to the second middle surface patch, where a volumetric element in the third set of volumetric elements includes at least one vertex included in the first thin-walled part or second thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the first thin-walled part or the second thin-walled part; determining cross-sections between a middle plane of the first middle surface patch and the third set of volumetric elements, and cross-sections between a middle plane of the second middle surface patch and the third set of volumetric elements; and determining one or more second cross-sections among the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch, where the one or more second cross-sections are used to connect the first middle surface patch and the second middle surface patch; and obtaining the first middle surface, by connecting the one or more second cross-sections with the first middle surface patch and the second middle surface patch.
[0019] According to the foregoing embodiment, the first middle surface patch and the second middle surface patch that are not connected are determined from the one or more middle surface patches; the third set of volumetric elements is determined according to the first thin-walled part corresponding to the first middle surface patch and the second thin-walled part corresponding to the second middle surface patch, where the volumetric element in the third set of volumetric elements includes the at least one vertex included in the first thin-walled part or second thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the first thin-walled part or the second thin-walled part; cross-sections between the middle plane of the first middle surface patch and the third set of volumetric elements, and cross-sections between the middle plane of the second middle surface patch and the third set of volumetric elements are determined; and one or more second cross-sections among the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch are determined, where the one or more second cross-sections are used to connect the first middle surface patch and the second middle surface patch; and the first middle surface is obtained by connecting the one or more second cross-sections with the first middle surface patch and the second middle surface patch. The one or more second cross-sections that connect the middle surface patches are determined based on the third set of volumetric elements. By determining the third set of volumetric elements, the second cross-sections may be determined more efficiently.
[0020] In some embodiments, determining one or more second cross-sections includes: determining, among paths between a first point of the first middle surface patch and a second point of the second middle surface patch, a shortest path; and determining, from the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch, one or more second cross-sections according to the shortest path, where a second crosssection in the one or more second cross-sections includes at least a segment of the shortest path.
[0021] According to the foregoing embodiments, the shortest path is determined among paths between the first point of the first middle surface patch and the second point of the second middle surface patch; and the one or more second cross-sections are determined based on shortest path from the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch. By using the shortest path, the one or more second crosssections are determined as one or more cross-sections including at least one segment of the shortest path. Therefore, the method according to these embodiments may provide an efficient way for determining the one or more second cross-sections to connect the middle surface patches.
[0022] In some embodiments, the method further includes: in a case where the first middle surface includes one or more quadrilaterals, obtaining a second middle surface by dividing a quadrilateral in the one or more quadrilaterals into at least two triangles.
[0023] According to the foregoing embodiments, in a case where the first middle surface includes one or more quadrilaterals, the second middle surface is obtained by dividing the quadrilateral in the one or more quadrilaterals into at least two triangles. Therefore, compared to the first middle surface including one or more quadrilaterals, the second middle surface only includes a plurality of triangles. By doing so, the second middle surface may only include simple geometric shapes, and therefore the complexity of the calculations on the second middle surface may be lowered, and the accuracy of the calculations on the second middle surface may be improved.
[0024] In some embodiments, the volumetric elements include tetrahedrons, hexahedra, or prisms.
[0025] According to the foregoing embodiments, the volumetric elements may include tetrahedrons, hexahedra, or prisms.The shapes of tetrahedrons, hexahedra, or prisms are relatively simple and are easy for calculations, simplifying the computational process and reducing the need for adjustments, and further improving the efficiency of obtaining the middle surface. Furthermore, the 2D elements on the middle surface obtained may be polygons of the general appearance of tetrahedrons, hexahedra, or prisms.
[0026] According to a second aspect, a middle surface extraction apparatus is described. The apparatus may be configured in a computing device (e.g. a computer), or the apparatus may be configured as a module, a circuit, a unit, or a chip in the computing device where the module, the circuit, the unit, or the chip is responsible for the middle surface extraction. The apparatus includes various units for performing the method according to the first aspect or any example in the first aspect. The apparatus includes: an obtaining unit and a processing unit. The obtaining unit may be configured to obtaining, for a body, a mesh including a plurality of volumetric elements and a plurality of surfaces, where a volumetric element in the plurality of volumetric elements includes a plurality of vertices and a plurality of faces, all vertices of the plurality of volumetric elements are located on the plurality of surfaces, and a portion of all faces of the plurality of volumetric elements are located on the plurality of surfaces. The processing unit may be configured to determine one or more thin-walled parts of the body, where a first thin-walled part in the one or more thin-walled parts includes a first surface and a second surface in the plurality of surfaces and a first set of volumetric elements in the plurality of volumetric elements; for the first thin-walled part, obtaining a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements; and determining a first middle surface of the body according to the first middle surface patch.
[0027] In some embodiments, the first surface or the second surface includes at least one face of a volumetric element in the first set of volumetric elements.
[0028] In some embodiments, the processing unit is configured to determine the thin-walled part by performing actions of determining the first surface from the plurality of surfaces, where a set of vertices are located on the first surface; determining a second set of volumetric elements, where each of the second set of volumetric elements includes at least one vertex of the set of vertices; determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements; and determining the second surface from the ate or more third surfaces.
[0029] In some embodiments, the determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements includes the processing unit being configured to determine, from the plurality of surfaces, a surface that includes at least one face of the second set of volumetric elements as the third surface.
[0030] In some embodiments, determining the second surface from the one or more third surfaces includes the processing unit 1420 being configured to determine the second surface from the one or more third surfaces according to a preset condition.
[0031] In some embodiments, the preset condition includes at least one of paralleling to the first surface; an absolute value of a difference between a perpendicular distance with the first surface, and an average distance of perpendicular distances with the first surface being smaller than a first threshold; or a volume of an overlap with the first surface being greater than a second threshold.
[0032] In some embodiments, the obtaining a middle surface patch according to the first surface, the second surface, and the first set of volumetric elements includes the processing unit being configured to obtain a middle plane that passes through a middle point of a line connecting a centroid of the first surface and a centroid of the second surface; and obtain one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch.
[0033] In some embodiments, the determining a first middle surface of the body according to the first middle surface patch includes the processing unit being configured to determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts, where the one or more middle surface patches includes the first middle surface patch.
[0034] In some embodiments, determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts includes the processing unit being configured to determine, from the one or more middle surface patches, a first middle surface patch and a second middle surface patch that are not connected; determine a third set of volumetric elements according to a first thin-walled part corresponding to the first middle surface patch and a second thin-walled part corresponding to the second middle surface patch, where a volumetric element in the third set of volumetric elements includes at least one vertex included in the first thin-walled part or second thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the first thin-walled part or the second thin-walled part; determine cross-sections between a middle plane of the first middle surface patch and the third set of volumetric elements, and crosssections between a middle plane of the second middle surface patch and the third set of volumetric elements; and determine one or more second cross-sections among the cross-sections corresponding to the first middle surface patch and the crosssections corresponding to the second middle surface patch, where the one or more second cross-sections are used to connect the first middle surface patch and the second middle surface patch; and obtain the first middle surface, by connecting the one or more second cross-sections with the first middle surface patch and the second middle surface patch.
[0035] In some embodiments, the determining one or more second cross-sections includes the processing unit being configured to determine, among paths between a first point of the first middle surface patch and a second point of the second middle surface patch, a shortest path; and determine, from the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch, one or more second cross-sections according to the shortest path, where a second cross-section in the one or more second cross-sections includes at least a segment of the shortest path.
[0036] In some embodiments, the processing unit is configured to obtain a second middle surface by dividing a quadrilateral in the one or more quadrilaterals into at least two triangles, in a case where the first middle surface includes one or more quadrilaterals.
[0037] In some embodiments, the volumetric elements include tetrahedrons, hexahedra, or prisms.
[0038] According to a third aspect, a computing device is described. The computing device includes processing circuitry for performing the method according to the first aspect or any example in the first aspect.
[0039] According to a fourth aspect, a chip is provided. The chip includes an input / output (I / O) interface and a processor, where the processor is configured to call and run a computer program stored in a memory, to enable a device installed with the chip to execute the method according to the first aspect or any example in the first aspect.
[0040] According to a fifth aspect, a computing device is described. The computing device includes one or more processors; and a memory storing instructions which, when executed by the one or more processors, cause the device to perform the cause the device to perform the method according to the first aspect or any example in the first aspect.
[0041] According to a sixth aspect, a computing device cluster is described. The computing device cluster includes one or more computing devices, and each computing device includes one or more processors and a memory; and one or moreprocessors of the one or more computing devices are configured to execute instructions stored in a memory of the one or more computing devices, cause the computing device cluster to perform the method according to the first aspect or any example in the first aspect.
[0042] According to a seventh aspect, a computer-readable storage medium is described. The computer-readable storage medium stores computer-readable instructions, and when a computer reads and executes the computer-readable instructions, the computer is enabled to perform the method according to the first aspect or any example in the first aspect.
[0043] According to an eighth aspect, a computer program product is described. When a computer reads and executes the computer program product, the computer is enabled to perform the method according to the first aspect or any example in the first aspect.
[0044] The present disclosure encompasses various embodiments, including not only method embodiments but also other embodiments such as apparatus / device embodiments and embodiments related to non-transitory computer readable storage media Embodiments may incorporate, individually or in combinations, the features disclosed herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0045] For a better understanding of the present disclosure, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:
[0046] FIG. 1 is a schematic diagram illustrating an example computing device to which some embodiments of the present disclosure are applicable;
[0047] FIG. 2 is a schematic diagram illustrating a plurality of example 3D bodies in accordance with some embodiments of the present disclosure;
[0048] FIG. 3 is a schematic diagram illustrating an example 3D body in accordance with some embodiments of the present disclosure;
[0049] FIG. 4 is a schematic flowchart illustrating a method for obtaining a middle surface in accordance with some embodiments of the present disclosure;
[0050] FIG. 5 is a schematic diagram illustrating a mesh of a 3D body in accordance with some embodiments of the present disclosure;
[0051] FIG. 6A is a schematic diagram illustrating a part in accordance with some embodiments of the present disclosure;
[0052] FIG. 6B is a schematic diagram illustrating a front view of the part in FIG. 6A in accordance with some embodiments of the present disclosure;
[0053] FIG. 6C is a schematic diagram illustrating a front view of a part in accordance with some embodiments of the present disclosure;
[0054] FIG. 7 is a schematic diagram illustrating a relationship between a count of second surfaces and a count of third surfaces in accordance with some embodiments of the present disclosure;
[0055] FIG. 8A is a schematic diagram illustrating a process of determining a middle point in accordance with some embodiments of the present disclosure;
[0056] FIG. 8B is a schematic diagram illustrating a process of generating a middle plane in accordance with some embodiments of the present disclosure;
[0057] FIG. 8C is a schematic diagram illustrating a front view of a process of generating a middle plane in accordance with some embodiments of the present disclosure;
[0058] FIG. 9A is a schematic diagram illustrating a plane intersecting with a volumetric element in accordance with some embodiments of the present disclosure;
[0059] FIG. 9B is a schematic diagram illustrating a plane intersecting with a volumetric element in accordance with some embodiments of the present disclosure;
[0060] FIG. 10 is a schematic diagram illustrating a process of generating a middle surface patch in accordance with some embodiments of the present disclosure;
[0061] FIG. 11 A is a schematic diagram illustrating two middle surface patches in accordance with some embodiments of the present disclosure;
[0062] FIG. 1 IB is a schematic diagram illustrating a process of connecting the two middle surface patches in FIG. 11 A in accordance with some embodiments of the present disclosure;
[0063] FIG. 12 is a schematic diagram illustrating a process of dividing a quadrilateral into two triangles in accordance with some embodiments of the present disclosure;
[0064] FIG. 13 is a schematic diagram illustrating a 3D body and a middle surface of the 3D body in accordance with some embodiments of the present disclosure;
[0065] FIG. 14 is a block diagram of a middle surface extraction apparatus in accordance with some embodiments of the present disclosure;
[0066] FIG. 15 is a block diagram of a computing device in accordance with some embodiments of the present disclosure;
[0067] FIG. 16 is a block diagram of a computing device cluster in accordance with some embodiments of the present disclosure; and
[0068] FIG. 17 is a block diagram of connections between computing devices in accordance with some embodiments of the present disclosure.
[0069] DETAILED DESCRIPTION
[0070] In the following description, reference is made to the accompanying drawings, which form part of the present disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and include structural or logical changes not depicted in the drawings.
[0071] The embodiments set forth herein represent information sufficient to practice the claimed subject matter and illustrate ways of practicing such subject matter. Upon reading the following description in light of the accompanying drawings, a person skilled in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. It is understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.
[0072] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present disclosure and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that a person skilled in the art may devise various arrangements which, although not explicitly described or illustrated herein, nonetheless embody the principles of the present disclosure and are included within its spirit and scope.
[0073] Moreover, all statements herein reciting principles, aspects, and implementations of the present disclosure, as well as specific examples thereof are intended to encompass both structural and functional equivalents thereof whether they are currently known or developed in the future. Thus, for example, it will be appreciated by a person skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present disclosure. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly illustrated.
[0074] The functions of the various elements illustrated in the figures, including any functional block labeled as a "processor", may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some embodiments of the present disclosure, the processor may be a general-purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP). Moreover, explicit use of the term a "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitlyinclude, without limitation, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and / or custom, may also be included.
[0075] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and / or textual description. Such modules may be executed by hardware that is expressly or implicitly illustrated. Moreover, it should be understood that module may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry or a combination thereof which provides the required capabilities.
[0076] With these fundamentals in place, a computing device that may be used to implement embodiments of the present disclosure will be first introduced below.
[0077] FIG. 1 illustrates a diagram of an example computing device that may be used to implement any of methods described herein, in accordance with some embodiments of the present disclosure.
[0078] In some embodiments, the computing device 100 may be implemented by any of a conventional personal computer, a computer dedicated to operating and / or monitoring systems related to a data center, a controller and / or an electronic device (such as, but not limited to, a mobile device, a tablet device, a server, a controller unit, a control device, a monitoring device etc.) and / or any combination thereof appropriate to the relevant task at hand.
[0079] As illustrated in FIG. 1, the computing device 100 includes various hardware components including one or more single or multi-core processors collectively represented by a processor 110, a solid-state drive 120, a random-access memory 130 and an input / output interface 150.
[0080] The computing device 100 may be an “off the shelf’ generic computer system. The computing device 100 may also be dedicated to the implementation of the present disclosure. In some embodiments, the computing device 100 may also be distributed amongst multiple systems. A person skilled in the art of the present disclosure may appreciate, multiple variations as to how the computing device 100 is implemented may be envisioned without departing from the scope of the present disclosure.
[0081] Communication between the various components of the computing device 100 may be enabled by one or more internal and / or external buses 160 (e.g. a peripheral component interconnect (PCI) bus, universal serial bus, institute of electrical and electronics engineers (IEEE) 1394 “Firewire” bus, small computer system interface (SCSI) bus, serial advanced technology attachment (Serial-ATA) bus, aeronautical radio incorporated (ARINC) bus, etc.), to which the various hardware components are electronically coupled.
[0082] The inpul / output interface 150 may allow enabling networking capabilities such as wire or wireless access. As an example, the input / output interface 150 may include a networking interface such as, but not limited to, a network port, a network socket, a network interface controller and the like. Multiple examples of how the networking interface may be implemented will become apparent to the person skilled in the art of the present disclosure. For example, but without being limitative, the networking interface may implement specific physical layer and data link layer standard such as Ethernet, Fibre Channel, Wi-Fi or Token Ring. The specific physical layer and the data link layer may provide a base for a full network protocol stack, allowing communication among small groups of computers on the same local area network (LAN) and large- scale network communications through routable protocols, such as Internet Protocol (IP).
[0083] In some embodiments, the solid-state drive 120 stores program instructions suitable for being loaded into the random-access memory 130 and executed by the processor 110 for operating data centers based on a generated machine learning pipeline. For example, the program instructions may be part of a library or an application.
[0084] In some embodiments, the computing device 100 may be implemented as part of a cloud computing device. Broadly, a cloud computing device is a type of computing that relies on a network of remote servers hosted on the Internet, for example, to store, manage, and process data, rather than a local server or personal computer. This type of computing may allow users to access data and applications from remote locations, and provide a scalable, flexible, and cost-effective solution for data storage and computing. Cloud computing devices can be divided into three main categories: Infrastructure as a Service(laaS), Platform as a Service (PaaS), and Software as a Service (SaaS). In an laaS environment, users can rent virtual servers, storage, and other computing resources from a third-party provider, for example. In a PaaS environment, users have access to a platform for developing, running, and managing applications without having to manage the underlying infrastructure. In a SaaS environment, users can access pre-built software applications that are hosted by a third-party provider, for example. In summary, cloud computing devices may offer a range of benefits, including cost savings, scalability, increased agility, and the ability to quickly deploy and manage applications.
[0085] The present disclosure relates to computer-aided engineering (CAE) technologies and some terminologies and techniques in the computer-aided engineering (CAE) technologies to illustrate various implementations of embodiments of the present disclosure may be introduced below.
[0086] 3D bodies or models: real-world objects such as real-world components and structures (e.g. a car or a car battery) may be transformed into 3D bodies or models that are suitable for computational modeling and simulation. FIG. 2 illustrates a plurality of example 3D bodies. As illustrated in FIG. 2, each 3D body or model may be a representation of a corresponding real-world object and may have similar shapes, characteristics, and proportionate sizes as the corresponding real-world object.
[0087] The 3D body or model of the real-world obj ect may be obtained by using various manners. For example, a 3D laser scanner may capture the shape and appearance of the real-world object and transmit the captured information to the computing device 100, and the computing device 100 may display the captured information as the 3D body or model. Other manners of obtaining the 3D body or model are also possible and are not limited in the embodiments of the present disclosure. In the following content, the 3D body or model and 3D bodies or models may be referred to as “body” or “bodies” respectively for simplicity.
[0088] Thin-walled bodies: a thin-walled body is a type of body having a thickness much smaller than other dimensions (e.g. diagonal) of a box enclosing the body. The thin-walled body is common in real-world objects, for example, the body of the car or the body of the car battery may be predominantly the thin-walled body.
[0089] Thin-walled parts: the thin-walled body may include one or more thin-walled parts, and each thin-walled part may also have the thickness much smaller than the other dimensions. In a case where the thin-walled body includes one thin-walled part, the thin-walled body may be referred to as the thin-walled part.
[0090] In addition, taking the body in FIG. 3 for an example. Dashed block 301 represents a body of an object, and the small dashed block in dashed block 301 is an enlargement of a part of the body. Dashed block 302 represents that seven thinwalled parts (i.e. thin-walled part 1 to thin-walled part 7) are identified in the body.
[0091] Middle surface: during the analysis process of the object, engineering or industrial calculations on the object may be a common task. For example, in automotive engineering, the structural integrity of the car battery is calculated on the car battery to ensure the car battery withstand mechanical stresses. However, calculations on the object based on the corresponding body (or the thin-walled body or the thin-walled part) may be complex due to the structural characteristics of the body (or the thin-walled body or the thin-walled part). The body (or the thin-walled body or the thin-walled part) may be referred to as the body for concision hereafter. Therefore, a middle surface that is used to represent the body is provided. For example, the middle surface may be used in the engineering or industrial analysis of the projected parts and structures of the object, including calculations of electromagnetic, thermal, strength, force, stress, temperature, or other physical fields.
[0092] The middle surface is a simplified representation of the body. In some embodiments, the middle surface may be defined as a surface such that any normal to it intersects two free surfaces of the body at the same distance ± h. The middle surface may enable engineers to use two-dimensional (2D) elements (e.g. triangles or quadrilaterals) on the middle surface during an analysis process of the object, where the middle surface may be divided into 2D elements. Calculation performed on the middle surface of the body may be equivalent to calculation performed on the body without loss of accuracy, so that the computational cost for the analysis process may be reduced. For example, if it requires a few hours for calculations based on the body, it may require only a few minutes for calculations based on the middle surface of the body. It is understood that in a case where the thin-walled body includes one thin-walled part, the middle surface of the thin-walled body may be referred to as the middle surface of the thin-walled part, and in a case where the thin-walled body includes thin-walled parts, the middlesurfaces of some or all of the thin-walled parts may be obtained and used for calculations, or the middle surfaces of some or all of the thin-walled parts may be used to obtain the middle surface of the thin-walled body for calculations.
[0093] Therefore, obtaining the middle surface is important in CAE technologies.
[0094] There may be some manners for obtaining the middle surface, for example: medial axis, volumetric decomposition, and matching pairs of surfaces. The manner of matching pairs of surfaces may be widely applied and may involve two steps. A first one in the two steps is to create a parametric middle surface from the body, where in the body, a pair of surfaces that are paralleled approximately may be obtained, and this pair of surfaces may correspond to two opposite surfaces of the thinwalled part of the body, so that a cluster, i.e. a set of opposite surfaces corresponding to the thin-walled part of the body may be obtained and the thin-walled part may be obtained according to the cluster; and these thin-walled parts may be used to obtain the parametric middle surface of the body. A second one in the two steps is to perform tessellation (or other forms of discretization) on the parametric middle surface for engineering analysis. It is understood that in some usage scenarios, some engineering analysis tools such as finite element analysis (FEA) and computational fluid dynamics (CFD) software, require the middle surface to be tessellated or discretized. Tessellation converts the parametric middle surface into a set of smaller, simpler 2D elements so that the middle surface may be more easily processed and analyzed by these tools.
[0095] However, in the manner of matching pairs of surfaces, to create the parametric middle surface, users may perform additional operations such as specifying parameters for the middle surface. The parameters may include thickness, smoothness, geometric relationships between the surfaces of the body, etc. In addition, to tessellate the parametric middle surface, due to the complex geometric characteristics of the object, the tessellation process may require multiple adjustments for users to achieve a desired precision and quality. Therefore, the additional operations and multiple adjustments required in the manner of matching pairs of surfaces may reduce the efficiency of obtaining the middle surface.
[0096] In view of this, a method for obtaining a middle surface may be provided according to some embodiments of the present disclosure. In the method for obtaining a middle surface according to some embodiments of the present disclosure, the body of the object may be processed into a mesh including a plurality of volumetric elements, a middle surface of the body may be obtained directly from the mesh, and the obtained middle surface may include one or more simple polygons (triangles, quadrilaterals, etc.) where the polygons are produced according to the volumetric elements. Therefore, there is no additional operations for users during obtaining the middle surface. In addition, the obtained middle surface may include one or more simple polygons that are produced according to the volumetric elements, so that there are no adjustments of users for the obtained middle surface. Therefore, the method for obtaining a middle surface according to some embodiments of the present disclosure may improve the efficiency of obtaining middle surface by reducing additional operations and multiple adjustments.
[0097] The method for obtaining a middle surface according to some embodiments of the present disclosure is described below in combination with FIG. 4. FIG. 4 illustrates a method 400 for obtaining a middle surface in accordance with some embodiments of the present disclosure. The method 400 may be performed by the processor 110 in the computing device 100. In some examples, the method 400 may be performed by the processor 110 as a module or a plug-in in applications, i.e. ANSYSTM (an engineering simulation software), AutoCADTM, AltairTM, or any other similar applications. It is noted that these applications may also be performed by the processor 110, where these applications may be stored in the solid-state drive 120 and loaded into the random-access memory 130 by the processor 110 and executed by the processor 110; and the module or the plug-in in these applications may also be stored in the solid-state drive 120 and loaded into the random-access memory 130 by the processor 110 and executed by the processor 110.
[0098] As illustrated in FIG. 4, the method 400 may include step 410, step 420, step 430, and step 440.
[0099] In step 410, a mesh including a plurality of volumetric elements and a plurality of surfaces is obtained for a body.In addition, a volumetric element in the plurality of volumetric elements includes a plurality of vertices and a plurality of faces; and all vertices of the plurality of volumetric elements are located on the plurality of surfaces, and a portion of all faces of the plurality of volumetric elements are located on the plurality of surfaces.
[0100] In some embodiments, the number of vertices and the number of faces for the volumetric element may depend on the type of the volumetric element.efficiency.
[0121] In step 430, a middle surface patch is obtained for the thin-walled part according to the first surface, the second surface, and the first set of volumetric elements.
[0122] According to some embodiments of the present disclosure, the method 400 continues at step 430 with the processor 110 being configured to, for the thin-walled part, obtain a middle surface patch according to the first surface, the second surface, and the first set of volumetric elements.
[0123] In some embodiments, the process of obtainirig the middle surface patch for each thin-walled part may start by generating a middle plane for each thin-walled part. The middle plane of each thin-walled part is determined based on the first surface and the second surface of each thin-walled part. In some other embodiments, the middle plane may be generated in other ways, which is not limited in the embodiments of the present disclosure.
[0124] After generating the middle plane of each thin-walled part, the middle surface patch is generated when the middle plane of each thin-walled part intersects with the first set of volumetric elements. As a consequence, the middle surface patch may include one or more first cross-sections when the corresponding middle plane intersects with the first set of volumetric elements. The first cross-sections refer to the cross-sections between the middle plane and the first set of volumetric elements.
[0015] In step 440, a first middle surface of the body is determined according to the first middle surface patch.
[0126] According to some embodiments of the present disclosure, the method 400 continues at step 440 with the processor110 being configured to determine a first middle surface of the body according to the first middle surface patch.
[0127] In a case where the body includes one thin-walled part, the first middle surface patch is the middle surface of the body. In a case where the body includes a plurality of thin-walled parts, a plurality of middle surface patches of the pluralityof thin-walled parts are connected and trimmed or complemented to form the middle surface of the body. The corresponding process will be described in later embodiments with reference to FIG. 11.
[0128] As described above, when the processor 110 performs step 410, the mesh is outputted by the processor 110; when the processor 110 performs step 420, the thin-walled parts are outputted by the processor 110; when the processor l lO performs step 430, the middle surface patches are outputted by the processor 110; when the processor 110 performs step 440, the first middle surface is outputted by the processor 110. The outputted mesh, outputted thin-walled parts, outputted first middle surface patch, and outputted first middle surface may be also processed by the processor of other computing device.
[0129] In the foregoing embodiments, the mesh including the plurality of volumetric elements and the plurality of surfaces is obtained for the body, the one or more thin-walled parts of the body are determined using the mesh, the thin-walled part in the one or more thin-walled parts includes the first surface and the second surface in the plurality of surfaces and the first set of volumetric elements in the plurality of volumetric elements, the middle surface patch is obtained for each thin-walled part in the one or more thin-walled parts according to the first surface, the second surface and the first set of volumetric elements, and the first middle surface of the body is determined according to the first middle surface patch. The obtained mesh includes the plurality of volumetric elements, and the plurality of volumetric elements may be simpler and are easy for calculations, simplifying the computational process and reducing the need for adjustments, and further improving the efficiency of obtaining the middle surface. Furthermore, the one or more thin-walled parts may be determined using the mesh, the recognition efficiency of the thin-walled parts may be improved and it may not require additional operations from the user. In addition, the generated middle surface only includes one or more simple polygons due to the usage of the mesh, which may not require multiple adjustments from the user. Therefore, the method provided in the foregoing embodiments of the present disclosure improves the efficiency of obtaining the middle surface by reducing computational time and user interaction and adjustments.
[0130] In some embodiments, the thin-walled part is determined by actions of: determining the first surface from the plurality of surfaces, where a set of vertices are located on the first surface; determining a second set of volumetric elements, where each of the second set of volumetric elements includes at least one vertex of the set of vertices; determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements; and determining the second surface from the one or more third surfaces. It is noted that the thin-walled part is determined by the processor 110 and the processor 110 may perform the above actions.
[0131] The determination of the thin-walled part may start from determining the first surface from the plurality of surfaces.In some embodiments, the first surface may automatically selected by the processor 110 according to a rule, for example, the surface not belonging to any thin-walled part that has been determined may be selected by the processor 110 as the first surface. In some other embodiments, the first surface may be specified by the user and received by the processor 110. The first surface may also be selected in other ways, which are not limited herein.
[0132] After selecting the first surface, a consequent step is to determine the second surface. It is understood that in some embodiments, the second surface is unknown to the processor 110 implementing the method 400, therefore, the second surface may be determined from one or more third surfaces. The third surfaces may be understood as candidate surfaces that may be used for the selection of the suitable second surface.
[0133] The process of determining the one or more third surfaces includes: determining the set of vertices, where the set of vertices are located on the first surface; determining the second set of volumetric elements based on the set of vertices; and determining the one or more third surfaces based on the second set of volumetric elements. After selecting the first surface, the set of vertices that are located on the first surface are determined. The second set of volumetric elements is determined, where each of the second set of volumetric elements includes at least one vertex of the set of vertices. The one or more third surfaces may be determined based on the second set of volumetric elements.
[0134] In the foregoing embodiments, the first surface may be determined from the plurality of surfaces, where the set of vertices are located on the first surface; the second set of volumetric elements is determined, where each of the second set of volumetric elements includes at least one vertex of the set of vertices; the one or more third surfaces are determined from the plurality of surfaces according to the second set of volumetric elements; and the second surface is determined from the one ormore third surfaces. Therefore, the one or more candidate third surfaces are determined according to the second set of volumetric elements where the second set of volumetric elements relates to the set of vertices located on the first surface; and the second surface may be determined from the one or more candidate third surfaces. There is no need to determine the second surface from the whole body, reducing the time and computational cost, and further improving the efficiency of obtaining the middle surface.
[0135] In some embodiments, the one or more third surfaces are determined from the plurality of surfaces according to the second set of volumetric elements by: determining, from the plurality of surfaces, a surface that includes at least one face of the second set of volumetric elements as the third surface. It is noted that the processor 110 determines, from the plurality of surfaces, a surface that includes at least one face of the second set of volumetric elements as the third surface.
[0136] In the foregoing embodiments, by determining the set of vertices, determining the second set of volumetric elements based on the set of vertices, and determining the one or more third surfaces based on the second set of volumetric elements, only the surfaces include at least one face in the faces of the second set of volumetric elements are determined as third surfaces. By doing so, the scope of third surfaces may be constrained within surfaces that are related to the thin-walled part. Therefore, the subsequent process of determining the second surface may only be performed on these third surfaces, and the time and computational cost may be further reduced, and the efficiency of obtaining the middle surface may be further improved.
[0137] Now taking FIG. 6A and FIG. 6B as an example to describe the process of determining the thin-walled part using the mesh. FIG. 6A illustrates a part 600 and FIG. 6B also illustrates the part 600 but the part 600 is horizontally oriented. It is noted that the part 600 is an exemplary thin-walled part only, and the method provided in embodiments of the present disclosure may be applied to other thin-walled parts. For example, the method may be applied to a thin-walled part where the first surface and the second surface of that thin-walled part are curved surfaces.
[0138] Referring to FIG. 6A, the part 600 includes five tetrahedrons (i.e. tetrahedron AFCB, tetrahedron GFHC, tetrahedron ACGD, tetrahedron AFGC, and tetrahedron EFGA), six surfaces (i.e. upper and lower surfaces 1 and 2, right and light surfaces 3 and 4, and rear and front surfaces 5 and 6), and eight vertices (i.e. A B, C, D, E, F, G, and H).
[0139] In FIG. 6 the surface 1 includes the vertices A B, C, and D, and the surface 2 includes the vertices E, F, G, and H. The surface 1 and the surface 2 are opposite surfaces. Although the surface 3 and the surface 4 are also opposite surfaces, the surface 3 and the surface 4 may not form the thin-walled part due to the different between the surface 3 and the surface 4 not meeting the condition. Similarly, the surface 5 and the surface 6 are also opposite surfaces, and the surface 5 and the surface 6 may not form the thin-walled part due to the different between the surface 5 and the surface 6 not meeting the condition.
[0140] FIG. 6B provides a front view diagram of the part 600, which is viewed from the surface 6 (including the vertices BFCG) towards the surface 5 (including the vertices AEDH). While not visible, it is understood that the surface 1 and the surface 2 are located above and below in the front view diagram shown in FIG. 6B.
[0141] In this example, the surface 1 is the first surface, and the vertices A B, C, and D are the set of vertices. The tetrahedron AFCB, tetrahedron GFHC, tetrahedron ACGD, tetrahedron AFGC, and tetrahedron EFGA are the second set of volumetric elements because each of the 5 tetrahedrons includes at least one vertex of the set of vertices (A B, C, or D). The surface ABFE (surface 4), surface BFGC (surface 6), surface CGHD (surface 3), surface AEHD (surface 5), and surface EFGH (surface 2) are determined as third surfaces, because each of the surfaces include at least one face in the faces of the tetrahedron AFCB, tetrahedron GFHC, tetrahedron ACGD, tetrahedron AFGC, and tetrahedron EFGA The surface EFGH (surface 2) may be selected as the second surface.
[0142] In addition, FIG. 7 illustrates a trend chart with x-axis representing a count of third surfaces and y-axis representing a count of second surfaces. The line in the chart has a slope of three. This trend is derived from the analysis data of determining thin-walled parts from a plurality of bodies. The slope of three indicates that, on average, the method provide in embodiments of the present disclosure may only check three third surfaces to find one second surface. Therefore, according to FIG. 7, the efficiency of determining thin-walled parts may be improved.
[0143] After determining the one or more third surfaces, the surface is determined from the one or more third surfaces as the second surface, in a case where the surface meets the preset condition. In some embodiments, the second surface is determined from the one or more third surfaces by: determining the second surface from the one or more third surfaces according to a preset condition. It is noted that the processor 110 determines the second surface from the one or more third surfaces according to the preset condition.
[0144] In some embodiments, the preset condition includes one or more of: paralleling to the first surface (denoted as a first condition); an absolute value of a difference between a perpendicular distance with the first surface and an average distance of perpendicular distances with the first surface being smaller than a first threshold (denoted as a second condition); or a volume of an overlap with the first surface being greater than a second threshold (denoted as a third condition). In some example, in a case where the third surface meets any one of the first condition, the second condition, or the third condition, this third surface may be determined as the second surface, for example, when the number of the third surfaces is less, this manner may improve the efficiency; in some example, in a case where the third surface meets any two of the first condition, the second condition, or the third condition, this third surface may be determined as the second surface; in some example, in a case where the third surface meets the first condition, the second condition, and the third condition, this third surface may be determined as the second surface, for example, when the number of the third surfaces is more, this manner may improve the accuracy.
[0145] Paralleling to the first surface may also be referred as parallelism to the first surface. In some embodiments, the parallelism to the first surface may be defined by the following descriptions. For any point on the first surface, there is a normal vector of that point, which is a vector that is perpendicular to a tangent plane at that point. In addition, for any point on the first surface, there may be a corresponding intersection point on the third surface, which is the intersection point between the normal vector of that point and the third surface.
[0146] For simplicity, for any point on the first surface, the corresponding intersection point of that point is referred to as the projected point of that point, and the normal vector of the projected point of that point is referred to as the projected normal vector of that point.
[0147] In some embodiments, the first condition is met when each vertex of a volumetric element that lies on the first surface has a normal vector that intersecting the third surface, and the normal vector of the each vertex is parallel to the projected normal vector of the each vertex on the third surface.
[0148] Referring to FIG. 6A, taking the part 600 as an example, where the surface 1 is the first surface, the surface 2 is a third surface to be determined if it meets the first condition. The projected point of vertex B is vertex F. As shown in FIG. 6A, there are four vertices on the surface 1, which are vertex A, B, C, and D. As shown in FIG. 6B, the normal vector of vertex B is denoted as Nl, and the projected normal vector of vertex B is denoted as N2. For the surface 2 to be the second surface, N1 and N2 are to be parallel.
[0149] Similarly, the normal vector of vertex C on the surface 1 is denoted as N3, and the corresponding normal vector of vertex C is denoted as N4. For the surface 2 to be the second surface, the normal vectors N3 and N4 are also to be parallel.
[0150] The process described above continues in a similar manner until all normal vectors of the vertices on the surface 1 and the surface 2 are checked. If for any vertex on the surface 1 or the surface 2, the normal vector of that vertex is parallel to the projected normal vector of that vertex, the surface 2 meets the first condition; if there is at least one normal vector of a vertex that is not parallel to the projected normal vector of that vertex, the surface 2 is not meeting the first condition and thereby is not the second surface.
[0151] It is understood in some embodiments, for a vertex on a surface, its projected point may not be a vertex of a volumetric element. For example, FIG. 6C illustrates a front view of a part 610. The surface Fl may be the first surface, then in this case, for vertex A on surface Fl, the projected point of vertex A is A’, and A’ is not a vertex of a volumetric element.
[0152] The second condition is that for a third surface, an absolute value of a difference between a perpendicular distance with the first surface and an average distance of perpendicular distances with the first surface being smaller than a first threshold.
[0153] In some embodiments, the perpendicular distance with the first surface may refer to the distance between a vertex on the first surface and its projected point on the third surface. The average distance of perpendicular distances may refer to the distance sum divided by the number of distances, where the distance sum is the sum of all the distances between vertices of the first surface and their projected points on the third surface.
[0154] The first threshold is a value that specifies the maximum allowable difference between each distance and the average distance. The first threshold may be an integer with a distance unit, a decimal with a distance unit, or any representation of a distance. For example, the first threshold may be 10-5 mm.
[0155] As shown in FIG. 6A, there are four distances to be checked. For simplicity, a distance may be denoted by its two endpoints. The four distances include distance BF, CG, AE, and DH. The average distance is the sum of the four distances divided by four. If the absolute difference between each distance of the four distances and the average distance is smaller than the first threshold, the surface 2 meets the second condition. If there is at least one absolute difference between the distance in the four distances and the average distance is greater than the first threshold, the surface 2 is not meeting the second condition and thereby not the second surface.
[0156] The third condition refers to the volume of the overlap between the third surface and the first surface being greater than a second threshold. The overlap may refer to a 3D region where the third surface and the first surface intersect or coincide, forming a shared volume. Therefore, the third condition may ensure that the extent of this intersecting region is greater than the second threshold. The second threshold is a value that specifies the maximum allowable 3D region.
[0157] It is noted that in some embodiments, in a case where the first, second, and third conditions all are met, the third condition may be checked first, then the second condition, and finally check first condition, or the first condition may be checked first, then the second condition, and finally check third condition . The order in which the first, second, and third conditions are checked is not limited herein.
[0158] According to the foregoing embodiments, the second surface may be determined from the one or more third surfaces according to the preset condition, and the preset condition may include one or more of: paralleling to the first surface; the absolute value of the difference between the perpendicular distance with the first surface and the average distance of perpendicular distances with the first surface being smaller than the first threshold; or the volume of the overlap with the first surface being greater than the second threshold. In a case where the third surface meets one or more of three conditions, the third surface is determined as the second surface, and the pair of surfaces is determined, i.e. the first surface and the second surface are determined. In some embodiments, the checking of three conditions is only performed on the vertices of volumetric elements that are on surfaces. Comparing checking a plurality of points on the surfaces, the time and computational cost may be reduced by checking only the vertices of volumetric elements.
[0159] In some embodiments, in a case where a plurality of second surfaces are determined, the second surface that best fits the above conditions may be determined.
[0160] In a case where the first surface and the second surface are determined, the part including the first surface and the second surface is determined as the thin-walled part.
[0161] The process for determining the thin-walled part is described above. After determining one or thin-walled parts, a subsequent process is to generate the middle surface patch for each thin-walled part. Therefore, a detailed description of generating the middle surface patch is provided below.
[0162] In some embodiments, the middle surface patch is determined according to the first surface, the second surface, and the first set of volumetric elements by: obtaining a middle plane that passes through a middle point of a line connecting a centroid of the first surface and a centroid of the second surface; and obtaining one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch. It is noted that the processor 110 obtains the middle plane that passes through the middle point of the line connecting the centroid of the first surface and the centroid of the second surface; and obtains the one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch.
[0163] The centroid of the surface may refer to an average position of all the points on the surface. The points on the surface mean vertices of the volumetric elements corresponding to the surface and these vertices being located on the surface.
[0164] In some embodiments, the location of the centroid of the surface may be obtained from an application such as AutoCADTM, SolidWorksTM, or MATLABTM, where the processor 110 may call the application and obtain the location of the centroid of the surface through the application.
[0165] In some other embodiments, the location of the centroid of the surface may be determined using centroids of one or more surface triangles on the surface. In a case where the volumetric elements include tetrahedrons, the surface triangles may be on the surface and further three vertices of each triangle are on the surface. As shown in FIG. 8 triangle ABC and triangle ACD are on the surface 1, and triangle EFH and triangle FHG are on the surface 2. In some embodiments, the location of the centroid of the surface triangle may be obtained from the application such as AutoCADTM, SolidWorksTM, or MATLABTM, and the middle point may be determined based on the locations of centroids of these triangles.
[0166] In some other embodiments, the location of the centroid of the surface may be identified by a weighted operation performed on the locations of centroids of all surface triangles of that surface. In the weighted operation, the weight for each surface triangle is the ratio of its area to the total area of all surface triangles on that surface. For example, as shown in FIG. 8 the location of the centroid of the surface 1 may be identified by the weighted operation performed on the locations of ABC’s centroid and ACD’s centroid. The weight of the location of ABC’s centroid is the ratio of ABC’s area to the total area of both ABC and ACD. The weight of ACD’s centroid is obtained in a similar manner. The centroid of the surface 1 may be obtained by the weighted average of the locations of ABC’s centroid and ACD’s centroid. The centroid of the surface 2 is obtained in a similar manner.
[0167] When the locations of centroids of the two surfaces of the thin-walled part are identified, the middle point of the line connecting the centroids of the two surfaces is determined as the middle point.
[0168] For example, referring to FIG. 8A Cl denotes the centroid of the surface 1 and C2 denotes the centroid of the surface 2. The middle point is the middle point of the line connecting Cl and C2, which is denoted as M.
[0169] After determining the middle point, in some embodiments, the middle plane may be determined as a plane passes through the middle point. In some other embodiments, the middle plane may be determined further based on the location of the first surface and the second surface.
[0170] In these embodiments, when the middle point is determined, the two surfaces of the thin-walled part are translated to two planes respectively, such that each translated plane includes the middle point. It should be noted that the term “translate” used in embodiments of this disclosure refers to an action of moving a surface from a first position to a second position such that the surface at the first position is parallel to the surface at the second position.
[0171] Then, the middle plane is generated where for any point on the middle plane, the distances between the point and the projected point on each of the two translated planes are equal. Referring to FIG. 8B, plane 3 denotes the plane that is translated from the surface 1, and plane 3 includes the middle point. Plane 4 denotes the plane that is translated from the surface 2, and plane 4 also includes the middle point. Middle plane 5 is generated where the middle plane 5 includes the middle point, and for any point on the surface, the distances between the point on the middle plane 5 to its projected points on plane 3 and plane 4 are equal.
[0172] As shown in FIG. 8B, in some embodiments, the planes corresponding to two surfaces may be the same plane, and consequently, the middle plane is the same as the two planes, and the distance between any point on the middle plane to its projected point in any plane of the two planes is zero.
[0173] In some other embodiments, the planes corresponding to two surfaces are not the same plane, and the distance between any point on the middle plane to its projected point in any plane of the two planes is not zero. Referring to FIG. 8C, a front view of a thin-walled part is illustrated. Plane 6 denotes the plane that is translated from surface A and plane 6 includes the middle point. Plane 7 denotes the plane that is translated from surface B, and plane 7 also includes the middle point. The plane 6 and plane 7 are not the same. Therefore, plane 8 is determined that the distance between any point on the middle planeto its projected points on any plane of the two planes is zero. For example, DI and D2 denote a distance between a point on plane 8 to its projected points on plane 6 and plane 7, and DI and D2 are equal.
[0174] When the middle plane is determined as described above, the middle surface patch is determined.
[0175] The middle plane may intersect with one or more volumetric elements that are included in the first set of volumetric elements, and the first set of volumetric elements corresponds to the thin-walled part. FIG. 9A and FIG. 9B provide diagrams illustrating two possible cases of a plane intersecting with a volumetric element. It is noted that FIG. 9A and FIG. 9B illustrates two possible cases of a plane intersecting with a tetrahedron, and the volumetric elements may be other geometric elements such as hexahedra, and there may be other possible cases of a plane intersecting with a volumetric element, which is not limited herein.
[0176] Referring to FIG. 9A and 9B, in some examples, the cross-section between a plane and a tetrahedron may be a triangle. As shown in FIG. 9 plane 9 intersects with a tetrahedron, and the cross-section between plane 9 and the tetrahedron is a triangle. The intersection points are the points where plane 9 intersects each of the three edges of the tetrahedron.
[0177] In some other examples, the cross-section between a surface and a tetrahedron may be a quadrilateral. As shown in FIG. 9B, plane 10 intersects with a tetrahedron, and the cross-section between plane 10 and the tetrahedron is a quadrilateral. The intersection points are the points where plane 10 intersects each of the four edges of the tetrahedron.
[0178] After identifying the one or more cross-sections between the middle plane and one or more volumetric elements that are included in the first set of volumetric elements, the middle surface patch is created by connecting the one or more cross-sections. For each edge of the triangle or quadrilateral of the cross-section, in a case where there are one or more triangles or one or more quadrilaterals sharing the edge, the triangle or quadrilateral is connected to the one or more triangles or one or more quadrilaterals through the edge.
[0179] FIG. 10 provides a diagram illustrating creating a middle surface patch. As shown in FIG. 10, when plane 5 intersects with five tetrahedrons, five cross-sections are generated, i.e. triangles UP, JKL, MLN, OPN, and quadrilateral PJLN respectively correspond to the cross-sections between plane 5 and tetrahedrons EFGA AFCB, GFHC, ACGD and AFGC. For example, for the edge JP of triangle UP, a quadrilateral PJLN shares the same edge JP, and triangle UP and quadrilateral PJLN are connected through the edge JP.
[0180] The process described above continues until all edges of all triangles and quadrilaterals within the cross-sections are checked. The process may start from any triangle or quadrilateral, which is not specifically limited in embodiments of this disclosure.
[0181] According to the foregoing embodiments, the middle plane that passes through the middle point of the line connecting the centroid of the first surface and the centroid of the second surface is obtained, and the one or more first crosssections between the middle plane and the first set of volumetric element is determined as the middle surface patch. By doing so, the first cross-sections may be obtained as the middle surface patch, and there may be no need to further tessellate the middle surface patch or make any adjustments to the middle surface patch. Therefore, the computational cost for obtaining the middle surface may be reduced, and the efficiency may be improved.
[0182] After generating one or more middle surface patches of the one or more thin-walled parts, a subsequent process is to determine the first middle surface face. In some embodiments, the body includes one or more thin-walled parts, and in these embodiments, the first middle surface face is determined according to one or more middle surface patches of the one or more thin-walled parts, where the one or more middle surface patches includes the first middle surface patch. In addition, the above process may be achieved by connecting the one or more middle surface patches to form the first middle surface of the body.
[0183] In some embodiments, the process of connecting the one or more middle surface patches into the first middle surface may start from determining, from the one or more middle surface patches, a first middle surface patch and a second middle surface patch that are not connected.
[0184] Referring to FIG. 11 there are two thin-walled parts denoted as T1 and T2. In addition, there are two middle surface patches corresponding to thin-walled part T1 and thin-walled part T2, and the two middle surface patches are denoted as Pl and P2 respectively. The two middle surface patches are not connected.
[0185] Then, the process of connecting the one or more middle surface patches into the first middle surface may proceed to determine a third set of volumetric elements according to a first thin-walled part corresponding to the first middle surface patch and a second thin-walled part corresponding to the second middle surface patch. The first thin-walled part and the second thin-walled part are included in the one or more thin-walled parts.
[0186] The third set of volumetric elements may refer to a set of volumetric elements that each volumetric element in this set of volumetric elements includes th least one vertex included in the first thin-walled part or second thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the first thin-walled part or the second thin-walled part.
[0187] Referring to FIG. 11A, VI and V2 denote two volumetric elements. As shown in FIG. 11A, taking VI as an example, VI includes two vertices that are include in the thin-walled part Tl. In addition, all faces of the VI are not on surfaces of thin-walled part Tl or thin-walled part T2. Therefore, VI is a volumetric element of the third set of volumetric elements. Similar, V2 is another volumetric element of the third set of volumetric elements.
[0188] After determining the third set of volumetric elements, the process of connecting the one or more middle surface patches into the first middle surface may proceed to determine cross-sections between a middle plane of the first middle surface patch and the third set of volumetric elements, and cross-sections between a middle plane of the second middle surface patch and the third set of volumetric elements.
[0189] Referring to FIG. 11B, FIG. 1 IB illustrates a magnified view ofthe part circled by the dashed line in Fig. 11A. As shown in FIG. 1 IB, Pl, and P2 denote the planes of the first middle surface patch Pl and the second middle surface patch Pl respectively. When planes Pl and P2 intersect with the third set of volumetric elements, four surfaces are created, which are denoted as surface UXYZ, WVYZ, TSYZ, and RQYZ, and each surface may include a portion of cross-sections between the planes Pl and P2 and the third set of volumetric elements. In the following context, the surfaces generated by planes of middle surface patches intersecting with the third set of volumetric elements are denoted as candidate cross-sections.
[0190] After determining the candidate cross-sections, the process of connecting the one or more middle surface patches into the first middle surface may proceed to determine one or more second cross-sections among the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch, where the one or more second cross-sections are used to connect the first middle surface patch and the second middle surface patch; and obtain the first middle surface, by connecting the one or more second cross-sections with the first middle surface patch and the second middle surface patch. For example, referring to FIG. 1 IB, surface TSYZ and UXYZ are determined as the second cross-sections, and are used to connect the middle surface patch Pl and surface patch P2.
[0191] According to the foregoing embodiment, the first middle surface patch and the second middle surface patch that are not connected are determined from the one or more middle surface patches; the third set of volumetric elements is determined according to the first thin-walled part corresponding to the first middle surface patch and the second thin-walled part corresponding to the second middle surface patch, where the volumetric element in the third set of volumetric elements includes the at least one vertex included in the first thin-walled part or second thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the first thin-walled part or the second thin-walled part; cross-sections between the middle plane of the first middle surface patch and the third set of volumetric elements, and cross-sections between the middle plane of the second middle surface patch and the third set of volumetric elements are determined; and one or more second cross-sections among the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch are determined, where the one or more second cross-sections are used to connect the first middle surface patch and the second middle surface patch; and the first middle surface is obtained by connecting the one or more second cross-sections with the first middle surface patch and the second middle surface patch. The one or more second cross-sections that connects the middle surface patches are determined based on the third set of volumetric elements. By determining the third set of volumetric elements, the second cross-sections may be determined more efficiently.
[0192] The process of determining the one or more second cross-sections is now described with reference to FIG. 9B.
[0193] The process of determining one or more second cross-sections may start from determining a shortest path among paths between a first point of the first middle surface patch and a second point of the second middle surface patch.
[0194] Referring to FIG. 1 IB, from a point on the edge of a middle surface patch to a point on the edge of another middle surface patch, there are multiple paths such that all points along these paths lie on the plane containing Pl or P2. Among these paths, the shortest path is the one with the shortest distance. Then, one or more candidate cross-sections that include a segment of the shortest path are identified as one or more second cross-sections. It is noted that the term “segment” used in this embodiment refers to a portion of a path that has a length greater than zero.
[0195] As shown in FIG. 1 IB, for example, from a point on the edge ofP2 to a point on the edge of Pl, there is a shortest path which is indicated by a thick dashed line. Surface TSYZ and UXYZ both include a segment of the shortest path, therefore surface TSYZ and UXYZ are determined as the second cross-sections, and are used to connect the middle surface patch Pl and surface patch P2.
[0196] In some embodiments, surface TSYZ and surface UXYZ are connected through edge YZ, surface TSYZ, and surface patch P2 are connected through edge ST, and surface UXYZ and surface Pl are connected through edge UX.
[0197] According to the foregoing embodiments, the shortest path is determined among paths between the first point of the first middle surface patch and the second point of the second middle surface patch; and the one or more second crosssections are determined based on shortest path from the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch. By using the shortest path, the one or more second crosssections are determined as one or more cross-sections includes al least one segment of the shortest path. Therefore, the method according to these embodiments may provide an efficient way for determining the one or more second cross-sections to connect the middle surface patches.
[0198] After the one or more middle surface patches are merged into the first middle surface, there may be one or more triangles, quadrilaterals, or other geometric shapes on the middle surface.
[0199] In some embodiments, for example, in a case where the volumetric elements are tetrahedrons, and there are one or more quadrilaterals that included in the first middle surface, the quadrilateral is divided into two triangles by connecting any two points that do not share an edge of the quadrilateral. For example, as shown in FIG. 10, the quadrilateral PJLN may be divided into triangles PLJ and PLN by connecting points P and L. In addition, as shown in FIG. 12, the quadrilateral TSZ1 Y1 may be divided into triangles Z1TS and Z1TY1 by connecting points Z1 and T.
[0200] According to the foregoing embodiments, in a case where the first middle surface includes one or more quadrilaterals, the second middle surface is obtained by dividing the quadrilateral in the one or more quadrilaterals into at least two triangles. Therefore, comparing to the first middle surface including one or more quadrilaterals, the second middle surface only includes a plurality of triangles. By doing so, the second middle surface may only include simple geometric shapes, and therefore the complexity of the calculations on the second middle surface may be lowered, and the accuracy of the calculations on the second middle surface may be improved.
[0201] In some embodiments, when the one or more middle surface patches of the one or more thin-walled parts are obtained, and there are no first middle surface patch and second middle surface patch that are not connected, the one or more middle surface patches of the one or more thin-walled parts are connected directly to obtain the first middle surface of the body.
[0202] It is noted that the first middle surface and the second middle surface are used to distinguish the middle surface of the body with different types, and the middle surface of the body with different types may have the different name.
[0203] FIG. 13 illustrates an exemplary body 1310 and an extracted middle surface 1320 of the body 1310. The middle surface 1320 is extracted by applying the method provided in embodiments the present disclosure. As shown in FIG. 13, the middle surface 1320 only includes a plurality of triangles, therefore the middle surface 1320 may be applicable for various engineering calculations.
[0204] The middle surface extraction method according to the embodiments of the present disclosure is described above in combination with FIGS. 1 to 13. The middle surface extraction apparatus of the embodiments of the present disclosure will be described below in combination with FIGS. 14 to 17.
[0205] FIG. 14 is a block diagram of a structure of a middle surface extraction apparatus in accordance with some embodiments of the present disclosure. The middle surface extraction apparatus may be configured to perform the foregoing method embodiments, and therefore can also achieve beneficial effects of the foregoing method embodiments. In the embodiments of the present disclosure, the middle surface extraction apparatus may be a computing device or a module of the computing device (for example, a chip or a circuit).
[0206] As shown in FIG. 14, the middle surface extraction apparatus 1400 includes an obtaining unit 1410 andaprocessing unit 1420. The middle surface extraction apparatus 1400 is used to implement the foregoing method embodiments as shown in FIG. 4.
[0207] The obtaining unit 1410 may be configured to obtaining, for a body, a mesh including a plurality of volumetric elements and a plurality of surfaces, where a volumetric element in the plurality of volumetric elements includes a plurality of vertices and a plurality of faces, all vertices of the plurality of volumetric elements are located on the plurality of surfaces, and a portion of all faces of the plurality of volumetric elements are located on the plurality of surfaces. The processing unit 1420 may be configured to determine one or more thin-walled parts of the body, where a first thin-walled part in the one or more thin-walled parts includes a first surface and a second surface in the plurality of surfaces and a first set of volumetric elements in the plurality of volumetric elements; for the first thin-walled part, obtain a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements; and determine a first middle surface of the body according to the first middle surface patch.
[0208] In some embodiments, the first surface or the second surface includes at least one face of a volumetric element in the first set of volumetric elements.
[0209] In some embodiments, the processing unit 1420 is configured to determine the thin-walled part by performing actions of determining the first surface from the plurality of surfaces, where a set of vertices are located on the first surface; determine a second set of volumetric elements, where each of the second set of volumetric elements includes at least one vertex of the set of vertices; determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements; and determining the second surface from the one or more third surfaces.
[0210] In some embodiments, the determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements includes the processing unit 1420 being configured to determine, from the plurality of surfaces, a surface that includes at least one face of the second set of volumetric elements as the third surface.
[0211] In some embodiments, determining the second surface from the one or more third surfaces includes the processing unit 1420 being configured to determine the second surface from the one or more third surfaces according to a preset condition.
[0212] In some embodiments, the preset condition includes at least one of paralleling to the first surface; an absolute value of a difference between a perpendicular distance with the first surface and an average distance of perpendicular distances with the first surface being smaller than a first threshold; or a volume of an overlap with the first surface being greater than a second threshold.
[0213] In some embodiments, the generating a middle surface patch according to the first surface, the second surface, and the first set of volumetric elements includes the processing unit 1420 being configured to obtain a middle plane that passes through a middle point of a line connecting a centroid of the first surface and a centroid of the second surface; and obtain one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch.
[0214] In some embodiments, the determining a first middle surface of the body according to the first middle surface patch includes the processing unit 1420 being configured to determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts, where the one or more middle surface patches includes the first middle surface patch.
[0215] In some embodiments, the determining a first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts includes the processing unit 1420 being configured to determine, from the one or more middle surface patches, a first middle surface patch and a second middle surface patch that are not connected; determine a third set of volumetric elements according to a first thin-walled part corresponding to the first middle surface patch and asecond thin-walled part corresponding to the second middle surface patch, where a volumetric element in the third set of volumetric elements includes at least one vertex included in the first thin-walled part or second thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the first thin-walled part or the second thin-walled part; determine cross-sections between a middle plane of the first middle surface patch and the third set of volumetric elements, and crosssections between a middle plane of the second middle surface patch and the third set of volumetric elements; and determine one or more second cross-sections among the cross-sections corresponding to the first middle surface patch and the crosssections corresponding to the second middle surface patch, where the one or more second cross-sections are used to connect the first middle surface patch and the second middle surface patch; and obtain the first middle surface, by connecting the one or more second cross-sections with the first middle surface patch and the second middle surface patch.
[0216] In some embodiments, the determining one or more second cross-sections includes the processing unit 1420 being configured to determine, among paths between a first point of the first middle surface patch and a second point of the second middle surface patch, a shortest path; and determine, from the cross-sections corresponding to the first middle surface patch and the cross-sections corresponding to the second middle surface patch, one or more second cross-sections according to the shortest path, where a second cross-section in the one or more second cross-sections includes at least a segment of the shortest path.
[0217] In some embodiments, the processing unit 1420 is configured to obtain a second middle surface by dividing a quadrilateral in the one or more quadrilaterals into at least two triangles, in a case where the first middle surface includes one or more quadrilaterals.
[0218] In some embodiments, the volumetric elements include tetrahedrons, hexahedra, or prisms.
[0219] A more detailed description of functions of the obtaining unit 1410 and processing unit 1420 can be referred to the relevant description in the foregoing method embodiment shown in FIG. 4.
[0220] As shown in FIG. 15, a computing device 1500 includes a processor 1510 and an interface circuit 1520. The processor 1510 and the interface circuit 1520 are coupled to each other. It is understood that the interface circuit 1520 can be a transceiver or an input / output interface. In some embodiments, the computing device 1500 may further include a memory 1530, and the memory 1530 is configured to store instructions that, when executed by the processor 1510, cause the computing device 1500 to perform any of the methods described above. The memory 1530 is further configured to store input data required by the processor 1510 to when it runs the instructions or the data produced after the processor 1510 has run the instructions.
[0221] In some other examples, the computing device 1500 includes a processor 1510, and the interface circuit 1520 may also be understood as part of the processor 1510.
[0222] When the computing device 1500 is used to implement the method shown in FIG. 4, it may be interpreted as a computing device itself, a module in the computing device, a circuit or chip, or a combination thereof. The processor 1510 is used to implement the functions of the processing unit 1420, and the interface circuit 1520 is used to implement the functions of the obtaining unit 1410. For example, the computing device 1500 may further include a memory 1530, the processor 1510 and the interface circuit 1520 are connected to the memory 1530 over a circuit or a wire, and the processor 1510 is configured to read and execute instructions stored in the memory 1530.
[0223] As shown in FIG. 16, a computing device cluster is illustrated. The computing device cluster includes one or more computing devices 1500, and each computing device includes the processor 1510, the interface circuit 1520 and the memory 1530.
[0224] In some embodiments, the memory 1530 of the one or more computing devices 1500 in the computing device cluster may store the same instructions for executing the management method.
[0225] In some other embodiments, the memory 1530 of one or more computing devices 1500 in the computing device cluster can also store partial instructions for executing the management method. Therefore, a combination of one or more computing devices 1500 may collectively execute the instructions for the management method.
[0226] It is noted that the memories 1530 of different computing devices 1500 in the computing device cluster may store different instructions, each responsible for executing part of the middle surface extraction method.
[0227] In some embodiments, one or more computing devices in the computing device cluster may be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN). FIG. 16 illustrates an exemplary embodiment. As shown in FIG. 17, which is a schematic diagram of connections between computing devices provided by the present disclosure, two computing devices 1500A and 1500B are connected through a network. The communication interfaces of each computing device are connected to the network. In this implementation, the memory 1530 of computing device 1500A stores instructions for executing the functions of the obtaining unit 1410. Meanwhile, the memory 1530 of computing device 1500B stores instructions for executing the functions of the processing unite 1420.
[0228] It is understood that the functions of computing device 1500A shown in FIG. 16 may also be completed by multiple computing devices 1500. Similarly, the functions of computing device 1500B may also be completed by multiple computing devices 1500.
[0229] In the present disclosure, the terms “a” or “an” are defined to mean “at least one”, that is, these terms do not exclude a plural number of items, unless stated otherwise.
[0230] In the present disclosure, unless stated otherwise, the terms “connected” and “coupled”, and derivatives and variants thereof, refer herein to any structural or functional connection or coupling, either direct or indirect, between two or more elements. For example, connection or coupling between the elements can be acoustical, mechanical, optical, electrical, thermal, logical, or any combinations thereof.
[0231] In the present disclosure, the expression “based on” is intended to mean “based at least partly on”, that is, this expression can mean “based solely on” or “based partially on”, and so should not be interpreted in a limited manner. More particularly, the expression “based on” could also be understood as meaning “depending on”, “representative of’, “indicative of’, “associated with” or similar expressions.
[0232] In the present disclosure, the terms “system” and “network” may be used interchangeably in different embodiments of this disclosure. “At least one” means one or more, and “a plurality of’ means two or more. The term “and / or” describes an association relationship of associated objects, and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A and B may be singular or plural. The character “ / ” indicates an “or” relationship between associated objects. “At least one of the following items (pieces)” or a similar expression thereof indicates any combination of these items, including a single item (piece) or any combination of a plurality of items (pieces). For example, “at least one of A B, or C” includes: only A only B; only C; A and B; A and C; B and C; or A B, and C, and “at least one of A B, and C” may also be understood as including: only A only B; only C; A and B; A and C; B and C; or A B, and C. In addition, unless otherwise specified, ordinal numbers such as “first” and “second” in embodiments of this disclosure are used to distinguish between a plurality of objects, and are not used to limit a sequence, a time sequence, priorities, or importance of the plurality of objects.
[0233] A person skilled in the art should understand that embodiments of this disclosure may be provided as a method, an apparatus (or system), a computer-readable storage medium (e.g., a non-transitory computer-readable storage medium), or a computer program product. Therefore, this disclosure may use a form of a hardware-only embodiment, a software-only embodiment, or an embodiment with a combination of software and hardware. Moreover, this disclosure may use a form of a computer program product that is implemented on one or more computer-usable storage media (including but not limited to a disk memory, an optical memory, and the like) that includes computer-usable program code.
[0234] This disclosure is described with reference to the flowcharts and / or block diagrams of the method, the device (system), and the computer program product according to this disclosure. It should be understood that computer program instructions may be used to implement each process and / or each block in the flowcharts and / or the block diagrams and a combination of a process and / or a block in the flowcharts and / or the block diagrams. The computer program instructions may be provided for a general -purpose computer, a dedicated computer, an embedded processor, or a processor of another programmable data processing device and enable a machine to execute the instructions. When executed by any computer or the processor of a programmable data processing device, the instructions cause the apparatus to implement specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams. The computerprogram instructions may alternatively be stored in a computer-readable memory that can indicate a computer or another programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate an artifact that includes an instruction apparatus. The instruction apparatus implements a specific function in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0235] The computer program instructions may alternatively be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, so that computer-implemented processing is generated. Therefore, the instructions executed on the computer or on another programmable device provide steps for implementing specific functions as described in one or more procedures in the flowcharts and / or one or more blocks in the block diagrams.
[0236] It is clear that a person skilled in the art can make various modifications and variations to this disclosure without departing from the scope of this disclosure. This disclosure is intended to cover these modifications and variations of this disclosure provided that they fall within the scope of protection defined by the following claims and their equivalent technologies.
Claims
CLAIMS1. A method for obtaining a middle surface, the method comprising: obtaining, for a body, a mesh comprising a plurality of volumetric elements and a plurality of surfaces, wherein a volumetric element in the plurality of volumetric elements comprises a plurality of vertices and a plurality of faces, all vertices of the plurality of volumetric elements are located on the plurality of surfaces, and a portion of all faces of the plurality of volumetric elements are located on the plurality of surfaces; determining one or more thin-walled parts of the body, wherein a first thin-walled part in the one or more thin-walled parts comprises a first surface and a second surface in the plurality of surfaces and a first set of volumetric elements in the plurality of volumetric elements; for the first thin-walled part, obtaining a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements; and determining a first middle surface of the body according to the first middle surface patch.
2. The method of claim 1, wherein the first surface or the second surface comprises at least one face of a volumetric element in the first set of volumetric elements.
3. The method of claim 2, wherein the first thin-walled part is determined by actions of: determining the first surface from the plurality of surfaces, wherein a set of vertices are located on the first surface; determining a second set of volumetric elements, wherein each of the second set of volumetric elements comprises at least one vertex of the set of vertices; determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements; and determining the second surface from the one or more third surfaces.
4. The method of claim 3, wherein the determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements, comprises: determining, from the plurality of surfaces, a surface that comprises at least one face of the second set of volumetric elements as the third surface.
5. The method of claim 3 or 4, wherein determining the second surface from the one or more third surfaces comprises: determining the second surface from the one or more third surfaces according to a preset condition.
6. The method of claim 5, wherein the preset condition comprises at least one of: paralleling to the first surface; an absolute value of a difference between a perpendicular distance with the first surface and an average distance of perpendicular distances with the first surface being smaller than a first threshold; or a volume of an overlap with the first surface being greater than a second threshold.
7. The method of any one of claims 1 to 6, wherein obtaining a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements comprises: obtaining a middle plane that passes through a middle point of a line connecting a centroid of the first surface and a centroid of the second surface; and obtaining one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch.
8. The method of any one of claims 1 to 7, wherein determining a first middle surface of the body according to the first middle surface patch comprising: determining the first middle surface of the body according to one or more middle surface patches of the one or more thinwalled parts, wherein the one or more middle surface patches comprises the first middle surface patch.
9. The method of claim 8, wherein determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts comprises: determining, from the one or more middle surface patches, a second middle surface patch and a third middle surface patch that are not connected; determining a third set of volumetric elements according to a second thin-walled part corresponding to the second middle surface patch and a third thin-walled part corresponding to the third middle surface patch, wherein a volumetric element in the third set of volumetric elements comprises at least one vertex comprised in the second thin-walled part or the third thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the second thin-walled part or the third thinwalled part; determining cross-sections between a middle plane of the second middle surface patch and the third set of volumetric elements, and cross-sections between a middle plane of the third middle surface patch and the third set of volumetric elements; and determining one or more second cross-sections among the cross-sections corresponding to the second middle surface patch and the cross-sections corresponding to the third middle surface patch, wherein the one or more second cross-sections are used to connect the second middle surface patch and the third middle surface patch; and obtaining the first middle surface, by connecting the one or more second cross-sections with the second middle surface patch and the third middle surface patch.
10. The method of claim 9, wherein the determining one or more second cross-sections comprises: determining, among paths between a first point of the second middle surface patch and a second point of the third middle surface patch, a shortest path; and determining, from the cross-sections corresponding to the second middle surface patch and the cross-sections corresponding to the third middle surface patch, one or more second cross-sections according to the shortest path, wherein a second cross-section in the one or more second cross-sections comprises at least a segment of the shortest path.
11. The method of any one of claims 1 to 10, further comprising: in a case where the first middle surface comprises one or more quadrilaterals, obtaining a second middle surface by dividing a quadrilateral in the one or more quadrilaterals into at least two triangles.
12. The method of any one of claims 1 to 11, wherein the volumetric elements comprise tetrahedrons, hexahedra, or prisms.
13. A middle surface extraction apparatus, comprising: an obtaining unit configured to obtain, for a body, a mesh comprising a plurality of volumetric elements and a plurality of surfaces, wherein a volumetric element in the plurality of volumetric elements comprises a plurality of vertices and a plurality of faces, all vertices of the plurality of volumetric elements are located on the plurality of surfaces, and a portion of all faces of the plurality of volumetric elements are located on the plurality of surfaces; and a processing unit configured to determine one or more thin-walled parts of the body, wherein a first thin-walled part in the one or more thin-walled parts comprises a first surface and a second surface in the plurality of surfaces and a first set of volumetric elements in the plurality of volumetric elements;for the first thin-walled part, obtain a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements; and determine a first middle surface of the body according to the first middle surface patch.
14. The middle surface extraction apparatus of claim 13, wherein the first surface or the second surface comprises at least one face of a volumetric element in the first set of volumetric elements.
15. The middle surface extraction apparatus of claim 14, wherein the first thin-walled part is determined by actions of: determining the first surface from the plurality of surfaces, wherein a set of vertices are located on the first surface; determining a second set of volumetric elements, wherein each of the second set of volumetric elements comprises at least one vertex of the set of vertices; determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements; and determining the second surface from the one or more third surfaces.
16. The middle surface extraction apparatus of claim 15, wherein the determining, from the plurality of surfaces, one or more third surfaces according to the second set of volumetric elements, comprises: determining, from the plurality of surfaces, a surface that comprises at least one face of the second set of volumetric elements as the third surface.
17. The middle surface extraction apparatus of claim 15 or 16, wherein determining the second surface from the one or more third surfaces comprises: determining the second surface from the one or more third surfaces according to a preset condition.
18. The middle surface extraction apparatus of claim 17, wherein the preset condition comprises at least one of: paralleling to the first surface; an absolute value of a difference between a perpendicular distance with the first surface and an average distance of perpendicular distances with the first surface being smaller than a first threshold; or a volume of an overlap with the first surface being greater than a second threshold.
19. The middle surface extraction apparatus of any one of claims 13 to 18, wherein obtaining a first middle surface patch according to the first surface, the second surface, and the first set of volumetric elements comprises: obtaining a middle plane that passes through a middle point of a line connecting a centroid of the first surface and a centroid of the second surface; and obtaining one or more first cross-sections between the middle plane and the first set of volumetric element as the middle surface patch.
20. The middle surface extraction apparatus of any one of claims 13 to 19, wherein determining a first middle surface of the body according to the first middle surface patch comprising: determining the first middle surface of the body according to one or more middle surface patches of the one or more thinwalled parts, wherein the one or more middle surface patches comprises the first middle surface patch.
21. The middle surface extraction apparatus of claim 20, wherein the determining the first middle surface of the body according to one or more middle surface patches of the one or more thin-walled parts comprises:determining, from the one or more middle surface patches, a second middle surface patch and athird middle surface patch that are not connected; determining a third set of volumetric elements according to a second thin-walled part corresponding to the second middle surface patch and a third thin-walled part corresponding to the third middle surface patch, wherein a volumetric element in the third set of volumetric elements comprises at least one vertex comprised in the second thin-walled part or the third thin-walled part, and all faces of the third set of volumetric elements are not on surfaces of the second thin-walled part or the third thinwalled part; determining cross-sections between a middle plane of the second middle surface patch and the third set of volumetric elements, and cross-sections between a middle plane of the third middle surface patch and the third set of volumetric elements; and determining one or more second cross-sections among the cross-sections corresponding to the second middle surface patch and the cross-sections corresponding to the third middle surface patch, wherein the one or more second cross-sections are used to connect the second middle surface patch and the third middle surface patch; and obtaining the first middle surface, by connecting the one or more second cross-sections with the second middle surface patch and the third middle surface patch.
22. The middle surface extraction apparatus of claim 21, wherein the determining one or more second cross-sections comprises: determining, among paths between a first point of the second middle surface patch and a second point of the third middle surface patch, a shortest path; and determining, from the cross-sections corresponding to the second middle surface patch and the cross-sections corresponding to the third middle surface patch, one or more second cross-sections according to the shortest path, wherein a second cross-section in the one or more second cross-sections comprises at least a segment of the shortest path.
23. The middle surface extraction apparatus of any one of claims 13 to 22, further comprising: in a case where the first middle surface comprises one or more quadrilaterals, obtaining a second middle surface by dividing a quadrilateral in the one or more quadrilaterals into at least two triangles.
24. The middle surface extraction apparatus of any one of claims 13 to 23, wherein the volumetric elements comprise tetrahedrons, hexahedra, or prisms.
25. A computing device comprising processing circuitry for performing the method according to any one of claims 1 to 12.
26. A chip, comprising an input / output (I / O) interface and a processor, wherein the processor is configured to call and run a computer program stored in a memory, to enable a device installed with the chip to perform the method according to any one of claims 1 to 12.
27. A computing device, comprising: one or more processors; and a memory storing instructions which, when executed by the one or more processors, cause the device to perform the method of any one of claims 1 to 12.
28. A computing device cluster, comprising one or more computing devices, and each computing device comprises oneor more processors and a memory; one or more processors of the one or more computing devices are configured to execute instructions stored in a memory of the one or more computing devices, cause the computing device cluster to perform the method of any one of claims 1 to 12.
29. A computer-readable storage medium having instructions stored thereon which, when executed by a device, cause the device to perform the method of any one of claims 1 to 12.
30. A computer program product storing instructions which, when executed, cause an apparatus to perform the method of any one of claims 1 to 12.