Method and system for evaluating model data
The method addresses CAD system inaccuracies by real-time geometric feature identification and correction, enhancing efficiency and reducing downstream errors in CAD designs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2026-03-12
AI Technical Summary
Existing CAD systems rely on manual user detection of geometric inaccuracies, leading to undiscovered issues that cause downstream engineering and manufacturing problems.
A computer-implemented method for identifying geometric features in CAD models using predefined conditions, providing real-time feedback on geometric features that satisfy threshold ranges, allowing automatic modification or ignoring of issues.
Enhances CAD system efficiency by automatically detecting and addressing geometric inaccuracies in real-time, improving human-machine interaction and reducing downstream errors.
Smart Images

Figure US2024045222_12032026_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR EVALUATING MODEL DATATECHNICAL FIELD
[0001] The present disclosure relates to methods and systems for computer aided design (CAD), and, in particular, identifying geometric features in CAD models.BACKGROUND
[0002] Computer-aided design (CAD) systems enable the creation, modification, and analysis of a design of an object for manufacture. CAD software is used across many industries, including architecture, engineering, manufacturing, and product design. Modern CAD systems enable the creation of highly detailed two-dimensional and three- dimensional models and provide a vast array of modelling and design tools to enable designers to efficiently modify models, without having to reconfigure an entire design by hand. CAD systems may be integrated with other tools and systems such as simulation software, product lifecycle management (PLM) systems, computer-aided engineering (CAE) software, and computer-aided manufacturing (CAM) systems.
[0003] Constraints are rules that are used in CAD systems to control the behavior of model geometry to provide that geometric relations are maintained through the design process. Constraints may relate to geometric properties or relations between geometric entities in a model. For example, a parallelism constraint may be defined for a pair of lines in a model to provide that the lines stay parallel as a user makes modifications to the model.
[0004] Some CAD systems infer constraints automatically, based on the geometry the user has created. In these systems, the user is to be able to trust what the user sees. However, in some cases, geometry may be created or edited using potentially inaccurate methods, involving use of a mouse or other input device. Geometry created by a user may appear to look correct visually, but may in fact not be correct within accurate resolutions. For example, Figure 1 A shows a line 100 in a user interface of a CAD system that appears to be horizontal. Figure IB shows the same line 100 with a vertical measurement displayed in they-axis. As shown in Figure IB, the line 100 is slightly sloped, with a measurement of 800 units on one side and 805 units on the other. Figure 2A shows a second example. In Figure 2A, the line 210 appears to be tangent to thecircle 220. Figure 2B shows a zoomed- in view of the line 210 and the circle 220. The line 210 is 1.5 units of length out from being tangent to the circle 220.
[0005] Until now, inaccuracies, such as those highlighted in Figures 1 A, 2A, have been solved visually, relying on the user to spot the problem and manually fix the problem with a new constraint. The user would become aware of the issue when the CAD system failed to find expected relationships, or through unexpected behavior when the model is edited. This approach provides that many real issues go undiscovered, leading to problems downstream in the engineering process such as failed feature updates on edit and manufacturing problems where the final product is not as intended.
[0006] Given the shortcomings of existing approaches, there is a need for improved identification of potential issues in CAD designs, early on in the design process.SUMMARY
[0007] The present embodiments aim to address these issues by providing, in a first aspect, a computer-implemented method for identifying geometric features in a computer aided design (CAD) model based on a set of predefined conditions. Each condition in the set of predefined conditions is associated with a type of geometric feature, and each condition specifies a predefined threshold range of values for at least one quantity associated with the type of geometric feature. The method includes: accessing model data for a CAD model in a CAD system; automatically evaluating the model data in real-time to determine, for each of the predefined conditions, geometric features in the CAD model that satisfy at least one condition in the set of predefined conditions; and identifying, in a user interface of the CAD system, the geometric features that satisfy at least one condition in the set of predefined conditions.
[0008] The method according to the first aspect provides identification of issues in a CAD design, as the user performs editing operations on the design. The method is efficient and executes in real-time during a CAD session without negatively impacting performance of the CAD system. The method provides an improved human-machine interaction process with the CAD system.
[0009] In one embodiment, the type of geometric feature includes a type of geometric entity or a type of geometric relationship between at least two geometric entities.
[0010] In one embodiment, the type of geometric relationship includes a relation basedon: orthogonality, tangency, connectivity, parallelism, equal length, equal radius, collinearity, position, perpendicularity, concentricity, symmetry, offset, equal projection, overlap, coplanarity, lying on a face or surface, equal half-angle, coaxiality, and / or pattern.
[0011] In one embodiment, at least one quantity associated with the type of geometric feature includes one or more of a distance or an angular distance between two geometric entities.
[0012] In one embodiment, the type of geometric entity includes a point, curve, surface, vertex, edge, face, or volume.
[0013] In one embodiment, at least one quantity includes one or more of: a length, area, or a volume.
[0014] In one embodiment, identifying the geometric features includes: providing a realtime visual identifier in the user interface for each geometric feature that satisfies at least one condition.
[0015] In one embodiment, identifying the geometric features includes, for each of the conditions: identifying a set of geometric features that satisfy the condition in the user interface.
[0016] In one embodiment, a predefined condition is a first condition in a pair of associated conditions, and a second condition in the pair is associated with the same type of geometric feature as the first condition. The second condition specifies a predefined threshold range of values, different from the threshold range of values specified by the first condition.
[0017] In one embodiment, for each identified geometric feature that satisfies the first condition, the method includes: providing at least a first selectable option in the user interface to automatically modify the geometric feature to satisfy the second condition, and a second selectable option to ignore the geometric feature in subsequent evaluations of the model data.
[0018] In one embodiment, the method includes modifying an identified geometric feature or ignoring the geometric feature, based on a selection of the first selectable option or the second selectable option.
[0019] In one embodiment, the method includes maintaining a geometric feature when the geometric feature satisfies the second condition.
[0020] In one embodiment, the method further includes: receiving an input including a selection of a geometric feature in the user interface; determining a subset of the set of predefined conditions satisfied by the geometric feature; and identifying the subset in the user interface.
[0021] In one embodiment, the method includes: modifying the model data based on user input; and automatically evaluating the modified model data in real-time to determine, for each of the predefined conditions, geometric features that satisfy at least one condition in the set of predefined conditions.
[0022] In one embodiment, the method includes: providing a first selectable mode and a second selectable mode in the user interface. In the first selectable mode, distances between geometric entities in the CAD model are based on a fixed unit of measurement relative to the model. In the second selectable mode, distances between geometric entities in the CAD model are scaled based on a level of magnification in the user interface.
[0023] In one embodiment, the method includes storing data that identifies the geometric features that satisfy at least one condition.
[0024] In one embodiment, the method includes loading data from a previous CAD session, the data identifying geometric features that were determined as satisfying at least one condition in the previous CAD session.
[0025] These and other aspects of the invention will be apparent from the embodiment(s) described below.BRIEF DESCRIPTION OF THE DRAWINGS
[0026] For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
[0027] Figures 1 A and IB show a two-dimensional sketch in a CAD system.
[0028] Figures 2 A and 2B show a two-dimensional sketch in a CAD system.
[0029] Figure 3 illustrates an example of a data processing system in which embodiments of the present disclosure may be implemented.
[0030] Figure 4 is a schematic flowchart showing the steps of a method in accordance with embodiments of the present invention.
[0031] Figures 5 A to 5D show a user interface in a CAD system.
[0032] Figures 6 A and 6B show a two-dimensional sketch in a CAD system.DETAILED DESCRIPTION
[0033] Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described. It is important to understand that embodiments may be provided in many alternate forms and should not be construed as limited to the examples set forth herein.
[0034] Accordingly, while embodiments may be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate.
[0035] The terminology used herein to describe embodiments is not intended to limit the scope. The articles “a,” “an,” and “the” are singular in that they have a single referent; however, the use of the singular form in the present document should not preclude the presence of more than one referent. In other words, elements referred to in the singular may number one or more, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including,” when used herein, specify the presence of stated features, items, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof.
[0036] Unless otherwise defined, all terms including technical and scientific terms used herein are to be interpreted as is customary in the art. It will be further understood that terms in common usage should also be interpreted as is customary in the relevant art and not in an idealized or overly formal sense unless expressly so defined herein.
[0037] Figure 3 illustrates an example of a data processing system in which an embodiment of the present disclosure may be implemented. For example, a CAD application configured to perform the methods of the embodiments of the present invention as described herein is provided. The data processing system 300 includes a processor 310 connected to a local system bus 320. The local system bus 320 connectsthe processor 310 to a main memory 330 and graphics display adaptor 340, which may be connected to a display 350. The data processing system 300 may communicate with other systems via a wireless user interface adapter connected to the local system bus 320, or via a wired network, for example, to a local area network. Additional memory 360 may also be connected via the local system bus 320.
[0038] A suitable adaptor, such as wireless user interface adapter 370, for other peripheral devices, such as a keyboard 380 and mouse 390, or other pointing device, allows the user to provide input to the data processing system 300. Other peripheral devices may include one or more I / O controllers such as USB controllers, Bluetooth controllers, and / or dedicated audio controllers (e.g., connected to speakers and / or microphones). It should also be appreciated that various peripherals may be connected to the USB controller (e.g., via various USB ports) including input devices (e g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners), output devices (e.g., printers, speakers), or any other type of device that is operative to provide inputs or receive outputs from the data processing system.
[0039] Further, it should be appreciated that many devices referred to as input devices or output devices may both provide inputs and receive outputs of communications with the data processing system. Further, it should be appreciated that other peripheral hardware connected to the I / O controllers may include any type of device, machine, or component that is configured to communicate with a data processing system.
[0040] An operating system included in the data processing system enables an output from the system to be displayed to the user on the display and the user to interact with the system. Examples of operating systems that may be used in a data processing system may include Microsoft Windows TM, LinuxTM, UNIXTM, iOSTM, and AndroidTM operating systems.
[0041] In addition, it should be appreciated that data processing system 300 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and / or cloud environment. For example, the processor and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper- V, Xen, and KVM.
[0042] Those of ordinary skill in the art will appreciate that the hardware depicted for thedata processing system 300 may vary for particular implementations. For example, the data processing system 300 in this example may correspond to a computer, workstation, and / or a server. However, it should be appreciated that alternative embodiments of a data processing system may be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board, or any other system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and / or a controller discussed herein. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.
[0043] The data processing system 300 may be connected to the network (not a part of data processing system 300), which may be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. The data processing system 300 may communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 300). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with a number of (e.g., several) data processing systems may be in communication via one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it is to be understood that when referring to a data processing system, such a system may be implemented across a number of (e.g., several) data processing systems organized in a distributed system in communication with each other via a network.
[0044] The data processing system 300 is adapted to carry out the methods in accordance with the embodiments described herein. For example, the keyboard 380 and mouse 390 may function as a user input device for receiving information from the user, the processor 310 may be adapted to carry out the acts of the method, and the display 350 may be adapted to display a particular view to the user. A computer product including instructions that, when run on a computer, such as the data processing system 300, may be provided to cause the computer to execute the acts of the methods of the embodiments of the present invention outlined herein.
[0045] Figure 4 is a block diagram of a method 400 for identifying geometric features ina CAD model, according to an example. The method 400 evaluates a model in real-time during a CAD session to identify potential issues with geometric features, such as the line 100 in Figure 1A, which is almost horizontal, and the line 210 and circle 220 shown in Figure 2A, which are almost tangent. The method 400 may be implemented on data processing system 300. For example, the method may be implemented in a CAD system implemented by the data processing system 300. The method 400 is applicable to both two-dimensional (2D) and three-dimensional (3D) CAD models.[0046) The method 400 identifies geometric features in a model based on a set of predefined conditions. Each condition in the set is associated with a type of geometric feature. The type of geometric feature may be a relationship between a pair of geometric entities. The geometric relationship may include, but is not limited to, a relation based on: orthogonality, tangency, connectivity, parallelism, equal length, equal radius, collinearity, position, perpendicularity, concentricity, symmetry, offset, equal projection, overlap, coplanarity, lying on a face or surface, equal half-angle, coaxiality, and / or pattern.
[0047] At block 410, model data for a CAD model is accessed in a CAD system. In an example, model data may be accessed in a CAD session initiated in the CAD system. A CAD session may be initiated by a user through a graphical user interface (GUI), provided by the CAD system and displayed on display 350, for example. The model data may be generated by the user in the CAD session. In some cases, model data may include model data that is loaded from a data storage device. In some cases, model data may include imported data from a source that is external to the CAD system.
[0048] At block 420, the model data is evaluated in real-time to determine, for each of the predefined conditions, geometric features in the CAD model that satisfy at least one condition in the set of predefined conditions. In examples, the model data is scanned continuously during the CAD session as the user makes modification to model data in the CAD session.
[0049] Each of the predefined conditions specifies a threshold range of values for a quantity associated with the type of geometric feature the condition relates to. For example, a parallelism condition may specify a threshold range of values for angular distance. In order to check such a parallelism condition, the method 400 identifies lines in the model and highlights lines where the angular distance between the line and anotherline in the model lies within the threshold.
[0050] In one example, the threshold range of values associated with a condition are user-configurable through the user interface of the CAD system. In another example, the range of values may be fixed. Threshold values may also be related to model resolution values. In CAD systems, model resolutions represent the level at which features, such as points, lines, and angles, are considered equivalent in a model. Linear resolution determines the distance at which two points are considered coincident. Angular resolution determines the angle at which two angles are considered equivalent.
[0051] In relation to the previous example of a parallelism condition, the threshold range of values for the parallelism condition may be related to the angular resolution. For example, the parallelism condition may be defined as a relationship between pairs of lines where the angular distance 6 between the lines satisfies 61< 9 <is the angular resolution and 02is apredefined value chosen so that 92~is small. Thus, the lines identified by the method, satisfying the condition, correspond to lines that are almost parallel to each other.
[0052] The CAD system implementing the method 400 may provide different modes of operation for measuring distance. For example, the CAD system may provide a mode in which distances between geometric entities in the CAD model are based on a fixed unit of measurement relative to the model. In some cases, the CAD system may also provide a mode in which distances between geometric entities are based on a level of magnification in the user interface, so that as the user zooms in or out, the distance between entities scales accordingly. In the latter mode, the conditions may or may not be satisfied depending on the level of magnification.
[0053] Act 420 (e.g., step 420) may be optimized to determine geometric features satisfying at least one condition, without exhaustively identifying all the conditions satisfied by the geometry. For example, when one condition is satisfied by a feature, the evaluation at act 420 may proceed to consider further geometric features. This improves the efficiency at which feedback is provided to the user and allows repeated evaluation of model data in a CAD session, while a model is being edited.
[0054] Referring again to Figure 4, at block 430 (e.g., act or step 430), the geometric features that satisfy at least one condition in the set of predefined conditions are identified in the user interface. According to examples described herein, identifying the geometricfeatures that satisfy at least one condition includes identifying a set of geometric features that satisfy a condition.
[0055] Figure 5A shows a simplified diagram of a user interface 500 for a CAD system, according to an example. The user interface 500 may be displayed to a user on, for example, display 350. The user interface 500 depicts a workspace 510 in a CAD session, where the user may interact with various CAD objects and perform modelling operations. In the example shown in Figure 5A, the CAD objects are two-dimensional geometric features such as lines, circles, and semi-circles. In other examples, the CAD objects may be three-dimensional. A user may interact with objects in the CAD session via a user input device such as a mouse, keyboard, touchpad, or another form of input device.
[0056] The user interface 500 further includes a list 520 of categories of geometric features. Each category corresponds to one of the predefined conditions and includes an expandable sub-list of affected geometric features that satisfy the corresponding condition. Each category also indicates the number of affected features for that category. The categories shown in the list 520 include almost orthogonal, almost connected, almost tangent, almost parallel, almost equal radius, almost equal length, almost colinear, and almost point on edge.
[0057] A user may select a category in the list 520, and the CAD system identifies the set of geometric features in the CAD session that satisfy the condition. Figure 5B shows an example of a selection of a category. In Figure 5B, the user has selected a category 530. The category 530 corresponds to a condition that determines when lines are almost orthogonal to the X or Y axes. In Figure 5B, lines 540 are almost orthogonal to the X or Y axes. No other lines are almost orthogonal based on the condition. If the user makes any changes, then the method 400 provides that any additional issues are highlighted to the user in real-time.
[0058] Figure 5C shows a second example of a selection of a category from the list 520. In Figure 5C, the user has selected a category 550. The category 550 corresponds to a condition that determines when vertices are almost connected. In Figure 5C, the five pairs of vertices 560 and triplet of vertices 570 are almost connected to each other and are identified in real-time by the CAD system implementing the method 400, during the CAD session.
[0059] Figure 5D shows a third example of a selection of a category from the list 520. InFigure 5D, the user has selected a category 580. The category 580 corresponds to a condition that determines when geometric features are almost tangent with each other. The resulting geometric features 590 are highlighted to the user in the CAD session. The geometric features 590 include lines that are almost tangent with semi-circles, lines that are almost tangent with circles, and circles that are almost tangent with each other. In other examples, different types of geometric features may be highlighted, depending on the type of geometry that is present in the model data.
[0060] Figures 5A to 5D illustrate one implementation of act 430 of the method 400. In other implementation forms, the manner of identifying geometric features may differ from the examples shown in Figures 5A to 5D. For example, in one implementation form, a geometric feature that satisfies at least one of the conditions may be identified using a visual identifier displayed in the vicinity of the geometric feature, as the user performs modelling operations. Similarly, the categories presented may differ from the implementation of the list 520 shown in Figures 5 A to 5D. For example, information may be displayed to the user in tabs, panels, hovering lists, windows, or using any other suitable form of user interface element.
[0061] Figure 6A shows a collection of lines 600 that are separated by an angle 0. When the method 400 is applied to lines 600, based on a parallelism condition that identifies lines separated by an angle at most 0’ > 0, every line in the collection 600 is identified. This is because each line is within an angle less than 0’ of at least other lines in the collection 600, and the method 400 identifies all geometric features that satisfy at least one condition.
[0062] The method 400 may be extended to provide additional information relating to a specific geometric feature to the user by exhaustively determining all conditions satisfied by the geometric feature. This information may be provided in response to a user selection of a geometric feature or selection of a category. Figure 6B shows an example of a selection of a line 610 in the collection 600. When the line 610 is selected, all the conditions satisfied by the line 610 are determined. For example, the parallelism condition is satisfied between line 610 and the lines 620, 630, and the lines 620, 630 are identified and highlighted to the user in the user interface, in response to the selection of line 610 by the user. The angle between the lines may also be computed and displayed to the user. In other examples, other data associated with a condition may be computed anddisplayed to the user.
[0063] In one example of the method 400, a predefined condition may have an associated condition. For example, in relation to the parallelism condition previously described, a second parallelism condition may be defined based on the angular resolution. The second parallelism condition may specify that lines that are within an angular distance, 9, where 9 < 9±and 9±is the angular resolution, are treated as parallel. The CAD system may provide a user with a selectable option in the user interface to automatically modify a geometric feature that satisfies a first condition in an associated pair of conditions, so that the geometric feature satisfies the second condition. For example, when the user selects an option to repair an identified pair of almost-parallel lines, the lines may be modified automatically by the CAD system (e.g., by implementing a temporary constraint), so that the angular distance between the pair of lines is sufficiently small for the pair to be considered parallel. This may be performed with a single user input, such as a single click of a mouse button or key on a keyboard.
[0064] In another example, the CAD system may provide the user with a second selectable option that allows the user to tell the CAD system to ignore an issue, in an analogous manner that a user may tell a word processing system to ignore an issue that has been flagged up in a spelling and grammar check. In a further example, the CAD system may also filter any issues that are unalterable, without displaying those issues to the user. For example, the CAD system may filter all issues between geometric features that are directly constrained by other constraints and issues involving non-movable geometric features.
[0065] During a CAD session, a user may create geometry accidentally, such as small curve segments or parts of models that are unintended. This may be due to accidental or inaccurate input. The method 400 may also be used to identify these accidental geometric features by defining a suitable condition. For example, predefined conditions may be defined to identify geometry types such as a point, curve, surface, vertex, edge, face, or volume. The condition may have an associated threshold quantity that specifies a minimum size for the type of geometric entity. For example, the condition may specify a minimum length for a curve or a minimum area for a surface. Using the method 400, the model data may be scanned continuously in the CAD session to identify geometric entities that fall below the threshold defined by the condition.
[0066] The present disclosure is described with reference to flow charts and / or block diagrams of the method, devices, and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. In some examples, some blocks of the flow diagrams may not be necessary and / or additional blocks may be added.
[0067] The present inventions may be embodied in other specific apparatus and / or methods. The described embodiments are to be considered in all respects as illustrative and not restrictive. In particular, the scope of the invention is indicated by the appended claims rather than by the description and figures herein. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
[0068] The elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present invention. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent. Such new combinations are to be understood as forming a part of the present specification.
[0069] The elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present invention. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent. Such new combinations are to be understood as forming a part of the present specification.
Claims
CLAIMS1. A method for identifying geometric features in a computer aided design (CAD) model based on a set of predefined conditions, wherein each condition in the set of predefined conditions is associated with a type of geometric feature, and wherein each condition in the set of predefined conditions specifies a predefined threshold range of values for at least one quantity associated with the type of geometric feature, the method being computer-implemented and comprising: accessing model data for a CAD model in a CAD system; automatically evaluating the model data in real-time to determine, for each condition of the predefined conditions, geometric features in the CAD model that satisfy at least one condition in the set of predefined conditions; and identifying, in a user interface of the CAD system, the geometric features that satisfy at least one condition in the set of predefined conditions.
2. The method of claim 1, wherein the type of geometric feature comprises a type of geometric entity or a type of geometric relationship between at least two geometric entities.
3. The method of claim 2, wherein the type of geometric relationship comprises a relation based on: orthogonality, tangency, connectivity, parallelism, equal length, equal radius, collinearity, position, perpendicularity, concentricity, symmetry, offset, equal projection, overlap, coplanarity, lying on a face or surface, equal half-angle, coaxiality, or pattern.
4. The method of claim 3, wherein the at least one quantity associated with the type of geometric feature comprises a distance, an angular distance, or the distance and the angular distance between two geometric entities.
5. The method of claim 2, wherein the type of geometric entity comprises a point, curve, surface, vertex, edge, face, or volume.
6. The method of claim 5, wherein the at least one quantity comprises one or more of a length, an area, or a volume.
7. The method of claim 1, wherein identifying the geometric features comprises: providing a real-time visual identifier in the user interface for each geometric feature that satisfies at least one condition.
8. The method of claim 1, wherein identifying the geometric features comprises, for each condition of the predefined conditions: identifying a set of geometric features that satisfy the respective condition in the user interface.
9. The method of claim 1, wherein a predefined condition of the set of predefined conditions is a first condition in a pair of associated conditions, wherein a second condition in the pair is associated with the same type of geometric feature as the first condition, and wherein the second condition specifies a predefined threshold range of values, different than a threshold range of values specified by the first condition.
10. The method of claim 9, further comprising, for each identified geometric feature of the identified geometric features that satisfies the first condition: providing at least a first selectable option in the user interface to automatically modify the respective identified geometric feature to satisfy the second condition, and a second selectable option to ignore the respective identified geometric feature geometric feature in subsequent evaluations of the model data.
11. The method of claim 10, further comprising modifying an identified geometric feature of the identified geometric features or ignoring the identified geometric feature based on a selection of the first selectable option or the second selectable option.
12. The method of claim 9 or 10, further comprising maintaining a geometric feature of the identified geometric features when the geometric feature satisfies the second condition.
13. The method of claim 1, further comprising: receiving an input, the input comprising a selection of a geometric feature in the user interface; determining a subset of the set of predefined conditions satisfied by the geometric feature; and identifying the subset in the user interface.
14. The method of claim 1, further comprising: modifying the model data based on user input; and automatically evaluating the modified model data in real-time to determine, for each condition of the set of predefined conditions, geometric features that satisfy at least one condition in the set of predefined conditions.
15. The method of claim 1, further comprising: providing a first selectable mode and a second selectable mode in the user interface, wherein, in the first selectable mode, distances between geometric entities in the CAD model are based on a fixed unit of measurement relative to the model, and wherein, in the second selectable mode, distances between geometric entities in the CAD model are scaled, based on a level of magnification in the user interface.
16. The method of claim 1, further comprising storing data that identifies the geometric features that satisfy at least one condition in the set of predefined conditions.
17. The method of claim 1, further comprising loading data from a previous CAD session, the data identifying geometric features that were determined as satisfying at least one condition in the previous CAD session.
18. A data processing system comprising: a processor; and a memory storing instructions that, when executed by the processor, cause the processor to execute the method according to any one of claims 1 to 17.
19. A computer-readable medium comprising instructions that, when executed by a computer, cause the computer to carry out the method according to any one of claims 1 to 17.
Citation Information
Patent Citations
Elastic fiber optic image guide
US20070097108A1
Method and System for comparing 3D Models
US20170004621A1
Image processing apparatus and method
US20180322611A1
System and method for searching 3D models using 2d images
US20190251744A1
System and method for creating application interfaces for multiphysics modeling
US20200302097A1