A WYSIWYG editor for creating and editing feature control frames for geometric dimensional tolerances in computer-aided design systems.

The WYSIWYG editor in CAD systems addresses the challenge of creating and editing FCFs by offering context-sensitive options, ensuring compliance with evolving GD&T standards and reducing errors through a user-friendly interface.

JP7850530B2Active Publication Date: 2026-04-23DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
DASSAULT SYSTEMES SOLIDWORKS CORP
Filing Date
2021-06-10
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing computer-aided design (CAD) systems lack an intuitive and user-friendly interface for creating and editing Feature Control Frames (FCFs) that comply with geometric dimensioning and tolerancing (GD&T) standards, leading to potential errors and difficulties in maintaining compliance as standards evolve.

Method used

A WYSIWYG editor within CAD programs that displays context menus adjacent to FCF cells, offering user-selectable options for GD&T information, dynamically adjusting based on user inputs and industry standards, ensuring real-time updates and compliance with evolving standards.

Benefits of technology

Facilitates user-friendly creation and editing of FCFs, reducing errors and ensuring compliance with GD&T standards, even as they evolve, by providing a visual interface that mirrors the final output and guiding users through appropriate options.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007850530000002
    Figure 0007850530000002
  • Figure 0007850530000003
    Figure 0007850530000003
  • Figure 0007850530000004
    Figure 0007850530000004
Patent Text Reader

Abstract

To provide a WYSIWYG editor, a system, and a method for creating and editing a feature control frame for geometric dimensioning and tolerancing.SOLUTION: The method includes: displaying a cell of a FCF 218 for a geometric feature of a model in a graphics area 214 of a CAD program; displaying a context menu 224 comprising a plurality of first user-selectable input options associated with GD&T information for the geometric feature so as to be adjacent to the cell of the FCF; receiving a user selection for one of the plurality of first user-selectable input options; and subsequently presenting a plurality of second user-selectable input options associated with GD&T information for the geometric feature. Options included in the plurality of second user-selectable input options depend, at least in part, on which of the plurality of first user-selectable input options a user selected.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Field of the Invention The present application relates to an editor for creating and editing feature control frames in a computer-aided design program, and more particularly to a WYSIWYG (what you see is what you get) editor for its application.

Background Art

[0002] Background Geometric Dimensioning and Tolerancing (GD&T) refers to a system for defining and communicating engineering tolerances. Generally, this system uses a symbolic language for engineering drawings and three-dimensional solid models generated by a computer that represent ideal geometry and allowable deviations.

Summary of the Invention

Means for Solving the Problems

[0003] Summary of the Invention In one aspect, a system and computer-based method for creating and / or editing a Feature Control Frame (FCF) for Geometric Dimensioning and Tolerancing (GD&T) of a model and / or two-dimensional (2D) drawing (hereinafter "model") within a computer-aided design (CAD) program are disclosed. The method includes displaying cells of an FCF related to geometric features of the model within a graphics area of the CAD program, displaying a context menu adjacent to the cells of the FCF, the context menu including a first plurality of user-selectable input options associated with GD&T information of the cells, receiving a user selection of one of the first plurality of user-selectable input options, and subsequently presenting a second plurality of user-selectable input options associated with GD&T information of the geometric feature. The options included within the second plurality of user-selectable input options depend at least in part on which of the first plurality of user-selectable input options the user selected.

[0004] In another embodiment, a computer-based system includes a computer-based processor and computer-readable memory for storing computer-readable instructions for a computer-aided design (CAD) program, the computer-readable instructions causing the computer system to execute the CAD program and facilitate the creation and / or editing of a Feature Control Frame (FCF) for geometric dimensional tolerances (GD&T) of a model within the CAD program by displaying, when executed by the computer-based processor, a context menu adjacent to (e.g., below) the FCF cell, the context menu including a first plurality of user-selectable input options associated with the GD&T information of the geometric feature, accepting a user selection of one of the first plurality of user-selectable input options, and subsequently presenting a second plurality of user-selectable input options associated with the GD&T information of the geometric feature. The options included in the second plurality of user-selectable input options depend at least in part on which of the first plurality of user-selectable input options the user selected.

[0005] Some implementations offer one or more of the following advantages:

[0006] For example, in some implementations, the systems and techniques disclosed herein provide a user-friendly, intuitive interface for creating and / or editing feature control frames within a CAD-based software environment. In a typical implementation, content input and content presentation occur in the same location within the graphics area of ​​the user interface for the CAD system. This helps the user inputting the content to better understand and visualize the results of their additions and modifications as they occur. In a typical implementation, the systems and techniques disclosed herein help prevent errors and guide new users to systematically construct FCFs.

[0007] In typical implementations, the systems and techniques disclosed herein help ensure compliance with applicable industry standards for FCF and GD&T. Furthermore, in typical implementations, the systems and techniques disclosed herein facilitate user compliance even if one or more of the applicable standards evolve.

[0008] Furthermore, in typical implementations, the user is guided through the user interface regarding which features might be worth including in the feature control frame, and is only provided with options that make sense in the context of a particular situation. In some examples, for instance, this system and technique presents the user with various options depending on past selections made when creating or editing the FCF.

[0009] Other features and advantages will become apparent from this description, drawings, and claims. [Brief explanation of the drawing]

[0010] Brief explanation of the drawing [Figure 1] This is a schematic diagram of an example of a computer system configured to assist in the creation and editing of FCF files within a CAD software environment. [Figure 2]Figure 1 shows an example of a screenshot that may be displayed on a computer display within the system. [Figure 3] This flowchart illustrates the implementation of logic that a system may apply when assisting in the creation and / or editing of FCF files within a CAD system. [Figure 4A] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4B] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4C] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4D] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4E] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4F] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4G] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4H] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4I] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4J] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4K] This includes an example of a partial screenshot that may be displayed on the computer display shown in Figure 1, based on the implementation shown in Figure 3. [Figure 4L] Includes an example of a partial screenshot that can be displayed on the computer display of FIG. 1 according to the implementation shown in FIG. 3. [Figure 4M] Includes an example of a partial screenshot that can be displayed on the computer display of FIG. 1 according to the implementation shown in FIG. 3. [Figure 4N] Includes an example of a partial screenshot that can be displayed on the computer display of FIG. 1 according to the implementation shown in FIG. 3. [Figure 4O] Includes an example of a partial screenshot that can be displayed on the computer display of FIG. 1 according to the implementation shown in FIG. 3. [Figure 4P] Includes an example of a partial screenshot that can be displayed on the computer display of FIG. 1 according to the implementation shown in FIG. 3. [Figure 5] It is a flowchart representing an implementation of logic that the system can apply when assisting in creating and / or editing the datum fields of FCFs within a CAD system. [Figure 6] It is an example of a partial screenshot that can be displayed on the computer display of FIG. 1 according to the implementation shown in FIG. 5. [Figure 7] It is an example of a partial screenshot that can be displayed on the computer display of FIG. 1 to enable a user to select one or more indicators provided with or as part of the FCF. [Figure 8] It is an example of a partial screenshot that can be displayed on the computer display of FIG. 1 to enable a user to input text provided with or as part of the FCF. [Figure 9] It is a schematic block diagram showing an implementation of the computer system of FIG. 1.

Best Mode for Carrying Out the Invention

[0011] Like reference characters refer to like elements.

[0012] Detailed explanation A Feature Control Frame (FCF) is a graphical feature that can be added to a computer-aided design (CAD) drawing, representing various geometric dimension and tolerance (GD&T) information related to deliverables that appear in the drawing (e.g., machine parts or assemblies).

[0013] Broadly speaking, GD&T information represents the nominal (e.g., theoretically perfect) geometry, model-as-mold geometry, or intended geometry of an artifact, and its tolerances. This information informs manufacturing staff and machinery of the desired dimensions, accuracy, and precision required for each controlled feature of the manufactured artifact. For example, dimension specifications (e.g., basic dimensions) can be used to define the nominal geometry, model-as-mold geometry, or intended geometry. Tolerance specifications can be used to define tolerances for the form and size of individual features of an artifact, as well as tolerances for the orientation and location of individual features. There are various ways in which tolerances can be specified in GD&T. One such example involves specifying tolerances in relation to datums. A datum can be an object / artifact (e.g., a point, line, face, hole, pair of faces, etc.) that serves as a reference point when defining the geometry of an object and when measuring aspects of the actual geometry to evaluate how closely they match or should match the nominal values.

[0014] Several available standards describe symbols and rules that can be used in GD&T. Some of these standards include the American Society of Mechanical Engineers (ASME) standard Y14.5, and the International Organization for Standardization (ISO) standards ISO 1101, ISO 14405-1, and ISO 14405-2. Other applicable standards may include those published by the British Standards Institution (BSI), the National Standards of the People's Republic of China (GB), GOST, Japanese Industrial Standards (JIS), the German Institute for Standardization (DIN), and the American National Standards Institute (ANSI). The terms, abbreviations, and symbols used herein are defined in the applicable standards, in particular the ASME and ISO standards mentioned above. All of the above applicable standards, including the ASME and ISO standards, are incorporated herein by reference in their entirety, and the terms, abbreviations, and symbols used herein should be understood by those skilled in the art.

[0015] Standards are complex and tend to change over time. The systems and techniques disclosed herein tend to simplify compliance with applicable standards, and can be adapted accordingly as applicable standards evolve, thereby facilitating continued compliance even if standards may change over time. Furthermore, in a typical implementation, the systems disclosed herein sort cells and data entries within the FCF according to their content rather than creation order, and further sort cells and data entries according to applicable standards (e.g., ASME).

[0016] The systems and techniques disclosed herein assist in the creation and editing of FCFs for display on CAD drawings in relation to models within those drawings. In a typical implementation, the systems and techniques disclosed herein provide a relatively simple and intuitive interface for creating and editing FCFs. Furthermore, in a typical implementation, this interface guides, prompts, and enables the user to input GD&T information according to logic corresponding to one or more (or all) applicable GD&T standards and by following a sequence corresponding to such GD&T standards. The systems and techniques can easily evolve over time as the corresponding applicable GD&T standards evolve. The prompts and fields that the system presents to the user at a particular point in time may depend at least in part on the user's responses to previous prompts and previous field inputs by the user, and therefore the set of prompts and fields presented by the system may change depending on how the user responds to prompts along the way. The systems and techniques help the user better understand how to create a complete and useful FCF for specific features of a model typically displayed in a CAD drawing. In a typical implementation, this interface also allows users to add notes, text descriptors, and other elements to the FCF in a simple and intuitive way.

[0017] In a typical implementation, the FCF is displayed on the screen within the graphics area of ​​the CAD program, adjacent to and logically associated with one or more specific features of the CAD model (e.g., by being connected by leader lines to such features). The interface, including user prompts and text input fields, is typically displayed adjacent to the FCF. When a user provides information fragments within the interface to create the FCF, the FCF can be updated in near real-time according to the newly provided fragments. Thus, from the user's perspective, the system provides a "WYSIWYG" experience with respect to GD&T. More specifically, the WYSIWYG aspect of the system and techniques disclosed herein makes it easy for the user to know / understand what the FCF will look like when printed or displayed as a finished object, by creating and editing FCF content.

[0018] Figure 1 shows an example of a computer system 100 configured to assist in the creation and editing of FCFs within a CAD software environment.

[0019] The illustrated computer system 100 includes a user's computer 102 and an external server 104 (e.g., a server). The user's computer 102 has a computer-based internal processor, computer-based internal memory, an integrated keyboard input, an integrated computer monitor, and a mouse input device. The external server 104 also has a computer-based internal processor and computer-based memory. CAD software is stored within system 100 (e.g., in computer memory or server memory, or distributed between them). When the CAD software is executed by the computer-based processors in computer 102 and / or server 104, it includes computer-readable instructions that cause computer 102 and / or server 104 to execute functions related to conventional CAD programs as well as additional functions disclosed herein within the CAD environment.

[0020] In this regard, System 100 enables the user to create and / or modify CAD models. The computer-based processor uses the computer monitor to display the CAD models and to allow other aspects of the CAD programs described herein to be viewed on the computer monitor. Using the keyboard and / or mouse (and / or other input devices), the user can input and / or modify data related to the CAD models. This information may include, for example, GD&T information related to feature control frames, which can ultimately be displayed on the computer monitor. The computer-based processor in Computer 102 accepts and processes the input information from the keyboard and mouse and makes corresponding and appropriate changes to the display on the computer monitor.

[0021] Figure 2 shows an example of a display generated on the computer monitor of computer 102 by CAD software.

[0022] This display includes window 210, which is divided into: 1) a modeling (or graphics) section 214 in which a three-dimensional (3D) model 212 is rendered and displayed; 2) a ribbon 215 at the top of window 210 that provides access to many basic CAD commands; and 3) a geometric tolerance section 216 on the left side of window 210 that allows the user to specify styles, leader lines, text, leader line styles, frame styles, etc., related to GD&T within the CAD program. In the illustrated embodiment, an exemplary FCF 218 is created (or edited) and shown. The illustrated FCF 218 is located in the graphics section 214 of window 210 adjacent to the rendering of the 3D model 212 and is connected by leader lines 220 to the relevant features of the rendered 3D model 212.

[0023] The FCF in the illustration has multiple cells (boxes) arranged in two rows, one above the other. Each cell specifies one or more properties associated with the GD&T of the rendered model. In the illustrated implementation, the rightmost cell in the bottom row is the active cell 222. That is, the user has selected or activated the active cell 222 (for example, by clicking on the cell using mouse or keyboard input), and the active cell 222 can accept input values ​​specified by the user. Typically, the user can only activate one cell at a time within a particular FCF 218.

[0024] The context menu 224 for the active cell 222 is displayed adjacent to the active cell 222. The context menu 224 has multiple user-selectable options for input into the active cell 222. The context menu 224 allows the user to scroll through the presented options (e.g., by operating the mouse or by typing on the keyboard) and select a specific option (e.g., by clicking the mouse or pressing the Enter key on the keyboard).

[0025] In a typical implementation, a particular set of user-selectable options presented within the context menu 224 for a specific active cell 222 depends at least partially on standards-based logic stored in computer-based memory and implemented by system 100. Furthermore, in some examples, a particular set of user-selectable options presented within the context menu 222 for a specific active cell depends on past inputs given by the user to the FCF 218 (e.g., by making pre-selections or by entering information into the FCF 218 beforehand).

[0026] Therefore, in a typical implementation, system 100 presents the user with options for a particular cell of the FCF that may be practical / available based on applicable industry standards and / or previous selections or inputs given by the user to system 100. In this way, system 100 makes it easy and intuitive for the user to provide information within the FCF in a practical and efficient manner.

[0027] In a typical implementation, the user can build and modify the 3D model 212 or its features in a conventional manner. The user can then create one or more feature control frames associated with the features in the model based on the techniques disclosed herein.

[0028] Referring again to Figure 2, the illustrated FCF218 has manipulators 225 just outside the outer edge of the FCF218. Manipulators 225 are represented by plus signs. One manipulator 225 is at the top of the upper row of the FCF218, one manipulator 225 is at the bottom of the lower row of the FCF218, one manipulator 225 is on the left side of the upper row of the FCF218, and manipulators 225 are on the right side of both the upper and lower rows of the FCF218. Although the illustrated manipulators 225 are shown outside the FCF218, manipulators may be shown outside the FCF (as shown in Figure 2) or inside one or more cells of the FCF. In a typical implementation, system 100 is configured such that a user who selects one of these manipulators 225 (e.g., by operating a mouse or making a stroke on a keyboard) is given access to the system to other system functions that specify the GD&T properties associated with the FCF.

[0029] In an exemplary implementation, if a particular manipulator 225 is located outside and adjacent to a particular cell of the FCF, that particular manipulator 225 may always be accessible (e.g., selectable by the user) until, for example, the associated cell becomes active. In this regard, when such a manipulator 225 is selected, based on the position of the manipulator 225 relative to the associated cell, the system 100 displays a menu having user-selectable options, data fields, etc., or displays a new cell of the FCF capable of accommodating other information. If a particular manipulator 225 is located inside a cell, those manipulators may also be accessible until, for example, the associated cell becomes active. Manipulators within a cell can be used to access certain functions of the system 100, including, for example, the random access menu discussed herein. In a particular implementation, when the random access menu is displayed, any elements already added to the FCF are indicated (by visual distinction) as non-selectable options. A random access menu is called random access because, when it's on the screen, the user can access any of the screens related to the entries in the random access menu at any time and in any order.

[0030] In some implementations, the position of the selected manipulator relative to adjacent cells can determine where a menu, cell, or other item is displayed. For example, if manipulator 225 to the right of the FCF in Figure 2 is selected, system 100 can create a menu to the right of the FCF in Figure 2 (with user-selectable options, for example, for specifying a datum or another tolerance).

[0031] In various implementations, the FCF 218 may contain more or fewer manipulators 224 than shown in Figure 2. For example, if a particular FCF has only one row, the system 100 may present one manipulator 224 to the right of the FCF, one to the left of the FCF, one at the top of the FCF, and one at the bottom of the FCF. In some implementations, there may be fewer than one manipulator per side of the FCF. In some implementations, manipulators (and / or delete symbols) may be displayed between two rows of the FCF cell.

[0032] There is also a user-selectable delete button outside the active cell in the lower right corner of the FCF. More specifically, in the illustrated implementation, the user-selectable delete button is located to the upper right of the active cell. The delete button is shaped like an "x". In a typical implementation, system 100 provides a delete button for all selected (or active) cells, along with their associated context menu, if any. Selecting the delete button typically deletes the associated (active) cell and all of its contents.

[0033] Figure 3 is a flowchart representing a specific implementation of the logic that System 100 may apply when assisting in the creation and editing of FCFs within a CAD system, and Figures 4A to 4P show a series of partial screenshots of a specific implementation of Figure 3. It should be understood that Figures 3 and 4A to 4P represent only specific implementations of the system. Numerous modifications are possible.

[0034] An FCF can be specifically configured to specify a wide range of GD&T information about the associated features. For example, if an FCF is provided to specify a tolerance for a particular feature, that FCF will always specify at least the type of tolerance, the shape of the tolerance range, and the tolerance range itself. Thus, in a typical implementation, system 100 is configured to prompt the user to specify at least these characteristics. First, as shown in Figure 3, system 100 (in 3001) creates a tolerance FCF. This step typically involves presenting the beginning of the FCF for that feature (e.g., the first cell) in relation to a particular feature of the model in the CAD drawing.

[0035] Figure 4A is a partial screenshot showing an exemplary first cell 430 of the FCF, three manipulators 425 adjacent to the first cell 430, and a context menu 432 for the first cell 430. The context menu 432 has a header ("Tolerance Type") that identifies the type of information to be entered into the associated first cell 430, several user-selectable options for tolerance type, and user-selectable buttons labeled "Merge Top," "Merge Bottom," and "Make indep...". The tolerance type represented by the user-selectable options is based on the applicable industry standard. In various implementations, the types of tolerances provided to the user for selection within the context menu 432 for the first cell may relate to form (e.g., straightness, flatness, roundness, and cylindricity), profile (e.g., linear profile and surface profile), orientation (e.g., perpendicularity, inclination, and parallelism), location (e.g., symmetry, position, and concentricity), and / or runout (e.g., circumferential runout, total runout).

[0036] One of the user-selectable options displayed (for example, location)

number

[0037] Next (in 3002), system 100 allows the user to input the shape of the range. System 100 does this step by prompting the user to select the shape of the range from several user-selectable options, including square, spherical diameter, diameter, or none (in 3003). Furthermore (in 3008), system 100 allows the user to input the range. System 100 does this step by, in some implementations, providing a field into which the user can input the value of the range (in 3022).

[0038] Figure 4B is a partial screenshot showing an exemplary second cell 434 of the FCF (next to the first cell), a delete symbol 436 adjacent to the second cell 434, four manipulators 425 adjacent to the FCF, and a context menu 438 for the second cell 434.

[0039] The context menu 438 has a header ("Tolerance 1") that identifies the type of information to be entered into the related second cell 434, several user-selectable options for specifying the shape of the tolerance zone (e.g., sphere, diameter, etc.), and a field for entering a numerical value related to the tolerance zone that can be obtained based on a specific unit of measurement. The shape of the tolerance zone represented by the user-selectable options is based on the applicable industrial standard. If the user selects one of the displayed user-selectable options (e.g., the sphere diameter symbol option) (in 3002), that symbol will be displayed in the second cell 434 of the FCF. For example, in the illustrated implementation, the sphere symbol option is selected (as can be seen from its darker display compared to the other options) and is displayed in the second cell 434 of the FCF. Similarly, if the user enters a numerical value (in 3022) in the field below the user-selectable symbol, that numerical value will be displayed in the second cell 434 of the FCF immediately after the selected tolerance zone shape symbol. In the illustrated example, the user has entered 0.01 in the field below the user-selectable symbol, and therefore 0.01 is displayed in the second cell 434 of the FCF adjacent to the selected tolerance zone shape symbol.

[0040] The illustrated context menu includes the Random Access Menu 440 displayed within the illustrated context menu, as well as all other context menus shown in Figures 4C to 4O. The Random Access Menu 440, whenever it is displayed, includes multiple user-selectable options for accessing functions related to creating or editing various different individual elements within the FCF. In a typical implementation, the user-selectable options within the Random Access Menu 440 include feature properties such as primary range, composite range, combination, offset, constraint, filter type and index (together or separately), related features, derived features, related properties, parameter properties, material condition, translation symbols, and condition symbols.

[0041] In the illustrated implementation, the second cell of the FCF is filled with a diameter symbol (for example, because the user has selected a user-selectable option (e.g., a button) that contains a diameter symbol). In the illustrated implementation, this option (diameter) can no longer be used to add to the FCF (or the row of the displayed FCF). Therefore, the button corresponding to this user-selectable option (diameter button) can no longer be selected and is still displayed in a way that makes it visually distinct from the other selectable buttons. More specifically, in the illustrated implementation, the diameter button is visually distinguished by being darkened.

[0042] Similarly, in other drawings (e.g., Figures 4C and 4F-4O), certain buttons are shown darkened (and therefore unavailable for user selection). These buttons cannot be selected by the user because the items related to them have already been added to the FCF shown in the drawing or to the rows of the FCF.

[0043] In the flowchart of Figure 3, each item from the random access menu 440 is represented as a user-selectable option, namely, the range input 3008, the composite range input 3009, the combination input 3010, the offset symbol input 3011, the constraint input 3012, the filter type input 3013, the filter index input 3014, the related feature symbol 3015, the derived feature symbol 3016, the related property symbol 3017, the parameter property symbol 3018, the material state symbol 3019, the translation symbol 3020, the state symbol 3021, and the statistical symbol 3112.

[0044] When the user selects the “Composite Range” option from the random access menu 440 (in 3009), the system 100 presents the user with a screenshot containing the content shown in Figure 4C. The illustrated screenshot includes a partial FCF and a context menu 439, the context menu 439 which includes the random access menu 440 (shown with the “Composite Range” option selected) and inputs for the user to define two joins (joint 1 and join 2), each including a first pair of user-selectable join options (dash or slash), multiple user-selectable join shapes, and fields for the user to enter the values ​​of the associated joins.

[0045] Referring again to the flowchart in Figure 3, the user selects one of the joins (at 3023), and the process proceeds in a specific way depending on which join was selected (3024). For example, if the user selects a dash (3025), system 100 prompts the user to enter a range (at 3702), which the user does (at 3703). On the other hand, if the user selects a slash (3026), system 100 allows the user to enter the shape of the range (3027), enter the range (3028), or enter a second dimension of the range (3029). If the user enters the shape of the range (3200), the shape selection options may include none / remove, diameter, sphere diameter, square, or angle. If an angle is selected, system 100 automatically applies the angle symbol after the value (at 3034). If the user chooses to enter a range (at 3028), the user does so (at 3035). If the user chooses to enter a second dimension of the range (in 3029), depending on which join (e.g., dash 3037 or x3038) is selected (3036), (in the case of dash) system 100 allows the user to enter a range (in 3039), and the user can enter a numerical value (in 3040) and access the shape symbol matrix (3041).

[0046] In a typical implementation, after the user has made a selection, system 100 is configured such that the user is only allowed (or can enter) additional information downstream of the selection of a dash or x (in 3037 or 3038). Otherwise, system 100 does not allow the user to enter information.

[0047] System 100 is generally configured to adjust the options available to the user as the user makes a particular choice. Such adjustments help minimize the range of choices the user must consider at various points in time while creating the Free Choice Function (FCF), which makes it easier for the user to proceed with the process and reduces the amount of focus the user has to concentrate on. In a typical implementation, any options that are to be made unavailable to the user are made unavailable because the user's past choices make those unavailable options unusable (moot). In a typical implementation, the user can still see any unavailable options, however, any unavailable options are typically displayed in a way that makes them visually distinguishable (e.g., by shading) to indicate that they are not available to the user's selection.

[0048] As an example, in a typical implementation, system 100 is configured such that the user is only allowed to enter a range (in 3702, 3703) if the user makes the dash selection indicated (in 3025). Otherwise, the relevant range field may be unavailable. In that case, the user may not even be able to click on the data entry field unless and until a selection is made. Other examples of this type of functionality appear throughout this application.

[0049] As another example, system 100 is configured such that the user is only allowed to input the range shape, range, and second dimension of the range (in 3027, 3029, and 3029) if the user makes the slash selection shown (in 3026). Otherwise, these options may be unavailable to the user.

[0050] When following the "by x" branch, depending on which standard applies (3042), system 100 follows one of two alternative paths. First, if the standard is ISO, BSI, GB, GOST, JIS, or DIN, (in 3043) the "by" symbol is a lowercase "x" without a space before or after it. If the standard is ANSI / ASME, (in 3047) the "by" symbol is an uppercase "X" with a space before or after it. Next, system 100 (in 3044) allows the user to input a range, and the user (in 3045) can input a number and access the shape symbol matrix (3046).

[0051] (In 3024) If there is no combination (3042), for example, system 100 considers (in 3043) whether there are any additional compound range symbols and values. If there are, system 100 (in 3044) removes the subsequent compound range symbols and values ​​and (in 3045) does not accept input of compound range symbols and values. Otherwise, (in 3043) if there are no additional compound range symbols and values, system 100 (in 3045) does not accept input of compound range symbols and values. Thus, in the illustrated implementation, (in 3025, 3026) if neither a dash nor a slash is entered, system 100 does not recognize the existence of any compound range of symbols.

[0052] If the user selects the "Combination" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4D, which includes a partial FCF 418 and a context menu 442, the context menu 442 containing the random access menu 440 and two user-selectable options (CZ and SZ).

[0053] In some implementations, when a user selects the “Combination” option from the random access menu 440, the system 100 follows logic that matches the content represented within the branch extending from the “Combination Input” cell (3010) in Figure 3. Such logic includes allowing the user to specify symbols that may be common domain modifiers CZ or isolated domain modifiers SZ, or to not provide such modifiers, or to remove such modifiers.

[0054] If the user selects the "Offset" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4E, which includes a partial FCF 418 and a context menu 444, the context menu 444 containing the random access menu 440 and user-selectable options (U and UX) along with other graphical elements and text fields for value input.

[0055] In some implementations, when a user selects the “Offset” option from the random access menu 440, system 100 follows logic that matches what is shown in the branch extending from the “Enter Offset Symbol” cell (3011) in Figure 3. Such logic includes allowing the user to specify a symbol that can be U or UX (in 3052). If the symbol is U, system 100 allows the user to enter an applicable value (in 3055), which the user does (in 3056). If the symbol is UX, system 100 allows the user to enter an offset direction symbol (in 3057), an offset value (in 3058), a second offset direction symbol (in 3059), and / or a second offset value (in 3060). However, in a typical implementation, if UX does not exist (e.g., the user has not selected UX), none of the above options exist, and system 100 does not offer them to the user for selection.

[0056] The user can remove the offset direction symbol (in 3061). If the user removes the offset direction symbol (in 3061) and the system 100 determines (in 3062) that additional constraint symbols and values ​​follow, the system 100 removes the subsequent constraint symbols and values ​​(in 3063) and does not accept the input of constraint symbols and values ​​(in 3064). If the user removes the offset direction symbol (in 3061) and the system 100 determines (in 3062) that no offset value follows, the system 100 simply does not accept the input of an offset value (in 3064).

[0057] System 100 is generally configured to adjust the options available to the user as the user makes a particular choice. Such adjustments help minimize the range of choices the user must consider at various points in time while creating the Free Choice Function (FCF), thereby making it easier for the user to proceed with the process and reducing the amount of focus the user has to concentrate on. In a typical implementation, any options unavailable to the user are made unavailable because the user's past choices have rendered those unavailable options unusable. In a typical implementation, the user can still see any unavailable options, however, any unavailable options are typically displayed in a way that makes them visually distinguishable (e.g., by shading) to indicate that they are unavailable for user selection.

[0058] Therefore, in the illustrated implementation, if neither U nor UX is input (selected), system 100 is configured such that no constraint values ​​or symbols can exist.

[0059] If the user enters a second offset direction symbol (in 3059), the symbol (3501) may be a plus sign (3066) or a minus sign (3067). In either case, if a second offset value is selected or entered, system 100 (in 3068) adds a colon separator between the offset value and the second offset direction symbol. The user may remove the second offset direction symbol (in 3069). If system 100 (in 3070) determines that the user has removed the second offset direction symbol (in 3069) and a second offset value follows, system 100 (in 3071) removes the subsequent second offset value and (in 3072) does not allow the input of an offset value. If system 100 (in 3070) determines that the user has removed the offset direction symbol (in 3069) and no offset value follows, system 100 simply (in 3072) does not allow the input of an offset value. If the user chooses to input a second offset value (at 3060), the user inputs the second offset value (at 3073). In a typical implementation, if "+" or "-" is not present (for example, not selected by the user), neither the first nor the second offset value exists, and system 100 does not present those options to the user.

[0060] If the user selects the "Constraints" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4F, which includes a partial FCF 418 and a context menu 446, the context menu 446 containing the random access menu 440 and user-selectable options (OZ, VA, and "><").

[0061] In some implementations, when a user selects the "Constraints" option from the random access menu 440, the system 100 follows logic that matches the content represented within the branch extending from the "Constraint Input" cell (3012) in Figure 3, in which the user can select a symbol (3073) from the presented user-selectable options OZ (3074), VA (3075), and "><" (3076). Alternatively, the user can choose not to select any of these options (3077), or deselect any previously selected options.

[0062] When the user selects the "Filter Type" option from the random access menu 440, the system 100 may present a screenshot containing the contents shown in Figure 4G, which includes a partial FCF 418 and the context menu 448, the context menu 448 containing the random access menu 440 and user-selectable options (G, S, SW, CW, RG, RS, OB, OH, OD, CB, CH, CD, AB, AH, AD, F, and H).

[0063] In some implementations, when a user selects the "Filter Type" option from the random access menu 440, the system 100 follows logic that matches the content represented within the branch extending from the "Filter Type Input" cell (3013) in Figure 3, in which the user can select a symbol from the available symbols, namely G, S, SW, CW, RG, RS, OB, OH, OD, CB, CH, CD, AB, AH, AD, F, and H (3078).

[0064] When the user selects the "Filter Index" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4H, which includes a partial FCF 418 and a context menu 449, the context menu 449 including the random access menu 440 and graphical elements shown for specifying filter index information.

[0065] In some implementations, when a user selects the "Filter Index" option from the random access menu 440, system 100 follows logic that matches the content shown in the branch extending from the "Filter Index Input" cell (3014) in Figure 3. If system 100 determines (at 3079) that there are no preceding filter type symbols and values, system 100 (at 3080) removes any subsequent filter index symbols and values, if any, and (at 3081) does not allow input of filter index symbols and values. Therefore, in the illustrated implementation, if there is no filter type (e.g., not entered), there is no filter value, and system 100 does not provide the user with any options regarding filter values. If system 100 determines (in 3079) that the filter type symbol and value precede the input, system 100 allows the user to (in 3082) input the filter index symbol, (in 3083) input the filter index value, (in 3084) add a "By" separator between the filter index and the second filter index, (in 3085) input the second filter index symbol, and / or (in 3086) input the second filter index value.

[0066] If the user chooses to enter a symbol for the filter index (3082), the user can select a symbol (in 3088), which could be a dash before the filter index number (3090) or a dash after the filter index value (3091). Alternatively, system 100 allows the user to deselect or remove such a symbol (3092), for example by pressing a previously selected button. If the user chooses to enter a value for the filter index, the user does so in 3089. In a typical implementation, if there is no symbol for the filter index (e.g., specified by the user), there is no value for the filter index, and system 100 does not present the user with an option to enter such a value.

[0067] If the user chooses to add a "By" delimiter (in 3084), system 100 allows the user to insert a space or a delimiter (for example, by selecting a user-selectable option), and depending on the applicable standard determined by system 100 (3095), the delimiter is a lowercase "x" without a leading or trailing space (for ISO, BSI, GB, GOST, JIS, and DIN), and an uppercase "X" with a leading or trailing space (for ANSI / ASME). Alternatively, system 100 allows the user to deselect or remove such delimiter, for example by pressing a previously selected button.

[0068] If the user chooses to enter a symbol for the index of the second filter (3085), the user can select a symbol (in 3095), which may be a dash before the number of the filter index (3096) or a dash after the value of the filter index (3097). Alternatively, system 100 allows the user to deselect or remove such a symbol (3098), for example by pressing a button that was previously selected. If the user chooses to enter a value for the index of the second filter, the user does so in 3099.

[0069] When a user selects the “Related Features” option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4I, such screenshot including a partial FCF 418 and a context menu 450, the context menu 450 including the random access menu 440 and user-selectable options including C, G, N, X, and T.

[0070] In some implementations, when a user selects the “Related Features” option from the random access menu 440, system 100 follows logic that matches the content represented within the branch extending from the “Related Feature Symbol” cell (3015) in Figure 3. In this case, the user can select a symbol from the symbols provided by the system, namely C, G, N, X, and T (in 3100). System 100 also allows the user to remove (or not specify) such symbols. Removing a symbol typically involves deselecting one of the symbols previously selected.

[0071] When a user selects the “Derived Features” option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4J, which includes a partial FCF 418 and a context menu 451, the context menu 451 including the random access menu 440 and user-selectable options including A and P.

[0072] In some implementations, when a user selects the “Derived Feature” option from the random access menu 440, system 100 follows logic that matches the content represented in the branch extending from the “Derived Feature Symbol” cell (3016) in Figure 3, in which the user is given the option to select a symbol from A and P (at 3101). If the option P is selected, the user can choose to enter a projected offset value (at 3102) and enter the appropriate number (at 3103), or enter a second projected offset value (at 3104), add a dash separator with leading and trailing spaces (at 3105), and enter the appropriate number (at 3106).

[0073] If the user selects the “Relevant Characteristics” option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4K, such screenshot including a partial FCF 418 and a context menu 452, the context menu 452 including the random access menu 440 and user-selectable options including C, CE, CL, G, GE, GI, X, and N.

[0074] In some implementations, when a user selects the “Relevant Traits” option from the random access menu 440, the system 100 follows logic that matches the content represented in the branch extending from the “Relevant Trait Symbol” cell (3017) in Figure 3, in which the user can select from several user-selectable options (in 3107), including C, CE, CL, G, GE, GI, X, and N. Alternatively, the user can choose to remove (e.g., deselect) a specific user-selectable option (if previously selected) and / or choose not to select any user-selectable options.

[0075] When the user selects the "Parameter Characteristics" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4L, which includes a partial FCF 418 and a context menu 453, the context menu 453 containing the random access menu 440 and user-selectable options including P, v, t, and G.

[0076] In some implementations, when a user selects the "Parameter Characteristics" option from the random access menu 440, the system 100 follows logic that matches the content represented within the branch extending from the "Parameter Characteristics Symbol" cell (3018) in Figure 3, in which the user can select from several user-selectable options (in 3108), including P, v, t, and G. Alternatively, the user can choose to remove (e.g., deselect) a specific user-selectable option (if previously selected) and / or choose not to select any user-selectable options.

[0077] When a user selects the "Material Status" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4M, which includes a partial FCF 418 and a context menu 453, the context menu 453 including the random access menu 440 and user-selectable options including M, L, T, and S, each displayed in a circle.

[0078] In some implementations, when a user selects the "Material State" option from the random access menu 440, the system 100 follows logic that matches the content represented within the branch extending from the "Material State Symbol" cell (3019) in Figure 3, in which the user can select from several user-selectable options (3109), including M, L, T, and S, each enclosed in a circle. Alternatively, the user can choose to remove (e.g., deselect) a specific user-selectable option (if previously selected) and / or choose not to select any user-selectable options.

[0079] When the user selects the "translation symbol" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4N, which includes a partial FCF 418 and a context menu 454, the context menu 454 containing the random access menu 440 and user-selectable arrow symbols.

[0080] In some implementations, when a user selects the "translation symbol" option from the random access menu 440, system 100 follows logic that matches the content represented within the branch extending from the "translation symbol" cell (3020) in Figure 3, in which the user can select an arrow symbol (at 3110). Alternatively, the user can choose to remove (e.g., deselect) the arrow symbol (if it has been selected in the past) and / or choose not to select an arrow symbol.

[0081] If the user selects the "Status Symbol" option from the random access menu 440, the system 100 may present a screenshot containing the content shown in Figure 4O, such screenshot including a partial FCF 418 and a context menu 455, the context menu 455 including the random access menu 440 and a user-selectable F within a circle.

[0082] In some implementations, when a user selects the "State Symbol" option from the random access menu 440, system 100 follows logic that matches the content represented within the branch extending from the "State Symbol" cell (3021) in Figure 3, in which the user can select the F symbol in the circle (at 3111). Alternatively, the user can choose to remove (e.g., deselect) the F symbol in the circle (if it has been selected in the past) and / or choose not to select the F symbol in the circle.

[0083] Finally, if the user selects the "Statistical Symbol" option (for example, from the random access menu 440), the system 100 may present a screenshot containing the content shown in Figure 4O, which is a user-selectable labeled statistical symbol ST within the shown shape.

[0084] In some implementations, when the user selects the "Statistical Symbols" option, system 100 follows logic that matches the content represented within the branch extending from the "Statistical Symbols" cell (3112) in Figure 3, in which the user can select an ST symbol within a certain shape (at 3113). Alternatively, the user can choose to remove (e.g., deselect) an ST symbol within a certain shape (if previously selected) and / or choose not to select an ST symbol within a certain shape.

[0085] As the user follows the logic shown in the screenshots in Figures 4A to 4O and the flowchart in Figure 3, the system creates (and / or edits) an example FCF shown at the bottom of Figure 3. To identify the parts of the flowchart related to creating or editing the various parts of the exemplary FCF, dashed lines extend from various points in the flowchart to the exemplary FCF in Figure 3.

[0086] Figure 5 is a flowchart representing a specific implementation of logic that System 100 may apply when assisting in the creation and / or editing of FCF datum fields within a CAD system, and Figure 6 is a partial screenshot of a specific implementation of Figure 5. Generally, a datum can be an object (e.g., a point, line, face, hole, pair of faces, etc.) that serves as a reference point when defining the geometry of an object and when measuring aspects of the actual geometry to evaluate how closely they match or should match nominal values.

[0087] If a user chooses to add a datum or group of datums (for example, by selecting a manipulator on the screen), the system can respond by displaying a screenshot containing the content shown in Figure 6. The illustrated screenshot includes a partial FCF418 with a datum / group of datum cells 650 for the FCF, and a context menu 652 for information about the datum / group of datums. The context menu 652 includes several user-selectable options with symbols and associated functions, as well as data input fields.

[0088] In some implementations, if the user chooses to add a datum or datum field, system 100 follows logic that matches the flowchart in Figure 5.

[0089] In the flowchart of Figure 5, system 100 gives the user the option to add a single datum (5001) or a group of datums (5002). If the user chooses to add a single datum, the user can add the datum by manually entering it or by selecting an existing datum (for example, from the graphics area or the feature manager design tree (FMDT)) (5003). If the user chooses manual entry (in 5004), system 100 allows the user to manually enter the datum ID (in 5005), and the user does so (in 5006). If the user chooses to select an existing datum (in 5004), system 100 allows the user to select the datum ID from a list of datums already present in the document (in 5007).

[0090] If the user chooses to manually enter a datum ID (5006) in 5004, system 100 determines (5008) whether the manually entered datum ID (5006) already exists in the document. If the system determines that the manually entered datum ID does not exist in the document, system 100 provides a passive notification (5009) that the manually entered datum ID does not exist in the document and accepts the manually entered datum ID (5010). If the user chooses to select an existing datum ID (5004), system 100 determines (5011) whether the datum ID already exists in another datum field in the same FCF row. If system 100 determines (5011) that the selected datum ID does not yet exist in another datum field in the same FCF row, system 100 accepts the selected datum ID. If system 100 determines (in 5011) that the selected datum ID already exists in another datum field in the same row of FCF, system 100 provides an accept / cancel error message (in 5012) to inform the user of the excessive use of the selected datum ID. System 100 then gives the user the option to accept or cancel (in 5013). If the user accepts (in 5013), the system accepts the datum ID. Otherwise, if the user cancels the selected datum ID (in 5013), system 100 presents the user with the option to manually enter a new datum ID or select an existing one (in 5004).

[0091] If the user chooses to add a group of datums (5002), the system 100 allows the user to (in 5014) add dashes between groups of datums, and (in 5015) add common datum locations for each group of datums (repeatable), (in 5017) add dashes between common datum locations, and (in 5003) add datums for each common datum location.

[0092] Once one or more datum IDs are accepted (in 5010), for each indicator symbol (as a single datum or as individual datums within a common datum or datum group) (5023), the system allows the user to add indicator symbols (in 5018), material state symbols (in 5019), translation symbols (in 5020), state symbols (in 5021), and / or statistical symbols (in 5022).

[0093] If the user wants to add an indicator symbol (in 5018), system 100 presents the user with several user-selectable options, including x, y, z, u, v, w, [CF], [PL], [SL], [PT], "><", [DV], and P (in a circle), and the user makes a selection (in 5024). If x, y, z, u, v, or w is selected, system 100 places all the added symbols (in lowercase) in a single set of square brackets, each separated by a comma. The order in which the symbols are generally displayed is roughly the same as how they are displayed in Figure 5. If the P (in a circle) option is selected, system 100 provides the user with a text field to enter a projected offset value (in 5025), and the user does so (in 5026). Alternatively, the user may choose to remove (e.g., deselect) one of the user-selectable symbols (if previously selected) and / or choose not to select one of the user-selectable symbols.

[0094] If the user wants to add a material condition symbol (in 5019), the system 100 presents the user with several user-selectable options, each containing M, L, R, and S within a circle, and the user makes a selection (in 5027). Alternatively, the user may choose to remove (e.g., deselect) one of the user-selectable symbols (if previously selected) and / or choose not to select one of the user-selectable symbols.

[0095] If the user wants to add a translation symbol (in 5020), system 100 presents the user with a selectable right-pointing arrow symbol, which the user can select (in 5028). Alternatively, the user may choose to remove (e.g., deselect) the selectable right-pointing arrow symbol (if it has been selected in the past) and / or choose not to select the selectable right-pointing arrow symbol.

[0096] If the user wants to add a status symbol (in 5021), system 100 presents the user with selectable F symbols (in a circle) (not shown in Figure 6), which the user can select (in 5029). Alternatively, the user may choose to remove (e.g., deselect) any selectable F symbols (in a circle) (if previously selected) and / or choose not to select any selectable F symbols (in a circle).

[0097] If the user wants to add a statistical symbol (in 5022), the system 100 presents the user with selectable ST symbols (within a certain shape), which the user can select (in 5030). Alternatively, the user may choose to remove (e.g., deselect) any ST symbols (within a certain shape) that are selectable by the user (if they have been selected in the past) and / or choose not to select any ST symbols (within a certain shape) that are selectable by the user.

[0098] Furthermore, for each datum group (5600), if ANSI / ASME is applicable and / or if system 100 determines (in 5602) that it is applicable, system 100 (in 5601) adds parentheses to encompass all datums in the datum group.

[0099] The logic represented in the illustrative flowcharts of Figures 3 and 5 corresponds to logic stored as computer-readable instructions / data in a computer-readable medium, which may be part of or related to a CAD software program, as a decision control matrix in computer-based memory.

[0100] Figure 7 is a partial screenshot showing an example of a context menu 750 that the system 100 can display to the user to allow the user to select one or more indicators provided with or as elements of the FCF 718. The context menu 750 includes several user-selectable options (eye, backward arrow, circle, and backward arrow with short tail) that the user can add to the FCF. The illustrated context menu 750 also has buttons corresponding to several user-selectable options related to tolerance types. According to the illustrated implementation, the circle and backward arrow have already been added to the FCF. According to the illustrated implementation, they are no longer available to be added to the FCF (or the displayed row of FCF). Therefore, the buttons corresponding to these user-selectable options (circle and backward arrow) are still displayed as visually distinguishable from other selectable buttons. More specifically, in the illustrated implementation, these buttons are visually distinguishable by being darkened. In a typical implementation, the illustrated context menu 750 and / or its associated functions may be accessed by the user selecting one or more manipulators on the screen.

[0101] Figure 8 is a specific screenshot showing an example of a context menu 850 that the system 100 may display to the user to allow the user to input text or symbols along with or as elements of the FCF718. The context menu 850 includes a field for entering text, as well as two user-selectable options for indicating that the text is bottom text and for inserting symbols. In a typical implementation, the illustrated context menu 850 and / or its associated functions may be accessed by the user selecting one or more manipulators on the screen.

[0102] Embodiments of the system for performing the functions described in detail above can be implemented by a computer system represented by the schematic diagram in Figure 9 (for example, computer system 100 in Figure 1). System 9500 includes a processor 9502 (which may include a decision control module configured to access a decision control matrix and execute instructions in order to implement the functions described in the instructions), a storage device 9504, a memory 9506 storing software 9508 that defines the functions described above, an input / output (I / O) device 9510 (or peripheral device), and a local bus or local interface 9512 that enables communication within System 9500. The local interface 9512 may be one or more buses or other wired or wireless connections known in the art, but not limited to these. The local interface 9512 may have further elements omitted for brevity, such as controllers, buffers (caches), drivers, repeaters, and receivers to enable communication. Furthermore, the local interface 9512 may include address, control, and / or data connections to enable appropriate communication between the above-mentioned components.

[0103] The processor 9502 is a hardware device for executing software stored in memory 9506, among other things. The processor 9502 can be any custom-made or commercially available single-core or multi-core processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the System 9500, a semiconductor-based (microchip or chipset) microprocessor, a macroprocessor, or any device for executing software instructions in general.

[0104] Memory 9506 may include one or a combination of volatile memory elements (e.g., random access memory (RAM such as DRAM, SRAM, SDRAM, etc.)) and non-volatile memory elements (e.g., ROM, hard drive, tape, CD-ROM, etc.). Furthermore, memory 9506 may include electronic, magnetic, optical, and / or other types of storage media. Note that memory 9506 may have a distributed architecture in which various components are located apart from each other but can be accessed by processor 9502.

[0105] Software 9508 defines the functions performed by the system 9500 in accordance with the present invention. Software 9508 in memory 9506 may contain one or more separate programs, each of which, as described below, contains an ordered list of executable instructions for implementing the logical functions of the system 9500. Memory 9506 may contain an operating system (O / S) 9520. The operating system substantially controls the execution of programs in the system 9500 and provides scheduling, input / output control, file and data management, memory management, and communication control and related services.

[0106] The I / O device 9510 may include input devices, such as, but not limited to, keyboards, mice, scanners, microphones, touch and styluses, etc. Furthermore, the I / O device 9510 may also include output devices, such as, but not limited to, printers, displays, etc. Finally, the I / O device 9510 may further include devices that communicate by both input and output, such as, but not limited to, modulation / demodulation devices (modems for accessing other devices, systems, or networks), radio frequency (RF) or other transceivers, telephone interfaces, bridges, routers, or other devices.

[0107] When the system 9500 is running, the processor 9502 is configured to execute the software 9508 stored in the memory 9506 in order to communicate data with the memory 9506 and to generally control the operation of the system 9500 in accordance with the software 9508 as described above.

[0108] When the functions of system 9500 are running, processor 9502 is configured to execute software 9508 stored in memory 9506 in order to communicate data with memory 9506 and to generally control the operation of system 9500 in accordance with software 9508. The operating system 9520 is read by processor 9502, possibly buffered within processor 9502, and then executed.

[0109] If System 9500 is implemented in software 9508, it should be noted that the instructions for implementing System 9500 may be stored on any computer-readable medium for use by or associated with any computer-related device, system, or method. Such computer-readable medium may correspond to either or both of memory 9506 and storage device 9504 in some embodiments. In the context of this document, computer-readable medium is an electronic, magnetic, optical, or other physical device or means that contains or can store computer programs for use by or associated with any computer-related device, system, or method. The instructions for implementing the system may be embodied in any computer-readable medium for use by or associated with a processor or other such instruction execution system, device, or apparatus. For example, processor 9502 is mentioned, but such instruction execution system, device, or apparatus may be any computer-based system, processor-containing system, or other system that can retrieve instructions from an instruction execution system, device, or apparatus and execute those instructions. In the context of this document, “computer-readable medium” can be any means capable of storing, communicating, propagating, or carrying programs for use by or associated with a processor or other such instruction execution system, device, or apparatus.

[0110] Such computer-readable media may be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, apparatus, or propagation media. More specific examples (non-exclusive list) of computer-readable media include electrical connections with one or more wires (electronic), portable computer diskettes (magnetic), random access memory (RAM) (electronic), read-only memory (ROM) (electronic), erasable read-only memory (EPROM, EEPROM, or flash memory) (electronic), optical fibers (optical), and portable compact disk read-only memory (CDROM) (optical). Note that the computer-readable medium may even be paper on which a program is printed or another suitable medium, since a program can be electronically captured by optically scanning, for example, paper or another medium, then compiled, interpreted, or processed in an appropriate manner as needed, and then stored in computer memory.

[0111] In alternative embodiments in which System 9500 is implemented more or less by hardware, System 9500 can be implemented using any or a combination of the following technologies, each well known in the art: discrete logic circuits having logic gates for implementing logic functions based on data signals, application-specific integrated circuits (ASICs) having appropriate combinational logic gates, programmable gate arrays (PGAs), rewritable gate arrays (FPGAs), etc.

[0112] Several embodiments of the present invention have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the present invention.

[0113] For example, the terms, abbreviations, and symbols disclosed herein are derived from the specific industry standards mentioned above. However, different terms, abbreviations, and symbols may be substituted for those explicitly disclosed herein.

[0114] The design and various aspects of the interface can differ significantly. For example, the relative positioning of various viewing elements may differ. Similarly, the size and shape of buttons and other graphical elements representing user-selectable options, fields, etc., may differ. Certain features of various screenshots may be combined into one in some implementations, while certain features shown as being on the same screenshot may be separated. Certain functions, user options, text fields for data entry, etc., may be omitted entirely. Certain functions, user options, text fields for data entry, etc., may be added.

[0115] This specification includes many specific implementation details, but these should not be interpreted as limitations on the scope of any invention or the scope of what may be described in the claims, but rather as descriptions of features specific to a particular embodiment of a particular invention. Specific features described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented separately or in any appropriate subcombination in multiple embodiments. Furthermore, while features may have been described above as functioning in a particular combination, even if such a claim is initially made, one or more features of the claimed combination may be excluded from that combination in some cases, and the claimed combination may cover subcombinations or variations of subcombinations.

[0116] Similarly, although the actions described herein are disclosed as occurring in a specific order, this should not be understood as requiring that such actions be performed in the specific illustrated order or sequential order, or that all of the represented actions be performed, in order to achieve the desired result.

[0117] Other implementations are also included in the claims.

Claims

1. A computer-based method for creating and / or editing feature control frames (FCFs) for geometric dimension tolerances (GD&T) of a model in a computer-aided design (CAD) program, Displaying FCF cells relating to the geometric features of the aforementioned model within the graphics area of ​​the CAD program. Displaying a context menu adjacent to the cell of the FCF, wherein the context menu includes a first set of user-selectable input options associated with the GD&T information of the cell. Accepting a user selection from one of the first user-selectable input options, and Subsequently, a second set of user-selectable input options associated with the GD&T information of the aforementioned geometric feature are presented. Includes, The options included in the second set of user-selectable input options depend at least in part on which of the first set of user-selectable input options is selected by the user. Computer-based methods.

2. The first set of user-selectable input options and the second set of user-selectable input options relate to a common feature characteristic, The aforementioned common feature characteristics are selected from a group consisting of primary range, composite range, combination, offset, constraint, filter type, filter index, related features, derived features, related characteristics, parameter characteristics, material state, translation symbol, and state symbol. The computer-based method according to claim 1.

3. The first set of user-selectable input options and the second set of user-selectable input options relate to different feature characteristics, Each of the aforementioned different feature properties is selected from a group consisting of primary range, composite range, combination, offset, constraint, filter type, filter index, related feature, derived feature, related property, parameter property, material state, translation symbol, and state symbol. The computer-based method according to claim 1.

4. To form the FCF, the cells of the FCF are displayed by a series of cells displayed within the graphics area of ​​the CAD program, and Adjacent to each of the aforementioned cells, when the cell is active, display the relevant of several different context menus. The computer-based method according to claim 1, further comprising:

5. The computer-based method according to claim 4, wherein each of the multiple different context menus has multiple user-selectable options.

6. Accepting a first selection by one user from among the aforementioned multiple user-selectable options, and To modify the user's ability to select one or more other user-selectable options based on the first selection made by the user. The computer-based method according to claim 5, further comprising:

7. Accepting a first selection by one user from among the aforementioned multiple user-selectable options, and To modify the accessibility of one or more text input fields in the associated context menu based on the first selection made by the user. The computer-based method according to claim 5, further comprising:

8. The computer-based method according to claim 5, wherein the user-selectable options available within the individual menus of the plurality of context menus are at least partially based on one or more industrial standards relating to GD&T.

9. Displaying the first cell of the FCF within the graphics area of ​​the CAD program, and Displaying a context menu for the first cell of the FCF adjacent to the first cell of the FCF. It further includes, The context menu for the first cell of the FCF comprises a plurality of user-selectable options, each having a graphical symbol corresponding to one of a plurality of different tolerance types. The computer-based method according to claim 1.

10. Displaying the second cell of the FCF within the graphics area of ​​the CAD program, and Displaying a context menu for the second cell of the FCF adjacent to the second cell of the FCF. It further includes, The context menu for the second cell of the FCF comprises a plurality of user-selectable options, each having a graphical symbol corresponding to one of a plurality of different tolerance shapes. The computer-based method according to claim 9.

11. Displaying a random access context menu associated with the FCF, wherein the random access context menu includes multiple user-selectable options corresponding to different feature properties, and selecting a particular user-selectable option within the random access context menu allows the user to access the context menu associated with the feature property associated with the selected option. The computer-based method according to claim 10, further comprising:

12. To enable the user to input text and / or symbols to be displayed within or near the FCF in the graphics area of ​​the CAD program. The computer-based method according to claim 1, further comprising:

13. Each of these context menus, each having multiple user-selectable options corresponding to one of multiple indicators, is displayed adjacent to the FCF within the graphics area of ​​the CAD program. It further includes, The CAD program is configured to add an indicator corresponding to a row in the FCF in response to a selection by one of the user-selectable options. The computer-based method according to claim 1.

14. Upon receiving an instruction that the user has created or selected a feature of the aforementioned model, Displaying at least a portion of the FCF relating to the feature selected in response to the aforementioned instruction. The computer-based method according to claim 1, further comprising:

15. Displaying one or more user-selectable manipulators in relation to the first cell of the FCF, and Adding a new cell to the FCF in response to the user selecting one of the user-selectable manipulators. The computer-based method according to claim 1, further comprising:

16. Storing a decision control matrix in computer-based memory that maps one or more options presented to the user for selection to one or more past inputs from the user, and A decision control module implemented within a computer-based processor is configured to access the decision control matrix and to determine, based on the decision control matrix, which of several options should be presented to the user based on one or more of the user's past inputs. The computer-based method according to claim 1, further comprising:

17. Presenting to the user a context menu containing the multiple options that the decision control module has determined should be presented to the user for selection. The computer-based method according to claim 16, further comprising:

18. A computer-based system, Computer-based processors, Computer-readable memory for storing computer-readable instructions for computer-aided design (CAD) programs and The computer-readable instructions, when executed by the computer-based processor, facilitate the execution of the CAD program and the creation and / or editing of feature control frames (FCFs) for geometric dimension tolerances (GD&T) of models within the CAD program, Displaying FCF cells relating to the geometric features of the aforementioned model within the graphics area of ​​the CAD program. Displaying a context menu adjacent to the cell of the FCF, wherein the context menu includes a first set of user-selectable input options associated with GD&T information relating to the geometric feature. Accepting a user selection from one of the first user-selectable input options, and Subsequently, a second set of user-selectable input options associated with the GD&T information of the aforementioned geometric feature are presented. This will be executed by The options included in the second set of user-selectable input options depend at least in part on which of the first set of user-selectable input options is selected by the user. A computer-based system.

19. To form the FCF, the cells of the FCF are displayed by a series of cells displayed within the graphics area of ​​the CAD program, and Adjacent to each of the aforementioned cells, when the aforementioned cell is active, multiple different cells Display the relevant items from the text menu. It further includes, Each of the aforementioned multiple different context menus has multiple user-selectable options. The computer-based system according to claim 18.

20. The computer-based system according to claim 19, wherein the user-selectable options available within the individual menus of the plurality of context menus are at least partially based on one or more industrial standards relating to GD&T.

21. Displaying the first cell of the FCF within the graphics area of ​​the CAD program, and Displaying a context menu for the first cell of the FCF adjacent to the first cell of the FCF, wherein the context menu for the first cell of the FCF includes a plurality of user-selectable options, each having a graphical symbol corresponding to one of a plurality of different tolerance types. Displaying the second cell of the FCF within the graphics area of ​​the CAD program, and Displaying a context menu for the second cell of the FCF adjacent to the second cell of the FCF, wherein the context menu for the second cell of the FCF includes a plurality of user-selectable options, each having a graphical symbol corresponding to one of a plurality of different tolerance shapes. The computer-based system according to claim 18, further comprising:

22. Displaying a random access context menu associated with the FCF, wherein the random access context menu includes multiple user-selectable options corresponding to different feature properties, and selecting a particular user-selectable option within the random access context menu allows the user to access the context menu associated with the feature property associated with the selected option. The computer-based system according to claim 18, further comprising:

23. To enable the user to add text, symbols, indicators, or new cells to be displayed within or near the FCF in the graphics area of ​​the CAD program. The computer-based system according to claim 18, further comprising:

24. Storing a decision control matrix in the computer-based memory that maps one or more options presented to the user for selection to one or more past inputs from the user, and Implementing a decision control module within the computer-based processor, wherein the decision control module is configured to access the decision control matrix and to determine, based on the decision control matrix, which of a plurality of options should be presented to the user based on one or more of the user's past inputs. The computer-based system according to claim 18, further comprising:

Citation Information

Patent Citations

  • Method for arrangement of tolerance in three-dimensional object and computer- aided design system

    JP1994342458A

  • Automatic generation for tolerance scheme

    JP2006107510A

  • Design support system, CAD program, storage medium storing CAD program, and design support method

    JP2008134718A

  • Architectural information integrated management system and architectural information integrated management program

    JP2015038743A

  • Multi-User Cloud Parametric Feature-Based 3D CAD System with Bi-directional Editing

    US20200004894A1