None.
The present invention relates to three-dimensional software rendering of parts, such as in Computer Aided Design (CAD) of the part. The present invention finds particular application in the field of software supported methods, systems and tools used in the design and fabrication of molds for custom plastic parts, and in presenting information to customers for the customer to make selections to help minimize the cost of the mold and running the customer's part.
CAD software systems, and particularly CAD systems and viewers which provide a solid model or three-dimensional rendering of the part being designed or viewed, have been in use for decades. Commercial examples of such systems include AUTOCAD, SOLIDWORKS, PRO/ENGINEER, UNIGRAPHICS, AUTODESK INVENTOR, PARASOLID, I-DEAS, STEP, IGES, ACIS, TURBOCAD, EDRAWINGS and VISI-CAD. A common feature existing in virtually all of these software packages is that the part being designed or communicated to another user can be viewed, in a graphical user interface on the computer screen, from a variety of angles and orientations. A “pan” command is commonly used to enable to user to shift the rendering of the part in a desired direction (right, left, up or down or combinations thereof) on the computer monitor. A “zoom” command is commonly used to enable the user to change the scale of the rendering, enlarging or shrinking the rendering of the part on the computer monitor. Though the pan and zoom commands can be menu or keystroke driven, they can also usually be mouse-driven. The most typical pan command, for example, is achieved by positioning the mouse over a location on the part rendering, and then clicking and dragging that location of the part to a different location on the computer screen.
When a three-dimensional part is being designed, the software packages also commonly have some sort of a rotational aspect, to changing the viewing angle of the rendering on the computer screen. The commands for such three-dimensional angular manipulation of the part differ between different software programs, but also commonly involve a click-drag-drop command with a mouse, perhaps first activating a “rotate” command. However, the ways in which the click-drag-drop “rotate” command performs the three-dimensional angular manipulation of the part differs between software programs, and is generally not fully intuitive to the user. Often it takes numerous click-drag-drop commands to effect the orientation manipulation desired, both because of imprecision in the click-drag-drop command and because of the learning curve for the various software packages. Even experienced users of such software programs often fail to understand just how the angular manipulation works, and each reorientation of the part is an interative “just keep trying until it looks right” type of procedure. A better system of angular manipulation of a part is needed.
Injection molding, among other types of molding techniques, is commonly utilized to produce plastic parts from molds. Companies and individuals engaged in fabricating molds are commonly referred to as “moldmakers.” The moldmaking art has a long history of fairly gradual innovation and advancement. Molds are designed pursuant to a specification of the part geometry provided by a customer; in many cases, functional aspects of the plastic part also need to be taken into account. Historically, moldmaking involves at least one face-to-face meeting between the moldmaker and the customer, with complex communication between the moldmaker and the customer and complex decisions made by the moldmaker regarding the construct of the mold. More recently, this process has been automated to a significant degree, to assist in transmitting information between the moldmaker and/or the moldmaker's computer system and the customer, thereby realizing significant efficiencies and corresponding price reductions in the manufacture of molds and custom molded parts.
Such automation is described in U.S. patent application Ser. Nos. 11/338,052, 11/114,893, 11/074,388, 11/035,648, 10/970,130, 10/325,286 (now issued as U.S. Pat. No. 6,836,699), and Ser. No. 10/056,755 (now issued as U.S. Pat. No. 6,701,200). A graphical user interface which permits better angular manipulation of the part would find particular applicability in assisting and automating communication regarding the part between the moldmaker and the customer.
The present invention is a software method for manipulating a three-dimensional object rendering on a computer screen with a mouse which is particularly applicable to a customer's part to be injection molded. The object or part is manipulatable about a center of rotation, but rather than have the center of rotation at the center of the part or at an imaginary reference point outside the part, the center of rotation is established on a face of the part. A click-drag-drop rotation of the part is achieved based upon a spherical coordinate map of rotation, allowing the user to repositioning the object rendering. In one aspect, the spherical coordinate map of rotation is an orientation globe which appears as an overlay during the click-drag-drop command. In another aspect, a pan command repositions the center of rotation (and orientation globe) to a different location or face of the part. In another aspect, the pole of the orientation globe corresponds with a z-axis of the injection molded part or pull direction of the injection mold.
While the above-identified drawing figures set forth one or more preferred embodiments, other embodiments of the present invention are also contemplated, some of which are noted in the discussion. In all cases, this disclosure presents the illustrated embodiments of the present invention by way of representation and not limitation. Numerous other minor modifications and embodiments can be devised by those skilled in the art which fall within the scope and spirit of the principles of this invention.
The present invention will be described briefly with regard to how the click-drag-drop command of the inventive system orients an imaginary “orientation globe” 10, and then with regard to how the orientation globe 10 is located with reference to a part rendering 12 shown on a computer screen 14. As called out in
The orientation globe 10 represents a first active area on the graphical user interface of the invention. A “click-drag-drop” command with the mouse causes pivoting or rotation of the orientation globe 10 about its spherical center. To change the orientation of the orientation globe 10, the user positions the mouse pointer 20 over any location on the orientation globe 10, and then clicks and drags the clicked location anywhere desired. The rotation of the orientation globe 10 effected is a three-dimensional rotational movement of the orientation globe 10 about its spherical center.
Examples of pivoting algorithms for the orientation globe 10 include Chen's Virtual Trackball, Bell's Virtual Trackball, Shoemake's Arcball, a Two-Axis Valuator Trackball, or 10 a Two Axis Valuator with Fixed Up-Vector. The preferred pivoting algorithm should be as similar as possible to a track ball, wherein the mouse pointer 20 “sticks” to the orientation globe 10 to push or pull the orientation globe 10 as naturally as possible about its spherical center. In this way, mouse manipulation of the orientation globe 10 is intuitive and straight forward.
As shown further with regard to
The orientation globe 10 is shown in
Multiple “click-drag-drop” commands can be handled in either of two ways. In the preferred system, the tilt, slant and E-W location are stored in memory, and the orientation globe 10 always reappears for a subsequent rotate command in the position it was last left.
Retaining the tilt, slant and E-W location of the orientation globe 10 in memory is particularly appropriate when applied to an injection molded part 12, wherein the directions (particularly the z-direction) have meaning (the z- or pull direction of the mold) in the forming process for the part 12. Alternatively, the orientation globe 10 may reposition itself for each new rotate command to the preferred starting position (30° forward tilt, °0 slant).
The intuitive nature of the orientation globe 10 is particularly evident when the orientation globe concept is applied to three-dimensional renderings of parts, such as parts to be injection molded. When applied to a part 12, the manipulation of the drawing of the part 12 is linked to the manipulation of the orientation globe 10. The important linking parameters are locating the part 12 relative to the center of rotation 28 of the orientation globe 10, orienting the polar axis 24 and sizing the orientation globe 10 relative to the part 12.
The quoting of the mold and/or manufacture for the part 12 may generally proceed with automated systems and methods such as described in U.S. patent application Ser. Nos. P 439.12-9, 11/338,052, 11/114,893, 11/074,388, 11/035,648, 10/970,130, 10/325,286 (now issued as U.S. Pat. No. 6,836,699), and Ser. No. 10/056,755 (now issued as U.S. Pat. No. 6,701,200), all incorporated by reference herein. In these applications, a basic step is receiving customer part data comprising a CAD file for the part 12 to be molded, with the CAD file defining a part surface profile. The part 12 is custom designed by or for the customer, and its shape is unknown at the time the computer system housing the invention and software of the invention is finalized. When it is desired to give the customer feedback with regard to the part 12 and how well it will work for injection molding, the customer is provided with a viewer and a simplified CAD file data set which uses the graphical user interface of the present invention.
A basic step in determining how to render the part 12 is to align the initial polar axis 24 relative to the part 12. In the preferred embodiment, the initial polar axis 24 is aligned parallel to a z-axis of the part 12, with the axes of the part 12 determined by hand or as described in U.S. Pat. Nos. 6,836,699 and 6,701,200 to best match the way the part 12 will be formed in the injection mold. The y-axis of the part 12 is initially aligned directly toward the viewer subject to the initial tilt of the polar axis 24. The x-axis of the part 12 is therefore initially within the screen plane.
Another basic step in determining how to render the part 12 is to locate the part 12 relative to the center of rotation 28 of the orientation globe 10. The center of rotation 28 of the orientation globe 10 equates to a point that cannot be moved on the part rendering 12, with the rest of the part 12 pivoting or rotating around the center of rotation 28 during the rotate command. Rather than place the center of rotation 28 of the orientation globe 10 either at the center of the part 12 or at some imaginary location which is off the part 12, as done in many prior art three-dimensional graphical user interfaces, the present invention in one aspect always places the center of rotation 28 of the orientation globe 10 on a surface of the part 12. Placing the center of rotation 28 on a surface of the part 12 is very important in achieving an intuitive look and feel to the three-dimensional manipulation of the part 12 in the graphical user interface.
The exact location on the surface of the part 12 for positioning of the center of rotation 28 can be selected in any of several alternative ways. In a first embodiment, the center of rotation 28 is placed at the center of the view screen 14, or on the location on the part 12 closest to the center of the view screen 14. In such a centering of view screen embodiment, panning of the part 12 moves the center of rotation 28 on the part 12. A second alternative is to have the user place the center of rotation 28 on a surface of the part 12. For instance, a first step in activating the “rotate” command can be for the user to place the center of rotation 28 on the part 12 at the desired location. A third alternative is to place the center of rotation 28 in the center of an “active” face on the part 12, whereby the user can click on any face of the part 12 to make that face “active”. The preferred embodiment employs a combination of these features, wherein the center of rotation 28 is positioned near the center of the view screen 14, with a tendency to snap to either an edge of the part 12 or the center of a face which is closest to the center of the view screen 14. This embodiment is depicted in
A third basic step in using the orientation globe positioning of the present invention is to define the size of the orientation globe 10 relative to the part 12. One alternative is to make the radius of the orientation globe 10 reach to the furthest extent of the part 12. Another alternative is to have the orientation globe 10 sized in accordance with a set scale retained with the part 12, e.g., a diameter of 3 inches would work well with most injection molded parts. Yet another alternative is to have the orientation globe 10 sized in accordance with the computer window showing the part 12, e.g. 80% of the height of the window. In the preferred embodiment, the orientation globe 10 is sized a set number of pixels, such as a diameter of 300 pixels. This way the size of the orientation globe 10 does not change if the user (such as with a WINDOWS operating system) resizes the computer window smaller than full screen 14. At the same time, the size of the orientation globe 10 is not affected by zooming in or out on the part 12.
Once these three basic steps are established, use of the orientation globe method of the present invention is simple and straightforward. A user merely activates the rotate command, such as through either of default of “rotate on”, through a menu 32 or through a menu button 34, and then the user performs the “click-drag-drop” operation. The part 12 rotates identically to the E-W, tilt and slant rotation of the orientation globe 10, about the center of rotation 28. In the preferred embodiment, a lightly lined or white lined orientation globe 10 appears on the screen 14 during the “click-drag-drop” command. This is shown in the series of
Both the orientation globe 10 and the part 12 are depicted at their instantaneous location throughout the click-drag-drop command. The preferred embodiment shows the orientation globe 10 in light lines or a white-line overlay during user manipulation of the part 12, which then disappears from the screen 14 after the drop (and thus is not shown before the “click” of the rotate command).
A close inspection of
As shown by comparing
As shown by comparing
As shown by comparing
Thus it will be seen that the various aspects of the present invention combine to create a graphical user interface which provides an intuitive and powerful 3-D rotational manipulation of an object, and particularly a part to be injection molded. By having a rotation algorithm based upon the orientation globe 10, by showing the orientation globe 10 during the rotate command, by attaching the orientation globe 10 to a face of the part 12, and/or by having pan and zoom commands which interact with the size and positioning of the orientation globe 10 in an intuitive way, the 3-D rotational manipulation functions much better than 3-D rotational manipulation algorithms of the prior art.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.