Patent Description:
Aircraft such as passenger airplanes are commonly painted. The combination of colors, graphics, and typographical identifiers for a set of insignia for the aircraft is referred to as an aircraft livery. The aircraft livery can include a title and a monogram or an emblem as well as other graphical elements on the exterior of the aircraft.

The title can have a specific style with a particular typeface, type size, type case, proportion, and other parameters. The emblem can have a particular geometry that results in a logo for promoting recognition of a particular airline or other customer. Painting these designs on the aircraft with the selected colors to form the aircraft livery can be challenging.

For example, it would be desirable to have a method and apparatus that overcome a technical problem with painting aircraft liveries.

<CIT>, in accordance with its abstract, states printing an image in the same hue even if an image is alternatively output by another printing apparatus. The printing apparatus that receives print data, rasterizes the data to generate a bit map image, applies color-conversion to the bit map image, and outputs the resultant image, includes: a determination function to determine whether the apparatus itself is in a printable state or not; a color gamut generation function configured such that when the apparatus itself is not in a printable state, a color gamut for the print data is generated using the bit map image after the color conversion and the printer profile of the apparatus itself; a selection function configured to obtain a color gamut which can be output by each of printing apparatuses, from one or a plurality of printing apparatuses connected to a communication network, compare the color gamut of each printing apparatus and the color gamut of the print data, and select a printing apparatus that has a color gamut including the color gamut of the print data; and a transfer function configured to transfer the bit map image to the selected printing apparatus.

<CIT>, in accordance with its abstract, states according to one embodiment of the invention, an image document creation apparatus is provided so as to be connectable to a plurality of image forming apparatuses that have been arranged on a network, and has a configuration provided with an acquisition means that acquires color gamut information possessed by the image forming apparatuses; an identification means that identifies colors included in document data and/or image data saved in the image document creation apparatus; a color difference calculation means that calculates, for each of the image forming apparatuses, a color difference between the colors identified by the identification means and the color gamut information acquired by the acquisition means; an apparatus selection means that selects an image forming apparatus as a print target based on the calculated color difference; and a printing means that instructs the selected image forming apparatus to print the document data and/or the image data.

<CIT>, in accordance with its abstract, states systems and methods are provided for selectively qualifying printers for printing incoming jobs, based on an amount of colors within the job that the printers can reproduce. One embodiment is a system that includes an interface and a memory storing a print job defined in a job color space. The system also includes a controller that identifies colors specified by print data in the print job, determines coordinates of the colors in a perceptual color space, selects a printer, determines boundaries of a color gamut of the printer in the perceptual color space, and determines an amount of the colors that the printer is capable of reproducing. When the amount is greater than a threshold, the controller qualifies the printer for printing the print job. When the amount is less than the threshold, the controller disqualifies the printer from printing the print job.

<CIT>, in accordance with its abstract, states a system for selecting a best device for rendering a color document involves first determining the types of color data included in the color document to be printed. Once the type of color data has been determined, the color characteristics are matched against the strengths of the available output devices to obtain a list of devices best suited for this particular color print job. At least one device from the list of best devices is selected and the color document is rendered onto the selected device. Preferably, the types of color data involved are determined by the mix of defined colorimetry and undefined colorimetry in the color document. Alternatively, the types of color data are determined by analyzing the colorspaces in the document (i.e., RGB, CMYK, LAB, XYZ, etc.), and the embedded profiles, if any, in the document (e.g., sRGB, SWOPCMYK, Euroscale). In the instance wherein a number of devices match the criteria for selection, only those devices which honor embedded color profiles are selected for documents containing embedded profiles. Alternatively, only those devices are selected that produce a consistent rendering across multiple color spaces and profiles for documents with a mix of color spaces and profiles. Selecting the best device may also depend on whether the type of print job is considered to be Job-Balancing or Job-Splitting. With Job-Balancing, at least one of the metrics is used: (i) Intersection Gamut Volume, (ii) Gamut Similarity, or (iii) Mismatch Between Document Colors and Intersection Gamut for device selection. With Job-Splitting, at least one of these metrics are used: (i) Individual Gamut Volume, or (ii) Mismatch Between Document Colors and Device Gamut. Colorimetric definition of the selected colors can be retrieved from either an embedded source profile or by default and mapping the colors to the output gamut.

<CIT>, in accordance with its abstract, states a method prints an object, for example a vehicle and specifically the body thereof, wherein at least one area of the surface of the object is printed. The method includes: providing an image; three-dimensionally measuring at least the area; generating a number of spatial points in correspondence with the area; generating a three-dimensional net corresponding with the area; generating path data, i.e. a three-dimensional path for moving a robot for an inkjet printer head; generating raster data, i.e. a raster matrix, in particular a three-dimensional or higher raster matrix, for actuating the inkjet printer head; moving the robot, for example an articulated arm robot, utilizing the path data; and printing the image by the inkjet printer head utilizing the raster data. The method permits multi-color printing of any image onto so-called 3D surfaces of any shape.

<CIT>, in accordance with its abstract, states a device for painting a curved outer surface of an aircraft includes a paint applicator having a plurality of spray painting heads each assigned to one of a plurality of different base color supply units containing one of polyurethane aircraft paint and ink. The device further includes a spatially adjustable positioning device configured to move the paint applicator relative to the curved outer surface and at least one sensor device configured to determine a three-dimensional geometry of the curved outer surface. The device also includes a control unit configured to coordinate a movement of the positioning device with a paint output of the paint applicator, wherein the control unit is configured to alternately activate each of the plurality of spray painting heads so as to produce a picture motif so as to derive a two-dimensional driving geometry based on the three-dimensional geometry.

An example of the present disclosure provides a method for applying a color to an object, the method comprising: determining, by a computer system , whether a position of the color selected for the object is within a point cloud defining color application capabilities for an inkjet printer, wherein the position is in a three-dimensional space for a color space, by determining, by the computer system, a Euclidean distance from the position of the color to a nearest point in the point cloud, wherein the position of the color is within the point cloud when the Euclidean distance is zero; selecting, by the computer system, the inkjet printer for use to apply the color to the object when the color is within the point cloud defining the color application capabilities of the inkjet printer; determining, by the computer system, a surface area for the color on the object, wherein the surface area is determined using a design of the object; and determining, by the computer system, an amount of paint needed to apply the color to the surface area, wherein the surface area is an exterior surface area of an aircraft.

Another example of the present disclosure provides automated color system comprising: a computer system; and a color manager in the computer system, wherein the color manager is configured to: determine whether a position of a color selected for an object is within a point cloud defining color application capabilities for an inkjet printer, wherein the position is in a three-dimensional space for a color space, by determining a Euclidean distance from the position of the color to a nearest point in the point cloud, wherein the position of the color is within the point cloud (<NUM>) when the Euclidean distance (<NUM>) is zero; and select the inkjet printer for use to paint the object with the color when the color is within the point cloud defining color application capabilities of the inkjet printer, determine, by the computer system, a surface area for the color on the object, wherein the surface area is determined using a design of the object; and determine, by the computer system, an amount of paint needed to apply the color to the surface area, wherein the surface area is an exterior surface area of an aircraft.

Yet another example of the present disclosure provides an automated color system comprising a computer system and a color manager in the computer system. The color manager is configured to determine whether a position of a color selected for an object is within a point cloud defining color application capabilities for an inkjet printer. The position is in three-dimensional space for a color space. The color manager is configured to select the inkjet printer for use to pain the object with the color when the color is within the point cloud defining color application capabilities of the inkjet printer.

Still another example of the present disclosure provides a computer program product for applying a color to an aircraft. The computer program product comprises a computer-readable storage media first program code, second program code, third program code, and fourth program code stored on the computer-readable storage media. The first program code is executable by a computer system to cause the computer system to determine the color for an exterior surface of the aircraft from a design of the aircraft. The second program code executable by a computer system to cause the computer system to determine a position of the color in three-dimensional space. The position is in a color space coordinate system. The third program code is executable by a computer system to cause the computer system to determine whether a Euclidean distance from the position of the color is zero to any of a plurality of point clouds defining color application capabilities for inkjet printers, wherein points in the plurality of point clouds represent colors that can be applied by the inkjet printers. The fourth program code is executable by a computer system to cause the computer system to select an inject printer in the inkjet printers with a point cloud in the plurality of point clouds having a smallest Euclidean distance to the position of the color. The inkjet printer is used to apply the color to the exterior surface of the aircraft.

Yet another example of the present disclosure provides a computer program product for applying a color to an aircraft. The computer program product comprises first program code and second program code stored on the computer-readable storage media. The first program code is executable by a computer system to cause the computer system to determine whether a position of the color selected for an object is within a point cloud defining color application capabilities for an inkjet printer, wherein the position is in three-dimensional space for a color space. The second program code is executable by a computer system to cause the computer system to select the inkjet printer for use to pain the object with the color when the color is within the point cloud defining color application capabilities of the inkjet printer.

The features and functions can be achieved independently in various examples of the present disclosure or may be combined in yet other examples in which further details can be seen with reference to the following description and drawings.

The novel features believed characteristic of the illustrative examples are set forth in the appended claims. The illustrative examples, however, as well as a preferred mode of use, further objectives and features thereof, will best be understood by reference to the following detailed description of an illustrative example of the present disclosure when read in conjunction with the accompanying drawings, wherein:.

The illustrative examples recognize and take into account one or more different considerations. For example, the illustrative examples recognize and take into account that currently a customer can request a particular configuration of colors to be painted on an exterior of an aircraft to form an exterior aircraft livery for the aircraft. The illustrative examples recognize and take into account that color codes for the colors can be extracted from designs for aircraft such as aircraft livery documents.

The illustrative examples recognize and take into account that painting lettering, emblems, and other design elements for an aircraft livery can be more complex than desired. For example, the illustrative examples recognize and take into account that when the lettering, emblems, and other design elements are complex, these designs elements are built up layer by layer in a time-consuming process. In some cases, the illustrative examples recognize and take into account that a level of complexity of designs are printed onto decals or stickers that are applied to the exterior of the aircraft. The illustrative examples recognize and take into account that the decals or stickers can work well, but add undesired weight to an aircraft. The illustrative examples recognize and take into account that the decals or stickers can degrade over time.

The illustrative examples recognize and take into account that current techniques for identifying color codes for paints for an aircraft livery can be more tedious and error-prone. The illustrative examples recognize and take into account that as a number of graphical elements and colors for those graphical elements increase in an aircraft livery, the time needed to identify the color codes for the colors and mixing the paints for those colors becomes greater than desired. Further, the illustrative examples recognize and take into account that the likelihood of errors increases as the number of graphical elements and colors increases when identification of the color codes is performed by a human operator. The illustrative examples also recognize and take into account that mixing paints for different color codes can also be tedious and time-consuming.

Thus, the illustrative examples provide a method, apparatus, system, and computer program product for painting aircraft. The illustrative examples recognize and take into account that the painting can be performed using inkjet printers. The illustrative examples recognize and take into account that designs can be painted or "printed" onto an exterior surface of an aircraft using an inkjet printer.

In some examples, a color is printed on an object. A determination is made as to whether a position of the color selected for the object is within a point cloud defining color printing capabilities for a particular inkjet printer. The position is in a three-dimensional space for a color space. The particular inkjet printer is selected for use to print the object with the color when the color is within the point cloud defining the color printing capabilities of the particular inkjet printer.

According to the invention as presently claimed, a color is printed on an aircraft. The color for an exterior surface of the aircraft is determined from a design of the aircraft. A position of the color in a three-dimensional space is determined. The position is described using a color space coordinate system. A determination is made as to whether a Euclidean distance from the position of the color is zero to any of a plurality of point clouds defining color printing capabilities for inkjet printers. Points in the plurality of point clouds represent colors that can be printed by the inkjet printers. An inkjet printer in the inkjet printers with a point cloud in the plurality of point clouds having a smallest Euclidean distance to the position of the color is selected. The inkjet printer is used to print the color on the exterior surface of the aircraft.

With reference now to the figures and, in particular, with reference to <FIG>, a pictorial representation of a network of data processing systems is depicted in which illustrative examples may be implemented. Network data processing system <NUM> is a network of computers in which the illustrative examples may be implemented. Network data processing system <NUM> contains network <NUM>, which is the medium used to provide communications links between various devices and computers connected together within network data processing system <NUM>. Network <NUM> may include connections, such as wire, wireless communication links, or fiber optic cables.

In some examples, including the depicted example, server computer <NUM> and server computer <NUM> connect to network <NUM> along with storage unit <NUM>. In addition, client devices <NUM> connect to network <NUM>. As depicted, client devices <NUM> include client computer <NUM>, client computer <NUM>, and client computer <NUM>. Client devices <NUM> can be, for example, computers, workstations, or network computers. In some examples, including the depicted example, server computer <NUM> provides information, such as boot files, operating system images, and applications to client devices <NUM>. Further, client devices <NUM> can also include other types of client devices such as mobile phone <NUM>, tablet computer <NUM>, and smart glasses <NUM>. In some examples, including this illustrative example, server computer <NUM>, server computer <NUM>, storage unit <NUM>, and client devices <NUM> are network devices that connect to network <NUM> in which network <NUM> is the communications media for these network devices. Some or all of client devices <NUM> may form an Internet-of-things (IoT) in which these physical devices can connect to network <NUM> and exchange information with each other over network <NUM>.

Client devices <NUM> are clients to server computer <NUM> in this and other examples. Network data processing system <NUM> may include additional server computers, client computers, and other devices not shown. Client devices <NUM> connect to network <NUM> utilizing at least one of wired, optical fiber, or wireless connections.

Program code located in network data processing system <NUM> can be stored on a computer-recordable storage medium and downloaded to a data processing system or other device for use. For example, program code can be stored on a computer-recordable storage medium on server computer <NUM> and downloaded to client devices <NUM> over network <NUM> for use on client devices <NUM>.

In some examples, including the depicted example, network data processing system <NUM> is the Internet with network <NUM> representing a worldwide collection of networks and gateways that use the Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, governmental, educational, and other computer systems that route data and messages. Of course, network data processing system <NUM> also may be implemented using a number of different types of networks. For example, network <NUM> can be comprised of at least one of the Internet, an intranet, a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN). <FIG> is intended as an example, and not as an architectural limitation for the different illustrative examples.

As used herein, "a number of," when used with reference to items, means one or more items. For example, "a number of different types of networks" is one or more different types of networks.

Further, the phrase "at least one of," when used with a list of items, means different combinations of one or more of the listed items can be used, and only one of each item in the list may be needed. In other words, "at least one of" means any combination of items and number of items may be used from the list, but not all of the items in the list are required. The item can be a particular object, a thing, or a category.

In this illustrative example, color manager <NUM> runs on server computer <NUM>. Color manager <NUM> operates to print color <NUM> on aircraft <NUM>.

In some examples, including this illustrative example, color manager <NUM> controls at least one of inkjet printer <NUM> or inkjet printer <NUM> to apply one or more colors on the surface of aircraft <NUM>. As depicted, color manager <NUM> can control these inkjet printers by sending instructions <NUM> to client computer <NUM>. In turn, client computer <NUM> sends the appropriate instructions as signals to at least one of inkjet printer <NUM> or inkjet printer <NUM>.

In some examples, including this illustrative example, instructions <NUM> can be at least one of color information, coordinates defining a surface area for printing, program code, inkjet printer settings, or other suitable information. In some examples, including this illustrative example, instructions <NUM> are sent over network <NUM> using Transmission Control Protocol/Internet Protocol (TCP/IP). Instructions <NUM> can be sent as part of a flow of data on network <NUM> in which instructions <NUM> can be placed into data packets. Further, tunneling protocols can be used to provide private network communications between server computer <NUM> and client computer <NUM>.

In some examples, including this illustrative example, in generating instructions <NUM>, color manager <NUM> determines color <NUM> for the exterior surface of aircraft <NUM>. This color can be determined using a design for aircraft <NUM> such as drawing <NUM>.

In some examples, including this illustrative example, drawing <NUM> can be a two-dimensional or three-dimensional drawing of aircraft <NUM>. Drawing <NUM> can be in a computer-aided design file or generated from a computer-aided design file for aircraft <NUM>. In some examples, including this illustrative example, drawing <NUM> contains information such as color codes and surface areas where the color is to be painted. This information can be obtained from at least one of metadata for drawing <NUM> or processing of drawing <NUM>.

For example, drawing <NUM> can be processed using at least one of image processing, text extraction, computational analysis, visual analytics, or other techniques to obtain information about color <NUM> in a surface area in which color <NUM> is to be applied to aircraft <NUM>. The surface area can be contiguous or noncontiguous. The surface area can be part of the design for the aircraft livery for aircraft <NUM>.

In some examples, including this illustrative example, with the identification of color <NUM> for aircraft <NUM>, color manager <NUM> determines whether color <NUM> is inside or outside of the color range of inkjet printer <NUM> and inkjet printer <NUM>.

The determination of whether the color is within the color range of the inkjet printers can be made by determining whether color <NUM> is within a point cloud for each of the inkjet printers. The color range of the inkjet printer is the colors that the inkjet printer can apply. These point clouds represent color spaces for the color ranges for inkjet printer <NUM> and inkjet printer <NUM>.

If the color is outside of the point clouds for these inkjet printers, color manager <NUM> can determine a distance of color <NUM> to each of the point clouds. The inkjet printer having the point cloud with the smallest Euclidean distance that is within a threshold distance can be used to apply color <NUM> to aircraft <NUM>. If the closest distance to one of the point clouds for these two inkjet printers is greater than a threshold distance, then inkjet printer <NUM> and inkjet printer <NUM> may not be able to apply another color that is sufficiently close to color <NUM>. In this case, a customer can be consulted as to whether the closest color to color <NUM> is acceptable, whether another inkjet printer can be considered, or some other action can be taken.

When an inkjet printer is selected to apply color <NUM>, color manager <NUM> sends instructions <NUM> to client computer <NUM> to apply color <NUM> to aircraft <NUM> using the selected inkjet printer.

With reference now to <FIG>, an illustration of a block diagram of a color application environment is depicted in accordance with an illustrative example. In some examples, including this illustrative example, color application environment <NUM> includes components that can be implemented in hardware such as the hardware shown in network data processing system <NUM> in <FIG>.

In color application environment <NUM>, color <NUM> can be applied to object <NUM>. Object <NUM> can take a number of different forms. For example, object <NUM> can be selected from a group comprising a mobile platform, a stationary platform, a land-based structure, an aquatic-based structure, a space-based structure, an aircraft, a commercial aircraft, a rotorcraft, a surface ship, a tank, a personnel carrier, a train, a spacecraft, a space station, a satellite, a submarine, an automobile, a power plant, a bridge, a dam, a house, a manufacturing facility, a building, a skin panel, a wall, a door, a fuselage, an engine housing, a wing, a fairing, and other suitable types of objects.

According to the invention as presently claimed, including this illustrative example, automated color system <NUM> operates to apply color <NUM> to object <NUM> such as aircraft <NUM>.

As depicted, automated color system <NUM> comprises computer system <NUM> and color manager <NUM> in computer system <NUM>.

Color manager <NUM> can be implemented in software, hardware, firmware, or a combination thereof. When software is used, the operations performed by color manager <NUM> can be implemented in program code configured to run on hardware, such as a processor unit. When firmware is used, the operations performed by color manager <NUM> can be implemented in program code and data and stored in persistent memory to run on a processor unit. When hardware is employed, the hardware can include circuits that operate to perform the operations in color manager <NUM>.

In the illustrative examples, the hardware can take a form selected from at least one of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware configured to perform a number of operations. With a programmable logic device, the device can be configured to perform the number of operations. The device can be reconfigured at a later time or can be permanently configured to perform the number of operations. Programmable logic devices include, for example, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, and other suitable hardware devices. Additionally, the processes can be implemented in organic components integrated with inorganic components and can be comprised entirely of organic components excluding a human being. For example, the processes can be implemented as circuits in organic semiconductors.

Computer system <NUM> is a physical hardware system and includes one or more data processing systems. When more than one data processing system is present in computer system <NUM>, those data processing systems are in communication with each other using a communications medium. The communications medium can be a network. The data processing systems can be selected from at least one of a computer, a server computer, a tablet computer, or some other suitable data processing system.

As depicted, color manager <NUM> in computer system <NUM> can operate to identify color <NUM> for object <NUM> from design <NUM>. Design <NUM> is information in an electronic form located in one or more files in design database <NUM>. In some examples, including this illustrative example, design <NUM> can be a two-dimensional or three-dimensional design of object <NUM>. Design <NUM> can be, for example, a computer-aided design in a data structure such as a file or other suitable object that can be stored on a computer-readable medium in computer system <NUM>. Design <NUM> can be, for example, a two-dimensional drawing with text and legends describing a color scheme such as an aircraft livery when object <NUM> is aircraft <NUM>.

Color manager <NUM> can process design <NUM> to determine color <NUM> selected for object <NUM>. According to the invention as presently claimed, color <NUM> can be for use on exterior surface <NUM> of aircraft <NUM>.

This determination of color <NUM> can include, for example, locating metadata for design <NUM> in which the metadata identifies color <NUM>. The information identifying color <NUM> can be a color code, a color space value, or some other description.

With the identification of color <NUM>, color manager <NUM> determines position <NUM> of color <NUM> in a three-dimensional space. Position <NUM> of color <NUM> in space is described using color space coordinate system <NUM> for color space <NUM>.

In some examples, including this illustrative example, a color space is an organization of colors. Color space <NUM> contains information that enables reproducing colors such as color <NUM>. This information is represented in color space coordinate system <NUM>. As depicted, color space <NUM> can be selected from at least one of a LAB color space, an LMS color space, an XYZ color space, or other suitable types of color spaces.

In some examples, including this illustrative example, inkjet printers <NUM> can be used to apply color <NUM> to object <NUM>. In some examples, including this illustrative example, inkjet printers <NUM> can be implemented using currently available inkjet printers designed for industrial use such as for applying colors to vehicles such as automobiles or aircraft. In some examples, including this illustrative example, inkjet printers <NUM> can take the form of robots having printheads that are suitable for applying color <NUM> to object <NUM> such as aircraft <NUM>.

Inkjet printers <NUM> can apply color <NUM> to object <NUM> in a number of different ways. For example, inkjet printers <NUM> can apply color <NUM> by painting or printing color <NUM>. In some examples, including this illustrative example, inkjet printers <NUM> can apply color <NUM> by at least one of painting or printing.

For example, paint can be a liquid comprised of a pigment, a solvent, and a binder. Ink can be a liquid that is translucent and comprised primarily of a pigment and a solvent with a smaller fraction of a binder. The paint has a higher viscosity than the ink. Further, the pigment in the paint may not be as soluble in the solvent as compared to the ink.

In some examples, including this illustrative example, color manager <NUM> can determine whether position <NUM> of color <NUM> selected for object <NUM> is within point cloud <NUM> defining color application capabilities <NUM> for inkjet printer <NUM>. As depicted, color manager <NUM> can select inkjet printer <NUM> in inkjet printers <NUM> for use to apply color <NUM> to object <NUM> when color <NUM> is within point cloud <NUM> defining color application capabilities <NUM> of inkjet printer <NUM>.

For example, in selecting inkjet printer <NUM>, color manager <NUM> can determine position <NUM> of color <NUM> in a three-dimensional space and determine whether Euclidean distance <NUM> from position <NUM> of color <NUM> is zero to any of plurality of point clouds <NUM> defining color application capabilities <NUM> for inkjet printers <NUM>. In some examples, including this illustrative example, points <NUM> in plurality of point clouds <NUM> represent colors <NUM> that can be applied by inkjet printers <NUM> to object <NUM> such as aircraft <NUM>.

As depicted, color manager <NUM> can select inkjet printer <NUM> in inkjet printers <NUM> with point cloud <NUM> in plurality of point clouds <NUM> having smallest Euclidean distance <NUM> to position <NUM> of color <NUM>. Based on the selection, color manager <NUM> can use inkjet printer <NUM> to apply color <NUM> to object <NUM> such as on exterior surface <NUM> of aircraft <NUM>.

In selecting an inkjet printer, color manager <NUM> can identify inkjet printer <NUM> in inkjet printers <NUM> with point cloud <NUM> in plurality of point clouds <NUM> having Euclidean distance <NUM> of zero to position <NUM> of color <NUM>. Further, color manager <NUM> can identify inkjet printer <NUM> in inkjet printers <NUM> with point cloud <NUM> in plurality of point clouds <NUM> having smallest non-zero Euclidean distance <NUM> to position <NUM> of color <NUM> when Euclidean distance <NUM> of zero is absent from position <NUM> of color <NUM> to plurality of point clouds <NUM>.

In some examples, including this illustrative example, smallest non-zero Euclidean distance <NUM> to color <NUM> is represented as alternate color <NUM> that is an approximation of color <NUM>. As depicted, color manager <NUM> can use alternate color <NUM> in place of color <NUM> when smallest non-zero Euclidean distance <NUM> is within threshold distance <NUM>.

Further, if more than one inkjet printer in inkjet printers <NUM> has a zero distance for Euclidean distance <NUM>, those inkjet parameters have the capability to apply color <NUM>. In this case, the selection of a particular inkjet printer from these inkjet printers having a zero distance for Euclidean distance <NUM> can be based on various parameters selected from at least one of a color application speed, a cost, and a number of colors that can be applied. The number of colors that can be applied includes determining if more than one color to be applied to an object all fall within the same point cloud for a particular inkjet printer. For example, if two colors are to be applied and the first color falls within all three of the point clouds for three inkjet printers and the second color only falls within one of the point clouds for the three inkjet printers, the inkjet printer in which the two colors fall within in the point cloud for the inkjet printers is selected.

With the selection of inkjet printer <NUM> in inkjet printers <NUM>, color manager <NUM> can generate instructions <NUM>. In some examples, including this illustrative example, instructions <NUM> represent instructions that can be used to control the operation of inkjet printer <NUM> to apply color <NUM> to object <NUM>, such as aircraft <NUM>.

In some examples, including this illustrative example, instructions <NUM> are sent directly to inkjet printer <NUM> or to a computer or some other type of controller that controls the operation of inkjet printer <NUM>. This computer or controller can be located within or externally to inkjet printer <NUM>.

In some examples, including one illustrative example, one or more technical solutions are present that overcome a technical problem with applying colors to an aircraft. As a result, one or more technical solutions can provide a technical effect of enabling applying a color to an aircraft or some other type of object more quickly as compared to current techniques. In some examples, including the illustrative example, one or more technical solutions enable reducing the time needed to identify an inkjet printer to apply one or more colors for an aircraft livery or a color scheme for other objects from a design such as a drawing.

Computer system <NUM> can be configured to perform at least one of the steps, operations, or actions described in the different illustrative examples using software, hardware, firmware, or a combination thereof. As a result, computer system <NUM> operates as a special purpose computer system in which color manager <NUM> in computer system <NUM> enables identifying an appropriate inkjet printer for applying a color to an object. In particular, color manager <NUM> transforms computer system <NUM> into a special purpose computer system as compared to currently available general computer systems that do not have color manager <NUM>.

In some examples, including the illustrative example, the use of color manager <NUM> in computer system <NUM> integrates processes into a practical application for a method for applying a color to an object that increases the performance of computer system <NUM>. In other words, color manager <NUM> in computer system <NUM> is directed to a practical application of processes integrated into color manager <NUM> in computer system <NUM> that identify an inkjet printer to apply a color to an object. In some examples, including this illustrative example, color manager <NUM> in computer system <NUM> determines whether a position of the color selected for the object is within a point cloud defining color application capabilities for an inkjet printer. The position is in a three-dimensional space for a color space. The inkjet printer is selected by the computer system for use in applying the color to the object when the color is within the point cloud defining the color application capabilities of the inkjet printer that results in a desired accuracy. The desired accuracy of applying the color to meet a specification of the color in a color space to an object using an inkjet printer is controlled by computer system <NUM>. In this manner, color manager <NUM> in computer system <NUM> provides a practical application of applying a color to an object, such as aircraft, such that the functioning of computer system <NUM> is improved.

The illustration of color application environment <NUM> in <FIG> is not meant to imply physical or architectural limitations to the manner in which an illustrative example may be implemented. Other components in addition to or in place of the ones illustrated may be used. Some components may be unnecessary. Also, the blocks are presented to illustrate some functional components. One or more of these blocks may be combined, divided, or combined and divided into different blocks when implemented in an illustrative example.

For example, automated color system <NUM> can identify a number of colors in addition to or in place of color <NUM>. Further, color manager <NUM> can apply these different colors in place of or in addition to the painting of colors by currently used painting mechanisms for object <NUM> such as aircraft <NUM> to form an aircraft livery for aircraft <NUM>.

In still other illustrative examples, inkjet printers <NUM> can be considered components external to automated color system <NUM>. In still other illustrative examples, instructions <NUM> can be generated by another software or hardware component in addition to or in place of color manager <NUM>.

Turning next to <FIG>, an illustration of an extraction of information from a drawing of an aircraft is depicted in accordance with an illustrative example. In some examples, including this illustrative example, drawing <NUM> is an example of design <NUM> in <FIG>. Drawing <NUM> is a two-dimensional drawing in this example and is a view in a computer-aided design model or created using the computer-aided design model. In some examples, including this illustrative example, table <NUM> is an example of information that can be extracted by processing drawing <NUM>. In some examples, including this illustrative example, information identified from drawing <NUM> in table <NUM> includes program name <NUM>, revision <NUM>, customer <NUM>, date <NUM>, color code <NUM> for the color, location <NUM>, area <NUM> in which the color is to be applied, and color space value <NUM>. As depicted, a color space value provides a position of the color to identify color code <NUM> in a color space. This information can be used to determine whether the color can be applied by a particular inkjet printer.

With reference now to <FIG>, an illustration of Euclidean distances determined for colors to point clouds is depicted in accordance with an illustrative example. In some examples, including this illustrative example, table <NUM> illustrates positions of colors relative to point clouds for color application capabilities of inkjet printers. As depicted, table <NUM> includes columns for color code <NUM>, position <NUM>, Euclidean distance (dE) <NUM>, nearest point cloud <NUM>, and inkjet printer identifier <NUM>.

In some examples, including this example, color code <NUM> identifies the color to be applied to an exterior of an aircraft. Position <NUM> identifies a position in the color in the color space. In some examples, including this illustrative example, the color space is a LAB color space. Euclidean distance <NUM> is the nearest distance from the position of the color to a point cloud for a particular inkjet printer. Nearest point cloud <NUM> is the nearest point in the point cloud to the position of the color.

In some examples, including this depicted example, entries are present for five colors to be applied to the exterior of the aircraft. In this example, the colors include color A <NUM>, color B <NUM>, color C <NUM>, color D <NUM>, and color E <NUM>.

In some examples, including this depicted example, the inkjet printer with the point cloud having the nearest Euclidean distance to the position of a color can be selected to apply the color to the aircraft. For example, color A <NUM> has point clouds for inkjet printers that can be considered for applying color A <NUM>. In some examples, including this example, inkjet4 is the inkjet printer having the closest distance to the position of color A <NUM> with a dE of <NUM>. The point cloud with the closest distance can also be referred to as the nearest point cloud in this illustrative example and other examples. In other examples, for color B <NUM>, inkejet4 is the inkjet printer having the closest distance to the position of color B <NUM> with a dE of <NUM>.

In some examples, including this illustrative example, if the distance threshold is <NUM>, inkjet4 is selected as the inkjet printer that can apply an alternate color from color A <NUM>. With color B <NUM>, an alert is generated even though inkjet4 is the inkjet printer having the nearest distance to the position of color B <NUM>. The alert is generated because this Euclidean distance is not within the threshold limit of <NUM>.

Turning next to <FIG>, an illustration of a flowchart of a process for applying a color to an object is depicted in accordance with an illustrative example. The process in <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one or more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in color manager <NUM> in computer system <NUM> in <FIG>. This process can be utilized to apply a color to at least one of an exterior or an interior of an object such as object <NUM> in the form of aircraft <NUM> in <FIG>.

The process begins by determining whether a position of a color selected for an object is within a point cloud defining color application capabilities for an inkjet printer (operation <NUM>). In operation <NUM>, the position is in a three-dimensional space for a color space. For example, with a LAB color space, the coordinates are l= lightness, a = green axis, and b = blue axis.

The process selects the inkjet printer for use to apply the color to the object when the color is within the point cloud defining the color application capabilities of the inkjet printer (operation <NUM>). The process terminates thereafter. The process can apply the color to the object using the selected inkjet printer.

Turning next to <FIG>, an illustration of a flowchart of a process for applying a color to an object is depicted in accordance with an illustrative example. In some examples, including this illustrative example, this flowchart illustrates additional steps that can be performed as part of the flowchart in <FIG>. These steps can be performed when the position of the color is not within the point cloud of the inkjet printer in operation <NUM> in <FIG>.

The process determines whether a position of a color selected for an object is within another point cloud defining color application capabilities for another inkjet printer when the color is not within the point cloud for the inkjet printer (operation <NUM>). The process selects the another inkjet printer to apply the color to the object when the color is within the point cloud of the inkjet printer (operation <NUM>). The process terminates thereafter.

Turning for <FIG>, an illustration of a process for determining whether a position of a color is within a point cloud is depicted in accordance with an illustrative example. The process illustrated in <FIG> is an example of one manner in which operation <NUM> in <FIG> can be implemented.

The process determines a Euclidean distance from a position of a color to a nearest point in a point cloud (operation <NUM>). In operation <NUM>, the position of the color is within the point cloud when the Euclidean distance is zero. The process terminates thereafter.

Turning now to <FIG>, an illustration of a flowchart of a process for applying a color to an aircraft is depicted in accordance with an illustrative example. The process in <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one or more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in color manager <NUM> in computer system <NUM> in <FIG>.

The process begins by determining a color for an exterior surface of an aircraft from a design of the aircraft (operation <NUM>). The process determines a position of the color in a three-dimensional space (operation <NUM>). In operation <NUM>, the position is in a color space coordinate system.

The process selects an inkjet printer in inkjet printers with a point cloud in a plurality of point clouds having a smallest Euclidean distance to the position of the color (operation <NUM>). In operation <NUM>, points in the plurality of point clouds represent colors that can be applied by the inkjet printers to the aircraft. In operation <NUM>, the inkjet printer selected can be used to apply the color on the exterior surface of the aircraft. The process terminates thereafter.

In this flowchart, the inkjet printer with the smallest Euclidean distance to position of the color can be zero. A distance of zero means the position of the color is on or within the point cloud.

With reference to <FIG>, an illustration of a flowchart of a process for applying a color to an aircraft is depicted in accordance with an illustrative example. The process in <FIG> is an example of one manner in which operation <NUM> in <FIG> can be implemented.

The process begins by determining whether an inkjet printer in inkjet printers with a point cloud in a plurality of point clouds has a Euclidean distance of zero to a position of a color from the point cloud (operation <NUM>). If the point cloud has a zero distance to the position of the color from the point cloud, the process selects the inkjet printer as a candidate for use in applying the color (operation <NUM>). The process terminates thereafter.

With reference again to operation <NUM>, if a zero distance is not present, the process identifies the inkjet printer in the inkjet printers with the point cloud in the plurality of point clouds having a smallest non-zero Euclidean distance to the position of the color from the point cloud when a Euclidean distance of zero is absent from the position of the color to the plurality of point clouds (operation <NUM>). The process terminates thereafter.

With reference next to <FIG>, an illustration of a flowchart of a process for selecting an inkjet printer when a non-zero Euclidean distance to a point cloud is present is depicted in accordance with an illustrative example. The process in <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one or more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in color manager <NUM> in computer system <NUM> in <FIG>.

The process identifies a point in a point cloud having a smallest non-zero Euclidean distance to a color as an alternate color (operation <NUM>). This alternate color is an approximation of the color. The process determines whether a Euclidean distance for the point in the point cloud to the position of the color is within a threshold distance (operation <NUM>). The threshold distance in operation <NUM> is selected as to indicate when a color is sufficiently close to use as an alternate color. For example, the threshold distance can be selected such the difference between the color and the alternate color is not perceptible by a human eye.

In operation <NUM>, the threshold distance can be selected in a number of different ways. The threshold distance can be one in which a person cannot perceive the difference between the color and the alternate color.

If the Euclidean distance is within the threshold, the process selects an inkjet printer to apply the alternate color (operation <NUM>). The process terminates thereafter. If the Euclidean distance is greater than the threshold distance, the process generates an alert (operation <NUM>). The process terminates thereafter. This alert can indicate that the color that can be applied by the inkjet printer is too different from the color selected by a customer. With this alert, a number of different actions can be taken. For example, the customer can be consulted with respect to the color selection. In other examples, additional inkjet printers can be identified and analyzed to determine whether these additional inkjet printers can apply the desired color.

Turning next to <FIG>, an illustration of a flowchart of a process for creating instructions to apply a color to an object is depicted in accordance with an illustrative example. The process in <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one or more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in color manager <NUM> in computer system <NUM> in <FIG>.

The process begins by determining a surface area for a color on an exterior surface of an aircraft (operation <NUM>). In operation <NUM>, the surface area is determined using a design of the aircraft. The process determines an amount of the color needed by an inkjet printer to apply the color to the surface area on the exterior surface of the aircraft (operation <NUM>). The process creates instructions used to control the inkjet printer to apply the color to the surface area on the object (operation <NUM>). The process terminates thereafter.

Turning now to <FIG>, an illustration of a flowchart of a process for selecting an inkjet printer for applying colors to an aircraft is depicted in accordance with an illustrative example. The process in <FIG> can be implemented in hardware, software, or both. When implemented in software, the process can take the form of program code that is run by one or more processor units located in one or more hardware devices in one or more computer systems. For example, the process can be implemented in color manager <NUM> in computer system <NUM> in <FIG>. This process can be utilized to apply color to at least one of an exterior or an interior of an object such as object <NUM> in the form of aircraft <NUM> in <FIG>.

The process begins by identifying a set of colors from a drawing of an aircraft (operation <NUM>). In operation <NUM>, the set of colors can be identified by performing image processing on the drawing. This image processing can include optical character recognition. In this operation, information such as customer name, program name, livery dates, revision number, and color codes can be identified.

The process then selects a color in the set of colors for processing (operation <NUM>). The process determines whether the color is within a color range for a set of point clouds for a set of inkjet printers (operation <NUM>). In operation <NUM>, the color is within the color range for the point cloud when the color has a position in a color space that is inside of the point. This determination can be made using a robust inside-outside segmentation using generalized winding numbers.

If the color is within the color range for a number of point clouds in the set of point clouds, the set of inkjet printers corresponding to the number of point clouds is selected as inkjet printers that can apply the color (operation <NUM>).

Otherwise, a nearest Euclidean distance is determined in the position of the color to the set of point clouds (operation <NUM>). In operation <NUM>, the process identifies the point cloud in the set of point clouds for the set of inkjet printers having the nearest Euclidean distance. In this and other examples, an assumption is made that only one of the point clouds will have a nearest Euclidean distance.

In operation <NUM>, the Euclidean distance can be determined in a LAB color space as follows:
dE is the difference between a reference color ( <MAT>) and another color ( <MAT>) <MAT> where, <MAT> <MAT> <MAT> <MAT> <MAT> <MAT> <MAT> <MAT> <MAT> <MAT> and where kC and kH are usually both unity and the weighting factorskL, K<NUM> and K<NUM>.

The process then determines whether the distance is within a threshold distance (operation <NUM>). If the distance is within the threshold distance, the process then selects an inkjet printer corresponding to the point cloud having the nearest distance as a candidate for applying the color (operation <NUM>).

A determination is then made as to whether another color is present for processing (operation <NUM>). The process also proceeds to the determination in operation <NUM> from operation <NUM> in this and other examples.

If another color is present that has not been processed, the process returns to operation <NUM>.

With reference again to operation <NUM>, if the distance is not within the threshold, an alert is generated (operation <NUM>). In operation <NUM>, the alert can be used as an indication that additional inkjet printers should be identified for consideration to apply the color. The process then proceeds to operation <NUM>.

With reference again to operation <NUM>, if additional colors are not present for processing, the process then identifies one or more inkjet printers from the candidate inkjet printers identified for applying the set of colors to the aircraft (operation <NUM>). More than one inkjet printer may be present that is capable for applying a particular color. The inkjet printers selected can be ones that can print most or all of the colors identified for the aircraft.

The process then determines a set of surface areas on the aircraft on which the set of colors is to be applied (operation <NUM>). The process then identifies resources needed to apply the set of colors to the aircraft (operation <NUM>). The process terminates thereafter. These resources identified in operation <NUM> include an amount of color and an availability of the selected inkjet printers. For example, multiple inkjet printers of the same type can be selected to increase the speed at which color can be applied. The identification of these resources in operation <NUM> can be used to schedule and indicate how much time is needed to apply the color.

This determination can be used to determine how this portion of the manufacturing process of the aircraft affects the delivery date of the aircraft.

The flowcharts and block diagrams in the different depicted examples illustrate the architecture, functionality, and operation of some possible implementations of apparatuses and methods in an illustrative example. In this regard, each block in the flowcharts or block diagrams can represent at least one of a module, a segment, a function, or a portion of an operation or step. For example, one or more of the blocks can be implemented as program code, hardware, or a combination of the program code and hardware. When implemented in hardware, the hardware can, for example, take the form of integrated circuits that are manufactured or configured to perform one or more operations in the flowcharts or block diagrams. When implemented as a combination of program code and hardware, the implementation may take the form of firmware. Each block in the flowcharts or the block diagrams can be implemented using special purpose hardware systems that perform the different operations or combinations of special purpose hardware and program code run by the special purpose hardware.

In some alternative implementations of an illustrative example, the function or functions noted in the blocks may occur out of the order noted in the figures. For example, in some cases, two blocks shown in succession may be performed substantially concurrently, or the blocks may sometimes be performed in the reverse order, depending upon the functionality involved. Also, other blocks may be added in addition to the illustrated blocks in a flowchart or block diagram.

Turning now to <FIG>, an illustration of a block diagram of a data processing system is depicted in accordance with an illustrative example. Data processing system <NUM> can be used to implement server computer <NUM>, server computer <NUM>, and client devices <NUM> in <FIG>. Data processing system <NUM> can also be used to implement computer system <NUM> in <FIG>. In some examples, including this illustrative example, data processing system <NUM> includes communications framework <NUM>, which provides communications between processor unit <NUM>, memory <NUM>, persistent storage <NUM>, communications unit <NUM>, input/output (I/O) unit <NUM>, and display <NUM>. In this and other examples, communications framework <NUM> takes the form of a bus system.

Processor unit <NUM> serves to execute instructions for software that can be loaded into memory <NUM>. Processor unit <NUM> includes one or more processors. For example, processor unit <NUM> can be selected from at least one of a multicore processor, a central processing unit (CPU), a graphics processing unit (GPU), a physics processing unit (PPU), a digital signal processor (DSP), a network processor, or some other suitable type of processor. Further, processor unit <NUM> can may be implemented using one or more heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. In other illustrative examples, processor unit <NUM> can be a symmetric multi-processor system containing multiple processors of the same type on a single chip.

Memory <NUM> and persistent storage <NUM> are examples of storage devices <NUM>. A storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, at least one of data, program code in functional form, or other suitable information either on a temporary basis, a permanent basis, or both on a temporary basis and a permanent basis. Storage devices <NUM> may also be referred to as computer-readable storage devices in these and other illustrative examples. Memory <NUM>, in these and other examples, can be, for example, a random-access memory or any other suitable volatile or non-volatile storage device. Persistent storage <NUM> can take various forms, depending on the particular implementation.

For example, persistent storage <NUM> may contain one or more components or devices. For example, persistent storage <NUM> can be a hard drive, a solid-state drive (SSD), a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage <NUM> also can be removable. For example, a removable hard drive can be used for persistent storage <NUM>.

Communications unit <NUM>, in these and other illustrative examples, provides for communications with other data processing systems or devices. In these and other illustrative examples, communications unit <NUM> is a network interface card.

Input/output unit <NUM> allows for input and output of data with other devices that can be connected to data processing system <NUM>. For example, input/output unit <NUM> can provide a connection for user input through at least one of a keyboard, a mouse, or some other suitable input device. Further, input/output unit <NUM> can send output to a printer. Display <NUM> provides a mechanism to display information to a user.

Instructions for at least one of the operating system, applications, or programs can be located in storage devices <NUM>, which are in communication with processor unit <NUM> through communications framework <NUM>. The processes of the different examples can be performed by processor unit <NUM> using computer-implemented instructions, which can be located in a memory, such as memory <NUM>.

These instructions are referred to as program code, computer usable program code, or computer-readable program code that can be read and executed by a processor in processor unit <NUM>. The program code in the different examples can be embodied on different physical or computer-readable storage medium, such as memory <NUM> or persistent storage <NUM>.

Program code <NUM> is located in a functional form on computer-readable medium <NUM> that is selectively removable and can be loaded onto or transferred to data processing system <NUM> for execution by processor unit <NUM>. Program code <NUM> and computer-readable medium <NUM> form computer program product <NUM> in these and other illustrative examples. In the illustrative example, computer-readable medium <NUM> is computer-readable storage medium <NUM>. In these and other illustrative examples, computer-readable storage medium <NUM> is a physical or tangible storage device used to store program code <NUM> rather than a medium that propagates or transmits program code <NUM>. Computer readable storage medium <NUM>, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Alternatively, program code <NUM> can be transferred to data processing system <NUM> using a computer-readable signal media. The computer-readable signal media can be, for example, a propagated data signal containing program code <NUM>. For example, the computer-readable signal media can be at least one of an electromagnetic signal, an optical signal, or any other suitable type of signal. These signals can be transmitted over connections, such as wireless connections, optical fiber cable, coaxial cable, a wire, or any other suitable type of connection.

Further, as used herein, "computer-readable media <NUM>" can be singular or plural. For example, program code <NUM> can be located in computer-readable media <NUM> in the form of a single storage device or system. In other examples, program code <NUM> can be located in computer-readable media <NUM> that is distributed in multiple data processing systems. In other words, some instructions in program code <NUM> can be located in one data processing system while other instructions in program code <NUM> can be located in one data processing system. For example, a portion of program code <NUM> can be located in computer-readable media <NUM> in a server computer while another portion of program code <NUM> can be located in computer-readable media <NUM> located in a set of client computers.

The different components illustrated for data processing system <NUM> are not meant to provide architectural limitations to the manner in which different examples can be implemented. In some illustrative examples, one or more of the components may be incorporated in or otherwise form a portion of, another component. For example, memory <NUM>, or portions thereof, can be incorporated in processor unit <NUM> in some illustrative examples. The different illustrative examples can be implemented in a data processing system including components in addition to or in place of those illustrated for data processing system <NUM>. Other components shown in <FIG> can be varied from the illustrative examples shown. The different examples can be implemented using any hardware device or system capable of running program code <NUM>.

Illustrative examples of the disclosure may be described in the context of aircraft manufacturing and service method <NUM> as shown in <FIG> and aircraft <NUM> as shown in <FIG>. Turning first to <FIG>, an illustration of an aircraft manufacturing and service method is depicted in accordance with an illustrative example. During pre-production, aircraft manufacturing and service method <NUM> may include specification and design <NUM> of aircraft <NUM> in <FIG> and material procurement <NUM>.

During production, component and subassembly manufacturing <NUM> and system integration <NUM> of aircraft <NUM> in <FIG> takes place. Thereafter, aircraft <NUM> in <FIG> can go through certification and delivery <NUM> in order to be placed in service <NUM>. While in service <NUM> by a customer, aircraft <NUM> in <FIG> is scheduled for routine maintenance and service <NUM>, which may include modification, reconfiguration, refurbishment, and other maintenance or service.

Each of the processes of aircraft manufacturing and service method <NUM> may be performed or carried out by a system integrator, a third party, an operator, or some combination thereof. In these and other examples, the operator may be a customer.

With reference now to <FIG>, an illustration of an aircraft is depicted in which an illustrative example may be implemented. In some examples, including this example, aircraft <NUM> is produced by aircraft manufacturing and service method <NUM> in <FIG> and may include airframe <NUM> with plurality of systems <NUM> and interior <NUM>. Examples of systems <NUM> include one or more of propulsion system <NUM>, electrical system <NUM>, hydraulic system <NUM>, and environmental system <NUM>. Any number of other systems may be included. Although an aerospace example is shown, different illustrative examples may be applied to other industries, such as the automotive industry.

Apparatuses and methods embodied herein may be employed during at least one of the stages of aircraft manufacturing and service method <NUM> in <FIG>.

In some illustrative example, components or subassemblies produced in component and subassembly manufacturing <NUM> in <FIG> can be fabricated or manufactured in a manner similar to components or subassemblies produced while aircraft <NUM> is in service <NUM> in <FIG>. In yet other examples, one or more apparatus examples, method examples, or a combination thereof can be utilized during production stages, such as component and subassembly manufacturing <NUM> and system integration <NUM> in <FIG>. One or more apparatus examples, method examples, or a combination thereof may be utilized while aircraft <NUM> is in service <NUM>, during maintenance and service <NUM> in <FIG>, or both. The use of a number of the different illustrative examples may substantially expedite the assembly of aircraft <NUM>, reduce the cost of aircraft <NUM>, or both expedite the assembly of aircraft <NUM> and reduce the cost of aircraft <NUM>.

For example, color manager <NUM> in <FIG> can be used during at least one of component and subassembly manufacturing <NUM> or system integration <NUM> of aircraft <NUM> in <FIG> to more quickly and efficiently applied colors to aircraft <NUM> as compared to current techniques. Further, color manager <NUM> can be used during maintenance and service <NUM> to applied colors to aircraft <NUM> as part of include modification, reconfiguration, refurbishment, and other maintenance or service of aircraft <NUM>.

Turning now to <FIG>, an illustration of a block diagram of a product management system is depicted in accordance with an illustrative example. Product management system <NUM> is a physical hardware system. In some examples, including this illustrative example, product management system <NUM> includes at least one of manufacturing system <NUM> or maintenance system <NUM>.

Manufacturing system <NUM> is configured to manufacture products, such as aircraft <NUM> in <FIG>. As depicted, manufacturing system <NUM> includes manufacturing equipment <NUM>. Manufacturing equipment <NUM> includes at least one of fabrication equipment <NUM> or assembly equipment <NUM>.

Fabrication equipment <NUM> is equipment that used to fabricate components for parts used to form aircraft <NUM> in <FIG>. For example, fabrication equipment <NUM> can include machines and tools. These machines and tools can be at least one of a drill, a hydraulic press, a furnace, a mold, a composite tape laying machine, a vacuum system, a lathe, or other suitable types of equipment. Fabrication equipment <NUM> can be used to fabricate at least one of metal parts, composite parts, semiconductors, circuits, fasteners, ribs, skin panels, spars, antennas, or other suitable types of parts.

Assembly equipment <NUM> is equipment used to assemble parts to form aircraft <NUM> in <FIG>. In particular, assembly equipment <NUM> is used to assemble components and parts to form aircraft <NUM> in <FIG>. Assembly equipment <NUM> also can include machines and tools. These machines and tools may be at least one of a robotic arm, a crawler, a fastener installation system, a rail-based drilling system, or a robot. Assembly equipment <NUM> can be used to assemble parts such as seats, horizontal stabilizers, wings, engines, engine housings, landing gear systems, and other parts for aircraft <NUM> in <FIG>.

In some examples, including this illustrative example, maintenance system <NUM> includes maintenance equipment <NUM>. Maintenance equipment <NUM> can include any equipment needed to perform maintenance on aircraft <NUM> in <FIG>. Maintenance equipment <NUM> may include tools for performing different operations on parts on aircraft <NUM> in <FIG>. These operations can include at least one of disassembling parts, refurbishing parts, inspecting parts, reworking parts, manufacturing replacement parts, or other operations for performing maintenance on aircraft <NUM> in <FIG>. These operations can be for routine maintenance, inspections, upgrades, refurbishment, or other types of maintenance operations.

In some examples, including this illustrative example, maintenance equipment <NUM> may include ultrasonic inspection devices, x-ray imaging systems, vision systems, drills, crawlers, and other suitable devices. In some cases, maintenance equipment <NUM> can include fabrication equipment <NUM>, assembly equipment <NUM>, or both to produce and assemble parts that needed for maintenance.

Product management system <NUM> also includes control system <NUM>. Control system <NUM> is a hardware system and may also include software or other types of components. Control system <NUM> is configured to control the operation of at least one of manufacturing system <NUM> or maintenance system <NUM>. In particular, control system <NUM> can control the operation of at least one of fabrication equipment <NUM>, assembly equipment <NUM>, or maintenance equipment <NUM>.

The hardware in control system <NUM> can be implemented using hardware that may include computers, circuits, networks, and other types of equipment. The control may take the form of direct control of manufacturing equipment <NUM>. For example, robots, computer-controlled machines, and other equipment can be controlled by control system <NUM>. In other illustrative examples, control system <NUM> can manage operations performed by human operators <NUM> in manufacturing or performing maintenance on aircraft <NUM>. For example, control system <NUM> can assign tasks, provide instructions, display models, or perform other operations to manage operations performed by human operators <NUM>. In these and other illustrative examples, color manager <NUM> in <FIG> can be implemented in control system <NUM> to manage at least one of the manufacturing or maintenance of aircraft <NUM> in <FIG>. For example, color manager <NUM> can operate to select inkjet printers for use in applying colors to a product such as aircraft <NUM>. Further, color manager <NUM> can control operation of the inkjet printers to apply the colors to a product such as aircraft <NUM>.

In the different illustrative examples, human operators <NUM> can operate or interact with at least one of manufacturing equipment <NUM>, maintenance equipment <NUM>, or control system <NUM>. This interaction can occur to manufacture aircraft <NUM> in <FIG>.

Of course, product management system <NUM> may be configured to manage other products other than aircraft <NUM> in <FIG>. Although product management system <NUM> has been described with respect to manufacturing in the aerospace industry, product management system <NUM> can be configured to manage products for other industries. For example, product management system <NUM> can be configured to manufacture products for the automotive industry as well as any other suitable industries.

Thus, the illustrative examples provide a method, apparatus, system, and computer program product for applying a color to an aircraft. The color for an exterior surface of the aircraft is determined by a computer system from a design of the aircraft. A position of the color in a three-dimensional space is determined by the computer system. The position is in a color space coordinate system. An inkjet printer in the inkjet printers with a point cloud in the plurality of point clouds having a smallest Euclidean distance to the position of the color is selected by the computer system. The inkjet printer is used to apply the color on the exterior surface of the aircraft.

In some examples, including the illustrative example, the different processes can be performed automatically to identify a set of colors from a design and select one or more inkjet printers to apply the color to an object such as an aircraft. The illustrative examples can be applied to manufacturing objects such as aircraft, ground vehicles, spacecraft, ships, and other objects in which a color is to be applied to the objects.

One or more technical solutions are present in the illustrative examples that overcome a technical problem with applying colors to an aircraft. As a result, one or more technical solutions can provide a technical effect enabling applying a color to an aircraft or other type of object more quickly as compared to current techniques. In some examples, including the illustrative example, one or more technical solutions enable reducing the time needed to identify an inkjet printer to apply one or more colors for an aircraft livery or a color scheme for other objects from a design such as a drawing.

Claim 1:
A method for applying a color (<NUM>) to an object (<NUM>), the method comprising:
determining (<NUM>), by a computer system (<NUM>), whether a position (<NUM>) of the color (<NUM>) selected for the object (<NUM>) is within a point cloud (<NUM>) defining color application capabilities (<NUM>) for an inkjet printer (<NUM>), wherein the position (<NUM>) is in a three-dimensional space for a color space (<NUM>), by determining, by the computer system (<NUM>), a Euclidean distance (<NUM>) from the position (<NUM>) of the color (<NUM>) to a nearest point in the point cloud (<NUM>), wherein the position (<NUM>) of the color (<NUM>) is within the point cloud (<NUM>) when the Euclidean distance (<NUM>) is zero;
selecting (<NUM>), by the computer system (<NUM>), the inkjet printer (<NUM>) for use to apply the color (<NUM>) to the object (<NUM>) when the color (<NUM>) is within the point cloud (<NUM>) defining the color application capabilities (<NUM>) of the inkjet printer (<NUM>);
determining (<NUM>), by the computer system (<NUM>), a surface area for the color (<NUM>) on the object (<NUM>), wherein the surface area is determined using a design (<NUM>) of the object (<NUM>); and
determining (<NUM>), by the computer system (<NUM>), an amount of paint needed to apply the color (<NUM>) to the surface area, wherein the surface area is an exterior surface area of an aircraft.