A presumptive mode computer aided design and drafting system for interactively manipulating and displaying graphic objects that employ predefined rules to govern the geometric layout and logical relationships representing a physical design, schematic or process flow diagram. The system is configured to comply with the rules employed by various design disciplines. Specific interactive computer graphics behavior is dynamically accessed to interactively update graphic object relationships according to rules of geometric conduct. The rules of geometric conduct may be stored in external databases along with parameters to verify the logical relationships of the graphic objects used in the drawing. object orientation is employed in the software design of the system to allow new devcies or procedures to adopt the behavior of existing definitions. In the preferred embodiment, a selected object floats with a cursor in a graphic environment until located in proximity with underlying graphic objects. The selected object then aligns, jumps and clings to the underlying graphic object or objects according to predetermined rules. For example, the object is automatically rotated, orientated and positioned relative to a cling point into a correct relationship with the underlying object without further input by the operator. Further, the selected object slides along the underlying graphic object maintaining the correct geometric relationship while the operator moves the cursor in proximity with the underlying graphic. The operator either accepts the presumed relationship or moves the cursor away to uncling the selected object.
|
0. 56. A method of operating a computer-aided system, comprising:
(a) displaying a first graphic object on a computer; and
(b) displaying at least one point of interest on the computer when a pointing symbol is within a predetermined proximity of the first graphic object, wherein the points of interest are cling points.
0. 71. A computer-aided design system, comprising:
(a) a computer; and
(b) means, performed by the computer, for displaying a first graphic object on a computer and for displaying at least one point of interest on the computer when a pointing symbol is within a predetermined proximity of the first graphic object, wherein the points of interest are cling points.
0. 48. A method of operating a computer-aided design system, comprising:
(a) displaying a first graphic object on a computer;
(b) displaying at least one point of interest on the computer when a pointing symbol is within a predetermined proximity of the first graphic object; and
(c) displaying a second graphic object and joining the first and second graphic objects when the pointing symbol is moved to within a predetermined location tolerance of the first graphic object.
0. 63. A computer-aided design system, comprising:
(a) a computer; and
(b) means, performed by the computer, for displaying a first graphic object on a computer, for displaying at least one point of interest on the computer when a pointing symbol is within a predetermined proximity of the first graphic object, and for displaying a second graphic object and joining the first and second graphic objects when the pointing symbol is moved to within a predetermined location tolerance of the first graphic object.
0. 45. A method of operating a computer-aided design system, comprising:
(a) displaying a first graphic object on a computer; and
(b) displaying at least one point of interest on the computer when a pointing symbol is within a predetermined proximity of the first graphic object, wherein the points of interest are identified by predefined rules and the predefined rules perform one or more geometric computations selected from a group comprising tangent, offset, parallel, alignment, end point, major vector, divided segment, extended segment, and intersection computations.
0. 60. A computer-aided design system, comprising:
(a) a computer; and
(b) means, performed by the computer, for displaying a first graphic object on a computer and for displaying at least one point of interest on the computer when a pointing symbol is within a predetermined proximity of the first graphic object, wherein the points of interest are identified by predefined rules and the predefined rules perform one or more geometric computations selected from a group comprising tangent, offset, parallel, alignment, end point, major vector, divided segment, extended segment, and intersection computations.
0. 31. A computer aided design system, comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, and after said means for manipulating, further comprising means for modifying the underlying graphic object according to the predetermined geometric rules.
0. 25. A computer aided design system, comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein the predetermined proximity is a location tolerance before said means for manipulating and converts to a larger rejection tolerance during said means for dynamically updating.
0. 26. A computer aided design system, comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein said means for manipulating comprises means for orienting the selected graphic object according to a tangential angle with respect to the underlying graphic object at a cling point.
0. 36. A computer aided design system comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein the selected graphic object includes a clip region, and said means for manipulating further comprises means for partially deleting the underlying graphic object according to the clip region.
0. 34. A computer aided design system, comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein the selected graphic object includes at least one alignment vector, and said means for manipulating further comprises means for aligning the selected graphic object with the underlying graphic object according to the alignment vector.
0. 38. A computer aided design system, comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein said means for dynamically updating further comprises means for clinging the selected graphic object to an initial cling point and means for rotating the selected graphic object about the initial cling point corresponding to movement of the graphic pointing symbol.
0. 43. A computer aided design system, comprising:
a computer;
means, performed by the computer, for providing at least one graphic object to be selected for insertion into a graphic design and for displaying and moving a selected graphic object with a graphic cursor moved within the graphic design;
means, performed by the computer, for automatically manipulating the object into a geometric relationship with the underlying graphic object when the selected graphic object is within a predetermined proximity with respect to one or more underlying graphic objects; and
means, performed by the computer, for dynamically updating the geometric relationship based on movement of the graphic cursor while the graphic cursor remains within the predetermined proximity of the underlying graphic object, wherein said means for manipulating comprises means for orienting the selected graphic object relative to a cling point along the underlying graphic object and means for positioning the selected graphic object at a predetermined offset relative to the cling point.
0. 27. A computer aided design system, comprising:
a computer;
means, performed by the computer, for moving a selected graphic object relative to a graphic pointing symbol, for determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, wherein the underlying graphic object has two sides, for manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and for dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein said means for manipulating includes means for positioning the selected graphic object at a predetermined offset relative to the underlying graphic object, and during said means for dynamically updating, further comprising means for moving the selected graphic object to the opposite side of the underlying graphic object when the graphic pointing symbol is moved to the opposite side.
0. 1. A method of operating a computer aided design system in presumptive mode, comprising the steps of:
moving a selected graphic object relative to a graphic pointing symbol;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object.
2. The A method of
moving a selected graphic object relative to a graphic pointing symbol;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object;
wherein the predetermined proximity is a location tolerance before said manipulating step and converts to a larger rejection tolerance during said maintaining dynamically updating step.
3. The A method of
moving a selected graphic object relative to a graphic pointing symbol;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, wherein said manipulating step comprises the step of: orientating the selected graphic object according to a tangential angle with respect to the underlying graphic object at a cling point; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object.
0. 4. The method of
positioning the selected graphic object at a predetermined offset relative to the underlying graphic object.
5. The A method of
moving a selected graphic object relative to a graphic pointing symbol;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object, wherein the underlying graphic object has two sides, ;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, wherein said manipulating step includes the step of positioning the selected graphic object at a predetermined offset relative to the underlying graphic object; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, and during said maintaining dynamically updating step, further comprising the step of: moving the selected graphic object to the opposite side of the underlying graphic object when the graphic pointing symbol is moved to the opposite side.
6. The method of
mirroring the selected graphic object about the underlying graphic object when moved to the opposite side of the underlying graphic object.
7. The method of
mirroring the selected graphic object about a perpendicular offset line when moved to the opposite side of the underlying graphic object.
8. The method of
mirroring the selected graphic object about a perpendicular offset line when moved to the opposite side of the underlying graphic object.
9. The A method of
moving a selected graphic object relative to a graphic pointing symbol;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, and after said manipulating step, further comprising the step of: modifying the underlying graphic object according to the predetermined geometric rules; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object.
10. The method of
dividing the underlying graphic object into two separate underlying graphic objects for inserting the selected graphic object therebetween.
11. The method of
deleting a portion of the original underling graphic object for inserting the selected graphic object.
12. The A method of
moving a selected graphic object relative to a graphic pointing symbol, wherein the selected graphic object includes at least one alignment vector;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, said manipulating step further comprising the step of: aligning the selected graphic object with the underlying graphic object according to the alignment vector; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object.
13. The method of claim 1 12, wherein the selected graphic object and the underlying graphic object each have an alignment vector, wherein said manipulating step comprises the step of:
aligning the selected graphic object with the underlying graphic object by aligning the alignment vectors.
14. The A method of
moving a selected graphic object relative to a graphic pointing symbol, wherein the selected graphic object includes a clip region;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules, said manipulating step further comprising the step of: partially deleting the underlying graphic object according to the clip region; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object.
15. The method of
partially deleting only selected ones of the plurality of graphic objects corresponding to the clip region.
16. The A method of
moving a selected graphic object relative to a graphic pointing symbol;
determining when the selected graphic object is within a predetermined proximity of an underlying graphic object;
manipulating the selected graphic object into a geometric relationship with the underlying graphic object according to predetermined geometric rules; and
dynamically updating the geometric relationship based on movement of the graphic pointing symbol while the graphic pointing symbol remains within the predetermined proximity of the underlying graphic object, wherein said maintaining dynamically updating step further comprises the steps of: clinging the selected graphic object to an initial cling point; and rotating the selected graphic object about the initial cling point corresponding to movement of the graphic pointing symbol.
17. The method of claim 1 16, further comprising the step of:
unclinging the selected graphic object from the underlying graphic object to move with the graphic pointing symbol when the graphic pointing symbol is moved a greater distance than the predetermined proximity from the underlying graphic object.
18. The method of claim 1 16, wherein said maintaining dynamically updating step includes the step of:
moving the selected graphic object relative to a sliding cling point along the underlying graphic object where the cling point moves relative to the graphic pointing symbol as the graphic pointing symbol is moved within the predetermined proximity of the underlying graphic object.
19. The method of
interactively modifying the underlying graphic object according to the predetermined rules and relative to the sliding cling point as the graphic pointing symbol is moved.
20. The method of
aligning the selected graphic object with the primary vector according to the first alignment vector when the first alignment vector is within a predetermined proximity of the primary vector; and
aligning the selected graphic object with the secondary vector according to the second alignment vector when the second alignment vector is within a predetermined proximity of the secondary vector.
0. 21. A method of operating a computer aided design system, comprising the steps of:
providing at least one graphic object to be selected for insertion into a graphic design;
displaying and moving a selected graphic object with a graphic cursor moved within the graphic design;
when the selected graphic object is within a predetermined proximity with respect to one or more underlying graphic objects, automatically manipulating the object into a geometric relationship with the underlying graphic object; and
dynamically updating the geometric relationship based on movement of the graphic cursor while the graphic cursor remains within the predetermined proximity of the underlying graphic object.
22. The A method of
providing at least one graphic object to be selected for insertion into a graphic design;
displaying and moving a selected graphic object with a graphic cursor moved within the graphic design;
when the selected graphic object is within a predetermined proximity with respect to one or more underlying graphic objects, automatically manipulating the object into a geometric relationship with the underlying graphic object, wherein said manipulating step comprises the steps of: orienting the selected graphic object relative to a cling point along the underlying graphic object; and positioning the selected graphic object at a predetermined offset relative to the cling point; and dynamically updating the geometric relationship based on movement of the graphic cursor while the graphic cursor remains within the predetermined proximity of the underlying graphic object.
23. The method of
continually re-orienting and re-positioning the selected graphic object relative to a sliding cling point which moves relative to the graphic cursor as it is moved within the predetermined proximity.
0. 24. A presumptive mode computer aided design system for interactively manipulating and displaying a selected object according to predefined geometric relationships, comprising:
a display device for displaying a graphic environment;
memory for storing data, including:
a data base defining geometric relationships among graphic objects;
a plurality of graphic object files, each defining a corresponding graphic object and associated symbol for display in said graphic environment; and
a design file for incorporating a plurality of underlying graphic objects according to said geometric relationships;
a pointing device for receiving input from an operator; and
a processor coupled to said memory, said display device and said pointing device for controlling said graphic environment;
wherein the operator selects an object for insertion into said design file and manipulates a graphic cursor in proximity with one of said underlying graphic objects displayed in said geometric environment, wherein said processor moves said selected object with said graphic cursor and then manipulates said graphic object and said design file in to a geometric relationship when said selected object is within proximity with said one of said underlying graphic objects, and wherein said processor dynamically updates said geometric relationship based on movement of said graphic cursor while said graphic cursor is within proximity of said underlying graphic objects.
0. 28. The system of
means for mirroring the selected graphic object about the underlying graphic object when moved to the opposite side of the underlying graphic object.
0. 29. The system of
means for mirroring the selected graphic object about a perpendicular offset line when moved to the opposite side of the underlying graphic object.
0. 30. The system of
means for mirroring the selected graphic object about a perpendicular offset line when moved to the opposite side of the underlying graphic object.
0. 32. The system of
means for dividing the underlying graphic object into two separate underlying graphic objects for inserting the selected graphic object therebetween.
0. 33. The system of
means for deleting a portion of the original underlying graphic object for inserting the selected graphic object.
0. 35. The system of
means for aligning the selected graphic object with the underlying graphic object by aligning the alignment vectors.
0. 37. The system of
means for partially deleting only selected ones of the plurality of graphic objects corresponding to the clip region.
0. 39. The system of
means for unclinging the selected graphic object from the underlying graphic object to move with the graphic pointing symbol when the graphic pointing symbol is moved a greater distance than the predetermined proximity from the underlying graphic object.
0. 40. The system of
means for moving the selected graphic object relative to a sliding cling point along the underlying graphic object where the cling point moves relative to the graphic pointing symbol as the graphic pointing symbol is moved within the predetermined proximity of the underlying graphic object.
0. 41. The system of
means for interactively modifying the underlying graphic object according to the predetermined rules and relative to the sliding cling point as the graphic pointing symbol is moved.
0. 42. The system of
means for aligning the selected graphic object with the primary vector according to the first alignment vector when the first alignment vector is within a predetermined proximity of the primary vector; and
means for aligning the selected graphic object with the secondary vector according to the second alignment vector when the second alignment vector is within a predetermined proximity of the secondary vector.
0. 44. The system of
means for continually re-orienting and re-positioning the selected graphic object relative to a sliding cling point which moves relative to the graphic cursor as it is moved within the predetermined proximity.
0. 46. The method of
0. 47. The method of
0. 49. The method of
0. 50. The method of
0. 51. The method of
0. 52. The method of
0. 53. The method of
0. 54. The method of
0. 55. The method of
0. 57. The method of
0. 58. The method of
joining the second graphic object to the first graphic object via a shortest distance where the origin of the second graphic object aligns and is coincident with a closest point of interest on the first graphic object,
sliding the second graphic object in alignment with the first graphic object as the pointing symbol is moved,
rotating the second graphic object about at least one of the points of interest on the first graphic object by manipulating the pointing symbol around the point,
positioning the second graphic object at an opposite side of the first graphic object when the pointing symbol traverses from one side to another of the first graphic object, and
positioning the second graphic object at a 180-degree rotation of the first graphic object at a specified perpendicular offset in a direction of the pointing symbol.
0. 59. The method of
0. 61. The system of
0. 62. The system of
0. 64. The system of
0. 65. The system of
0. 66. The system of
0. 67. The system of
0. 68. The system of
0. 69. The system of
0. 70. The system of
0. 72. The system of
0. 73. The system of
joining the second graphic object to the first graphic object via a shortest distance where the origin of the second graphic object aligns and is coincident with a closest point of interest on the first graphic object,
sliding the second graphic object in alignment with the first graphic object as the pointing symbol is moved,
rotating the second graphic object about at least one of the points of interest on the first graphic object by manipulating the pointing symbol around the point,
positioning the second graphic object at an opposite side of the first graphic object when the pointing symbol traverses from one side to another of the first graphic object, and
positioning the second graphic object at a 180-degree rotation of the first graphic object at a specified perpendicular offset in a direction of the pointing symbol.
0. 74. The system of
|
The present invention relates to computer aided design and drafting systems, and more particularly to interactively manipulating and displaying presumptive relationships between graphic objects.
At the present time, the layout of drafted documents is based upon predefined geometric constraints for the graphic representation of engineering designs, utility systems, chemical processes, etc. Traditional computer aided methods for producing these types of digital drawings require the computer operator to indicate where and how a graphic object is to be drawn by the computer. The operator indicates an origin, orientation and connection point for the graphical objects and the computer subsequently produces the digital representation suggested by operator input. If the resulting representation is not correct, the operator either deletes the incorrect graphics from the drawing file or manually adjusts the graphics and attempts to create a new representation that meets defined criteria.
It is presently known that an operator may press a button on a mouse to provide a “tentative point” to the computer to suggest where an object might be placed. The computer responds by placing a graphic “crosshair” at a precise location nearby the point suggested by the operator. If the point suggested by the operator is close to a key coordinate value from an underlying object in the digital file representing the design, the computer places the tentative point at that location and redisplays the graphic object in a specified color. If the resulting location is desired by the operator, a key is depressed on an input device to accept the tentative point and the specific coordinate values are used one time in the immediately following data input operation. If the coordinate location and associated graphic object determined by the computer is not desired by the operator, the mouse button is pressed again to request another tentative point.
Such tentative point mode of operation requires multiple point and click inputs by the operator resulting in rather tedious interaction with a computer aided design and drafting (CAD) system. The locations and geometric selections generated by a CAD system of prior art are often incorrect and must otherwise be adjusted. Further, the operator must be aware of the geometric rules and relationships and usually must be a sophisticated operator or even an expert.
A method and apparatus according to the present invention replaces the tentative point mode of computer graphics input with a “presumptive point” mode tied to the motion of the input device. In the presumptive mode of operation, a computer system constantly presumes points of interest, referred to as cling points, which are in proximity with an on-screen pointing symbol or cursor for the operator to accept or reject. Predefined rules are maintained to limit selection to objects of interest and to perform the geometric computations that provide other related functions such as tangent, offset, parallel, alignment, end point, major vector, divided segment, extended segment, intersection and other specific coordinate locations derived from the graphic objects that comprise a digital design.
In addition, an interface is provided to accommodate external rule-based input verification procedures, and the newly input graphic object may inherit specific characteristics of underlying object previously accepted. A system according to the present invention eliminates much of the interactive selection and confirmation of graphics components used in drafting of designs, as well as to provide more accurate results in a design.
The present invention automatically employs a rule-based database to verify the juxtaposition of graphic objects within the intended context of the design. The interactive behavior of the graphics objects is constrained by a set of geometric specifications that are constructed in advance of digital data input operations. External procedures for the verification of graphic object relationships occur during digital data input operations to avert the creation of invalid representations of designs. Geometric relationships such as parallel, orthogonal, tangent, etc. are automatically provided for performing the accurate layout of design drawings in a dynamic manner.
For example, a selected object floats with the cursor and then jumps and clings to an underlying graphic object when the cursor is moved to within a predefined minimum distance called the location tolerance of the underlying object. The selected object clings at a predefined offset, orientation, rotation, etc. relative to the cling point, which slides along the underlying object as the cursor is moved by an operator. Other operations may be performed automatically either interactively or when the selected object is accepted, such as cutting or deleting portions of the underlying objects. These presumptive relationships are automatically made and dynamically updated as the operator moves the cursor and floating object to a desired location. The operator then merely accepts or rejects the presumptive relationship with not further input.
A system according to the present invention also offers methods of creating geometric specifications to constrain drafting input operations and produce aesthetically pleasing and geometrically correct results. Techniques are provided for a design analyst to specify the behavior of a graphic object when it is combined with other graphic objects in a design drawing.
A system according to the present inventoin preferably includes access to external databases for the provision or extraction of information that is related to the design, system or model. In addition, a base of knowledge is provided which may be accessed to ascertain whether the relationships among new graphic objects being added to the file by drafting operator input operations are valid.
The present invention allows an operator to more rapidly produce accurate digital computer drawings that conform to predefined specifications for appearance, content and relationships among the graphic objects that convey cognition for the intent of designs. The computer operator is relieved of the duty of learning the correct layout of graphic objects to assemble a valid representation of a design, system or model. In effect, a system according to the present invention is an “expert” CAD system, so that the operator need not be very knowledgeable to produce correct graphic results and representations.
A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
The computer system 1200 is preferably implemented as a CAD system according to the present invention by loading software into the memory 1212 for execution by the processor 1208 for receiving input and commands from the keyboard 1204 and mouse 1206 and generating a graphic output on the display 1202. Graphic parameters and geometric relationships are defined in database files stored in memory. It is noted that alternative computer systems and interfaces are contemplated, such as three-dimensional holographic displays for improved visual representation of the graphic environment.
Referring now to
In step 100, the applicable specific geometric relationships such as alignment, offset, etc. are defined for each entity that is represented in one or more drawings. Additionally, any relationships that are based upon associated database attributes are tabulated and encoded. In the next step 102, the graphic objects used as geometric constraint components are created according to specifications for the desired functional behavior. In the next step 104, any additional generic geometric constraints that may apply are determined and tabulated.
In the next step 106, the constraint definitions for the object are created as a collection of digital data that appears in a recognizable form such as a graphic symbol. The symbol comprises a series of components, some of which are always displayed on a computer screen as the normal graphic representation of the associated object, some components which are not normally displayed on the screen except as an aid to their definition, some logical verification components are tabulated as a digitally encoded rule-based record that is associated with the symbol, and some components are stored as textural specification data that is provided to the control software at the moment the object is activated for inclusion in the design, system or model. The textual data may be any one of several formats, such as ASCII (American Standard Code for Information Interchange) or the like.
In the next step 108, an object is selected for input by the operator using any of several techniques including the selection of a graphic icon from a computer screen (
In the next step 110, the object is read into the geometry processing engine and graphically interacts with other objects according to the specifications provided in the symbolic definition and the constraints of any external database attribute or knowledge based verification process. Feedback is provided to the operator to indicate the integrity of the proposed relationships between the new object and existing graphic objects in the digital drawing. Such feedback includes changing the color of the affected graphic objects, providing additional on-screen motions to the affected symbol to indicate a correct or incorrect validation result, or providing unique auditory sounds to indicate a correct or incorrect validation result. In the next step 111, the graphic representations are verified against a rule-based database.
In the next step 112, the object is accepted by the operator as being a correct representation at which point the geometry engine inserts the symbol in context into the graphic representation of the design, system or model, taking into account all geometric control specifications provided with the symbolic definition. Once the new graphic object is added to the existing digital file, the sequence of operations returns to step 108 and drafting operations continue. In particular, steps 108-112 are repeatedly performed in sequential manner until the operator has added all desired objects, and operation is then completed.
Referring now to
Once selected, the operator moves a pointing device to move the cursor 306 and the object 304 within the computer screen 300 along any desired path 308, and eventually within proximity of an underlying object 310. The floating object 304 is selected and shown on the computer screen 300 but is not made part of the underlying design file until accepted at a desired location by the operator. The underlying object 310 has already been previously accepted and therefore part of the underlying design file. Throughout this disclosure, an underlying object exists in the underlying design file, but a selected object to be placed is not made part of the design file until accepted by the operator.
A predetermined and programmed location tolerance, illustrated with a dotted circle 312 but normally not displayed, identifies a minimum perpendicular distance which determines when the object 304 is close enough to the underlying object 310 to establish an association or graphic relationship. When the designated origin point of the object 304 moves to within the location tolerance 312 with respect to the underlying object 310 or with respect to any other object where a graphic relationship is allowed, the “cling” mode of interaction is invoked whereby the floating object 304 “jumps” onto the underlying graphics object 310 as though it were magnetically attracted. In
The cursor path 308 and the underlying object 310 are extended to illustrate the cling characteristic. The floating object 304 “slides” in alignment with the underlying object 310 as the cursor 306 traverses the path 308. In particular, when the cursor 306 is at the locations 320, 322, 324 and 326 as shown, the floating object 310 assumes the corresponding positions 330, 332, 334 and 336, respectively. It is noted that the cursor 306 remains within the rejection tolerance defined for the floating object 304 for the positions 330, 332, 334 and 336.
If the operator desires to “uncling” from the underlying graphic object 310, operator moves the cursor 306 a distance greater than the rejection tolerance away from the underlying object 310 and the floating object 304 “jumps” away from the underlying object 310 to the cursor 306 as though it were magnetically repelled. This is shown at a location 328 of the cursor 306, where the floating object once again floats with the cursor 306 as shown at the position 328. If there is an additional specification for the logical relationship between the floating object 304 and the underlying object 310, and if that relationship is not valid for the particular case, the floating object 304 does not “cling” to and is prevented from floating near the underlying object by an algorithm that displaces the floating object's position with respect to the on-screen pointing device. An additional warning such as an auditory “beep” or visual cue such as a sudden red color change in the floating object 304 is issued by the computer.
Other graphic relationships define the orientation and rotation of the floating object 404 based on the position of the cursor 406. In
It is noted that the eventual desired result is to “connect” the object 604 to the underlying object 610 at the origin point 605a, thereby affecting the underlying object 610 in the data base as well as graphically, if desired. In the example shown in
In
Eventually the operator selects the location of the object 704, and the object 704 is inserted and the underlying object 710 is appropriately divided as shown in FIG. 7D. As a practical example, if a floating object includes specific definitions of collinear vectors, the geometry engine cuts the underlying linear graphic object and connects the resulting linear segments to the collinear vectors. This has the effect of breaking a line and inserting a device that forms part of the line, such as a fuse on a circuit schematic.
In
When the object 804 is in proximity of the underling object 810 as shown in
As illustrated in
In
It is noted that the particular alignment vectors described herein are for purposes of illustration. Thus, alignment vectors need not be collinear nor orthogonal but may be aligned at any desired orientation and angle.
In particular, the clip pattern 1104a deletes the coincident portion of the pattern of splines 1110, but otherwise does not affect the horizontal or vertical pattern of lines 1112, 1114. The clip pattern 1106a deletes the coincident portion of all of the patterns 1110, 1112 and 1114. The clip pattern 1108a deletes the coincident portion of the horizontal and vertical line patterns 1112, 1114, but does not affect the underlying pattern of splines 1110. This partial deletion is contrasted with simple masking capability, where the graphic portion of the object is obscured but the object “remains” in the graphic file. Although the present invention may be used for partial masking, partial deletion involves actually deleting the coincident portion of the underlying graphic objects in a selective mode.
It is noted that the partial deletion may be performed interactively as the selected and floating object is moved across the screen 1100. However, this is computationally intensive and may cause a computer system to slow down considerably. Thus, the object is usually drawn and the underlying deletions are preferably performed upon acceptance of object at a desired location.
An example of objects including the clip patterns to partially delete any underlying graphic object elements is TEXT, where it is desired to create “white space” for TEXT annotation. The objects to be deleted are contained in a specification for that type of annotation. In
It is now appreciated that a presumptive mode CAD system according to the present invention interactively manipulates and displays selected objects according to predefined geometric relationships for acceptance by an operator. The system automatically exhibits the correct graphic and geometric relationships in an interactive fashion. Thus, the present invention allows an operator to more rapidly produce accurate digital computer drawings that conform to predefined specifications for appearance, content and relationships among the graphic objects that convey cognition for the intent of designs. The computer operator is relieved of the duty of learning the correct layout of graphic objects to assemble a valid representation of a design, system or model. In effect, a system according to the present invention is an “expert” CAD system, so that the operator need not be very knowledgeable to produce correct graphic results and representations.
Although the system and method of the present invention has been described in connection with the preferred embodiment, it is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the invention as defined by the appended claims.
Contreras, Alfredo, Gantt, Brian Doyle
Patent | Priority | Assignee | Title |
7613594, | Dec 28 2006 | Dassault Systemes | Method and computer program product of computer aided design of a product comprising a set of constrained objects |
7634324, | Jan 11 2007 | Autodesk, Inc. | Method and system for aligning and laying out drawing elements in CAD drawings |
Patent | Priority | Assignee | Title |
4951231, | Jun 16 1986 | International Business Machines Corporation | Image display system with transformation operation ordering |
5101436, | May 11 1990 | Optigraphics Corporation | Hybrid image editor |
5123087, | Apr 27 1990 | ASHLAR INCORPORATED | Geometric inference engine |
5133052, | Aug 04 1988 | Xerox Corporation | Interactive graphical search and replace utility for computer-resident synthetic graphic image editors |
5237647, | Sep 15 1989 | Massachusetts Institute of Technology | Computer aided drawing in three dimensions |
5325475, | Sep 09 1992 | Massachusetts Institute of Technology | Computer method and apparatus for matching between line drawings |
5371845, | Apr 27 1990 | Ashlar, Inc.; ASHLAR, INCORPORATED A CORP OF CALIFORNIA | Technique for providing improved user feedback in an interactive drawing system |
5396590, | Sep 17 1992 | Apple Inc | Non-modal method and apparatus for manipulating graphical objects |
5408606, | Jan 07 1993 | Evans & Sutherland Computer Corp.; EVANS & SUTHERLAND COMPUTER CORP | Computer graphics system with parallel processing using a switch structure |
5463722, | Jul 23 1993 | Apple Computer, Inc | Automatic alignment of objects in two-dimensional and three-dimensional display space using an alignment field gradient |
5513303, | Aug 02 1990 | Xerox Corporation | Moving an object in a three-dimensional workspace |
5623418, | Apr 06 1990 | LSI Logic Corporation | System and method for creating and validating structural description of electronic system |
5712965, | Apr 25 1994 | Fujitsu Limited | Three-dimensional solid arranging/editing method in a computer graphic system and system |
5734805, | Jun 17 1994 | IBM Corporation | Apparatus and method for controlling navigation in 3-D space |
5734806, | Jul 21 1994 | International Business Machines Corporation | Method and apparatus for determining graphical object visibility |
5734807, | Jul 21 1994 | Kabushiki Kaisha Sega Enterprises | Image processing devices and methods |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 04 1998 | Autodesk, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
May 05 2008 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
May 12 2008 | REM: Maintenance Fee Reminder Mailed. |
Date | Maintenance Schedule |
Dec 25 2010 | 4 years fee payment window open |
Jun 25 2011 | 6 months grace period start (w surcharge) |
Dec 25 2011 | patent expiry (for year 4) |
Dec 25 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 25 2014 | 8 years fee payment window open |
Jun 25 2015 | 6 months grace period start (w surcharge) |
Dec 25 2015 | patent expiry (for year 8) |
Dec 25 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 25 2018 | 12 years fee payment window open |
Jun 25 2019 | 6 months grace period start (w surcharge) |
Dec 25 2019 | patent expiry (for year 12) |
Dec 25 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |