Mesh refinement method
A hybrid mesh refinement method addresses complex boundaries by identifying isolated clusters and applying tailored refinement techniques, enhancing mesh quality and manufacturing precision.
Patent Information
- Application Number
- PCT/US2024/031849
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-31
- Publication Date
- 2025-12-04
AI Technical Summary
Existing mesh generation methods, such as Delaunay refinement and marching cubes, struggle with complex geometric boundaries, leading to low-quality facets, excessive facet generation, and artificial imprints, which affect simulation accuracy and manufacturing quality.
A method that identifies isolated vertex clusters and applies a hybrid refinement approach, using Delaunay refinement where applicable and an alternative method to maximize facet area in isolated regions, ensuring high-quality facets without excessive subdivision.
Generates high-quality meshes at complex boundaries with minimal facets, improving simulation accuracy and manufacturing precision without excessive refinement.
Smart Images

Figure US2024031849_04122025_PF_FP_ABST
Abstract
Description
MESH REFINEMENT METHODTECHNICAL FIELD
[0001] The present disclosure relates to methods and systems for generating a mesh representation of a planar face in a computer-aided design (CAD) model.BACKGROUND
[0002] Computer-aided design (CAD) systems are used in many fields of engineering, manufacturing, and design to create and manipulate solid modelling representations of objects, for example, in additive manufacturing. Boundary representation (B-rep) technology provides an efficient and adaptable representation of parts by combining different types of geometry with topology, which captures the connectivity and interaction between geometric elements. Additive manufacturing is the process of creating three-dimensional objects using a three-dimensional printer based on CAD or other digital three-dimensional models. Objects may be scanned as a precursor to creating a CAD model, or may be designed from scratch, and stored in either stereolithography file format (STL) or additive manufacturing file format (AMF) files for future printing.
[0003] Faceting is a process in which a CAD model is converted into a set of triangles, or other polygonal shapes, that give a piecewise linear approximation to the geometry of the original model. Modelling systems originally used faceting in order to generate graphical representations of models. More recently, faceting has been used to convert the geometry in models into meshes. Meshes may be used in a wide array of numerical simulation and modelling applications such as computational fluid dynamics, finite element methods, and additive manufacturing applications. In these contexts, facet quality is important, as a mesh with low quality facets may impact the accuracy and stability of a simulation or the quality of a manufactured object. A low-quality facet refers to a facet that does not meet certain geometric criteria (e.g., poor aspect ratio or high skewness).
[0004] One example of a method that may be used to generate high quality meshes from B-rep models is Delaunay refinement. Delaunay refinement starts from a Delaunay triangulation of the boundary, and iteratively improves the mesh by adding points to the interior. While this method produces high quality facets, the method suffers from a practical issue that the method may need to add a large number of pointsin order to deal with geometrically complex boundaries. For example, refinement in regions with short segments may create meshes with dense facets around the complexity, requiring the boundary to be subdivided into a large number of times and potentially leading to dense and poor quality facets being produced in adjacent faces.
[0005] Alternative approaches to meshing also have various drawbacks. For example, the marching cubes algorithm will produce a mesh regardless of the complexity of the geometry of a boundary. However, the marching cubes algorithm leaves an artificial cube imprint on the mesh, and facets are often thin with unequal sizing, resulting in significant post-processing. Given the drawbacks of the current methods, there is therefore a need for improving meshing techniques for models with complex geometric boundaries.SUMMARY AND DESCRIPTION
[0006] According to a first aspect, a computer-implemented method for generating a mesh representation of a planar face in a CAD model is provided. The face is defined by a boundary including one or more sequences of connected vertices. The method includes: a) identifying one or more isolated clusters of vertices on the boundary; b) triangulating the face to obtain an initial mesh representation of the face including a set of facets; c) evaluating the initial mesh representation to identify a subset of facets in the set that fail to meet a predefined condition; d) determining, for each facet in the subset, whether to use or prevent use of a first refinement method for refining the initial mesh representation in a geometric neighborhood of the facet; and e) refining the initial mesh representation using either the first refinement method or a second refinement method, different than the first refinement method, based on the determination. For each facet in the subset, determining whether to use the first refinement method includes: determining whether the shortest edge of the facet corresponds to a segment between a pair of vertices in an isolated cluster; and preventing use of the first refinement method, when the shortest edge of the facet corresponds to a segment between a pair of vertices in an isolated cluster.
[0007] The method according to the first aspect enables mesh generation at pathological face boundaries with small angles in the boundary, short constraints in the boundary, or thin pinches in the boundary, and produces high quality facets without generating excessive facets in certain regions and without subdividing the boundary excessively.
[0008] In one embodiment, triangulating the face includes applying a Delaunaytriangulation.
[0009] In one embodiment, the first refinement method is a Delaunay refinement method.
[0010] In one embodiment, for each isolated cluster, the ratio of the maximum distance from the centroid of the cluster to a vertex within the cluster to the minimum distance from the centroid of the cluster to the nearest vertex outside the cluster is greater than a predefined threshold value, C.
[0011] In one embodiment, identifying an isolated cluster includes: a) defining an initial cluster including a segment between a pair of vertices on the boundary; b) evaluating the boundary to identify vertices that lie within a distance, C- R, of the cluster, where R is the radius of the cluster; c) including the identified vertices in the cluster; and d) repeating steps b) and c) until no further vertices are found.
[0012] In one embodiment, identifying an isolated cluster includes: obtaining a tree of clusters based on a single linkage hierarchical clustering of the vertices on the boundary; and determining, for each node in the tree, whether the cluster represented by the node is an isolated cluster.
[0013] In one embodiment, the predefined condition specifies that the minimum angle of a facet is to be above a predefined threshold value.
[0014] In one embodiment, the second refinement method includes: retriangulating the initial mesh representation in a region to maximize a minimum area of facets in the retriangulated region.
[0015] In a second aspect, a method of fabricating an object in a manufacturing system is provided. The object is represented as a computer-aided design (CAD) model including one or more planar faces. The method includes: obtaining a mesh representation of the model based on the method according to the first aspect, generating operating instructions to control the manufacturing system to fabricate the object, based on the mesh representation; and fabricating the object in the manufacturing system.
[0016] In a third aspect, a computer-readable medium (e.g., a non-transitory computer- readable storage medium) storing data is provided. The data defines the representation of the object of the method according to the second aspect and operating instructions adapted to control the manufacturing system to fabricate the object using the representation when the data is relayed to the manufacturing system.
[0017] In one embodiment, the manufacturing system is an additive manufacturingsystem.
[0018] These and other aspects of the invention will be apparent from the embodiments described below.BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
[0020] Figure 1 shows a bounded subset of a planar surface, according to an example;
[0021] Figure 2 shows a triangulation of a bounded subset of a planar surface, according to an example;
[0022] Figure 3 A shows a refinement of a triangulation of a bounded subset of a planar surface, according to an example;
[0023] Figure 3B shows a triangulated region of a bounded subset of a planar surface, according to an example;
[0024] Figure 4 is a block diagram of a method for generating a mesh representation, according to an example;
[0025] Figure 5 shows a refinement of a triangulation of a bounded subset of a planar surface, according to an example; and
[0026] Figure 7 is a schematic representation of a data-processing system adapted to carry out the embodiments of the present invention.DETAILED DESCRIPTION
[0027] Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described. It is important to understand that embodiments may be provided in many alternate forms and should not be construed as limited to the examples set forth herein.
[0028] Accordingly, while embodiments may be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. All modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate.
[0029] The terminology used herein to describe embodiments is not intended to limit the scope. The articles “a,” “an,” and “the” are singular in that the articles have a single referent; however, the use of the singular form in the present document should not preclude the presence of more than one referent. In other words, elements referred to in the singular may number one or more, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “includes,” and / or “including,” when used herein, specify the presence of stated features, items, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof.
[0030] Unless otherwise defined, all terms including technical and scientific terms used herein are to be interpreted as is customary in the art. It will be further understood that terms in common usage should also be interpreted as is customary in the relevant art and not in an idealized or overly formal sense unless expressly so defined herein.
[0031] Methods and systems described herein are implemented in or in conjunction with a computer-aided design (CAD) system. CAD systems enable the creation, modification, and analysis of a design of an object for manufacture. CAD software is used across many industries, including architecture, engineering, manufacturing, and product design. Modern CAD systems enable the creation of highly detailed two- and three-dimensional models and provide an array of modelling and design tools to enable designers to efficiently modify models without having to reconfigure an entire design by hand. CAD systems may integrate with other software tools, such as simulation software, product lifecycle management (PLM) systems, and computer-aided engineering (CAE) tools.
[0032] In examples of CAD systems described herein, objects are modelled as bodies including sets of connected topologies. The structure, shape, and properties of a body are determined by its topology and geometry. Different types of topological entities may be defined in a CAD system and may include faces, edges, and vertices. Points are geometric entities that are principally attached to vertices. Curves are geometric entities that are principally attached to edges. Surfaces are geometric entities that are principally attached to faces. A sheet body is a topologically two-dimensional body formed of sheets. Sheets are sets of connected faces with no more than two faces meeting an edge. A solid body is a three-dimensional body that occupies a continuous, finite volume. Model tolerance refers to a parameter associated with an edge or vertex, representing a minimum distance that a point and an entity is to be apart in order to be distinct.
[0033] Figure 1 shows an example of a planar face 100 in a model. The face 100 includes a planar interior 101 and boundary 102 defined by vertices connected by edges. For example, the vertices 111, 112 are connected by the edge 121. Given a set of vertices in a plane, such as the vertices on the boundary of face 100, a triangulation of these vertices is a set of triangles, with all endpoints lying at the vertices, that cover the convex hull of the vertices. A Delaunay triangulation is a triangulation that maximizes a smallest angle across the whole triangulation. Constrained Delaunay triangulation is a variant of Delaunay triangulation that enforces a condition that certain edges appear in the triangulation (e.g., edges lying on a boundary of a face). After constraining a Delaunay triangulation, a triangulation of the convex hull of a set of vertices is obtained. However, some triangles may lie outside the face. Therefore, an additional step is performed to remove triangles outside the face.
[0034] Figure 2 shows an example of a constrained Delaunay triangulation 200 for the face 100. In Figure 2, the face 100 is subdivided into a collection of facets with varying shapes and sizes, such as the facets 201, 202, 203. The vertices of each facet correspond to vertices of the boundary 102. For example, the vertices of facet 201 include the vertices 111, 112. In the triangulation 200, some of the facets, such as facets 201, 203, are long and thin with a low aspect ratio and therefore the triangulation 200 is low quality.
[0035] In some cases, all triangulations of a given set of points may be low quality. In order to produce a higher quality triangulation, a triangulation may be refined using methods such as Delaunay refinement. In Delaunay refinement, an initial Delaunay triangulation is iteratively refined by adding points (e.g., Steiner points) to improve the mesh quality. This process provides that all angles in the triangles are above a specified minimum threshold, thus avoiding poorly shaped triangles with small angles. Examples of Delaunay refinement methods include Ruppert’s algorithm and Chew’s second algorithm.
[0036] Figure 3A shows an example of a triangulation 300 of the face 100, obtained using Delaunay refinement. In Figure 3 A, points have been added to the interior 101 of the face 100, such as points 301, 302. This results in additional facets being created when a Delaunay triangulation is recomputed. Figure 3B shows a close-up view of a region around a pair of vertices 311, 312, located on the boundary 102 of the face 100. The vertices 311, 312 are in close proximity to each other, forming a short segment in the boundary 102. Due to the proximity of the vertices, small facets accumulate in theregion around vertices 311, 312.
[0037] Figure 4 shows a block diagram of a method 400 for generating a mesh representation of a face, where the face is a bounded subset of a surface defined by a boundary including one or more sequence of connected vertices. The method 400 may be implemented in conjunction with other methods and systems described herein. The method 400 may be used in conjunction with additive manufacturing systems. For example, the method may further include generating instructions to control an additive manufacturing device to fabricate the mesh representation of the face.
[0038] The method 400 generates a high-quality triangulation irrespective of complexities occurring in the boundary such as the short segment between vertices. The resulting triangulation avoids the issue of a high concentration of facets depicted in Figures 3A and 3B. The method described herein may be understood in terms of stages. In a pre-processing stage, before any triangulation has occurred, isolated clusters of vertices in the boundary are identified. During processing, an initial triangulation is determined and subsequently refined. However, any facets with a short edge lying between vertices in an isolated cluster are bypassed, where the refinement method would lead to a sub-optimal solution. Facets that are bypassed for refinement are refined using a different refinement method.
[0039] At block 410, one or more isolated clusters of vertices on the boundary are identified. Herein, an isolated cluster includes any cluster of vertices where the vertices in the cluster lie much closer to each other than any vertices outside the cluster. For example, referring to Figures 3A, 3B, the vertices 311, 312 may be considered to belong to an isolated cluster of vertices, as the pair of vertices lie much closer to each other than any other vertices. More formally, an isolated cluster may be defined as a cluster of vertices on the boundary of the planar face where the ratio of a maximum distance from the centroid of the cluster to a vertex in the cluster to the minimum distance from the centroid to the nearest vertex outside the cluster is greater than a predefined threshold value, C, where C is a constant greater than or equal to 5. Choosing the constant, C, to be greater than or equal to 5 provides that vertices in isolated clusters are indeed isolated from other vertices and Delaunay refinement is still used in regions where the Delaunay refinement produces high quality facets.
[0040] Different methods may be used to identify isolated clusters. In a first embodiment, an isolated cluster may be identified by growing an initial cluster including a pair of vertices on the boundary. Vertices that lie within a distance CR ofthe initial cluster, where C is the predefined threshold value and R is the radius of the cluster, are identified and included in the cluster. These steps may be repeated until no further vertices are identified. If the resulting cluster contains all the vertices on the boundary, then the cluster is not isolated. If the algorithm terminates before finding all points on the boundary, then the cluster is an isolated cluster. In some cases, the method may terminate early if a predefined number of vertices are found to avoid having to expand the cluster to the entire boundary, before determining that the cluster is not an isolated cluster.
[0041] In a second embodiment, isolated clusters may be found systematically using a clustering algorithm. First, a single linkage hierarchical clustering is determined on the set of all points in the boundary. This produces a tree of clusters, T. The root node of T represents the entire set of boundary points, and each node has two subnodes representing the best way of splitting this cluster into two smaller clusters such that the minimum distance between points in different clusters is maximized. Starting with the subnodes of the root of , each cluster is analyzed to determine whether the respective cluster is an isolated cluster. If the cluster is isolated, the cluster is marked as an isolated cluster. If the cluster is not isolated, then each subnode of that cluster is analyzed in a similar fashion and marked accordingly.
[0042] The methods described herein to identify isolated clusters illustrate examples of suitable clustering methods. The skilled person would appreciate that other clustering techniques may be used in conjunction with the present embodiments.
[0043] At block 420, the face is triangulated to obtain an initial mesh representation of the face, including a set of facets. According to examples described herein, the triangulation may be a Delaunay triangulation.
[0044] At block 430, the initial mesh representation is evaluated to identify a subset of facets that fail to meet a predefined condition. In examples described herein, the predefined condition may specify that the minimum angle of the facet is to be above a predefined threshold value. Consequently, facets where the smallest angle of the facet is below the threshold fail the predefined condition. For example, referring again to Figure 2, the facets 201 and 203 may be identified as facets with minimum angles below the threshold.
[0045] At block 440, for each facet in the subset, a determination is made to use or prevent use of a first refinement method in a geometric neighborhood of the facet. According to examples described herein, the first refinement method may be aDelaunay refinement method. The determination includes a first step to determine whether a shortest edge of the facet corresponds to a segment between a pair of vertices in an isolated facet, and a second step of preventing use of the first refinement method, when the shortest edge of the facet corresponds. In some cases, determining whether to use the first refinement method may include additional steps. For example, if a small angle in a facet corresponds to a small angle in the boundary itself, then refinement using the first method of refinement may also be prevented.
[0046] At block 450, the initial mesh representation is refined using either the first refinement method or a second refinement method, different from the first refinement method, based on the determination. Figure 5 shows an example 500 of refinement using the method described. In Figure 5, facets such as the facets 501, 502 in the top left region of the face 100 are obtained using Delaunay refinement resulting in a facet pattern similar to the facet pattern in Figure 3 for this region. In contrast, Delaunay refinement of the facet 503 is prevented because the short edge of the facet corresponds to a segment between vertices in an isolated cluster.
[0047] Refinement in regions around facets that are bypassed by the first refinement method are refined using a second refinement method, different than the first refinement method, and may occur in a post-processing stage. According to an example, the second refinement method retriangulates the initial mesh representation in a region to maximize a minimum area of facets in the retriangulated region. Figure 6 depicts an example 600 of this retri angulation method for facets in a quad of vertices 601, 602, 603, 604.
[0048] A triangulation of the vertices 601, 602, 603, 604 may connect either the pair 601, 603 or the pair 602, 604. However, the facet defined by vertices 602, 603, 604 obtained from connecting vertices 602, 604 is thin and therefore undesirable.Therefore, the pair 601, 603 may be connected, as the resulting facets have a better shape. However, if vertex 601 is sufficiently far away, the Delaunay triangulation will connect 602, 604. This may be avoided by using an alternative triangulation method that maximizes the minimum area in regions of the triangulation where Delaunay refinement is restricted. This will reliably connect vertices 601, 603, producing higher quality facets. This hybrid of two triangulation methods preserves the angle, maximizing benefits of the Delaunay triangulation across the bulk of the face, while avoiding the pathological behavior it displays in regions where thin triangles are unavoidable.
[0049] The methods described herein handle pathological face boundaries with smallangles in the boundary, short constraints in the boundary, or thin pinches in the boundary, and produce high quality resulting meshes without needing excessively many facets in certain regions and without subdividing the boundary excessively, which may cause issues when meshing a body with multiple faces.
[0050] Figure 7 illustrates an example of a data processing system in which embodiments of the present disclosure may be implemented (e.g., a CAD application configured to perform the methods of the embodiments of the present invention as described herein). The data processing system 700 includes a processor 710 connected to a local system bus 720. The local system bus connects the processor to a main memory 730 and graphics display adaptor 740, which may be connected to a display 750. The data processing system may communicate with other systems via a wireless user interface adapter connected to the local system bus 720, or via a wired network, for example, to a local area network. Additional memory 760 may also be connected via the local system bus 720.
[0051] A suitable adaptor, such as wireless user interface adapter 770, for other peripheral devices, such as a keyboard 780 and mouse 790, or other pointing device, allows the user to provide input to the data processing system. Other peripheral devices may include one or more I / O controllers such as USB controllers, Bluetooth controllers, and / or dedicated audio controllers (e.g., connected to speakers and / or microphones). Various peripherals may be connected to the USB controller (e.g., via various USB ports) including input devices (e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners), output devices (e.g., printers, speakers), or any other type of device that is operative to provide inputs or receive outputs from the data processing system.
[0052] Many devices referred to as input devices or output devices may both provide inputs and receive outputs of communications with the data processing system. Further, other peripheral hardware connected to the VO controllers may include any type of device, machine, or component that is configured to communicate with a data processing system.
[0053] An operating system included in the data processing system enables an output from the system to be displayed to the user on the display and the user to interact with the system. Examples of operating systems that may be used in a data processing system may include Microsoft WindowsTM, LinuxTM, UNIXTM, iOSTM, and AndroidTM operating systems.
[0054] In addition, data processing system 700 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and / or cloud environment. For example, the processor and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper- V, Xen, and KVM.
[0055] Those of ordinary skill in the art will appreciate that the hardware depicted for the data processing system 700 may vary for particular implementations. For example, the data processing system 700 in this example may correspond to a computer, workstation, and / or a server. Alternative embodiments of a data processing system may, however, be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board, or any other system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and / or a controller discussed herein. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.
[0056] The data processing system 700 may be connected to the network (not a part of data processing system 700) that may be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. The data processing system 700 may communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 700). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with a number of (e.g., several) data processing systems may be in communication via one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, when referring to a data processing system, such a system may be implemented across a number of (e.g., several) data processing systems organized in a distributed system in communication with each other via a network.
[0057] The data processing system 700 is adapted to carry out the methods in accordance with the embodiments described herein. For example, the keyboard 780 and mouse 790 may function as a user input device for receiving information from the user, the processor 710 may be adapted to carry out the steps of the method, and the display750 may be adapted to display a particular view to the user. A computer product including instructions that, when run on a computer, such as the data processing system 700, may be provided to cause the computer to execute the steps of the methods of the embodiments of the present invention outlined above.
[0058] The present disclosure is described with reference to flow charts and / or block diagrams of the method, devices, and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. In some examples, some blocks of the flow diagrams may not be necessary, and / or additional blocks may be added.
[0059] The present inventions may be embodied in other specific apparatus and / or methods. The described embodiments are to be considered in all respects as illustrative and not restrictive. In particular, the scope of the invention is indicated by the appended claims rather than by the description and figures herein. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
[0060] The elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present invention. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent. Such new combinations are to be understood as forming a part of the present specification.
[0061] While the present invention has been described above by reference to various embodiments, it should be understood that many changes and modifications can be made to the described embodiments. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and / or combinations of embodiments are intended to be included in this description.
Claims
CLAIMS1. A method for generating a mesh representation of a planar face in a computer- aided design (CAD) model, wherein the planar face is defined by a boundary comprising one or more sequences of connected vertices, the method being computer- implemented and comprising: a) identifying one or more isolated clusters of vertices on the boundary; b) triangulating the face, such that an initial mesh representation of the face comprising a set of facets is obtained; c) evaluating the initial mesh representation, such that a subset of facets that fail to meet a predefined condition are identified in the set of facets; d) determining, for each facet in the subset of facets, whether to use or prevent use of a first refinement method for refining the initial mesh representation in a geometric neighborhood of the respective facet; and e) refining the initial mesh representation using the first refinement method or a second refinement method based on the determining, the second refinement method being different than the first refinement method; wherein, for each facet of the subset of facets, determining whether to use the first refinement method comprises: determining whether a shortest edge of the respective facet corresponds to a segment between a pair of vertices in an isolated cluster of the one or more isolated clusters; and preventing use of the first refinement method when the shortest edge of the respective facet corresponds to a segment between the pair of vertices in the isolated cluster.
2. The method of claim 1, wherein triangulating the face comprises applying a Delaunay triangulation.
3. The method of claim 2, wherein the first refinement method is a Delaunay refinement method.
4. The method of claim 1 wherein, for each isolated cluster of the one or more isolated clusters, a ratio of a maximum distance from a centroid of the respectiveisolated cluster to a vertex within the respective isolated cluster to a minimum distance from the centroid of the respective isolated cluster to a nearest vertex outside the respective isolated cluster, is greater than a predefined threshold value, C.
5. The method of claim 4, wherein identifying an isolated cluster of the one or more isolated clusters comprises: defining an initial cluster comprising a segment between a pair of vertices on the boundary; evaluating the boundary, such that vertices that lie within a distance, C- R, of the isolated cluster are identified, wherein R is a radius of the isolated cluster; including the identified vertices in the isolated cluster; and repeating the evaluating of the boundary and the including of the identified vertices until no further vertices are found.
6. The method of claim 4, wherein identifying an isolated cluster of the one or more isolated clusters comprises: obtaining a tree of clusters based on a single linkage hierarchical clustering of the vertices on the boundary; and determining, for each node in the tree of clusters, whether a cluster represented by the respective node is the isolated cluster.
7. The method of claim 1, wherein the predefined condition specifies that a minimum angle of a facet of the set of facets must be above a predefined threshold value.
8. The method of claim 1, wherein the second refinement method comprises: retriangulating the initial mesh representation in a region, such that a minimum area of facets in the retriangulated region is maximized.
9. A method of fabricating an object in a manufacturing system, wherein the object is represented as a computer-aided design (CAD) model comprising one or more planar faces, the method comprising: obtaining a mesh representation of the CAD model based on the method of any one of claims 1 to 8;generating operating instructions to control the manufacturing system to fabricate the object, based on the mesh representation; and fabricating the object in the manufacturing system.
10. The method of claim 9, wherein the manufacturing system is an additive manufacturing system.
11. A non-transitory computer-readable storage medium storing data that defines the representation of the object of claim 9, and operating instructions configured to control the manufacturing system to fabricate the object using the representation of the object when the data is relayed to the manufacturing system.
12. The non-transitory computer-readable storage medium of claim 11, wherein the manufacturing system is an additive manufacturing system.
Citation Information
Patent Citations
Adaptive mesh refinement
US20130300741A1
Low-poly mesh generation for three-dimensional models
US20240096022A1