METHOD AND APPARATUS FOR SIMPLIFIED DIMENSIONING OF A GEOMETRY PIECE OF A MECHANICAL DESIGN

Abstract: The present invention includes computer instructions that receive a number of user configured geometric dimension components. Once the numbers of user configured geometric dimension components are received, the computer instructions operate to parameterize the user configured geometric dimension components. From the parameterized geometric dimension components, the computer instructions operate to generate a template. As a result, measured geometric dimensions may be generated and displayed with reduced number of operations, and therefore, reducing the, sometimes, tedious work of individually configuring every geometric component for a measured geometric dimension on multiple geometry pieces of mechanical designs. In one embodiment, the computer instructions are part of a mechanical design software application. In one embodiment, the mechanical software application, including the computer instructions, is embodied in a distribution storage medium.

Description: METHOD AND APPARATUS FOR SIMPLIFIED DIMENSIONING OF A GEOMETRY PIECE OF A MECHANICAL DESIGN FIELD OF INVENTION The present invention relates to the field of computer aided design (CAD). More specifically, the present invention relates to computer assistance to a designer working with dimensions of features of geometry of a mechanical design. BACKGROUND OF THE INVENTION Mechanical designs often include features such as holes, slots, pads, etc. An important factor in defining shapes and sizes of the features of mechanical designs is the generation of dimensions for the features. Examples of dimensions for the features are radius dimensions and linear dimensions. Dimensions define sizes and shapes of the features of the mechanical designs. Additionally, a designer may apply a combination of dimensions, forming a dimensioning scheme, to multiple similar features, where multiple similar features may be identically shaped with different sizes. Even though multiple similar features may be identically shaped, applying the dimensioning scheme to multiple similar features requires the designer to generate individual dimensions for each dimensioning scheme. For the purposes of this application, dimensions such as radius, linear, etc. will be generically referred to as dimensions. Additionally, for the purposes of this application, holes, slots, pads, etc. will be generically referred to as features. Generally, only limited support is provided by conventional design software on dimensioning features, in particular, multiple similar features identically shaped with different sizes. Typically, even though several features can be shaped identically, the support is limited to a method involving manually creating dimensioning schemes for each feature, individually, due to variations in sizes (e.g., several identically shaped slots of varying sizes in a mechanical design). Thus, dimensioning a feature and multiple similar features identically shaped with different sizes will require the designer to tediously create each dimensioning scheme, and the number of dimensioning schemes created will depend upon the number of similar features identically shaped with different sizes in a mechanical design. The number of features can be very numerous and creating each dimensioning scheme can take longer time for the designer. Thus, a more user-friendly approach for dimensioning multiple similar features in a mechanical design, while maintaining dimensioning schemes for identically shaped features with different sizes is designed. As will be discussed in more detail below, the present invention achieves these and other desirable objectives, which will be apparent from the disclosure to follow. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which the like references indicate similar elements and in which: Figure 1 illustrates one embodiment of a mechanical design application incorporated with the teachings of the present invention; Figure 2 illustrates a solid geometry piece of a mechanical design upon which an example of one embodiment of the present invention is illustrated; Figure 3 illustrates setting up a dimensioning scheme to define a reference feature of the solid geometry piece 210 of the mechanical design under the present invention, in accordance with one embodiment; Figure 4 and 5 illustrated an example of application of the reference dimensioning scheme to multiple features in accordance with the present invention; Figure 6 illustrates a resulting solid geometry piece with slot features incorporated into the solid geometry piece creating slots; Figure 7a-7b illustrate the relevant operational flows of one embodiment of dimensioning scheme manager; Figure 8 illustrates user configured geometric dimension components in accordance with one embodiment of the present invention; Figure 9 illustrates the user configured geometric dimension components for parameterizing the user configured geometric dimension components in accordance with one embodiment of the present invention; Figure 10 illustrates utilizing the template with a geometry piece of a mechanical design in accordance with one embodiment of the present invention; Figure 11 illustrates the relevant operational flows of one embodiment of dimensioning scheme manager 108 of Fig. 1 ; and Figure 12 illustrates on embodiment of a computer system suitable to be programmed with the mechanical design application of the present invention. DETAILED DESCRIPTION OF THE INVENTION In the following description, various aspects of the present invention will be described. However, it will be apparent to those skilled in the art that the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details. In other instances, well known features are omitted or simplified in order not to obscure the present invention. Parts of the description will be presented in terms of operations performed by a computer system, using terms such as data, flags, bits, values, characters, strings, numbers and the like, consistent with the manner commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. As well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical and electrical components of the computer system; and the term computer system include general purposes as well as special purpose data processing machines, systems, and the like, that are standalone, adjunct or embedded. Various operations will be described as multiple discrete steps in turn, in a manner that is most helpful in understanding the present invention, however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation. Figure 1 illustrates a block diagram of an embodiment of a mechanical design application for promoting user defined dimensions of multiple features of a mechanical design. In Fig. 1, mechanical design application 100 includes an end user interface 102, a design engine, 104, and a design database 106. The design engine 104 includes, in particular, a dimensioning scheme manager 108 in accordance with the present invention. Together, the elements cooperate to promote user defined dimensions of multiple features of mechanical designs. In Fig. 1 , the end user interface 102 operates to graphically display and receive input, from a user, of dimensioning schemes for features of mechanical designs under the control of the design engine 104. Also under the control of the design engine 104, the design database 106 operates to store mechanical designs and dimensioning schemes created by the user. In particular, the dimensioning scheme manager 108 geometrically associates and promotes dimensioning schemes to one or more identical geometric features of different sizes. Except for the teachings of the present invention incorporated in the dimensioning scheme manager 108, the mechanical design application 100 is intended to represent a broad range of computer aided design (CAD) drawing software known in the art, including but not limited to Mechanical Desktop® available from Autodesk, Inc. of San Rafael, CA. Figure 2 illustrates an example of a solid geometry piece of a mechanical design upon which one embodiment of the present invention may be practiced in Fig. 2, a plane 215 of the solid geometry piece 210 is selected by a user using a cursor 220 for feature creation. The present invention will be described referencing the selected plane 215. However, it should be noted that the present invention may also be practiced on other surfaces as well as other geometry pieces. Figure 3 illustrates setting up a dimensioning scheme to define a reference feature of the solid geometry piece 210 of the mechanical design in accordance with an embodiment of the present invention. In Fig. 3, a user has drawing a reference slot feature 310 on the plane 215 to incorporate into the solid geometry piece 210. The user has selected to set up a dimensioning scheme 300 for the reference slot feature 310. The reference slot feature 310 comprises of two arc geometry pieces 311 and 312 and two line geometry pieces 313 and 314. Additionally, in order to et up the dimensioning scheme 300, the user has selected to generate a reference entity 320 denoting a center line and center points 321 and 322 for the arc geometry pieces 311 and 312. Setting up the dimensioning scheme to define the reference slot feature 310, the user has selected to generate a radius dimension 330 defining the arc geometry piece 311, a first linear dimension 331 defining a distance between the center point 321 and the reference entity 320, and a second linear dimension 332 defining a distance between the two line geometry pieces 313 and 314. Illustrated in Fig. 3, the reference slot feature 310 is fully defined as to shape and size by the user selecting to generate the dimensioning scheme 300 for the reference slot feature 310. Once the dimensioning scheme 300 for the reference slot feature 310 is completed, the one embodiment of the present invention geometrically constrains the reference slot feature 310 with the dimensioning scheme 300 for promoting the dimensioning scheme 300 to other instances of the reference slot feature 310. Therefore, changes in dimension values of the dimensioning scheme 300 results in "resizing" of various instances of the reference slot feature 310. Figure 4 illustrated an example of multiple features 410-413 upon which the dimensioning scheme 300 may be promoted. In Fig. 4, displayed upon the plane 215 of the solid geometry piece 210 (shown in Fig. 2) are multiple slot features 410-413. While the multiple slot features 410-413 are difference sizes, the shapes are identical (i.e., the multiple slot features 410-413 comprise of line geometry pieces 420-427 and arc geometry pieces 430-437) to the reference slot feature 310 (shown in Fig. 3). Figure 5 illustrates promoting the dimensioning scheme 300 to multiple features in accordance with the present invention. In Fig. 5, the dimensioning scheme 300 is promoted to a first slot feature 410 by a single cursor selection 510 on the first slot feature 410, a reference entity 520 and center points 525 and 526 of arc geometry pieces 430 and 431 are generated. Illustrated in Fig. 5, once the reference entity 520 and the center points 525 and 526 are generated, the promoting continues by further generating a radius dimension 522 defining a distance between the center point 525 and the reference entity 520, and a second linear dimension 523 defining a distance between the two line geometry pieces 420 and 421 of the first slot feature 410. As shown in Fig. 5, promoting the dimensioning scheme 300 to the first slot feature 410 with a single cursor selection 510 defines the shape and size of the first slot feature 410 without requiring re-specification of the dimensioning scheme. Once promoted, the user may change the dimension values to "resize" the slot feature 410, and the "resized" slot feature is updated in the solid geometry piece 210. As a result, under the present invention, the effort required to dimension features of the like kind is significantly reduced. Those skilled in the art will appreciate that mechanical designs often involve many complex features, each requiring a complex dimensioning scheme. Additionally, in Fig. 5, the dimensioning scheme 300 is promoted to a second slot feature 411 comprising of two line geometry pieces 422 and 423 and two arc geometry pieces 432 and 433. As discussed above with respect to the first slot feature 410, the dimensioning scheme 300 is promoted to the second slot feature 411 by a single cursor selection 510 on the second slot feature 411. Again, in promoting the dimensioning scheme 300 to the second slot feature 411 , a reference entity 530 and center points 535 and 536 of arc geometry pieces 432 and 433 are generated. As discussed above, once the reference entity 530 and the center points 535 and 536 are generated, the promoting continues by further generating a radius dimension 531 defining the arc geometry piece 432, a first linear dimension 532 defining a distance between the center point 535 and the reference entity 530, and a second linear dimension 533 defining a distance between the two line geometry pieces 422 and 423 of the second slot feature 411. Shown in fig. 5, while the shape of the second slot feature 411 is identical to the reference slot feature 310, the size of the second slot feature 411 is different from the reference slot feature 310. However, promoting the dimensioning scheme 300 to the second slot feature 411 with the single cursor selection 510 defines the shape and size of the second slot feature 411 without requiring re-specification of the dimensioning scheme. As discussed above, once promoted, the user may change the dimension values to "resize" the second slot feature 411 , and the "resized" slot feature is updated in the solid geometry piece 210. Again, as a result, under the present invention, the effort required to dimension features of like kind is significantly reduced. Similarly, those skilled in the art will appreciate that mechanical designs often involve many complex features, each requiring a complex dimensioning scheme. Also shown in Fig. 5, the dimensioning scheme 300 is promoted to a third slot feature 412 comprising of tow line geometry pieces 424 and 425 and two arc geometry pieces 434 and 435. As discussed above with respect to the first and second slot features 410 and 411, the dimensioning scheme 300 is promoted to the third slot feature 412 by a single cursor selection 510 on the third slot feature 412. Similar to the first and second slot features 410 and 411 , in promoting the dimensioning scheme 300 to the third slot feature 412, a reference entity 540 and center points 545 and 546 of arc geometry pieces 434 and 435 are generated. As discussed above with respect to the first and second slot features 410 and 411, once the reference entity 540 and the center points 545 and 546 are generated, the promoting continues by further generating a radius dimension 541 defining the arc geometry piece 434, a first linear dimension 542 defining a distance between the center point 545 and the reference entity 540, and a second linear dimension 543 defining a distance between the two line geometry pieces 424 and 425 of the third slot feature 412. Again, shown in Fig. 5, while the shape of the third slot feature 412 is identical to the reference slot feature 310, the size of the third slot feature 412 is different from the reference slot feature 310. However, promoting the dimensioning scheme 300 to the third slot feature 412 with the single cursor selection 510 defines the shape and size of the third slot feature 412 without requiring re-specification of the dimensioning scheme. As discussed above with respect to the first and second slot features 410 and 411 , once promoted, the user may change the dimension values to "resize" the third slot feature 412 and the "resized" slot feature is updated in the solid geometry piece 210. As discussed above, as a result, under the present invention, the effort required to dimension features of like kind is significantly reduced. Similarly, those skilled in the art will appreciate that mechanical designs often involve many complex features, each requiring a complex dimensioning scheme. Furthermore, shown, in Fig. 5, the dimensioning scheme 300 is promoted to a fourth slot feature 412 comprising of two line geometry pieces 426 and 427 and two arc geometry pieces 436 and 437. As discussed above with respect to the previous slot features, the dimensioning scheme 300 is promoted to the fourth slot feature 413 by a single cursor selection 510 on the fourth slot feature 413 by a single cursor selection 510 on the fourth slot feature 413. Similar to the other slot features shown in Fig. 5, in promoting the dimensioning scheme 300 to the fourth slot feature 413, a reference entity 550 and center points 555 and 556 of arc geometry pieces 436 and 437 are generated. As discussed above, once the reference entity 550 and center points 555 and 556 are generated, the promoting continues by further generating a radius dimension 551 defining the arc geometry piece 436, a first linear dimension 552 defining a distance between the center point 555 and the reference entity 550, and a second linear dimension 553 defining a distance between the two line geometry pieces 426 and 427 of the fourth slot feature 413. Again, shown in Fig. 5, while the shape of the fourth slot feature 413 is identical to the reference slot feature 310, the size of the fourth slot feature 413 is different from the reference slot feature 310. However, promoting the dimensioning scheme 300 to the fourth slot feature 413 with a single cursor selection 510 defines the shape and size of the fourth slot feature 413 without requiring re-specification of the dimensioning scheme. As discussed above with respect to the slot features shown in Fig. 5, once promoted, the user may change the dimension values to "resize" the fourth slot feature 413, and the "resized" slot feature is updated in the solid geometry piece 210. As discussed above, as a result, under the present invention, the effort required to dimension features of like kind is significantly reduced. Similarly, those skilled in the art of appreciate that mechanical designs often involve many complex features, each requiring a complex dimensioning scheme. As discussed above, in Fig. 5, it should be appreciated by those skilled in the art that the dimensions 521-523, 531-533, 541-543, and 551-553 differ in values due to the size differences between the slot features 410, 411 , 412, and 413, however, as shown in Fig. 5, the shape of the slot features 410, 411 , 412, and 413 are identical to the reference slot feature 310. Additionally, those skilled in the art will appreciate the fact that the dimensioning schemes 521- 523, 531-533, 541-543, and 551-553 are generated by the single cursor selection 510 on each slot feature 410, 411, 412, and 413 without requiring re- specification of the dimensioning schemes 521-523, 531-533, 541-543, and 551-553. Figure 6 illustrates a resulting solid geometry piece 600 with slot features 410, 411 , 412, and 413 incorporated into the solid geometry piece 600 creating slots 610-613. It should be appreciated by those skilled in the art that extruding and subtracting the slot features 410, 411 , 412, and 413 for the creation of the slots 610-613 in the solid geometry piece 600 are well known in the art and need not be further described. Figures 7a-7b illustrate the relevant operational flows of one embodiment of dimensioning scheme manager 108 of Fig. 1. For the illustrated embodiment, dimensioning scheme manager 108 is programmed in an event driven model, i.e., dimensioning scheme manager 108 is designed to be executed in a system environment where various event notification services are available from the operating system. One example of such an operating system suitable for practicing the present invention is the Windows® operating systems, available from Microsoft Corporation of Redmond, Washington. In alternate embodiments, dimensioning scheme manager 108 may be implemented in other programming approaches known in the art. As shown in Fig.7a, responsive to an event notification informing dimensioning scheme manger 108 of the fact that a plane is cursor selected, dimensioning scheme manager 108 determines if reference entities are detected (705). If the dimensioning scheme manager 108 determines that reference entities are not detected, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to display a dimensioning scheme of a feature on the plane (715). If the dimensioning scheme manager 108 determines that reference entities are detected, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to incorporate the reference entities into the dimensioning scheme (710) and display the dimensioning scheme of the feature with the incorporated reference entities on the plane (715). The manner in which the other functional blocks effectuate the incorporating and displaying of the dimensioning scheme for the feature may be implemented in any one of a number of manners known in the art. As shown in Fig. 7b, responsive to an event notification informing dimensioning scheme manager 108 of the fact that a feature has been cursor selected, dimensioning scheme manager 108 determines if the cursor selected feature is similar (e.g., identical in shape) to a reference feature (720). If the dimensioning scheme manager 108 determines that the cursor selected feature is similar e.g., identical in shape) to a reference feature, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to promote the dimensioning scheme to the selected feature (735). However, if the dimensioning scheme manger 108 determines that the cursor selected feature is not similar (e.g., not identical in shape) to any reference features, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to search the design database 106 for a dimensioning scheme for the cursor selected feature (725). Furthermore, dimensioning scheme manager 108 determines if a dimensioning scheme for the cursor selected feature is located (730). If the dimensioning scheme manger 108 determines that a dimensioning scheme for the cursor selected feature is located, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to promote the dimensioning scheme to the selected feature (735). However, if the dimensioning scheme manager 108 determines that a dimensioning scheme for the cursor selected feature is not located, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to search the design database 106 for a dimensioning scheme for , the cursor selected feature. The manner in which the other functional blocks of design engine 104 effectuate the searching of the design database may be implemented also in any one of a number of manners known in the art. Figure 8 illustrates user configured geometric dimension components in accordance with one embodiment of the present invention. Shown in Fig. 8, the dimensioning scheme 300 (shown in Fig. 3) may have measured dimensions 801 , 810, and 820 dimensioning reference geometry pieces defining the reference slot feature 310 (shown in Fig. 3). In Fig. 8, the user may configure the geometric dimension components 802-805, 811-814, and 821-825. The geometric dimension components 802-805, 811-814, and 821-825 may include the position of arrowheads 804, 812, and 823, the position of the text 803, 811, and 822, and the position of anchor points 805, 814, 824, and 825. In Fig. 8, even though the geometric dimension components illustrated are position of arrowheads 804, 812, and 823, position of the text 803, 811 , and 822, and position of anchor points 805, 814, 824, and 825, it should be appreciated by one skilled in the art that the geometric dimension components may be any type of geometric dimension component known in the art such as, but not limited to, number of leader lines and dimensional tolerances. Figure 9 illustrates the user configured geometric dimension components for parameterizing in accordance with one embodiment of the present invention. In Fig. 9, the measured dimension 801 has, for example, the user configured geometric dimension components 802-804. The leader line geometric dimension component 802 is shown configured to have one leader line, i.e., the leader line for the right side need not exist because of the reference entity 320. Shown in Fig. 9, the position of the anchor point geometric dimension component 805 is configured to be the center point 321 of the radius 312. The anchor point geometric dimension component opposite the anchor point geometric dimension component 805 is not shown because the measured dimension 801 is between the center point 321 and the reference entity 320, where the anchor point may be any position along the reference entity 320. The position of the text geometric dimension component 803 is shown configured to center the text between the arrowheads of the measured dimension 801. Additionally, shown in Fig. 9, the position of the arrowheads geometric dimension component 804 is configured to display at a distance 910 from the reference slot feature 310. The user configured geometric dimension components 802-805 are parameterized by forming relationships between the individual users configured geometric dimension components for the measured geometric dimension 801. This is because the dimensioning scheme manager 108 interprets geometric dimension components as geometric entities similar to two-dimensional curves. Once the user configured geometric dimension components 802-805 have been parameterized, a template of the parameterized geometric dimension components 802-805 is generated. The template maintains the relationship between parameterized geometric dimension components. By maintaining the parameterized geometric dimension components as a template, the parameterized user configured geometric dimension components may be utilized on other geometry pieces than the reference slot feature 310 such as, for example, geometry pieces where linear dimensions defining a distance between a center point and a reference entity is desired. Once the template is generated, the template is stored in the design database 106 (shown in Fig. 1) for utilization with a geometry piece of a mechanical design. The template generated utilizes the measured geometric dimension 801 between the center point 321 and the reference entity 320 dimensioning reference geometry pieces defining part of the reference slot feature 310. However, the template may be more than one measured geometric dimension, and therefore, a single template may be generated comprising the three measured geometric dimensions 810, 810, and 820. As a result, the single template may fully define geometry pieces of mechanical designs without generating several geometric dimension components. Figure 10 illustrates utilizing the template with a geometry piece of a mechanical design in accordance with one embodiment of the present invention. Shown in Fig. 10 is a geometry piece 1001 having two circular ends (one large 1010 and one small 1015). As part of the geometry piece 1001 , a reference entity 1050 and two center points 1051 and 1052 are shown. In Fig. 10, a cursor selection 1011 on the large circular end 1010 sends data indicating placement of a template stored in the design database 106. The template is matched to the geometry piece by determining if the template generated from the measured dimension 810 is related to the type of geometry selected, the large circular end 1010. However, if another cursor selection 1012 on the reference entity 1050 sends another data indicating another placement of the template stored in the design database 106, the two cursor selections 1011 and 1012 of the geometry pieces will also be matched with a template generated from the measured geometric dimension 801 defining a distance from a center point to a reference entity. Once the template is matched for the desired measurement, in one embodiment, interference between the cursor selection 1011 or selections 1011 and 1012 of the geometry piece with the parameterized dimension components 1014-1017 is solved for. If interference is determined not to be present, the measured geometric dimension 1060 is generated and displayed, as shown in Fig. 10. As shown in Fig. 10, because the user configured geometric dimension components have been parameterized, the relationships between the geometric dimension components such as leader line 1016, position of the anchor point 1017, position of the text 1015, position of the arrowheads 1014 displayed at a distance 1018 from the geometry piece 1001 are maintained when displayed for the geometry piece 1001 with one to two cursor selections 1011 and 1012. As a result, measured geometric dimension 1060 may be generated and displayed with a reduced number of operations, and therefore, reducing the, sometimes, tedious work of individually configuring every geometric component for a measured geometric dimension on multiple geometry pieces of mechanical designs. Interference between a cursor selection of a geometry piece with a parameterized dimension component may be illustrated by measured geometric dimension 1065 for one embodiment of the present invention. In Fig. 10, the measured geometric dimension 1065 is generated and displayed in a similar manner as discussed above with respect to generating and displaying the measured geometric dimension 1060. The template, which generated and displayed the measured geometπc dimension 1060, was also applied to the small circular end 1015. As shown in Fig. 10, the parameterized geometric dimension components 1023-1027 comprising the template is similar to the measured geometric dimension 1060 because the same template was applied to the small circular end 1015. However, as shown for the small circular end 1015, once the template was matched to the small circular end 1015, the dimensioning scheme manager determines that there is interference between the geometry piece (the small circular end 1015) and the parameterized dimension components (the position of the text geometric dimension component 1025). In one embodiment shown in Fig. 10, once the cursor selections 1021 and 1022 are made, the template for generating and displaying the measured geometric dimension 1025 between the center point 1052 and the reference entity 1050 is matched with the geometry pieces. However, the parameterized position of the text geometric dimension component 1025 would interfere with the geometry piece (either the small circular end 1015 or the reference entity 1050) because the text would not fit in the centered position. Therefore, in one embodiment, the dimensioning scheme manager solves the interference by placing the text outside the arrowheads. As a result, even though an interference between the parameterized dimension components and the geometry piece may arise, the measured geometric dimension 1065 may also be generated and displayed with limited number of operations, and therefore, reducing the, sometimes, tedious work of individually configuring every geometric component for solving an interference for a measured geometric dimension on multiple geometry pieces of mechanical designs. Figure 11 illustrates the operational flows of one embodiment of dimensioning scheme manager 108 of Fig. 1. As previously discussed, for the illustrated embodiment, dimensioning scheme manager 108 is also programmed in an event driven model, i.e., dimensioning scheme manager 108 is designed to be executed in a system environment where various event notification services are available from the operating system. One example of such an operating system suitable for practicing the present invention is the Windows® operating systems, available from Microsoft Corporation of Redmond, Washington. In alternate embodiments, dimensioning scheme manager 108 may be implemented in other programming approaches known in the art. In Fig. 11, dimensioning scheme manager 108 receives a number of user configured geometric dimension components defining a reference geometry piece of a mechanical design (1101). The number of user configured geometric dimension components may include such geometric dimension components as, but not limited to, position of arrowhead, position of text, and a position of anchor points. As shown in Fig.11 , responsive to an event notification informing dimensioning scheme manger 108 of the fact that the user defined geometric dimension components have been received, dimensioning scheme manager 108 parameterizes the number of user configured geometric dimension components by managing the geometric dimension components as geometry pieces such as, but not limited to, curves (1102). The parameterized geometric dimension components are then utilized to generate a template (1103). The template may comprise of a single parameterized geometric component or a number of parameterized geometric components. In one embodiment, data, indicating placement of the template, is received by the dimensioning scheme manager 108 (1104). The data, indicating placement of the template, may be in the form of cursor selection on a geometry piece of a mechanical design for measured dimensioning. Once the data indicating placement of the template is received, the dimensioning scheme manager 108 matches the template to the geometry piece for the desired measured geometric dimension (1105). As shown in Fig. 11 , in one embodiment, the dimensioning scheme manager additionally determines if there is interference between the parameterized geometric dimension components and the geometry piece (1110). If the dimensioning scheme manager 108 determines that there is no interference, dimensioning scheme manager 108 causes other functional blocks of design engine 104 to generate and display a measured geometric dimension (1115). If the dimensioning scheme manager 108 determines that there is interference, dimensioning scheme manager 108 solves the interference and proceeds to cause other functional blocks of design engine 104 to generate and display the solved measured geometric dimension (1120). In one embodiment, the dimensioning scheme manager 108 detects and solves the interference by making an examining pass of the geometry piece after a binding operation, in which data in the parameterized geometric dimension components are matched with the geometry piece. For example, there may not be inputs representing geometry pieces corresponding to the parameterized geometric dimension components, in which case, the dimensioning scheme manager 108 will generate and display measured geometric dimensions with each parameterized geometric dimension component based at least upon the template. The dimensioning scheme manager 108 may make several of these examining passes before generating and displaying measured geometric dimensions. As a result, measured geometric dimensions may be generated and displayed with reduced number of operations, and therefore, reducing the, sometimes, tedious work of individually configuring every geometric component for a measured geometric dimension on multiple geometry pieces of mechanical designs. Figure 12 illustrates one embodiment of a computer system suitable to be programmed with the mechanical design application of the present invention. As shown, for the illustrated embodiment, computer 1200 includes processor 1202, processor bus 1206, high performance I/O bus 1210 and standard I/O bus 1220. Processor bus 1206, and high performance I/O bus 1210 are bridged by host bridge 1208, whereas I/O buses 1210 and 1212 are bridged by I/O bus bridge 1212. Coupled to processor bus 1206 is cache 1204. Coupled to high performance I/O bus 1210 are system memory 1214 and video memory 1216, against which video display 1218 is coupled. Coupled to standard I/O bus 1220 are disk drive 1222, keyboard and pointing device 1224, and communication interface 1226. These elements perform their conventional functions known in the art. In particular, disk drive 1222 and system memory 1214 are used to store permanent and working copies of the mechanical design system. The permanent copy may be pre-loaded into disk drive 1222 in factory, loaded from distribution medium 1232, or down loaded from a remote distribution source (not shown). Distribution medium 1232 may be a tape, a CD, and DVD or other storage medium of the like. The constitutions of these elements are known. Any one of a number implementations of these elements known in the art may be used to form computer system 1200. In general, those skilled in the art will recognize that the present invention is not limited by the details described, instead, the present invention can be practiced with modifications and alterations within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of restrictive on the present invention. Thus, a mechanical design application with improved facility for simplified dimensioning a geometry piece of a mechanical design has been described.

Claims: CLAIMS What is claimed is: 1. A method comprising: receiving a plurality of user configured geometric dimension components defining a reference geometry piece of a mechanical design; parameterizing said plurality of user configured geometric dimension components to provide parameterized geometric dimension components; and generating a template from said parameterized geometric dimension components. 2. The method of claim 1 further comprising receiving data indicating a placement of said template, wherein placement comprises data indicating a cursor selection of a geometry piece. 3. The method of claim 2, wherein said placement of said template further comprises matching said template to said geometry piece of said mechanical design. 4. The method of claim 3 further comprising: detecting an interference between said parameterized geometric dimension components and said geometry piece; and solving said interference upon so detecting. 5. The method of claim 1 , wherein said receiving comprises receiving at least one of a position of one or more, arrowheads, text, and anchor points. 6. The method of claim 1 , wherein said parameterizing comprises forming relationships between said plurality of user configured geometric dimension components. 7. The method of claim 1 , wherein said generating comprises maintaining relationships between said parameterized geometric dimension components. 8. A storage medium having stored therein a plurality of instructions that are machine executable, wherein when executed, said executing instructions operate to receive a plurality of user configured geometric dimension components defining a reference geometry piece of a mechanical design, parameterize said plurality of user configured geometric dimension components to provide parameterized geometric dimension components, and generate a template from said parameterized geometric dimension components. 9. The storage medium of claim 8, wherein said executing instructions further operate to receive data indicating a placement of said template, wherein placement comprises data indicating a cursor selection of a geometry piece. 10. The storage medium of claim 9, wherein said executing instructions further operate to match said template to said geometry piece of said mechanical design. 11. The storage medium of claim 10, wherein said executing instructions further operate to detect an interference between said parameterized geometric dimension components and said geometric piece and solve said interference upon so detecting. 12. The storage medium of claim 8, wherein said executing instructions operate to receive at least one of a position of one or more, arrowheads, text, and anchor points. 13. The storage medium of claim 8, wherein said executing instructions operate to form relationships between said plurality of user configured geometric dimension components. 14. The storage medium of claim 8, wherein said executing instructions operate to maintain relationships between said parameterized geometric dimension components. 15. An apparatus comprising: a storage medium having stored therein a plurality of instructions that are machine executable, wherein when executed, said executing instructions operate to receive a plurality of user configured geometric dimension components defining a reference geometry piece of a mechanical design, parameterize said plurality of user configured geometric dimension components to provide parameterized geometric dimension components, and generate a template from said parameterized geometric dimension components; and a processor coupled to said storage medium to execute said instructions. 16. The apparatus of claim 15, wherein said executing instructions further operate to receive data indicating a placement of said template, wherein placement comprises data indicating a cursor selection of a geometry piece. 17. The apparatus of claim 16, wherein said executing instructions further operate to match said template to said geometry piece of said mechanical design. 18. The apparatus of claim 17, wherein said executing instructions further operate to detect an interference between said parameterized geometric dimension components and said geometric piece and solve said interference upon so detecting. 19. The apparatus of claim 15, wherein said executing instructions operate to receive at least one of a position of one or more, arrowheads, text, and anchor points. 20. The apparatus of claim 15, wherein said executing instructions operate to form relationships between said plurality of user configured geometric dimension components. 21. The apparatus of claim 15, wherein said executing instructions operate to maintain relationships between said parameterized geometric dimension components. 22. A method comprising: setting up a dimensioning scheme for a reference feature; receiving a selection of a feature of a mechanical design; determining if said selected feature is similarly shaped to said reference feature with said dimensioning scheme; and promoting said dimensioning scheme to said selected feature upon determining that said selected feature is similariy shaped to said reference feature with said dimensioning scheme of said mechanical design. 23. The method of claim 22, wherein said setting up comprises geometrically constraining said reference feature with said dimensioning scheme. 24. The method of claim 22, wherein said receiving comprises receiving a cursor selection of said selected feature of said mechanical design. 25. The method of claim 22, wherein said determining further comprises searching for a stored dimensioning scheme for said selected feature upon determining that said selected feature is not similarly shaped to said reference feature of said mechanical design. 26. The method of claim 22, wherein said promoting comprises promoting said dimensioning scheme to a plurality of additional selected features. 27. The method of claim 22, wherein said promoting further comprises promoting said dimensioning scheme to said plurality of additional selected features by a single cursor selection of each of said plurality of additional selected features. 28. A storage medium having stored therein a plurality of instructions that are machine executable, wherein when executed, said executing instructions operate to set up a dimensioning scheme for a reference feature, receive a selection of a feature of a mechanical design, determine if said selected feature is similariy shaped to said reference feature with said dimensioning scheme, and promote said dimensioning scheme to said selected feature upon determining that said selected feature is similarly shaped to said reference feature with said dimensioning scheme of said mechanical design. 29. The storage medium of claim 28, wherein said executing instructions operate to geometrically constrain said reference feature with said dimensioning scheme. 30. The storage medium of claim 28, wherein said executing instructions operate to receive a cursor selection of said selected feature of said mechanical design. 31. The storage medium of claim 28, wherein said executing instructions further operate to search for a stored dimensioning scheme for said selected feature upon determining that said selected feature is not similarly shaped to said reference feature of said mechanical design. 32. The storage medium of claim 28, wherein said executing instructions operate to promote said dimensioning scheme to a plurality of additional selected features. 33. The storage medium of claim 28, wherein said executing instructions operate to promote said dimensioning scheme to said plurality of additional selected features by a single cursor selection of each of said plurality of additional selected features. 34. An apparatus comprising: a storage medium having stored therein a plurality of instructions that are machine executable, wherein when executed, said executing instructions operate to set up a dimensioning scheme for a reference feature, receive a selection of a feature of a mechanical design, determine if said selected feature is similariy shaped to said reference feature with said dimensioning scheme, and promote said dimensioning scheme to said selected feature upon determining that said selected feature is similarly shaped to said reference feature with said dimensioning scheme of said mechanical design; and a processor coupled to said storage medium to execute said instructions. 35. The apparatus of claim 34, wherein said executing instructions operate to geometrically constrain said reference feature with said dimensioning scheme. 36. The apparatus of claim 34, wherein said executing instructions operate to receive a cursor selection of said selected feature of said mechanical design. 37. The apparatus of claim 34, wherein said executing instructions further operate to search for a stored dimensioning scheme for said selected feature upon determining that said selected feature is not similarly shaped to said reference feature of said mechanical design. 38. The apparatus of claim 34, wherein said executing instructions operate to promote said dimensioning scheme to a plurality of additional selected features. 39. The apparatus of claim 34, wherein said executing instructions operate to promote said dimensioning scheme to said plurality of additional selected features by a single cursor selection of each of said plurality of additional selected features.

Inventors: HASSAN ALAA E, SCOTT PHILLIP J, HASSAN, ALAA, E., SCOTT, PHILLIP, J.
Applicants: AUTODESK INC, HASSAN ALAA E, SCOTT PHILLIP J, AUTODESK, INC., HASSAN, ALAA, E., SCOTT, PHILLIP, J.
Application year: 2001
Main classification: G06F17
IPC codes: G06F17, G06T17