Method for operating a CAD system model for modeling an article to be manufactured
By directly applying constraints and dimensions on the hybrid model, the distortion problem caused by the conversion of facet surfaces to algebraic geometry is solved, and a more accurate and efficient design process is achieved.
Patent Information
- Application Number
- CN201880087995.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-01-29
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2038-01-29
AI Technical Summary
When applying constraints in hybrid models, prior art requires converting facet surfaces to algebraic geometry, resulting in possible undesirable distortions or fluctuations and may result in rework during the design process.
Provides a method that allows the application of constraints and dimensions directly on a hybrid model without conversion, storing the updated model by receiving constraints of mesh geometry and solving them as an exact surface.
It realizes precisely solving constraints on hybrid models, avoids possible distortions or fluctuations in conventional techniques, and improves the accuracy and efficiency of the design process.
Smart Images

Figure CN111656354B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the general field of computer-aided design, computer-aided drafting ("CAD"), computer-aided manufacturing ("CAM"), and computer-aided visualization systems (individually and collectively referred to as "CAD systems"), product lifecycle management ("PLM") systems, and similar systems that manage data for products and other items (collectively referred to as "product data management" systems or PDM systems). Background Art
[0002] PDM systems manage PLM and other data.Improved methods and systems are desired. Summary of the Invention
[0003] Various disclosed embodiments include a method for modifying a computer-aided design (CAD) system model in a modeling system.
[0004] A method of operating a computer-aided design (CAD) system model, the method being executed on a data processing system, may include modifying a computer-aided design (CAD) system model for an article to be designed or manufactured, the method being executed on the data processing system; the method including: in a CAD system model capable of representing the article as an algebraic geometry or a faceted geometry, receiving a mesh geometry representing a surface of the article in 3 dimensions; receiving constraints to be applied to the mesh geometry, solving the mesh geometry as an exact surface; and storing an updated model of the mesh geometry.
[0005] The data processing system may include a processor and an accessible memory. The data processing system is specifically configured to perform the following steps: receiving a mesh geometry representing a surface of an article in 3D in a CAD system model capable of representing the article as an algebraic geometry or a faceted geometry; receiving constraints to be applied to the mesh geometry, solving the mesh geometry as an exact surface; and storing an updated model of the mesh geometry.
[0006] A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause one or more data processing systems to perform a method for modifying a computer-aided design (CAD) system model, the method being executed on the data processing system, the method comprising: receiving, in a CAD system model capable of representing an object as an algebraic geometry or a faceted geometry, a mesh geometry representing a surface of an object in three dimensions; receiving constraints to be applied to the mesh geometry, solving the mesh geometry as an exact surface; and storing an updated model of the mesh geometry.
[0007] The above has been a fairly broad overview of the features and technical advantages of the present disclosure so that those skilled in the art can better understand the following specific embodiments. Additional features and advantages of the present disclosure that form the subject matter of the claims will be described hereinafter. Those skilled in the art will understand that they can readily use the disclosed concepts and specific embodiments as a basis for modifying or designing other structures for achieving the same purposes of the present disclosure. Those skilled in the art will also recognize that such equivalent constructions do not depart from the scope of the present disclosure in its broadest form.
[0008] Before proceeding to the detailed description below, it is advantageous to set forth the definitions of certain words or phrases used throughout this patent document: the terms "include" and "comprising" and their derivatives mean including but not limited to; the term "or" is inclusive, meaning and / or; and the term "controller" means any device, system, or portion thereof that controls at least one operation, whether such device is implemented in hardware, firmware, software, or some combination of at least two thereof. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions of certain words and phrases are provided throughout this patent document, and those skilled in the art will understand that such definitions apply in many, if not most, instances to prior and future uses of the words and phrases so defined. Although some terms may include various embodiments, the appended claims may expressly limit such terms to specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Examples of methods and systems according to the present disclosure will now be described with reference to the accompanying drawings, in which:
[0010] Figure 1 is a block diagram of a data processing system in which embodiments may be implemented;
[0011] Figure 2 illustrates a 2D representation of an example of a mesh representing a surface of an item that is modeled according to the method of the present disclosure;
[0012] Figure 3 The diagram shows Figure 2 This method is used to apply coincidence constraints to multiple points on a mesh;
[0013] Figure 4 Shows the point with Figure 2 2D representation of various distance sizes between grids;
[0014] Figure 5 The diagram shows that when one side has been specified, the distance Figure 2 The locus of points at a certain distance size of the grid;
[0015] Figure 6 shows a 2D representation of a plane with Figure 2 Some examples of solved contact constraints between meshes;
[0016] Figure 7 shows the 2D representation of a planar half-space with Figure 2 Some examples of contact constraints between meshes;
[0017] Figure 8 The diagram shows the plane and Figure 2 The contact between the meshes;
[0018] Figure 9 Illustration of using the help ball to solve Figure 8 Example;
[0019] Figure 10 The diagram shows the plane and Figure 2 An example of the distance dimensions between the grids being created;
[0020] Figure 11 illustrates an example of a mixing component to which the method of the present disclosure may be applied;
[0021] Figure 12 Shown Figure 11 Models of hybrid components, as well as equipment such as measuring probes or cutters;
[0022] Figure 13 The diagram shows Figure 12 The same model in which the probe or cutter is Figure 11 The facets of the hybrid components coincide;
[0023] Figure 14 illustrates an example of another mixing component to which the method of the present disclosure may be applied;
[0024] Figure 15 Shown Figure 14 A thinner version of the component;
[0025] Figure 16 Illustration of the assembly in the Figure 14 Hybrid components;
[0026] Figure 17 Pictured Figure 16 A model where the widget has been resized;
[0027] Figure 18 is a flow chart of a method of modifying a model according to the disclosed embodiments. DETAILED DESCRIPTION
[0028] The principles of the present disclosure are described in this document. Figures 1 to 18The embodiments are merely exemplary and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will understand that the principles of the present disclosure can be implemented in any suitably arranged device, apparatus, system or method.
[0029] The method of the present disclosure may further comprise at least one of: displaying an image of the updated mesh geometry; and generating a set of instructions for a computer-controlled machine. Using the method of the present disclosure provides greater control over the design process, resulting in a part design that is more likely to be manufactured than previously possible, and saving time, effort, and cost. The constraint may comprise at least one of: the geometric shape coinciding with the mesh geometry; a distance dimension between the geometric shape and the mesh geometry; or the geometric shape touching the mesh geometry.
[0030] Solving may include a method for satisfying received constraints by defining a solved position for each constraint, determining a distance from the solved position for each constraint, and determining a first derivative vector of the distance for each constraint applied to the mesh geometry; and applying a change based on the determined distance and the first derivative vector of the distance. The method defines an effect on the part to be manufactured in terms of distance and direction.
[0031] The method may further include selecting a sub-region of the received mesh geometry and calculating the distance and first derivative for the sub-region. This allows solving to a local minimum distance rather than a global minimum distance. The sub-region may or may not be modified during the solution calculation.
[0032] There are many possible ways to define a subregion, but these methods can all include a subregion that includes one of the following parts of the received mesh geometry: the part that is within a sphere defined by a specified radius around a specified point; the part that is within a rectangular box of a specified size and position; the part that is within an area identified by an end user drawing a closed loop on the mesh; the part that is within a smooth area of the mesh; or the part that is within an area bounded by an edge.
[0033] The geometry can include one of the following: a point, a curve, an algebraic surface, a faceted surface, or a mesh geometry. A geometry can be bounded or unbounded. An unbounded geometry is a geometry that extends to infinity. For example, a plane, a line with no endpoints. Constraints can be applied between a point, a curve, an algebraic surface, a faceted surface, another mesh geometry, and the received mesh geometry. A mesh geometry can include one or more points, curves, algebraic surfaces, or faceted surfaces, or a combination thereof. A mesh geometry can be a single point, a single curve or surface, or multiple points (such as a point cloud), multiple curves or surfaces, or any combination of the above options.
[0034] The constraints may be received from an external source, extracted from a storage device, or inferred from geometry in the model. The method may be an iterative method, as this allows the effects of multiple constraints to be realized. A method of manufacturing a component may include modeling the component according to the present disclosure, inputting the updated mesh geometry into a computer-controlled machine, and replicating an associated article in a material using the computer-controlled machine.
[0035] Figure 1The example of the data processing system in which the embodiments of the present disclosure can be implemented is illustrated, for example, a CAD system configured to perform the processing described herein. A data processing system 1 includes a processor 2 connected to a local system bus 3. The local system bus connects the processor to a main memory 4 and a graphics display adapter 5 that can be connected to a display 6. The data processing system can communicate with other systems via a wireless user interface adapter connected to the local system bus 3, or communicate with other systems via a wired network such as a local area network. Additional memory 8 can also be connected via the local system bus. Suitable adapters (such as a wireless user interface adapter 7) for other peripheral devices (such as a keyboard 9 and a mouse 10) or other indicating devices allow the user to provide input to the data processing system. Other peripheral devices may include one or more I / O controllers (such as a USB controller), a Bluetooth controller, and / or a dedicated audio controller (connected to a speaker and / or microphone). Should also be understood that various peripheral devices can be connected to the USB controller (via various USB ports), these peripheral devices include input devices (for example, keyboard, mouse, touch screen, trackball, camera, microphone, scanner), output devices (for example, printer, loudspeaker) or can be operated to provide input or receive the device of any other type of output from the data processing system.In addition, should be understood that many devices that are called "input devices" or "output devices" can provide the input of communicating with the data processing system, and receive the output of communicating with the data processing system.In addition, should be understood that other peripheral hardware that is connected to the I / O controller can include equipment, machine or the member of any type that is configured to communicate with the data processing system.In addition, the system can use the input device of other types to provide the input for manipulating objects, and the input device of other types is such as mouse, pointer, touch pad, drawing board, trackball, joystick, keypad, keyboard, camera, motion sensing device that captures motion gestures or the input device of any other type of input described herein can be provided.
[0036] In a CAD system, users may wish to model a design for a product or a system consisting of multiple components, generate manufacturing instructions for manufacturing the product or components, or modify the design or manufacturing instructions. Conventional models are either faceted models or classical boundary representation (B-rep) models composed of algebraic geometric shapes. Advances in manufacturing methods, particularly additive manufacturing or 3D printing, have led to the development of models that combine these two types of geometric representations, known as hybrid models. In hybrid models, the faces of the B-rep model can be either algebraic geometric shapes (non-uniform rational B-splines (NURBS), planes, cylinders, tori, etc.) or faceted. These hybrid models can be used directly with traditional B-rep modeling operations, using digital scanned models, CAE workflows, or 3D-printed faceted models, eliminating the time and effort previously required to convert faceted models into algebraic CAD geometry. Additive manufacturing technology means that manufactured products are no longer limited to regular shapes that can be machined (such as blocks or cylinders), but now allow the fabrication of organic shapes, lattice structures, or smooth, undulating surfaces. These types of shapes, structures, or surfaces can be better represented by facets than by classical geometric shapes.For 3D printing, the facet information is sent to a machine to manufacture the product or part.
[0037] These new manufacturing technologies enable improvements in design and manufacturing processes. For example, in aircraft or vehicle design, weight is important, so it is desirable to replace heavy, square components with lightweight lattices or organic shapes. These designs aim to reduce overall weight while maintaining strength, but they must still be able to be assembled and operate with other components of the aircraft or vehicle that may not have been modified.
[0038] Geometric constraints and dimensions (collectively referred to as "constraints") are an essential part of modern CAD systems. Constraints allow the size and shape of individual components to be specified, and also allow for the relative positioning of multiple components. Constraints can be of many different types, for example, relating to the size, shape, or orientation of components of the assembly being modeled. Any change to a component being processed in a design model for a system to be manufactured may require consideration of other components in the system to which the component must be assembled or with which it must operate. These relationships can be expressed using constraints.
[0039] For all design modifications to a model, whether to an entire product or just a small portion, the result needs to be correctly sized and positioned relative to any other products or components it will work with. For example, you might want to reduce the thickness of a component to reduce its weight while still ensuring it fits precisely between two other components. By using the distance dimension between two faces, you can control the thickness of the component. At the same time, you can apply contact constraints to other faces to ensure the desired relationship with other components is maintained.
[0040] However, the problem of applying constraints in hybrid models has not been solved. For pure facet models, in order to apply constraints on the facet surfaces, it is usually necessary to convert the facet surfaces into algebraic geometric shapes, for example by approximating the facet surfaces with B-spline surfaces. However, this may produce undesirable distortions or undulations in the surface. If these problems are not discovered until the later stages of the design process, this may lead to unnecessary rework. The present disclosure provides a method that allows constraints and dimensions to be used on such hybrid models without the need for conversion. The method allows the constraints applied to the facet surfaces of the hybrid model to be accurately solved, thereby avoiding additional distortions or undulations that may appear in the approximation when conventional techniques are used.
[0041] The present disclosure provides a method for interpreting mesh geometry so that, with the application of constraints, the mesh geometry can still be solved in a CAD system. For the purposes of this application, simplified examples have been provided, but in practice, Figure 2 The example mesh can represent the entire product to be manufactured, or only a small part of a larger system. The method can support various types of mesh geometries, including surfaces defined by facets of a planar surface, collections of surfaces of any geometry type (e.g., general plates), non-manifold meshes, self-intersecting meshes, meshes with symmetry (e.g., swept), point clouds, or non-rigid meshes. The examples described below can be applied to any of these types of mesh geometries.
[0042] A typical example of a mesh type to which the method of the present disclosure can be applied is a surface consisting of planar facets defined by facet vertices. A facet edge (i.e., a line connecting facet vertices) can be an internal edge if it defines more than one facet, and an external edge if it defines a single facet. Meshes are generally rigid meshes, although there are also applications for non-rigid meshes. A rigid mesh has a defined shape that cannot be changed. However, the positioning of the mesh can be changed, so constraints can be used to position the mesh relative to other geometric shapes. For some practical applications (such as design for additive manufacturing), it is necessary for the mesh to be a manifold mesh and have positive sides, negative sides, and facet normals that are consistent across adjacent facets. However, the method can be applied to non-manifold meshes or self-intersecting meshes.
[0043] Figure 2 A 2D representation of an example of a rigid faceted mesh 20 representing the surface of the item being modeled is shown. A mesh is typically a surface defined by planar facets, but the method is applicable to any collection of faces, whether connected, connected along a common edge, or separated. The representation includes a series of facets F1 to F4 and vertices V1 to V5. Vertices V2 to V4 are internal facet vertices. Vertices V1 and V5 are external facet vertices. The constraints to be applied to the mesh are typically geometric relationships, such as relationships such as points coinciding with the mesh, distance dimensions between points and the mesh, planes touching the mesh, or distance dimensions between planes and the mesh. The faceted geometric representation or mesh 20 received in the model can be scanned from an existing product that needs to be updated or repaired, or can be generated as part of an earlier step in the design process, which, for example, uses given strength requirements and an approximate shape to generate a design representation of an item that can be manufactured when the design process is completed.
[0044] Several different types of constraints between a point and a mesh can be applied, such as a coincidence constraint to the mesh, a distance dimension to the mesh, or a signed distance dimension to the mesh.
[0045] When a point P lies on the grid, a coincidence constraint between point P and the grid is solved. This type of constraint can be used to express a requirement in a model of an item to be manufactured that a point in one part coincides with a grid in another part. There may be many similar constraints in the model that specify the size, shape, or orientation of each part. The solution can be inside a facet, on a facet edge, or on a facet vertex. If the point does not start on the grid and there are no other constraints for that point, the desired solution is the closest location on the grid. If there is a non-unique closest location, the behavior is specified so that there is a repeatable way to select a solution. There are many options for specifying the behavior, examples of which are: select the location closest to the origin, select the location closest to the centroid of the grid, or select the location closest to the position chosen by the engineer.
[0046] Figure 3 A plurality of points P1 to P4 and Figure 2 2D representation of the faceted mesh of . Applying a coincidence constraint between the mesh and those points P1 to P4 gives the corresponding solution points P1' to P4', where these points are solved on the mesh as shown. Point P1 is solved to P1' on the exterior vertex V5, point P2 is solved to P2' on the facet interior of facet F4, point P3 is solved to P3' on the interior vertex V4, and point P4 is solved to P4' on the facet interior of facet F4. As described above, since P4 is equidistant from both facets F4 and F2, a consistent method is needed to get the same solution each time the solution is solved, such as choosing the location closest to the origin, choosing the location closest to the centroid of the mesh, or choosing the location closest to the position chosen by the engineer.
[0047] The distance size between a point Pn and the mesh is solved when the global closest path between them is equal to the distance value, that is, when the minimum distance between the point and the mesh is equal to the size value. This type of constraint can be used to express a specific thickness requirement at any location on the surface of the model to be manufactured, such as where such a requirement is needed to achieve a given strength, or to maintain a gap between the point and the mesh surface so that the manufactured model can fit together.
[0048] Figure 4 Shows the point with Figure 2 2D representation of various distance sizes between the grids. Figure 4is a 2D representation of a 3D faceted surface, and if a point has a distance dimension to the 3D faceted surface, the point is resolved to a sphere centered on a facet vertex, a cylinder centered on a facet edge, or a plane parallel to the facet interior. In this model, point P21 is on the sphere represented in the figure by an arc centered on end facet vertex V5 and has a distance dimension of 50. Point P22 is on the plane represented in the figure by a line parallel to facet interior F4 and has a distance dimension of 80. Point P23 is on the arc centered on interior facet vertex V4 and has a distance dimension of 50; and point P24 has a distance dimension of 70 and is equidistant from both facets F4 and F2.
[0049] If the mesh is manifold, you can (but don't have to) specify which side of the mesh the point is on. Manifold meshes can be used to represent the faces of solid parts, where one side of the mesh is inside the solid and the other side is outside. If a dimension is used to specify a gap between two solid parts, specifying the side ensures that the parts will be separated rather than interpenetrated. Figure 5 The trajectory of points with a distance dimension of 70 from the grid 20 is shown when a side has been specified. P10 and P11 are examples of solved points that lie on this trajectory. P9 and P12 are not valid solved positions because P12 will solve to P12' on the other side of the grid, and P9 will solve to P9'.
[0050] Several different types of constraints can be applied between a plane and a mesh, such as contact constraints, contact constraints with specified half-spaces, and distance dimensions. In the figure, lines are used to represent planes, and (e.g. Figure 2 The polylines shown are intended to represent the mesh surface.
[0051] A contact constraint between a plane and a mesh is defined so that the minimum global closest path between the plane and the mesh is zero, and all mesh geometry is on the same side of an unbounded plane. This type of constraint can be used to ensure that two parts are manufactured to the correct size, so that the plane of one part contacts the mesh face of the other. This type of constraint can also be used to control the positioning of two parts in an assembly. Figure 6Some examples of solved contact constraints between the planes and the mesh 20 are shown, the planes being represented by lines 22, 23, 24, 25. For example, line 22 can be said to touch the mesh 20 along facet F3, while line 23 touches only the outer vertex V1, line 24 touches only the outer vertex V5, and line 25 touches the inner vertex V4. If, in the starting position, the mesh 20 is on both sides of the plane, a solution is sought that minimizes the movement of the plane. That is, the plane is moved to the "closest" solution. Similarly, if, in the starting position, the mesh is completely on one side of the plane, a solution is sought that will keep the mesh on the same side. For example, in Figure 8 In the example, the minimum distance between plane L9 and mesh 20 is zero, but parts of the mesh lie on both sides of the plane, so the constraint is not solved. To find a solution, the plane can move up and to the right, or down and to the left, along its normal. The solution that moves up and to the right is usually chosen because it requires less movement.
[0052] The contact constraint between a planar half-space and a mesh gives a constraint that optionally specifies which side of the plane the mesh will be on. For a planar half-space, a contact mesh means that the minimum global closest path between the plane and the mesh is zero, and all mesh geometry is on the specified side of the plane. Figure 7 Some examples of contact constraints between planes PL5, PL6, PL7, PL8 (represented by bounding lines) and the mesh 20 are shown, and are similar to Figure 6 In all cases, contact is specified as being on the negative side of the plane.
[0053] The distance dimension between a plane and a mesh is defined such that the smallest global closest path between the plane and the mesh is equal to the distance dimension, and all mesh geometry is on the same side of the unbounded plane. This dimension can be used to control the thickness of a part by specifying the distance between the mesh faces and the plane. It can also be used to control the size or positioning of two parts by specifying a gap between them. Figure 10 An example of such a dimension is illustrated, showing details of the dimension between a plane and a mesh, where the closest distance between plane PL10 and mesh 20 containing facets F1 to F4 is distance 30 at vertex V4.
[0054] The constraints given for points and planes can be used to specify other types of constraints and dimensions between a mesh and any other type of geometric shape, including another mesh. For example, a contact constraint between a sphere and a mesh can be derived from a distance dimension to a point. The value of the distance dimension is the radius of the sphere, and the point specifies the location of the sphere's center. Similarly, a mesh-to-mesh distance dimension can be derived from the plane-to-mesh distance, such that the dimension is solved when the global minimum distance between the two meshes is the same as the distance dimension.
[0055] In the above description, all constraints are solved using the entire mesh. In some cases, this means that the desired solution is not possible. For example, Figure 8 A plane and a mesh are shown. However, this solution is not possible with contact constraints because, while the plane touches the mesh at one location, it also intersects the mesh at another location. To allow solutions such as this one, the constraints can be tightened to specify a subset of the entire mesh. Figure 9 One way of achieving this enhancement is shown by a "helper sphere" 26, defined by a location (point P13) and a radius r, so that only the portion of the mesh that is inside this sphere 26 is considered when solving the constraint. For example, one example where this approach could be applied is on a surface that has concave and convex areas that create a bumpy surface rather than a smooth surface. Figure 9 It can be seen that point P13 does not need to coincide with the grid 20. In addition to allowing a local solution, this may also improve performance.
[0056] Some more practical examples of the present disclosure are explained below. Figure 11 An example of a mixing element 40 is shown. During production, the mixing element interacts with, for example, a measuring probe or a cutter 41. Figure 12 As shown, the measuring probe or cutter 41 can also be modeled. The measuring probe or cutter 41 is close to the mixing component 40 at a certain point in its use and can coincide with the facet 42 of the mixing component, as shown in FIG. Figure 13 This is an example of an application Figure 6 or Figure 7 An example of a contact constraint is described which also requires that other geometry (in this case the probe or cutter 41) be on a specified side of the mesh (in this case the mixing component 40).
[0057] Figures 14 to 17 This is a practical example of controlling the thickness of a part by specifying the distance between the mesh faces and a plane. Figure 14 Another mixing element 43 is shown, and Figure 15A thinner version 44 of the same hybrid component is shown. This may occur, for example, when a component needs to be made thicker to meet specified strength requirements. Figure 16 As shown, Figure 14 The mixing component 43 is designed as part of an assembly 45, wherein the mixing component 43 is required to fit into an opening 46 of the assembly. The requirement may be that the mixing component 43 fits exactly within the opening, in which case a contact constraint with the planes of the sides of the opening 46 may be used, or the mixing component 43 may be required to fit into the opening 46 with a certain clearance or gap 51, 52, 53 between the component 43 and the planes on each of the sides 47, 48, 49, 50 of the opening 46, in which case a constraint such as that provided by Figure 10 Having defined the gaps and clearances 51, 52, 53 into which the mixing components must fit, as shown, Figure 17 As shown, the component can be resized 48 while still maintaining the same clearances 51 , 52 , 53 .
[0058] The above describes how to define constraints and dimensions to a mesh surface. The following paragraphs describe methods for changing a model from an initial state where constraints are not resolved to a final state where constraints are resolved.
[0059] The solution method relies on defining two values for each constraint to be solved between the mesh and other geometry. The first is the distance between the mesh and the other geometry, and the second is the vector of the first derivative of the distance between the mesh and the other geometry. The definition of these values depends on whether the geometries touch, intersect, or neither.
[0060] If the global minimum distance between the mesh and any other geometric shape is greater than zero, then the geometric shapes do not intersect or touch. The distance adopts the global minimum distance, and the first derivative vector of the distance is the unit vector between the nearpoints on the two geometric shapes.
[0061] If the global minimum distance is zero, then the geometries intersect or touch. If the global minimum distance between two geometries is zero, but a small change in the positioning or shape of the geometries can be found that results in a non-zero minimum distance, then the two geometries touch. If the geometries touch, then the distance is zero, and the first derivative vector of the distance is the unit vector perpendicular to the mesh geometry at the point of contact. If the global minimum distance between the two geometries remains zero for every small change in the positioning or shape of the geometries, then the two geometries intersect. If the geometries intersect, then the distance is the length of the shortest relative translation vector that results in the geometries touching but not intersecting, and the first derivative vector is the unit vector in the same direction as that translation vector.
[0062] Given the distance value and the first derivative vector of the distance for each constraint, these values can be used to find a solution. For example, for a coincidence constraint between a point and a mesh, where the point is not initially on the mesh, a solution can be found by moving the point in the direction of the first derivative vector by the distance value. A similar approach can be used for contact constraints between a plane and a mesh. For a distance dimension, the geometry should be moved by an amount equal to the difference between the dimension value and the distance value.
[0063] In general, in this disclosure, constraints to a mesh treat the mesh as an exact surface, so if the mesh is composed of facets, the constraints will measure to facet interiors (usually planes), facet boundaries (usually lines), or facet corners (points). The mesh is not approximated (e.g., by fitting a NURBS surface to the mesh).
[0064] By specifying a subregion of the mesh, it is possible to find a local solution to the mesh. One way to do this is to specify a sphere (a point and a radius). To find the minimum distance, only the portion of the mesh that lies inside the sphere is considered. This not only allows for different solutions compared to finding the global minimum, but also improves performance by reducing the effective size of the mesh.
[0065] The mesh is not limited to planar facets. For example, the mesh can be the entire boundary of a solid part composed of facets, planes, and other algebraic geometric shapes. Distances and their first derivatives are important because they are necessary to solve constraints efficiently. This method has the advantage of versatility because it can be applied to any type of mesh, such as B-rep parts with any face geometry. Constraining distances and surface normals leads to stable solutions with good convergence.
[0066] Figure 18A flow chart illustrating an example of a method according to the present disclosure is shown. In a CAD system model capable of representing an item as algebraic or faceted geometry, a mesh geometry representing a surface of the item in three dimensions is received 50. Constraints to be applied to the mesh geometry are received 51 in the model. Many different constraints exist, but one example is: if the geometries do not intersect or touch, then for each constraint, define the distance between the mesh geometry and any other geometry as the global minimum distance between the mesh geometry and the other geometry; determine a vector from a near point on the mesh geometry to a near point on the other geometry; and, generate a unit vector from the direction of this vector and use this unit vector as the first derivative of the distance vector. Another example is: if the geometries touch but do not intersect, then for each constraint, the distance between the mesh geometry and the other geometry is zero, and the first derivative of the distance vector is the unit vector perpendicular to the mesh geometry at the point of contact. A third example is: if the geometries intersect but do not touch, then for each constraint, the distance is the length of the shortest relative translation vector that causes the geometries to touch but not intersect, and the first derivative vector is a unit vector in the same direction as the translation vector.
[0067] In the disclosed method, a mesh geometry is solved 52 as a precise surface. The solving step may include satisfying the received constraints by defining a solved position for each constraint, determining a distance from the solved position for each constraint, and determining a first derivative vector of the distance for each constraint applied to the mesh geometry; and applying changes based on the determined distance and the first derivative vector of the distance. The updated model of the mesh geometry is stored 53. The stored updated model may be used to display 54 an image of the updated mesh geometry, or to generate 55 a set of instructions for a computer-controlled machine, or both. A user may wish to use the displayed image to verify that the modifications have had the desired effect, for example by analyzing the mechanical properties of the designed component. If the user determines that further modifications are necessary, they may be implemented by repeating the modeling step, for example, using modified constraints and generating new displays and new manufacturing instructions. The generated manufacturing instructions may be provided to a computer-controlled machine and used to manufacture a component or the entire product modeled by the disclosed method.
[0068] Using the methods of the present disclosure, aircraft or vehicle designs may be improved, thereby improving aircraft or vehicle performance, particularly by reducing component weight while maintaining the same strength as conventionally designed components.
[0069] The operating system included in the data processing system enables output from the system to be displayed to a user on display 6, and the user to interact with the system. Examples of operating systems that may be used for the data processing system may include Microsoft Windows™, Linux™, UNIX™, iOS™, and Android™ operating systems.
[0070] In addition, it should be understood that data processing system 1 can be implemented in a networked environment, a distributed system environment, a virtual machine in a virtual machine architecture, and / or a cloud environment. For example, processor 2 and associated components can correspond to a virtual machine executed in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.
[0071] Those skilled in the art will appreciate that the hardware described for the data processing system 1 may vary for a particular embodiment. For example, the data processing system 1 in this example may correspond to a computer, a workstation, and / or a server. However, it should be understood that alternative embodiments of the data processing system may be configured using corresponding or alternative components, such as in the form of a mobile phone, a tablet computer, a controller board, or any other system operable to process data and perform the functions and features described herein, which are associated with the operation of the data processing system, computer, processor, and / or controller discussed herein. The described examples are provided for illustrative purposes only and are not intended to imply architectural limitations with respect to the present disclosure.
[0072] The data processing system 1 may be connected to a network (which is not part of the data processing system 1), which may be any public or private data processing system network or combination of networks known to those skilled in the art, including the Internet. The data processing system 1 may communicate with one or more other data processing systems, such as servers, via the network (which are also not part of the data processing system 1). 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 several data processing systems may communicate via one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Therefore, it should be understood that when reference is made to a data processing system, such a system may be implemented across several data processing systems that are organized in a distributed system that communicate with each other via a network.
[0073] Of course, those skilled in the art will recognize that certain steps in the processes described above may be omitted, performed in parallel or sequentially, or performed in a different order unless explicitly indicated or required by the order of operations.
[0074] Those skilled in the art will recognize that, for the sake of simplicity and clarity, the complete structure and operation of all data processing systems suitable for use with the present disclosure are not depicted or described herein. Instead, only portions of the data processing system that are unique to the present disclosure or necessary for understanding the present disclosure are depicted and described. The remaining structure and operation of the data processing system 1 may conform to any of the various current embodiments and practices known in the art.
[0075] It is important to note that although the present disclosure includes descriptions in the context of a fully functional system, those skilled in the art will understand that at least portions of the mechanisms of the present disclosure can be distributed in the form of instructions contained in a machine-usable medium, a computer-usable medium, or a computer-readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal-bearing medium or storage medium used to actually perform the distribution. Examples of machine-usable / readable media or computer-usable / readable media include non-volatile, hard-coded type media such as read-only memory (ROM), or erasable electrically programmable read-only memory (EEPROM), and user-recordable type media such as floppy disks, hard drives, and compact disk read-only memories (CD-ROMs) or digital versatile disks (DVDs).
[0076] Although the exemplary embodiments of the present disclosure have been described in detail, those skilled in the art will understand that they can make various changes, substitutions, variations, and alterations to the disclosure herein without departing from the spirit and scope of the disclosure in its broadest form.
[0077] Nothing in this application should be read as implying that any particular element, step, or function is essential to the scope of the claims: the scope of patented subject matter is limited only by the allowed claims. Furthermore, unless the precise phrase "means for..." is followed by a participle, these claims are not intended to invoke 35 USC § 112(f).
Claims
1. A method of operating a computer-aided design (CAD) system model, the model being used for an article to be designed or manufactured, the method being performed on a data processing system; the method comprising: In a CAD system model capable of representing an article as an algebraic geometry or a faceted geometry, receiving a mesh geometry representing a surface of the article in 3 dimensions; receiving a plurality of constraints to be applied to the mesh geometry, the constraints comprising at least one of the following: a geometric shape being coincident with the mesh geometry; a distance dimension between a geometric shape and the mesh geometric shape; or a geometric shape contacts said mesh geometric shape; solving the mesh geometry as an exact surface; as well as storing an updated model of the mesh geometry, The solution includes: A method for satisfying the received plurality of constraints by defining a solved location for each constraint, and determining a distance from the solved location for each constraint, and determining a first derivative vector of the distance for each constraint applied to the mesh geometry; as well as A change is applied based on the determined distance and a first derivative vector of the distance.
2. The method of claim 1 , further comprising at least one of: displaying an image of the updated mesh geometry; and generating a set of instructions for a computer-controlled machine.
3. The method according to claim 1, wherein: If the multiple geometries do not intersect or touch, then: For each constraint, defining the distance between a mesh geometry and any other geometry as a global minimum distance between the mesh geometry and the other geometry; determining a vector from a near point on the mesh geometric shape to a near point on the other geometric shape; and A unit vector is generated from the direction of the vector, and the unit vector is used as the first derivative vector of the distance.
4. The method according to claim 1, wherein: If multiple of these geometries touch but do not intersect, then: For each constraint, the distance between the mesh geometry and any other geometry is zero, and the first derivative vector of the distance is a unit vector normal to the mesh geometry at the point of contact.
5. The method according to claim 1, wherein: If multiple of said geometries intersect but do not touch, then: For each constraint, the distance is the length of the shortest relative translation vector that allows the plurality of geometric shapes to touch but not intersect, and the first-order derivative vector is a unit vector having the same direction as the translation vector.
6. The method according to at least claim 1, wherein the method further comprises: A sub-region of the received mesh geometry is selected, and the distance and first-order derivative are calculated for the sub-region.
7. The method of claim 6, wherein the sub-region comprises one of the following parts of the received mesh geometry: a part located within a sphere defined by a specified radius around a specified point; a part located within a rectangular box having a specified size and position; The portion is within an area identified by the end user drawing a closed loop on the grid; The portion of a mesh that lies within a smooth area; or within an area bounded by multiple edges.
8. The method of any one of claims 1-7, wherein the geometric shape comprises one of the following: a point, a curve, an algebraic surface, a faceted surface, or a mesh geometry.
9. The method according to any one of claims 1 to 7, wherein the plurality of constraints can be applied between points, curves, algebraic surfaces, faceted surfaces, another mesh geometry and the received mesh geometry.
10. The method of any one of claims 1-7, wherein the mesh geometry comprises one or more points, curves, algebraic surfaces, or faceted surfaces, or a combination thereof.
11. The method of any one of claims 1 to 7, wherein the constraints can be received from an external source, retrieved from a storage device, or inferred from the geometry in the model.
12. The method according to any one of claims 1 to 7, wherein the method is an iterative method.
13. A method of manufacturing a component, the method comprising: Modeling the component according to any one of claims 1 to 12; The updated mesh geometry is input into a computer-controlled machine, and the associated article is reproduced in a material using the computer-controlled machine.
14. A data processing system comprising a processor and an accessible memory, the data processing system being specifically configured to perform the following steps: In a CAD system model capable of representing an article as an algebraic geometry or a faceted geometry, receiving a mesh geometry representing a surface of the article in 3 dimensions; receiving a plurality of constraints to be applied to the mesh geometry, the constraints comprising at least one of the following: a geometric shape being coincident with the mesh geometry; a distance dimension between a geometric shape and the mesh geometric shape; or a geometric shape contacts said mesh geometric shape; solving the mesh geometry as an exact surface; as well as storing an updated model of the mesh geometry; The solution includes: A method for satisfying the received plurality of constraints by defining a solved location for each constraint, and determining a distance from the solved location for each constraint, and determining a first derivative vector of the distance for each constraint applied to the mesh geometry; as well as A change is applied based on the determined distance and a first derivative vector of the distance.
15. A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause one or more data processing systems to perform a method of modifying a computer-aided design (CAD) system model, the method being executed on one data processing system, the method comprising: In a CAD system model capable of representing an article as an algebraic geometry or a faceted geometry, receiving a mesh geometry representing a surface of the article in 3 dimensions; receiving a plurality of constraints to be applied to the mesh geometry, the constraints comprising at least one of the following: a geometric shape being coincident with the mesh geometry; a distance dimension between a geometric shape and the mesh geometric shape; or a geometric shape contacts said mesh geometric shape; solving the mesh geometry as an exact surface; as well as storing an updated model of the mesh geometry; The solution includes: A method for satisfying the received plurality of constraints by defining a solved location for each constraint, and determining a distance from the solved location for each constraint, and determining a first derivative vector of the distance for each constraint applied to the mesh geometry; as well as A change is applied based on the determined distance and a first derivative vector of the distance.
Citation Information
Patent Citations
Data processing system and method
WO2017041214A1