METHOD AND SYSTEM FOR KEYBOARD MANAGING AND NAVIGATING AMONG DRAWING OBJECTS

Abstract
A system and method for navigating drawings is provided. The method includes loading drawings and associated object data; arranging the drawings and the associated object data into at least one network; selecting parameters for mapping keys in a keyboard; displaying the drawings; and manipulating the drawings.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing features and other features of the present invention will now be described with reference to the drawings of a preferred embodiment. The illustrated embodiment is intended to illustrate, but not to limit the invention. The drawings include the following:



FIG. 1A shows a block diagram of a computing system for executing process steps, according to one aspect of the present invention.



FIG. 1B shows the internal architecture of the computing system of FIG. 1;



FIG. 2 shows a system for navigating drawing objects in a drawing, according to one aspect of the present invention;



FIG. 3 shows a process flow diagram for navigating complex drawings, according to one aspect of the present invention;



FIG. 4 shows an example of keyboard mapping, according to one aspect of the present invention;



FIG. 5 (FIGS. 5A-5D) shows an example of a schematic diagram for use in navigating objects, according to one aspect of the present invention;



FIGS. 6A-6D show different methods for highlighting objects while navigating through a network;



FIGS. 7A-7B show an example of navigation and object selection results on a wiring diagram using a simple row and column network;



FIGS. 8A-8G show an example of navigating on a schematic and highlighting different objects, according to one aspect of the present invention;



FIGS. 9A-9C show an example of building a simple row and column network for a wiring diagram, according to one aspect of the present invention;



FIGS. 10A-10D show an example of navigating near the edge of a drawing, according to one aspect of the present invention;



FIGS. 11A-11D show an example of navigating objects in a diagnostic flow chart, according to one aspect of the present invention;



FIG. 12 (FIGS. 12A-12B) is an example of navigating among objects in a table, according to one aspect of the present invention;



FIGS. 13A-13E show an example of using the system and method of the present invention on component location drawing navigation networks; and



FIGS. 14A-14E show an example of using the system and method of the present invention to navigate on parts pages and exploded views.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In one aspect of the present invention, a system and method are provided for navigating drawing objects in drawings (or diagrams) using mapped keys on a keyboard. This improves navigation on laptops, workstations, and devices with small form factors such as cell phones and PDA's.


To facilitate an understanding of the preferred embodiment, the general architecture and operation of a computing system will be described first. The specific process under the preferred embodiment will then be described with reference to the general architecture.


Computing System



FIG. 1A is a block diagram of a computing system 100A for executing computer executable process steps according to one aspect of the present invention. FIG. 1 includes a host computer 100 and a monitor 111. Monitor 111 may be a CRT type, a LCD type, or any other type of color or monochrome display.


Also provided with computer 100 are a keyboard 104 for entering data and user commands, and a pointing device (for example, a mouse) 106 for processing objects displayed on monitor 111.


Computer 100 includes a computer-readable memory storage device 108 for storing readable data. Besides other programs, storage device 108 can store application programs including web browsers and computer executable code, according to the present invention.


According to one aspect of the present invention, computer 100 can also use removable storage device 110 (for example: floppy disk drive, memory stick, CD-ROM, or CD R/W (read/write) or other device) for storing data files, application program files, and computer executable process steps embodying the present invention.


A modem, an integrated services digital network (ISDN) connection, or the like also provide computer 100 with a Network connection 102—to a network (e.g. the Internet), of computers within a company or entity in the company (for example: an Intranet). The network connection 102 allows computer 100 to download data files, application program files and computer-executable process steps embodying the present invention from the Internet.



FIG. 1B shows a top-level block diagram showing the internal functional architecture of a computing system 100 (host computer 100 or computer 100) that may be used to execute the computer-executable process steps, according to one aspect of the present invention. As detailed in FIG. 1B, computing system 100 includes a central processing unit (CPU) 112 for executing computer-executable process steps and interfaces with a computer bus 118.


Computing system 100 includes an input/output interface 116 that operatively connects output display device such as monitors (111), input devices such as keyboards (104) and pointing device such as a mouse (106) to computing system 100.


A storage device 120 (similar to storage device 108) also interfaces to computing system 100 through computer bus 118. Storage device 120 may be disks, tapes, drums, integrated circuits, or the like, operative to hold data by any means, including magnetically, electrically, optically, and the like. Storage device 120 stores operating system program files, application program files, computer-executable process steps, web-browsers and other files. Some of these files are stored on storage device 120 using an installation program. For example, CPU 112 executes computer-executable process steps of an installation program so that CPU 112 can properly execute the application program.


Random access memory (“RAM”) 124 also interfaces to computer bus 118 to provide CPU 112 with access to memory storage. When executing stored computer-executable process steps from storage device 120, CPU 112 stores and executes the process steps out of RAM 124.


Read only memory (“ROM”) 122 is provided to store invariant instruction sequences such as start-up instruction sequences or basic input/output operating system (BIOS) sequences.


Computing system 100 can be connected to other computing systems through the network interface 114 using computer bus 118. Network interface 114 may be adapted to one or more of a wide variety of networks, including local area networks, storage area networks, wide area networks, the Internet, and the like.


It is noteworthy that the present invention is not limited to the layout shown in FIGS. 1A and 1B. For example, hand-held computers, notebook or laptop computers, set-top boxes or any other computing system (wired or wireless) capable of running computer-executable process steps, as described below, may be used to implement the various aspects of the present invention.


Turning to FIG. 2, a system 200 for navigating drawing objects in a drawing, according to one aspect of the present invention, is shown. In system 200, a drawing object module 202 collects the drawing objects and stores them in a database 204. Drawing objects include, but are not limited to, wires, text references, off-sheet references, and selectable components, such as switches, pins, fuses, and others.


An object linkage module 206 receives the objects from database 204 and links the objects together building various types of navigation networks (or “networks”), such as a row/column network and wiring diagram network. Automatically understanding the content and recognizing the objects in these drawings is the subject of U.S. Pat. No. 6,606,731 entitled “Intelligent wiring diagram system”, issued on Aug. 13, 2003; U.S. Pat. No. 6,766,331 entitled “Method, computer program product, and system for creating and viewing an intelligent graphics file including parts information”, issued on Jul. 20, 2004; US Patent application 20030025734 entitled, “Method, computer program product, and system for performing automated linking between sheets of a drawing set”, Ser. No. 09/971,283, filed on Oct. 4, 200; and US patent application entitled “Method and system for analyzing image differences”, Ser. No. 11/339,599, filed on Jan. 25, 2006; all of which are assigned to the assignee of the present application, and the disclosures of which are incorporated herein by reference in their entireties.


Object linkage module 206 is connected to a user interface 208, such as computing system 100A in FIG. 1. User interface 208 displays the network containing drawing objects. Keys on keyboard 104 of user interface 208 are mapped to specific commands, such as up, down, left, right and the user navigates the drawing objects using the mapped keys.


Keyboard 104 is mapped based on the type of network being viewed and can continually be re-mapped based on the needs of the user. For example, if the user was viewing a row/column network, the user might want to use the letters ‘R’ and ‘C’ which will help remind the user to use the key ‘R’ to move by row and the key ‘C’ to move by column.


Process Flow:



FIG. 3 shows a process flow diagram for navigating complex drawings, according to one aspect of the present invention. Schematic diagrams (or drawings) are automatically generated. Automatically generating drawings is the subject matter of US patent application entitled “Method and system for automatically generating schematics”, Ser. No. 11/346,103, filed on Oct. 2, 2006 and assigned to the assignee of the present application, and the disclosure of which is incorporated herein by reference in its entirety.


In step S300, the drawings and associated object data are loaded. In step S301, networks are built from the drawings and object data. A network can be a loose arrangement of objects in rows or columns, or a more sophisticated task-based arrangement of objects. (The networks can be pre-computed, computed when they are loaded into a viewer or computed on the fly.) In step S302, parameters are selected for keyboard mapping. Using keys allows the user to navigate through the objects in the drawings in a task based way. The different objects can be displayed based on the selected parameters. These parameters included, but are not limited to, keyboard command mapping (i.e. mapping specific command to specific keys on keyboard 104), navigation method (i.e., simple row and column navigation or task-based navigation based on the type of drawing and its contents), and object filtering (i.e., for a wiring diagram, “All object;” “Off-sheet references only;” “Wires only;” “Components only;” “Text references only;”). The user can then interact with the drawing objects based on these parameters.


In step S303, the drawings are displayed on user interface 208. Once the drawings have been displayed, the user can manipulate the drawings by selecting or changing the type of network (for example, from a row/column network to a flow chart network) in step S304A; changing the mapping for the keyboard commands in step S304B; or manipulating the drawings through the keyboard commands in step S304C. Steps S304A-S304C may occur in any order or simultaneously. Furthermore, the user can change the network at run time; can change the key board mapping at run time or re-compute the network and key mapping.


Different types of networks include a row/column network and a network that follows the wiring continuity. The user can select either of these networks to manipulate the drawings depending on the task or what is most convenient. For example, if the user is reviewing all the connector labels on a drawing, the row/column network would be the most appropriate network or the user can select a wiring diagram network if following the wire continuity is more preferable.



FIG. 4 shows an example of keys on a keyboard that have been mapped to specific commands, according to one aspect of the present invention. For example, as can be seen in FIG. 4, selecting key ‘4’ causes the diagram to show all the wires and selecting key ‘5’ resets paths and components. This is by way of example only, and each user can determine what key is mapped with what command.



FIGS. 5-14 show examples of using the system and method of the present invention with different types of networks.



FIG. 5 (FIGS. 5A-5D) shows an example of an electronic schematic diagram 508 for use in the present invention. Electronic schematic diagram 508 is a wiring diagram having navigable objects. Navigable objects include wires 500, text references 502, off-sheet references 504, and selectable components 506 such as switches, pins, fuses, and others. The system and method of the present invention allows a user to map keys on a keyboard with specific commands for navigating the drawing objects. For example, five commands could be used to navigate through the network. These commands include (1) Left; (2) Right; (3) Up; (4) Down; and (5) Select. These commands can be mapped to any key on the keyboard. In one aspect, the four cursor keys are mapped to the Left, Right, Up, and Down commands; and Enter is mapped to the Select command. Alternative keyboard mapping commands may include North, East, South, West, as well as diagonal navigation with NW, NE, SE, and SW. This increases the complexity of the navigation while yielding more precision and requiring fewer keystrokes to move to a desired object.


The simplest type of network connects objects in loose rows and columns where Left and Right commands move among objects in rows; and Up and Down commands move among objects in columns. The select command performs an object-specific action. For example, selecting an off-sheet reference causes the system to navigate to the reference; selecting a wire highlights its circuit network, and selecting a Reference Designator causes the system to show tabular data associated with the component.


More sophisticated networks link objects in task-related ways. For example, a wiring diagram network might link electrical components with regard to circuit continuity, while a logic diagram might link components with regard to the flow of diagnostic logic.


Several methods may be used to identify an object on the drawing selected by the user. FIGS. 6A-6D show different methods of identifying objects while navigating through a drawing. In FIG. 6A, objects are identified by highlighting text. In FIG. 6B, objects are identified by magnifying text. In FIG. 6C, the objects are identified by highlighting the objects. In FIG. 6D, the objects are identified by placing a box around the objects.



FIGS. 7A-7B show an example of navigation on a wiring diagram using a row and column network. FIG. 7A shows an enlarged view of the wiring diagram in FIG. 5, where the user has navigated to ‘13’ which is a text reference associated with a pin in a connector. Once the object has been highlighted, in this case pin 13, the user can select the highlighted object to view the object in greater detail, as shown in FIG. 7B. Selecting pin 13 causes a table to be displayed showing data related to pin 13, such as the reference description.



FIGS. 8A-8G show a user navigating on a drawing having a row/column network and highlighting different objects. In FIG. 8A, pin 13 is highlighted. The user can navigate on the schematic in four different directions: up, down, right, and left. Pressing a key on the keyboard associated with the command “up” causes the text reference for pin 12 to be highlighted as it is directly above the text reference for pin 13, as shown in FIG. 8B. If the user presses a key on the keyboard associated with the command “down”, the text reference for pin 24 is highlighted as it is directly below the text reference for pin 13, as shown in FIG. 8C.


If the user presses a key on the keyboard associated with the command “left”, a wire is highlighted. The wire is the next logical object to the left in the row where the text reference for pin 13 is located, as shown in FIG. 8D. If the user presses a key on the keyboard associated with the command “select”, the circuit path for the wire is highlighted as shown in FIG. 8E. If the user presses a key on the keyboard associated with the command “right”, a wire is highlighted. The wire is the next logical object to the right in the row where the text reference for pin 13 is located, as shown in FIG. 8F. If the user presses a key on the keyboard associated with the command “right” while on the wire of FIG. 8F, a text reference for this wire is then highlighted, as shown in FIG. 8G. The wire is the next logical object to the right in this row, since it was reached from the left. Navigating to the right again causes the same wire to be highlighted again as shown in FIG. 8E. Navigating again to the right highlights pin 2TR.


If the user navigates off the edge of a drawing, the next object is selected by wrapping around to the next logical row or column. For example, navigating to the right off the edge of a drawing results in the left most object in the row below to be selected. Navigating to the left off the edge of a drawing results in the right-most object in the row above being selected. Navigating down off the edge of a drawing results in the top-most object in the next column to the right being selected. Navigating up off the edge of a drawing results in the bottom-most object in the previous column to the left being selected.



FIGS. 9A-9C show an example of building a simple row and column network for a wiring diagram, according to one aspect of the present invention. First, as shown in FIG. 9A, a wiring diagram containing embedded objects is utilized and FIG. 9B shows the embedded objects in the wiring diagram such as wires, text references, off-sheet references, and electrical components. Next as shown in FIG. 9C, a center 512 is computed for each object; for wires a center is computed for each segment. Then rows and columns are formed using the centers 512. If an object is within a small distance of another row or column it is included in that row or column. Movement through the network then proceeds as described above, from object to object in a given row or column.



FIGS. 10A-10D show an example of navigating near the edge of a drawing, according to one aspect of the present invention. FIG. 10A shows a wiring diagram with a pin highlighted near the edge of the drawing. If the user presses a key on the keyboard associated with the command “right” while on the highlighted pin 514, the object to the immediate right of pin 514 is highlighted, a wire 516, as shown in FIG. 10B. If navigation is solely using a simple row and column network, the next “right” results in the first object in the next row 518 being selected, as shown in FIG. 10C. FIG. 10D shows that navigating using a more sophisticated “circuit-continuity-following” method results in following the wire to the next object 520 in the circuit. For many tasks, following the circuit will be much more useful than simply going to the left-most object in the next row. A similar method can be applied to navigate through hydraulic or pneumatic flows in schematic drawings. The method for building the network is similar to the method for building a simple row and column network. Centers of objects are computed as before. Electrical connectivity is used to connect objects in the network instead of row and column organization. After electrical links are made, other links are filled in using rows and columns as above.



FIGS. 11A-11D show an example of navigating objects in a diagnostic flow chart, according to one aspect of the present invention. Objects in a diagnostic flow chart can include, but are not limited to, logic blocks, selectable contents of logic blocks such as references to other manuals, answers to diagnostic questions, off-sheet references, and other objects. FIG. 11A shows a diagnostic flow chart of a fault isolation manual. The flow chart comprises logic blocks that contain questions; the answers to the questions point the user to subsequent logic blocks. A logic tree may span many pages and even several volumes of the manual, and eventually may lead the user to another manual for repair, replacement, or further diagnosis. In FIG. 11A, the user has navigated to a first logic block 522. Using simple row and column logic, the user can move right from first logic block 522 to the text answer, “No” causing a second logic block 524 to be highlighted, as shown in FIG. 11B. However, the system and method of the present invention knows the logical connections among objects and can make a better navigation choice. When the user moves Right, logic block 20 (or second logic block 524) is chosen. When the user selects a logic block, such as second logic block 524, the first navigable object 526 in block 524 is highlighted, as shown in FIG. 11C. Navigating down in block 524 causes the next navigable object 528 to be highlighted, as shown in FIG. 11D.



FIG. 12 (FIGS. 12A-12B) is an example of a table where the objects are arranged in a row and column network capable of navigation.



FIGS. 13A-13E show an example of using the system and method of the present invention on component location drawing navigation networks. As shown in FIG. 13A, navigation occurs amongst four component locations 530-536. To go from the first component location 530 to the second component location 532, the user navigates to the right as shown in FIG. 13B. If the user selects a component location, such as first component location 530, the first navigable object 538 in the location is highlighted as shown in FIG. 13C. FIG. 13D shows an example of the user selecting an off-sheet reference to a detail; the system navigates to and chooses the detail on a separate drawing as shown in FIG. 13E.



FIGS. 14A-14E show an example of using the system and method of the present invention to navigate on parts pages and exploded views. Drawing objects include, but are not limited to, callouts, details, item numbers, zones, and stations. FIG. 14A shows selecting callout C 540 causing the system to navigate to callout C 540. FIG. 14B shows the ability to enhance parts page navigation by going beyond simple row and column linkage. For example, if using simple row and column linkage in FIG. 14C and moving up from item 942 will lead to item 936 in FIG. 14C. As shown in FIGS. 14D and 14E, task-based linkage can be used to navigate to items around the current detail. Here the user enters Up, Left, and Left, to navigate to items around the current detail.


In an additional embodiment of the present invention, auto-zooming can be used. This can be very useful while performing certain tasks, especially on devices with small form factors.


In summary, object-based navigation provides a rapid, pointer (e.g. mouse, touch pad, joystick) free method for navigating complex technical drawings. The general row and column network can be applied to any drawing. Even more efficient networks can be created based on specialized knowledge of the content of particular classes of drawings.


While the present invention is described above with respect to what is currently considered its preferred embodiments, it is to be understood that the invention is not limited to that described above. To the contrary, the invention is intended to cover various modifications and equivalent arrangements within the spirit and scope of the appended claims

Claims
  • 1. A method for navigating drawings on a computing system, comprising: loading drawings and associated object data;arranging the drawings and the associated object data into at least one network;selecting parameters for mapping keys in a keyboard;displaying the drawings; andmanipulating the drawings.
  • 2. The method of claim 1, wherein the parameters include keyboard command mapping, navigation method, and object filtering.
  • 3. The method of claim 1, wherein the drawings are manipulated by changing the type of network.
  • 4. The method of claim 1, wherein the drawings are manipulated by re-mapping the keys in the keyboard.
  • 5. The method of claim 1, wherein the drawings are manipulated using keyboard commands.
  • 6. The method of claim 3, wherein the types of networks include a row/column network, a flow chart network, a wiring diagram network, and a component location drawing navigation network.
  • 7. The method of claim 1, further comprising selecting a drawing object to view the details of the drawing object.
  • 8. The method of claim 7, wherein the drawing objects include wires, text references, off-sheet references, and selectable components.
  • 9. The method of claim 8, wherein the selectable components include switches, pins, and fuses.
  • 10. The method of claim 1, wherein the computing system a hardened field laptop.
  • 11. A system used for navigating drawings, comprising: a drawing object module for collecting drawing objects and storing the drawing objects in a database;an object linkage module tool receiving the drawing objects from the database and linking the drawing objects together into at least one network; anda user interface, having a keyboard, for displaying the at least one network, wherein keys on the keyboard are mapped to specific commands, and wherein a user navigates the drawing objects using the mapped keys.
  • 12. The system of claim 11, wherein a drawing object is selected for viewing details of the drawing object.
  • 13. The system of claim 12, wherein the drawing objects include wires, text references, off-sheet references, and selectable components.
  • 14. The system of claim 11, wherein the type of the at least network is changed.
  • 15. The system of claim 14, wherein the type of the at least one network include a row/column network, a flow chart network, a wiring diagram network, and a component location drawing navigation network.
  • 16. The system of claim 11, wherein the user interface is a hardened laptop.