In many electronics manufacturing facilities, circuit boards are often partially or even fully assembled by hand. Operators are stationed at various positions along an assembly line to mount one or more particular components to each board. To aid each operator, a color television monitor or other type of display device is now provided to display an image of the circuit board to illustrate what component is to be mounted and where. Usually, computer-aided design (CAD) data, generated during the design of the particular circuit board, is utilized to generate the graphical information displayed to the operator. Prior to displaying the image of the circuit board to the operator, it is often useful to process the constituent graphical segments comprising the graphical information representing the image. For example, it may be useful to process the segments to modify or change them in some way in order to change the physical characteristics (e.g., size and shape) as well as the attributes (e.g., location and color) of all or part of the image observed by the operator. In some instances, it may be useful to process the graphical segments to simply test their characteristics without making any modifications thereto.
Presently, there are two techniques for processing a stream of graphical information so as to test as well as modify one or more of the constituent graphical segments. One approach is to utilize a conventional, interactive graphical editor which allows an operator to individually process each graphical segment while simultaneously seeing the change on a display device. However, present day graphical editors lack the ability to translate a particular task into a rule which the editor would act upon to perform the same operation on each of the graphical segments having the same characteristics.
The other approach is to utilize a custom program designed to perform a specific processing task on all of the graphical segments having the same characteristics. During execution of the custom program, the stream of graphical information is first scanned to identify all of the graphical segments having specified characteristics. Each of the graphical segments having the specified characteristics is then automatically processed in a particular manner specified by the program. The disadvantage of using a custom program to process graphical information is that such programs tend to be task specific. Thus, to perform different processing operations on all of the graphical segments in the stream may require several different custom programs. Creating and successfully debugging a custom program for editing a graphical segment is a time-consuming process and usually requires the services of a skilled programmer.
Thus there is a need for a technique for processing the graphical segments in a stream of graphical information in accordance with a set of rules so that different editing operations can be performed on like graphical segments without resorting to using custom programs for this task.