Mixing process
By generating the field function of the hybrid surface through an implicit method, the applicability problem of the rolling ball hybrid technology in mesh modeling is solved, the creation of rolling ball type hybrid surfaces in classic and mesh models is realized, and the visualization and control capabilities of the model are improved.
Patent Information
- Application Number
- CN202380093891.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-14
- Publication Date
- 2025-09-30
AI Technical Summary
Existing rolling ball blending techniques are not applicable to mesh-based modeling, nor are they applicable to models that combine B-rep or implicit modeling with mesh-based modeling. It is not possible to create rolling ball type blended surfaces in models with classic and mesh geometries.
An implicit method is used to generate the field function of the hybrid surface by determining the curves and curve projections in three-dimensional space. Combined with the hybrid displacement function, a rolling ball type hybrid surface suitable for classical and grid geometries is generated.
Enables the creation of rolling ball hybrid surfaces in models with classic and mesh geometries, improving model visualization and control for applications such as additive manufacturing.
Smart Images

Figure CN120731445A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a method for generating a blending surface for a model of a component. Specifically, the method described herein uses an implicit method to provide a rolling ball type blending for the model of the component. Background Art
[0002] Computer-aided design (CAD) systems are used in many areas of engineering, manufacturing, and design to create and manipulate solid modeling representations of objects, for example in additive manufacturing. Modern CAD systems offer a variety of representations of three-dimensional models. Boundary representation (B-rep) technology provides an efficient and adaptable representation of components by combining classical geometry (analytic surfaces and curves, non-uniform rational B-splines (NURBS), and procedural surfaces and curves) with topology (which captures the connectivity and interactions between geometric elements). In B-rep, a solid object is represented as a collection of connected surface elements that define the boundaries between interior and exterior points.
[0003] Implicit modeling is a technique that uses implicit functions to represent three-dimensional models. In implicit models, the model surface corresponds to the isosurface of a function field f(x), which represents the distance between a point x in three-dimensional space and the surface. Implicit models offer several advantages over models generated using other modeling techniques. For example, implicit models can be easily combined using Boolean operations.
[0004] Meshing is another modeling technique found in many CAD systems. A mesh representation involves subdividing a continuous geometric space into discrete geometric and topological units called facets. Meshes are very useful in modeling applications such as finite element analysis, 3D scanning, topology optimization, and 3D printing. Some CAD systems also allow for "hybrid representations," which contain both classical geometry and faceted data in a single B-rep model without the need to convert between data types.
[0005] Blending techniques have been used in CAD systems to create seamless surfaces and smooth sharp edges and corners in 3D models. Blending can be used to add material to specific areas of a model to improve physical properties, such as mechanical strength. Blending can also be used to enhance the aesthetic quality of surfaces in a design. Rolling ball blending is a blending technique that generates a blended surface by mimicking the motion of a ball rolling along a curve called a ridge. The radius of the ball determines the blend radius of the blended surface. Rolling ball blending is easy to visualize and has good localization properties, which allows for a great deal of control over the blended surface. Unfortunately, rolling ball blending is not applicable to mesh-based modeling, nor to models that combine B-rep or implicit modeling with mesh-based modeling.
[0006] Implicit blending is another blending technique that can be used to generate blends between implicit surfaces. Starting from the implicit surface's field functions (which define the distance from a point in space to the implicit surface), the blend is generated by combining the input surface's field functions and determining a new isosurface for the blend. Summary of the Invention
[0007] The object of this disclosure is to provide a method for generating rolling-ball type blends for classical and hybrid geometric surfaces using an implicit approach.
[0008] The scope of the present disclosure is limited only by the appended claims and is not affected in any way by the statements in this summary of the invention.This embodiment can eliminate one or more deficiencies or limitations in the related art.
[0009] According to a first aspect, a computer-implemented method for generating a hybrid surface for a model of a component comprising a first surface S0 and a second surface S1 adjacent to the first surface S0 is provided. The method comprises: determining a first curve C in a three-dimensional space, wherein for each point on the first curve C, a distance between the point and the first surface S0 and a distance between the point and the second surface S1 are within a threshold of a predetermined parameter r; determining a second curve B0 comprising a projection of the first curve C on the first surface S0; determining a third curve B1 comprising a projection of the first curve C on the second surface S1; generating a first field function f(x) based on the first curve C, the second curve B0, and the third curve B1, the first field function f(x) comprising a signed distance of a point in the three-dimensional space to the hybrid surface S between the first surface S0 and the second surface S1; and generating the hybrid surface S based on the first field function f(x).
[0010] The method according to the first aspect provides a rolling ball type blending for a model of a component using implicit function definitions.The method according to the first aspect is applicable to both classical and mesh geometries and can be used in particular to create rolling ball type blending in models combining these two geometries.
[0011] According to a second aspect, computer program code is provided which, when executed by a data processing system, causes the data processing system to perform the steps of the method according to the first aspect.
[0012] In a first implementation form, according to the method of the first aspect, the first surface S0 is an isosurface of the second field function f0(x) and the second surface is an isosurface of the third field function f1(x).
[0013] In a second implementation form, determining the first curve C comprises determining a fourth field function:
[0014]
[0015] The implementation also includes a fourth field function fspine (x) A mesh is generated and a first curve C is generated from a plurality of points obtained from the mesh. λ is a parameter such that λ / r is smaller than a predetermined value.
[0016] In a third implementation form, generating a first curve C from a plurality of points obtained from a grid includes projecting a first set of points from an edge where the first surface S0 intersects the second surface S1 onto the grid to obtain a second set of points, modifying positions of points in the second set of points to obtain a third set of points, wherein distances between the points in the third set of points and the first surface S0 and the second surface S1 are within a threshold of a predetermined parameter r, and fitting the third set of points to obtain curve C.
[0017] In a fourth implementation form, generating the first field function f(x) based on the first curve c, the second curve B0 and the third curve B1 comprises determining a mixed displacement function D(x), wherein the mixed displacement function D(x) is a continuous offset of the union of the first surface S0 and the second surface S1.
[0018] In a fifth implementation form, the hybrid displacement function is defined as:
[0019] D(x)=(min(f0,f1)+(d s -r))·H(d b / r-δ)
[0020] Among them, d s The distance from the point x in the three-dimensional space to the first curve C is included, and d b comprising the signed distance of a pair of half lines γ-β0, γ-β1 in a cross-sectional plane defined by points γ, β0, β1, wherein γ comprises the projection of point x on the first curve C, β0 comprises the projection of point γ on curve B0, β1 comprises the projection of point γ on curve B1, H is a smoothed Heaviside step function, and δ is a predetermined parameter.
[0021] In a sixth implementation form, the parameter δ is selected from the range 0.1≤δ≤0.2.
[0022] In a seventh implementation form, the first field function f(x) is defined as:
[0023] f(x)=min(f0(x),f1(x))-D(x)
[0024] In an eighth realisation form, generating the hybrid surface S based on the first field function f(x) comprises generating a mesh from the first field function f(x).
[0025] In a ninth implementation form, generating the mesh comprises applying a marching tetrahedron method or a marching cube method to the field function f(x).
[0026] In a tenth implementation form, the method according to the first aspect includes imprinting the second curve B0 onto the first surface S0 and imprinting the third curve B1 onto the second surface S1 to obtain face sets on both sides of the edge where the first surface S0 intersects the second surface S1, and replacing the surfaces of these face sets with the mixed surface S.
[0027] In an eleventh implementation form, the method according to the first aspect comprises exporting a model of the component to an additive manufacturing device and manufacturing the component.
[0028] In a twelfth implementation form, the model of the component includes a portion comprising a mesh representation.
[0029] In a thirteenth implementation form, the model of the component comprises a portion comprising a classical geometric representation.
[0030] These and other aspects of the disclosure will be apparent from and elucidated with reference to the embodiments described hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings:
[0032] Figure 1 shows a schematic diagram illustrating a cross section of a surface of a component according to an example;
[0033] Figure 2 shows a schematic diagram illustrating a cross section of a surface of a component according to an example;
[0034] Figure 3 shows a schematic perspective view of ridge lines for generating a hybrid surface according to an example;
[0035] Figure 4 shows a schematic perspective view of a portion of a mesh representation of a surface according to an example;
[0036] Figure 5 shows a schematic diagram illustrating a cross-sectional view of a surface of a component according to an example;
[0037] Figure 6 shows a schematic perspective view of a mixing surface according to an example;
[0038] Figure 7 shows a schematic perspective view of a surface according to an example;
[0039] Figure 8 shows a schematic perspective view of a mixing surface according to an example;
[0040] Figure 9 shows a flowchart illustrating a method according to various embodiments; and
[0041] Figure 10 A schematic diagram of a data processing system configured to perform an embodiment is shown. DETAILED DESCRIPTION
[0042] The example embodiments are described below in sufficient detail to enable those skilled in the art to implement and realize the systems and processes described herein.It is important to understand that the embodiments can be provided in many alternative forms and should not be construed as limited to the examples set forth herein.
[0043] Therefore, although the embodiments may be modified in various ways and take various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. No limitation to the particular forms disclosed is intended. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims are intended to be included therein. Where appropriate, elements of the example embodiments are represented by the same reference numerals throughout the drawings and detailed description.
[0044] The terms used herein to describe the embodiments are not intended to limit the scope. The articles "one", "an" and "the" are singular forms because they have a single referent, but the use of the singular form in this article should not exclude the presence of multiple referents. In other words, the elements mentioned in the singular can be one or more, unless the context clearly indicates otherwise. When the terms "comprise", "comprising" are used in this article, these terms indicate the presence of described features, items, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, items, steps, operations, elements, parts and / or their groups.
[0045] Unless otherwise defined, all terms (including technical and scientific terms) used herein should be interpreted according to common practice in the art. Commonly used terms should also be interpreted according to common practice in the relevant art and should not be interpreted in an idealized or overly formal sense unless explicitly defined as such herein.
[0046] The methods described herein can be used to generate blends between surfaces of objects in, for example, a CAD system. By way of example, these surfaces may be those of a component represented in a "hybrid representation" that contains portions of classical geometry and portions of mesh-based or faceted geometry. The methods described herein produce blends that are visually similar to rolling ball blends, but are compatible with both mesh-based and classical geometry using an implicit approach.
[0047] Figure 1is a schematic diagram showing a cross-sectional view of two surfaces S0, S1. The surfaces S0, S1 may correspond to surfaces of a model, which for example represents a component for manufacturing or a simulation of a component in a CAD system. The surfaces S0, S1 are implicitly represented by field functions f0, f1, where each f i is the function f i : And on the surface S i The top is f i (x) = 0. In this specification, the term "isosurface" refers to the surface of a point x in three-dimensional space, where for a scalar function f(x)=c, where c is a constant. The term "lower surface" refers to the surface below the mixing surface.
[0048] exist Figure 1 In the field function f i Indicates a point To surface S i The signed distance of , where the sign is defined by the surface normal directions 101, 102. Function f i The positive and negative regions are denoted as "-dist" and "+dist" respectively. For concave edges, the scalar function f(x) = min(f0(x), f1(x)) describes a surface that matches the two underlying surfaces S0, S1 when f(x) = 0.
[0049] Figure 2 is a schematic diagram showing a cross-sectional view of two surfaces S0 and S1 and a blending surface 201, which resembles a rolling-ball blend between surfaces S0 and S1. In conventional rolling-ball blending methods, a blend is generated by rolling an imaginary ball along a selected sharp edge of the model where the user wishes to create a blend. This has the effect of smoothing the selected edge. The center of the ball follows a path, known as a ridge curve, whose distance from each surface S0 and S1 is equal to the radius of the ball.
[0050] exist Figure 2 In
[15] , the shape of the mixing surface 201 is controlled by the mixing displacement function D(x). The method proposed in this paper describes how to select an appropriate function D(x) to generate a rolling ball type mixing surface 201. The mixing displacement function D(x) is a continuous offset of the union of the surfaces S0 and S1. The mixing surface 201 is the function f B (x) = min(f0(x), f1(x))-D(x) isosurface, which represents the point The signed distance to the hybrid surface 201. Function f B The regions where (x) is positive and negative are represented as "-dist" and "+dist", respectively.
[0051] The hybrid displacement function D(x) is determined based on three curves in three-dimensional space: a first curve C similar to the ridge curve in the rolling ball hybrid, a second curve B0 corresponding to the projection of curve C on the surface S0, and a third curve B1 corresponding to the projection of curve C on the surface S1.
[0052] Figure 3 is a schematic diagram of ridge lines used to generate a blended surface according to an example. Figure 3 The illustration in shows two surfaces 301, 302 intersecting at an edge 303. Two face sets representing the surfaces 301, 302 are generated, the two face sets being adjacent to the edge 303. For each face set, a faceted sheet is created in which all face meshes are merged into one mesh.
[0053] Construct a narrow tube mesh 304 that follows a curve similar to the ridge curve used to generate the rolling ball blend. The tube can be constructed from the following field function:
[0054]
[0055] In formula (1), r is the mixing radius, and λ is a parameter for controlling the radius of the tube. For example, the parameter λ can be set to λ=0.04r.
[0056] Samples from edge 303 are projected onto ridge grid 304. The projected position can be moved closer to a theoretical ridge curve containing points at a distance r from surfaces 301, 302. A position is moved on the cross-sectional plane defined by three positions (the position and its projection onto surfaces 301, 302) in an attempt to find a point at a distance from surfaces 301, 302 equal to parameter r. The projected samples are fitted to a curve C that approximates the theoretical ridge curve.
[0057] The points of curve C are projected onto lower surfaces 301 , 302 to generate mixing boundary curves B0 and B1 that define the extent of the mixing surface. Figure 4 4 is a schematic perspective view showing the projection of points on curve C onto the mesh below surface 401. Note the high curvature below the area where no curve is projected, as this can result in large gaps in the projection. When the underlying surface is a mesh, the projected polyline 402 from each point on curve C can be rough. The resulting projection can be smoothed using a filter such as a Savitzky-Golay filter to produce curve 403.
[0058] Figure 5 is a schematic diagram showing a cross-sectional view of two surfaces S0 and S1. Point x corresponds to a position in three-dimensional space. Point r corresponds to Figure 3The point x is the position of the projection of curve C in the cross-sectional view. Similarly, β0 and β1 correspond to the projection of point r onto the blend boundary curves B0 and B1, respectively. f0 and f1 are the signed distances to the lower grid of surfaces S0 and S1. is the distance to the curve C. db is the signed distance to a pair of half lines γ-β0 and γ-β1 in the cross-sectional plane defined by the points r, β0, and β1. The mixed displacement function D(x) is defined as:
[0059] D(x)=(min(f0,f1)+(d s -r))·H(d b / r-δ) (2)
[0060] In formula (2), the function H is a smoothed version of the Heaviside step function. This ensures that the mixing displacement is zero outside the mixing boundary curve. The value δ is selected to make the mixing boundary D(x) small and the mixing mesh almost consistent with the underlying surface. A suitable value of δ can be selected from the range of 0.1≤δ≤0.2, for example δ=0.15. Figure 6 is a schematic diagram illustrating a mixing surface 601 according to an example. The mixing surface corresponds to an isosurface of a field function:
[0061] f B (x) = min(f0(x), f1(x)) - D(x)
[0062] Figure 7 is a schematic diagram showing the imprinting of a mixed boundary curve on a body. Figure 7 As shown in , the mixed boundary curves B0 and B1 can be directly imprinted onto the surfaces S0 and S1. Imprinting will create face chains 701 and 702 on both sides of the edge chain. Figure 8 is a schematic diagram showing mixing. Figure 8 , the blended surface 801 replaces the surfaces of the newly created faces 701 , 702 that are merged into one face.
[0063] Figure 9 A flow chart illustrating a computer-implemented method for generating a blended surface for a model of a component including a first surface S0 and a second surface S1 adjacent to the first surface S0 is shown.
[0064] At block 910 , the method includes determining a first curve C in three-dimensional space, wherein for each point on the first curve C, a distance from the point to the first surface S0 and a distance from the point to the second surface S1 are within a threshold of a predetermined parameter r.
[0065] At block 920 , the method includes determining a second curve B0 . The second curve B0 includes a projection of the first curve C onto the first surface S0 .
[0066] At block 930 , the method includes determining a third curve Bl. The third curve Bl includes a projection of the first curve C onto the second surface S1.
[0067] At block 940 , the method includes generating a first field function f(x) based on the first curve C, the second curve B0, and the third curve B1. The first field function f(x) includes signed distances from points in three-dimensional space to the hybrid surface S between the first surface S0 and the second surface S1.
[0068] At block 950 , the method includes generating a hybrid surface S based on the first field function f(x).
[0069] Figure 10 An example of a data processing system that can implement an embodiment of the present disclosure is shown, such as a CAD system configured to perform the processes described herein. Data processing system 1000 includes a processor 1010 connected to a local system bus 1020. Local system bus 1020 connects the processor to main memory 1030 and a graphics display adapter 1040, which can be connected to a display 1050. Data processing system 1000 can communicate with other systems via a wireless user interface adapter connected to local system bus 1020 or via a wired network, such as a local area network. Additional memory 1060 can also be connected via local system bus 1020. Adapters (such as wireless user interface adapter 1070) for other peripheral devices (such as keyboard 1080 and mouse 1090 or other pointing devices) allow users to provide input to the data processing system. Other peripheral devices may include one or more input / output controllers, such as a USB controller, a Bluetooth controller, and / or a dedicated audio controller (connected to a speaker and / or microphone). Various peripheral devices can be connected to the USB controller (through various USB ports), including input devices (e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanner), output devices (e.g., printer, speaker), or any other type of device that can provide input to or receive output from data processing system 1000. Furthermore, a device referred to as an input device or an output device can both provide input and receive output in communication with data processing system 1000. Furthermore, other peripheral hardware connected to the input / output controller can include any type of device, machine, or component configured to communicate with the data processing system.
[0070] An operating system included in data processing system 1000 enables output from the system to be displayed to a user on display 1050 and enables the user to interact with the system. Examples of operating systems that may be used in data processing systems may include Microsoft Windows TM Operating system, Linux TM Operating system, UNIXTM Operating system, iOS TM Operating system and Android TM operating system.
[0071] Furthermore, data processing system 1000 can be implemented in a network environment, a distributed system environment, a virtual machine in a virtual machine architecture, and / or a cloud environment. For example, processor 1010 and related components can 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.
[0072] Those skilled in the art will appreciate that the hardware depicted for data processing system 1000 may vary depending on the specific implementation. For example, data processing system 1000 in this example may correspond to a computer, workstation, and / or server. However, alternative embodiments of the data processing system may be configured with corresponding or alternative components, such as in the form of a mobile phone, tablet computer, controller board, or any other system that can be used to process data and perform the functions and features associated with the operation of data processing systems, computers, processors, and / or controllers described herein. The depicted examples are for illustrative purposes only and are not intended to imply architectural limitations with respect to the present disclosure.
[0073] Data processing system 1000 may be connected to a network (not part of data processing system 1000), which, as will be appreciated by those skilled in the art, may be any public or private data processing system network or combination of networks, including the Internet. Data processing system 1000 may communicate with one or more other data processing systems, such as servers (also not part of data processing system 1000), via the network. However, alternative data processing systems may correspond to multiple data processing systems implemented as part of a distributed system, in which processors associated with the multiple data processing systems can communicate via one or more network connections and can 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 on a number of data processing systems organized in a distributed system that communicate with each other via a network.
[0074] It should be understood that the elements and features recited in the appended claims may be combined in various ways to create new claims that also fall within the scope of the present disclosure. Thus, although the dependent claims appended below are dependent only upon a single independent or dependent claim, it should be understood that these dependent claims may alternatively be dependent upon any preceding or subsequent claim (whether independent or dependent), and such new combinations should be understood to constitute part of this specification.
[0075] Although the present disclosure has been described above with reference to various embodiments, it will be appreciated that many changes and modifications may be made to the described embodiments. Therefore, the foregoing description should be considered illustrative rather than restrictive, and it will be appreciated that all equivalent schemes and / or combinations of embodiments are intended to be included in this specification.
Claims
1. A computer-implemented method for generating a blended surface for a model of a component comprising a first surface S0 and a second surface S1 adjacent to the first surface S0, the method comprising: Determine a first curve C in a three-dimensional space, wherein for each point on the first curve C, a distance from the point to the first surface S0 and a distance from the point to the second surface S1 are within a threshold of a predetermined parameter r; determining a second curve B0, wherein the second curve B0 includes a projection of the first curve C onto the first surface S0; determining a third curve B1, wherein the third curve B1 includes a projection of the first curve C onto the second surface S1; generating a first field function f(x) based on the first curve C, the second curve B0, and the third curve B1, wherein the first field function f(x) includes a signed distance from a point in the three-dimensional space to a mixed surface S between the first surface S0 and the second surface S1; as well as The hybrid surface S is generated based on the first field function f(x).
2. The method according to claim 1, wherein The first surface S0 is an isosurface of the second field function f0(x), and The second surface is an isosurface of the third field function f1(x).
3. The method according to claim 2, wherein: Determining the first curve C includes: Determine the fourth field function f spine (x) Based on the fourth field function f spine (x) generating a mesh; and The first curve C is generated from a plurality of points obtained from the grid, wherein λ is a parameter such that λ / r is smaller than a predetermined value.
4. The method according to claim 3, wherein: Generating the first curve C includes: Projecting a first set of points from the edge where the first surface S0 intersects the second surface S1 onto the grid to obtain a second set of points; modifying positions of points in the second set of points to obtain a third set of points, wherein distances between the points in the third set of points and the first surface S0 and the second surface S1 are within a threshold of the predetermined parameter r; and The third set of points is fitted to obtain the curve C.
5. The method according to claim 2, wherein: Generating the first field function f(x) comprises determining a mixed displacement function D(x), and wherein the mixed displacement function D(x) is a continuous offset of the union of the first surface SO and the second surface S1.
6. The method according to claim 5, wherein: The hybrid displacement function is defined as: D(x)=(min(f0,f1)+(d s -r))·H(d b / r-δ), in: d s including the distance from point x in the three-dimensional space to the first curve C, d b The signed distance of a pair of half lines γ-β0, γ-β1 in the section plane defined by the points r, β0, β1, γ includes the projection of the point x on the first curve C; β0 includes the projection of the point r on the curve B0, β1 includes the projection of the point r on the curve B1, H is a smooth Heaviside step function, and δ is a predetermined parameter.
7. The method according to claim 6, wherein: δ is selected from the range of 0.1≤δ≤0.
2.
8. The method according to claim 6, wherein: The first field function f(x) is defined as: f(x)=min(f0(x),f1(x))-D(x).
9. The method according to claim 1, wherein Generating the mixing surface s comprises generating a mesh from the first field function f(x).
10. The method according to claim 9, wherein: Generating the mesh includes applying a marching tetrahedron method or a marching cube method to the field function f(x).
11. The method according to claim 9, further comprising: Imprinting the second curve B0 onto the first surface S0 and imprinting the third curve B1 onto the second surface S1 to obtain face sets on both sides of an edge where the first surface S0 intersects the second surface S1; as well as The surfaces of the face set are replaced by the hybrid surface S.
12. The method according to any one of claims 1 to 11, further comprising: The model of the component is exported to an additive manufacturing device and the component is manufactured.
13. The method according to any one of claims 1 to 11, wherein The model of the component includes a portion comprising a mesh representation.
14. The method according to any one of claims 1 to 11, wherein The model of the component includes a portion comprising a classical geometric representation.
15. A computer program comprising code which, when executed by a data processing system, causes the data processing system to perform the steps of the method according to any one of claims 1 to 14.