|Publication number||USRE39950 E1|
|Application number||US 09/186,270|
|Publication date||Dec 25, 2007|
|Filing date||Nov 4, 1998|
|Priority date||May 8, 1995|
|Also published as||US5572639|
|Publication number||09186270, 186270, US RE39950 E1, US RE39950E1, US-E1-RE39950, USRE39950 E1, USRE39950E1|
|Inventors||Brian Doyle Gantt, Alfredo Contreras|
|Original Assignee||Autodesk, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (16), Referenced by (2), Classifications (13), Legal Events (2)|
|External Links: USPTO, USPTO Assignment, Espacenet|
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
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.
When the object 804 is in proximity of the underling object 810 as shown in
As illustrated 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.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4951231||Sep 27, 1989||Aug 21, 1990||International Business Machines Corporation||Image display system with transformation operation ordering|
|US5101436||May 11, 1990||Mar 31, 1992||Optigraphics Corporation||Hybrid image editor|
|US5123087||Apr 27, 1990||Jun 16, 1992||Ashlar, Inc.||Geometric inference engine|
|US5133052||Aug 4, 1988||Jul 21, 1992||Xerox Corporation||Interactive graphical search and replace utility for computer-resident synthetic graphic image editors|
|US5237647||Oct 28, 1991||Aug 17, 1993||Massachusetts Institute Of Technology||Computer aided drawing in three dimensions|
|US5325475||Sep 9, 1992||Jun 28, 1994||Massachusetts Institute Of Technology||Computer method and apparatus for matching between line drawings|
|US5371845||Oct 8, 1991||Dec 6, 1994||Ashlar, Inc.||Technique for providing improved user feedback in an interactive drawing system|
|US5396590||Sep 17, 1992||Mar 7, 1995||Apple Computer, Inc.||Non-modal method and apparatus for manipulating graphical objects|
|US5408606 *||Jan 7, 1993||Apr 18, 1995||Evans & Sutherland Computer Corp.||Computer graphics system with parallel processing using a switch structure|
|US5463722 *||Jul 23, 1993||Oct 31, 1995||Apple Computer, Inc.||Automatic alignment of objects in two-dimensional and three-dimensional display space using an alignment field gradient|
|US5513303||Aug 5, 1994||Apr 30, 1996||Xerox Corporation||Moving an object in a three-dimensional workspace|
|US5623418 *||Jun 14, 1993||Apr 22, 1997||Lsi Logic Corporation||System and method for creating and validating structural description of electronic system|
|US5712965||Apr 25, 1995||Jan 27, 1998||Fujitsu Limited||Three-dimensional solid arranging/editing method in a computer graphic system and system|
|US5734805||Jun 17, 1994||Mar 31, 1998||International Business Machines Corporation||Apparatus and method for controlling navigation in 3-D space|
|US5734806||Jun 21, 1996||Mar 31, 1998||International Business Machines Corporation||Method and apparatus for determining graphical object visibility|
|US5734807||Jun 29, 1995||Mar 31, 1998||Kabushiki Kaisha Sega Enterprises||Image processing devices and methods|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7613594 *||Dec 27, 2007||Nov 3, 2009||Dassault Systemes||Method and computer program product of computer aided design of a product comprising a set of constrained objects|
|US7634324 *||Jan 11, 2007||Dec 15, 2009||Autodesk, Inc.||Method and system for aligning and laying out drawing elements in CAD drawings|
|U.S. Classification||345/651, 345/678, 345/677, 345/652|
|International Classification||G06T19/20, G09G5/00|
|Cooperative Classification||G06T2219/2016, G06F17/50, G06F2217/74, G06T19/20, G06T2219/2004|
|European Classification||G06T19/00, G06F17/50|
|May 5, 2008||FPAY||Fee payment|
Year of fee payment: 12
|May 12, 2008||REMI||Maintenance fee reminder mailed|