Method and system for determining resolution values

By identifying and updating the model's resolution values ​​in the CAD system, the problem of unnecessary modifications caused by the constraint solver is solved, ensuring the stability and accuracy of the model when satisfying constraints.

CN121586899APending Publication Date: 2026-02-27SIEMENS INDUSTRY SOFTWARE LIMITED
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380100871.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

In computer-aided design (CAD) systems, users have difficulty controlling the resolution values ​​of parts in the model, which may cause the constraint solver to modify the model unnecessarily, or even require the parts to be redesigned. Furthermore, existing methods struggle to avoid unwanted model movements while satisfying constraints.

Method used

By accessing the set of constraints and initial resolution values ​​within the model, applying the constraint solver, identifying implicit constraints, and updating the resolution values ​​to satisfy all constraints, unwanted movement is avoided during model interactions.

Benefits of technology

It achieves undesirable model movement under satisfied constraints, improving the accuracy and efficiency of model interaction and reducing unnecessary modifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121586899A_ABST
    Figure CN121586899A_ABST
Patent Text Reader

Abstract

The invention relates to a computer-implemented method and a data processing system for determining a resolution value of a model. The method includes accessing a first set of constraints to be implemented within the model and a set of initial resolution values; applying a constraint solver to the model based on the first set of constraints and the set of initial resolution values; identifying a second set of constraints to be implemented within the model; determining, for each constraint in the first and second sets, whether the constraint is satisfied; and updating the initial resolution value based on the determination such that the set of updated resolution values satisfies the constraints of the first set and the second set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a computer implementation method for computer-aided design (CAD) and computer-aided manufacturing (CAM), and more particularly to a method for determining the resolution value of a CAD model. Background Technology

[0002] Computer-aided design (CAD) systems are used in many fields of engineering, manufacturing, and design to create and manipulate solid modeling representations of objects. For example, a CAD model can be used as part of the manufacturing process to view, manipulate, interact with, and modify an object before or during manufacturing.

[0003] In some CAD systems, users may be able to specify geometric constraints to apply within the model. For example, a user might want to constrain the model geometry to be parallel to a line or lie in a plane. In other cases, the geometry may be constrained to maintain a minimum distance from a line or another geometric object. The constraint solver within the CAD system solves the model to satisfy the constraints. To do this, the constraint solver represents the set of constraints as a system of equations to be solved, and then attempts to solve that system of equations to determine a model with geometry that satisfies the set of constraints. In some cases, the set of constraints is insufficient to uniquely define the geometry. In other cases where there are too many constraints or conflicting constraints, there may be no solution.

[0004] In CAD systems, resolution refers to the level of detail represented in a model. Resolution indicates the level at which features (such as points, lines, and angles) are considered equivalent in the model. Linear resolution determines the distance at which two points are considered to coincide. Angular resolution determines the angle at which two angles are considered equivalent. CAD systems specify default linear and angular resolutions. Default resolutions are affected by factors such as hardware and software limitations. It is also possible to generate models using resolutions different from the default resolution. For example, rough design sketches may not require high resolution, while detailed designs or designs of high-precision components may require very high resolution.

[0005] When solving constraint systems, it is crucial to use the correct set of resolution values ​​to ensure accurate identification of geometric relationships. An incorrect choice of resolution can result in unsolvable constraint systems, while a better choice will produce solvable ones. Furthermore, the constraint solver may end up solving these constraints better than they actually need. Therefore, interactions with parts can cause small shifts in the entire model when constraints are aligned to their most accurate solutions. This means that minor modifications that should be made are perceived as requiring a complete redesign of existing parts.

[0006] When working with models that already have geometry imported into a CAD system, users often struggle to control the resolution values ​​of parts used in the model. For example, parts may have been imported from other CAD systems designed with different resolution values. Users may end up guessing or using default resolution values ​​in the CAD system that may not be suitable for the model. Even when the resolution is chosen to make the constraint scheme solvable, the constraint solver may still unnecessarily modify the model when solving the constraints with optimal accuracy for the given resolution. This can lead users to believe that parts need remanufacturing when, in reality, most changes are unnecessary. Summary of the Invention

[0007] The purpose of this invention is to provide a method for determining the resolution value of a CAD model, such that when the model's constraints are satisfied for a given resolution value, the model can be solved without undesirable movement.

[0008] The foregoing and other objectives are achieved through the features of the independent claims. Other implementations will become apparent from the dependent claims, the description, and the drawings.

[0009] According to a first aspect of the invention, a computer-implemented method is provided for determining resolution values ​​of a model of an object in a computer-aided design system. The method includes: a) accessing a first set of constraints to be implemented within the model and a set of initial resolution values; b) applying a constraint solver to the model based on the first set of constraints and the set of initial resolution values; c) identifying a second set of constraints to be implemented within the model from geometric data generated by the constraint solver when applied to the model; d) determining whether a constraint is satisfied for each constraint in the first and second sets; and e) updating the initial resolution values ​​based on the determination, such that the constraints of the first and second sets are satisfied for the updated set of resolution values.

[0010] The set of resolution values ​​is determined according to the method of the first aspect. When the constraint solver solves the model for a given set of constraints, this set of resolution values ​​can be used with the model to prevent unwanted movement.

[0011] In a first implementation of the method according to the first aspect, each constraint is a dimensional constraint, a parallel constraint, a perpendicular constraint, a coincident constraint, a tangent constraint, or a parametric constraint.

[0012] In the second implementation, the set of initial resolution values ​​includes initial angular resolution values ​​and initial linear resolution values.

[0013] In the third implementation, determining whether the constraint is satisfied includes: measuring the angular distance corresponding to the angular components of the constraint; and comparing the angular distance with the initial angular resolution value.

[0014] In the fourth implementation, updating the initial resolution value based on the determination includes: when the measured angular distance is greater than the initial angular resolution value, selecting an angular resolution value that is greater than the measured angular distance.

[0015] In the fifth implementation, determining whether the constraint is satisfied also includes: after updating the angular resolution value, measuring the linear distance corresponding to the distance component of the constraint; and comparing the linear distance with the initial linear resolution value.

[0016] In the sixth implementation, updating the initial resolution value based on the determination includes: when the measured linear distance is greater than the initial linear resolution value, selecting a linear resolution value that is greater than the measured linear distance.

[0017] In the seventh implementation, it is determined whether the model size criterion is satisfied, wherein if the ratio of the selected linear resolution value to the selected angular resolution value is greater than the model size value, then the model size criterion is satisfied; and if the model size criterion is not satisfied, then one or both of the selected linear resolution value and the selected angular resolution value are adjusted so that the model size criterion is satisfied.

[0018] In the eighth implementation, the method according to the first aspect further includes: iteratively repeating steps (a) to (e), wherein the iteration continues until a set number of iterations is reached, or there is an iteration that does not cause the updated set of resolution values ​​to change.

[0019] In the ninth implementation, the method includes: receiving instructions for modifying a model via user interaction with a computer-aided design application; transmitting the instructions to a constraint solver; applying the constraint solver to the model and instructions based on an updated set of resolution values; and outputting the updated model.

[0020] In the tenth implementation, the method includes: using an updated model to generate an instruction set for controlling the manufacturing process; and outputting the instruction set to the manufacturing system for enabling the manufacturing system to control the manufacturing process according to the instruction set.

[0021] According to a second aspect of the invention, a data processing system is provided, comprising a processor and a memory. The memory stores instructions that, when executed by the processor, cause the processor to: access a first set of constraints to be implemented within a CAD model in a computer-aided design (CAD) system and a set of initial resolution values; apply a constraint solver to the model based on the first set of constraints and the set of initial resolution values; identify a second set of constraints to be implemented within the model from geometric data generated by the constraint solver when applied to the model; determine whether a constraint is satisfied for each constraint in the first and second sets; and update the initial resolution values ​​based on the determination such that the constraints of the first and second sets are satisfied for the updated set of resolution values.

[0022] These and other aspects of the invention will become apparent from the embodiments described below. Attached Figure Description

[0023] To gain a more complete understanding of this disclosure and its advantages, reference will now be made to the following description taken in conjunction with the accompanying drawings, in which:

[0024] Figure 1 A block diagram is shown illustrating a method for determining a set of resolution values, based on an example.

[0025] Figure 2 A model is shown in the CAD system according to the example;

[0026] Figure 3 A schematic diagram of a data processing system suitable for carrying out embodiments of the present invention is shown. Detailed Implementation

[0027] Example embodiments are described below in sufficient detail to enable those skilled in the art to implement and carry out the systems and processes described herein. It is important to understand that embodiments can be provided in many alternative forms and should not be construed as limited to the examples set forth herein.

[0028] Therefore, while embodiments can be modified in various ways and take various alternative forms, specific embodiments thereof are shown in the accompanying drawings and described in detail below as examples. There is no intention to limit the specific forms disclosed. Rather, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Where appropriate, elements of the exemplary embodiments are consistently designated by the same reference numerals throughout the drawings and detailed description.

[0029] The terminology used in this document to describe embodiments is not intended to be limiting. The articles “a,” “an,” and “the” are singular forms because they refer to a single thing; however, the use of the singular forms in this document should not preclude the existence of more than one thing. In other words, unless the context clearly indicates otherwise, the singular element may be one or more. It should also be understood that the terms “comprising” and / or “including” as used herein refer to the presence of the specified 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 used herein (including technical and scientific terms) shall be interpreted as conventions in the field. It should also be understood that, unless explicitly defined herein, commonly used terms shall also be interpreted as conventions in the relevant field and not in an idealized or overly formal sense.

[0031] In this paper, the reference to a model refers to the representation of an object in a computer-aided design (CAD) system. The reference to a CAD system refers to a software-based system on a computing device or workstation used for interacting with an object model. A CAD system may include a graphical user interface to facilitate designing, manipulating, modifying, and interacting with the model in other ways.

[0032] In this document, "constraint" refers to the restrictions or constraints imposed on the features of a model to maintain the structure of the model's components when the model is manipulated. Examples of constraints include, but are not limited to, parallel constraints, perpendicular constraints, coincident constraints, tangent constraints, symmetry constraints, collinear constraints, and dimensional constraints related to distance, angle, and length. Some CAD systems also support parametric constraints and other constraint types. The term "constraint solver" in this document refers to a component or module within a CAD system that implements constraints within the model, or that can be used within that CAD system. The set of constraints that a constraint solver applies to the model is represented as a system of equations to be solved using algebra, numerical methods, or both. The term "solving the model" in this document refers to the constraint solver determining the solution to this system of equations.

[0033] References to resolution, model resolution, or tolerance refer to numerical values ​​representing a threshold at which non-equivalent points, lines, or angles are considered equivalent within the model. In other words, model resolution represents the level of detail within the model. Specifically, linear resolution provides a threshold at which points or lines spaced less than the linear resolution are considered equivalent, while angular resolution is a threshold at which angles between lines spaced less than the angular resolution are considered equivalent.

[0034] The methods and systems described in this paper determine a set of resolution values ​​for a CAD model that allow the user to interact with the model without causing unintended model movement. Unintended model movement can occur when constraints that should be satisfied by the constraint solver are considered unsatisfied due to an incorrect selection of model resolution values. This can happen, for example, when geometry is imported into the CAD system from an external source. The constraint solver can move the geometry to satisfy a set of constraints at a given resolution value.

[0035] The method described in this paper determines appropriate resolution values ​​for the model to identify implicit constraints by directly interacting with the constraint solver when applied to a model with an initial set of constraints. Once the implicit constraints are identified, a set of resolution values ​​can be determined in which all constraints (user-specified and implicit constraints) are satisfied.

[0036] Figure 1 This is a block diagram of a method 100 for determining the resolution values ​​of an object's model in a CAD system. Method 100 can be implemented in conjunction with other methods and systems described herein.

[0037] At box 110, method 100 includes: accessing a first set of constraints to be implemented within the model and an initial set of resolution values. According to the example, the first set of constraints may be user-specified constraints that are loaded along with the geometry of the model in the CAD system. In this stage, the initial set of resolution values ​​may include the default resolution values ​​of the CAD system itself. In other cases, the set of resolution values ​​may include the user's best guess as to what appropriate resolution values ​​should be used for the model.

[0038] At box 120, method 100 includes applying a constraint solver to the model based on a first set of constraints and a set of initial resolution values. Applying the constraint solver to the model may include representing the first set of constraints and the model as a system of mathematical equations or relations, and solving the system of mathematical equations or relations based on numerical and / or algebraic methods.

[0039] At box 130, method 100 includes: identifying a second set of constraints from geometric data generated by a constraint solver when applied to a model. During the solution process, the constraint solver may generate new geometric data relating to the geometry of the model and a first set of constraints. This geometric data, generated internally by the constraint solver, may include new lines, planes, or other geometric constructions, taking into account the initial problems arising from the first set of constraints and the model. In some cases, this geometric data may imply one or more additional constraints that must be satisfied besides the first set of constraints.

[0040] At box 140, method 100 includes determining whether a constraint is satisfied for each constraint in the first and second sets. Determining whether a constraint is satisfied may include measuring a distance (angular distance or linear distance) and comparing the measured value with a corresponding angular resolution value or linear resolution value. In some cases, there are two measurements associated with a given constraint. For example, a line constrained to coincide with a plane has distance and angular components. The angle is a measurement between the plane normal direction and the line direction, and must be perpendicular to make the distance measurement between the line and the plane possible; otherwise, the line and the plane must intersect.

[0041] Method 100 terminates if no constraints based on the initial resolution are not met, because there is no need to change the resolution value. It remains at the default resolution given by the application, provided that no constraint exceeds either the angular resolution or the linear resolution.

[0042] At box 150, the method includes: updating initial resolution values ​​based on determination, such that the updated set of resolution values ​​satisfies constraints of a first set and a second set. According to an example, updating the initial angular resolution may include: selecting an angular resolution value greater than the measured angular distance when the measured angular distance is greater than the initial angular resolution value. Similarly, updating the initial linear resolution may include: selecting a linear resolution value greater than the measured linear distance when the measured linear distance is greater than the initial linear resolution.

[0043] Once the candidate linear and angular resolutions are determined according to method 100, the angular resolution is adjusted to the candidate angular resolution, and the constraints are remeasured. This is to ensure that cases where linear components satisfying constraints are not missed are not considered, as linear components satisfying constraints can only be determined after angular components satisfying constraints.

[0044] After remeasurement and adjustment of the linear resolution as much as possible, a set of resolutions is determined in which all constraints are considered to be satisfied. This set provides a lower bound for what the CAD system might return, since larger resolution values ​​can always be selected. In some cases, to provide a range of error, a multiple greater than 1 of the lower bound resolution value can be used, such as a multiple of 10 of the lower bound.

[0045] In some examples, method 100 may further include: determining whether a model size criterion is satisfied. The model size criterion is satisfied if the longest side of the smallest bounding box enclosing the model fits the model size implied by the determined resolution value. The model size implied by the resolution value can be determined as the ratio of linear resolution to angular resolution.

[0046] Equation (1) can be derived as follows: Consider a right triangle with a hypotenuse equal to the model size, a side equal to the linear resolution, and the opposite angle as the angular resolution. Since the angular resolution is small, sin(θ) ≈ θ for the angular resolution, and Equation (1) is as follows. Geometrically, this means that the separation of two lines within parallel angular resolutions should not exceed the linear resolution, provided that the distance you move from the intersection of the lines does not exceed the model size distance. If the model size criterion is not satisfied, then the linear resolution can be increased to increase the model size according to equation (1).

[0047] Based on the examples described herein, the model resolution can be modified to ensure that the resolution value is an order of magnitude larger or smaller than any inaccuracy in the model. According to the examples, the constraint manager can identify model inaccuracies during the solution process. A method for modifying resolution values ​​to address model inaccuracies is described in U.S. Patent Application US17 / 957,573.

[0048] Some geometries have internal degrees of freedom, which can become unique in certain situations. For example, a sphere with zero radius becomes a point, or a cone with zero half-angle becomes a line. The constraint solver can interpret any sphere with a radius smaller than the linear resolution as a zero-radius sphere, and a cone with a half-angle smaller than the angular resolution as a zero-half-angle cone. To handle these cases, it is preferable not to choose resolution values ​​that are so large as to degenerate some geometries; therefore, measuring the geometry in a model with internal degrees of freedom provides an upper limit to the returned resolution.

[0049] In some examples, it's possible that the upper bound found is lower than the lower bound found, in which case there's no solution, and the method terminates. Similarly, it's equally possible that the lower bound found is unreasonable and unlikely to be useful for the CAD system because the constraints are too poorly satisfied. For example, utilizing an unsatisfied alignment with a parallel constraint might yield a 180° measurement that is satisfied, and the model is unlikely to work well when solved with a 180° angular tolerance. Therefore, the method can also terminate in these cases.

[0050] After these additional adjustments to the resolution values, method 100 can be iterated. Different resolution values ​​may result in different constraints and geometries created by the constraint solver. In some examples, to ensure efficiency, the number of iterations of this method may be limited by a threshold, or until the resolution values ​​stabilize.

[0051] The actual solution of the model using the newly discovered resolution continues as follows: The user may wish to perform some operations or adjustments on the model. For example, the user may want to drag some geometry within the model. According to the example described herein, this operation can be performed using the resolution value determined from Method 100. The constraint solver determines the order in which the geometry is computed, such that those geometries furthest topologically are computed earlier and are therefore less likely to be moved to satisfy the requested interaction. Furthermore, when performing computations using this method, the constraint solver measures the constraints on each geometry it will compute to solve for those constraints. These constraints will be a mixture of user and / or implicit constraints. If each constraint is satisfied within the resolution, the constraint solver will not take any action but simply compute the geometry to ensure that the constraints are satisfied as much as possible.

[0052] Figure 2 An example of method 100 applied to model 200 is depicted. Figure 2 In the set, two points 210 and 220 are in the set. S The line remains relatively rigid. Points 210 and 220 are located at distances d1 and d2 from line 230, respectively. Figure 2 In the example, points 210 and 220 are constrained to coincide with line 230, and therefore, assuming the linear distances d1 and d2 are less than the linear resolution of the model, the coincidence constraint appears to be satisfied. However, when the constraint solver is applied to model 200 and the coincidence constraint, the solver continues to create a new line 240 passing through both points 210 and 220, and constrains line 240 to coincide with line 230. Method 100 applied to model 200 continues to determine whether the constraint is satisfied at box 140. For the constraint to be satisfied, the angular resolution must be greater than angle θ, and the linear resolution must be greater than the distances d1 and d2 between lines 230 and 240, as well as the distance d. It is impossible to measure the distance between lines 230 and 240 until these lines are considered parallel, and therefore the angular resolution must be set to be greater than θ.

[0053] Once these steps are performed, candidate values ​​θ and L for the angular and linear resolutions where all constraints are satisfied are determined. The bounding box of the model is constructed by selecting the smallest box that surrounds the two points at 230° and 240° along with the base point. The measured model size M is the length of the longest side of the bounding box. The maximum size implied by the candidate resolutions is L / θ. For safety, a factor of 5 is used; if 5M > L / θ, then L is increased to the value L = 5Mθ.

[0054] Figure 3An example of a data processing system in which embodiments of the present disclosure can be implemented, such as a CAD system configured to perform methods as described herein, is illustrated. The data processing system 300 includes a processor 310 connected to a local system bus 320. The local system bus connects the processor to main memory 330 and a graphics display adapter 340, which can be connected to a display 350. The data processing system can communicate with other systems via a wireless user interface adapter connected to the local system bus 320 or via a wired network (e.g., a local area network). Additional memory 360 may also be connected via the local system bus 320.

[0055] Suitable adapters for other peripheral devices, such as keyboard 380 and mouse 390, or other pointing devices, such as wireless user interface adapter 370, allow 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 (connected to speakers and / or microphones). It should also be understood that various peripheral devices can be connected to the USB controller (via various USB ports), including input devices (such as keyboards, mice, touchscreens, trackballs, cameras, microphones, scanners), output devices (such as printers, speakers), or any other type of device operable to provide input or receive output from the data processing system.

[0056] It should be further understood that many devices, referred to as input devices or output devices, can provide inputs and receive outputs in communication with the data processing system. It should also be understood that other peripheral hardware connected to the I / O controller can include any type of device, machine, or component configured to communicate with the data processing system.

[0057] The operating system included in the data processing system enables the output from the system to be displayed on a monitor to the user and allows the user to interact with the system. Examples of operating systems that can be used in a data processing system include Microsoft Windows™, Linux™, UNIX™, iOS™, and Android™.

[0058] Furthermore, it should be understood that the data processing system 300 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, the processor and associated components may correspond to a virtual machine running in a virtual machine environment on one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.

[0059] Those skilled in the art will understand that the hardware depicted for the data processing system 300 can be varied for particular implementations. For example, the data processing system 300 in this example may correspond to a computer, workstation, and / or server. However, it should be understood that alternative embodiments of the data processing system may be configured with corresponding or alternative components, such as components in the form of a mobile phone, tablet computer, controller board, or any other system operable to process data and perform the functionality and features described herein associated with the operation of the data processing system, computer, processor, and / or controller discussed herein. The depicted examples are provided for illustrative purposes only and are not intended to imply an architectural limitation of this disclosure.

[0060] Data processing system 300 can be connected to a network (not part of data processing system 300), which can be any public or private data processing system network or combination of networks as known to those skilled in the art, including the Internet. Data processing system 300 can communicate via the network with one or more other data processing systems, such as servers (not part of data processing system 300). However, alternative data processing systems can correspond to multiple data processing systems implemented as part of a distributed system, in which processors associated with several data processing systems can communicate via one or more network connections and can jointly perform tasks described as being performed by a single data processing system. Therefore, it should be understood that when referring to a data processing system, such a system can be implemented across several data processing systems organized in a distributed system and communicating with each other via a network.

[0061] The data processing system 300 is adapted to perform methods according to the embodiments described herein. For example, a keyboard 380 and a mouse 390 may serve as user input devices for receiving information from a user, a processor 310 may be adapted to perform the steps of the method, and a display 350 may be adapted to display a particular view to the user. A computer product including instructions that, when executed on a computer, such as the data processing system 300, may be provided to cause the computer to perform the steps of the methods of the embodiments of the invention outlined above.

[0062] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and systems according to examples of this disclosure. Although the flowcharts above show a specific order of execution, the order of execution may differ from the order depicted. Boxes described in one flowchart may be combined with boxes from another flowchart. In some examples, some boxes in the flowcharts may not be necessary and / or additional boxes may be added.

[0063] This invention can be embodied in other specific devices and / or methods. The described embodiments should be considered illustrative in all respects, not restrictive. In particular, the scope of the invention is indicated by the appended claims, not by the description and drawings herein. All variations within the meaning and scope of the equivalents of the claims are included within the scope of the claims.

Claims

1. A method for determining the resolution value of a model of an object in a computer-aided design system, the method comprising: a) Access the first set of constraints to be implemented within the model and the set of initial resolution values; b) Apply the constraint solver to the model based on the first set of constraints and the set of initial resolution values; c) Identify a second set of constraints to be implemented within the model from the geometric data generated by the constraint solver when applied to the model; d) For each constraint in the first set and the second set, determine whether the constraint is satisfied; and e) Update the initial resolution values ​​based on the determination, such that the set of updated resolution values ​​satisfies the constraints of the first set and the second set.

2. The method of claim 1, wherein each constraint is a dimensional constraint, a parallel constraint, a perpendicular constraint, a coincident constraint, a tangential constraint, or a parametric constraint.

3. The method of claim 1, wherein the set of initial resolution values ​​includes initial angular resolution values ​​and initial linear resolution values.

4. The method of claim 3, wherein determining whether a constraint is satisfied comprises: Measure the angular distance corresponding to the angular components of the constraint; as well as The angular distance is compared with the initial angular resolution value.

5. The method of claim 4, wherein updating the initial resolution value based on the determination comprises: When the measured angular distance is greater than the initial angular resolution value, an angular resolution value greater than the measured angular distance is selected.

6. The method of claim 5, further comprising determining whether the constraint is satisfied: After updating the angular resolution value, the linear distance corresponding to the distance component of the constraint is measured; as well as The linear distance is compared with the initial linear resolution value.

7. The method of claim 6, wherein updating the initial resolution value based on the determination comprises: When the measured linear distance is greater than the initial linear resolution value, a linear resolution value greater than the measured linear distance is selected.

8. The method of claim 7, comprising: Determine whether the model size criterion is satisfied, wherein the model size criterion is satisfied if the ratio of the selected linear resolution value to the selected angular resolution value is greater than the model size value; as well as If the model size criterion is not met, then one or both of the selected linear resolution value and the selected angular resolution value are adjusted so that the model size criterion is met.

9. The method according to claim 1, comprising: Steps (a) through (e) are repeated iteratively, wherein the iterations continue until a set number of iterations is reached, or an iteration exists that does not cause the updated set of resolution values ​​to change.

10. The method according to claim 1, comprising: Receive instructions for modifying the model via user interaction with the computer-aided design application; The instruction is transmitted to the constraint solver; The constraint solver is applied to the model and the instructions based on the set of updated resolution values, and Output the updated model.

11. The method of claim 10, comprising: The updated model is used to generate a set of instructions for controlling the manufacturing process; as well as The instruction set is output to the manufacturing system so that the manufacturing system can control the manufacturing process according to the instruction set.

12. A data processing system comprising a processor and a memory storing instructions, the instructions causing the processor, when executed by the processor, to: Access the first set of constraints and the set of initial resolution values ​​to be implemented within the CAD model in the computer-aided design (CAD) system; The constraint solver is applied to the model based on the first set of constraints and the set of initial resolution values. A second set of constraints to be implemented within the model is identified from the geometric data generated by the constraint solver when applied to the model; For each constraint in the first set and the second set, determine whether the constraint is satisfied; as well as The initial resolution values ​​are updated based on the determination, such that the set of updated resolution values ​​satisfies the constraints of the first set and the second set.

13. The data processing system of claim 12, wherein the instructions cause the processor to: Receive instructions for modifying the model via user interaction with the computer-aided design application; The instruction is transmitted to the constraint solver; The constraint solver is applied to the model and the instructions based on the set of updated resolution values, and Output the updated model.

14. The data processing system of claim 13, wherein the instructions cause the processor to: The updated model is used to generate a set of instructions for controlling the manufacturing process; and The instruction set is output to the manufacturing system so that the manufacturing system can control the manufacturing process according to the instruction set.

Citation Information

Patent Citations

  • Method to select resolution values

    US20240112302A1