1. Field of the Invention
The present invention relates to a print data dividing apparatus and a program for dividing print data into a plurality of areas and printing them and to a recording medium in which such a program has been recorded.
2. Description of the Related Art
A manufacturing method of a model whereby a first portion and a second portion of the model are molded based on three-dimensional (hereinbelow, referred to as 3D) shape data and the molded first and second portions are unitedly by mutually joining them has been known. Japanese Patent Application Laid-Open No. H11-216273 discloses a manufacturing method of a model whereby a head portion and a body portion of the model are prepared by materials of different qualities, the head portion and the body portion are molded based on 3D shape data, and the molded head portion and body portion are integrated by mutually joining them.
In Japanese Patent Application Laid-Open No. H11-216273, a manufacturing of the model whose size and shape have been predetermined is presumed. For example, when the size of model exceeds a maximum size in which the model can be molded by a molding apparatus, it is necessary that the model is finely divided into portions within a range of the maximum size and the divided portions are molded and joined. When the model of a predetermined shape is divided, fitting portions of predetermined shapes can be also set to predetermined positions. However, in the case of dividing a model which does not have a predetermined shape, it is difficult to set fitting portions of predetermined shapes to predetermined positions. If a model is designed in such a manner that no fitting portions are provided for the model to be divided and the model is rectilinearly divided, there is also such a problem that when the divided models are joined, their positioning is difficult and, further, their joints are easily deviated.
It is, therefore, an aspect of the invention to provide a print data dividing apparatus in which 3D image data is divided into a plurality of areas, a fitting shape (joint portion) of a kind corresponding to a size of a joint surface of each area and a position of the area is provided for such a joint surface, and 3D shape data for division printing is generated.
According to one aspect of the invention, there is provided a print data dividing apparatus comprising: a dividing unit configured to divide 3D image data having image information and distance information every pixel into a plurality of areas; a determining unit configured to determine a kind of joining process to a joint surface of a target area among the plurality of areas on the basis of a position of the target area among all of the plurality of areas and a thickness of the joint surface or a length of a side of the joint surface; and a generating unit configured to generate 3D shape data for division printing regarding the target area in which a joint portion corresponding to the determined kind of joining process has been provided for the joint surface.
According to the aspect of the invention, the 3D image data is divided into the plurality of areas and, when the 3D shape data for division printing regarding the plurality of areas to be joined is generated, the joint portion of the kind corresponding to the thickness or the length of side of the joint surface of each area and the position among all of the areas is provided for the joint surface. Therefore, there is such an advantage that when a plurality of printed matters which were formed by a printing device and are related to a plurality of areas are mutually joined, their positioning can be easily performed and each printed matter is difficult to be deviated.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Preferred embodiments of the present invention will now be described in detail hereinbelow in accordance with the accompanying drawings. The invention is not limited to, for example, a digital single-lens reflex camera and a digital compact camera but can be applied to a digital video camera, a cellular phone, a 3D scanner, a generating apparatus of 3D print data in a computer apparatus, and the like.
The print data dividing apparatus 100 has a central processing unit (CPU) 101, a hard disk drive (HDD) 102, a memory 103, a display controlling unit 104, an operation unit 105, a driving device 106, and a communicating device 109 which are connected to an internal bus 108. The units and devices 101 to 106 and 109 connected to the internal bus 108 mutually communicate data through the internal bus 108.
3D image data, 2D image data, other data, various kinds of programs by which the CPU 101 operates, and the like are stored in the HDD 102. The memory 103 is constructed by, for example, a RAM. In accordance with the programs stored in the HDD 102, the CPU 101 controls each unit and each device of the print data dividing apparatus 100 by using the memory 103 as a work memory. The CPU 101 is also an inputting unit, a dividing unit, a determining unit, and a generating unit which function on the basis of predetermined programs. The programs for making the CPU 101 operative may have previously been stored in, for example, a ROM (not shown) without limiting to the HDD 102.
The operation unit 105 receives the operation of the user, generates a control signal corresponding to the operation, and supplies to the CPU 101. For example, as inputting devices for receiving the operation of the user, the operation unit 105 has a character information inputting device such as a keyboard or the like, a pointing device such as mouse, stylus pen, or touch panel, or the like. The touch panel is, for example, an inputting device constructed in such a manner that coordinate information corresponding to a position where the operation unit 105 constructed in a flat shape has been touched is output.
On the basis of the control signal which is generated and supplied by the operation unit 105 in accordance with the operation of the user performed to the inputting device, the CPU 101 controls the units and devices 102 to 106 and 109 of the print data dividing apparatus 100 in accordance with the predetermined programs. Thus, the print data dividing apparatus 100 executes the operation in accordance with the operation of the user.
The display controlling unit 104 outputs a display signal for displaying an image to a display 107. For example, a display control signal generated by the CPU 101 in accordance with the predetermined program is supplied to the display controlling unit 104. The display controlling unit 104 generates the display signal on the basis of the display control signal and outputs to the display 107. On the basis of the display control signal supplied from the CPU 101, the display controlling unit 104 displays a GUI (Graphical User Interface) screen constructing a GUI to the display 107.
If the touch panel is used as an operation unit 105, the operation unit 105 and the display 107 can be unitedly constructed. For example, they are unitedly constructed in such a manner that the touch panel is attached to an upper layer of a display screen of the display 107 so as not to obstruct the display of the display 107, and input coordinates on the touch panel and display coordinates on the display 107 are made to correspond to each other. Thus, such a GUI that the user can operate as if he could directly operate the screen displayed on the display 107 can be constructed.
An external storage medium (not shown) such as a CD or DVD is detachable to the driving device 106. On the basis of the control of the CPU 101, the driving device 106 reads out data from the attached external storage medium or writes data into the external storage medium. The external storage medium which is detachable to the driving device 106 is not limited to a disk recording medium such as a CD or DVD but, for example, a non-volatile semiconductor memory such as a memory card or the like may be attached to the driving device 106.
On the basis of the control of the CPU 101, through a network (not shown) such as LAN or Internet, the communicating device 109 communicates with an external device such as a printing device 110 or the like connected to the print data dividing apparatus 100. As for the printing device 110, a printable maximum print size (vertical, horizontal, and thickness) has been predetermined in accordance with the specifications. The printing device 110 forms a printed matter corresponding to the data from the print data dividing apparatus 100.
Subsequently, a method of generating 3D shape data for division printing from the 3D image data having the image information per 2D (two-dimensional) pixel and the distance information per pixel by the print data dividing apparatus 100 of the embodiment will be described.
First, on the basis of the maximum print size of the printing device 110, the CPU 101 divides the original 3D image data corresponding to the desired print vertical/horizontal sizes (hereinbelow, also referred to as “desired print sizes”) of the user into a plurality of areas. On the basis of a thickness of joint surface of each area and a position in the whole 3D image data of each area, the CPU 101 generates 3D shape data for division printing in which a joint portion of a different kind has been provided for the joint surface of each area.
First, in S201 in
In S203, the CPU 101 (inputting unit) sends the display control signal to the display controlling unit 104 and the display controlling unit 104 performs a display to urge the user to input desired print vertical/horizontal sizes after a plurality of print matters regarding a plurality of areas formed by the printing device were joined onto the display 107. In S204, on the basis of the control signal from the operation unit 105, the CPU 101 determines whether or not the input of the desired print vertical/horizontal sizes has been decided. If the input has been decided, the processing routine advances to S205.
In S205, the CPU 101 (inputting unit) sends the display control signal to the display controlling unit 104. In response to it, the display controlling unit 104 performs a display to urge the user to input a desired print thickness size after the joint onto the display 107. The print thickness size which can be input by the user may be limited to a maximum print thickness which is printable by the printing device 110. In S206, on the basis of the control signal from the operation unit 105, the CPU 101 determines whether or not the input of the desired print thickness size by the user has been decided. If the input has been decided, S207 follows.
The position of the pixel in the 3D image data regarding the printed matter which is formed becomes information which is analogous to the print vertical/horizontal sizes. With respect to the distance information held by each pixel of the 3D image data, relative distance differences among the pixels at the time of performing the 3D printing becomes information which is analogous to the print thickness size of the printed matter. In the embodiment, although the printed matter which is formed by the printing device 110 is not limited, a relief shape is presumed and the print vertical/horizontal sizes correspond to vertical/horizontal sizes of the relief shape.
In S207, in consideration of an increase in size of each area that is caused by providing the joint portions, the CPU 101 (dividing unit) executes a process (area dividing process) for dividing the 3D image data into a plurality of areas in a matrix form so as to lie within a range of the maximum print sizes input in S201. By using values which have previously been stored in the HDD 102 or the like, the CPU 101 may discriminate a degree of increase in size caused by providing the joint portions. Or, the CPU 101 may discriminate the degree of increase on the basis of information supplied from the external device such as a printing device 110 or the like. At this point of time, since no joint portion is provided for the joint surface of each area, each area has a flat joint surface.
The area dividing process will be described by using examples of
The number of areas to be divided and the sizes of the areas are set in consideration of the maximum print sizes of the printing device 110, the increase in size caused by providing the joint portion for the joint surface of each area, and the like. In other words, the number of areas to be divided and the sizes of the areas are set in such a manner that even if the joint portion is provided for each area to be divided, the size of each area does not exceed the maximum print sizes (vertical, horizontal, and thickness) of the printing device 110.
In the example of
The hatched areas 501, 503, 505, 507, 509, 511, 513, and 515 in
As mentioned above, the area dividing process can be executed in such a manner that even if the joint portion is provided for each area, the increase size lies within the maximum print size of the printing device. In the Description, “upper” indicates the direction of the small row number, “lower” indicates the direction of the large row number, “left” indicates the direction of the small column number, and “right” indicates the direction of the large column number, respectively.
The position of each of the areas 501 to 515 is expressed by a matrix defined by (row, column). Hereinbelow, among the areas 501 to 515, the area serving as a target of the discrimination about the kind of joining process which is made by the CPU 101 is called “target area” and its position (matrix) is expressed by “target matrix” defined by (“target row”, “target column”). For example, the position of the area 509 is expressed by (row 2, column 4) and the position of the target area 512 is expressed by (target row 3, target column 2). This is true of the second embodiment.
Returning to a description of
In S209, the CPU 101 executes a process for determining a kind of joining process to the joint surface of the divided area (that is, kind of joint portion provided for the joint surface). The determining process will now be described in detail with reference to
In S302, the CPU 101 determines whether or not the target column of the target area is (column 1). If it is (column 1), the processing routine advances to S303. If it is not (column 1), S304 follows. That is, in S302, the CPU 101 determines whether or not the position of the target area is located at (column 1) (leftmost side) in the examples of
When the positions (target matrices) of the target areas are equal to (row 1, column 1), (row 2, column 1), and (row 3, column 1), respectively, since partners to be joined do not exist on the left joint surfaces of the target areas 501, 506, and 511, the CPU 101 decides that the kind of joining process is “no left joining process”. Therefore, as illustrated in the left edges of the plan views, front views, and rear views of the orthogonal projection diagrams regarding the areas 501, 506, and 511 in
The kind of joining process decided by the CPU 101 is stored in the memory 103 in association with the joint surface serving as a target of the target area and is used when generating 3D shape data for division printing in S210, which will be described hereinafter. Also with respect to the following determination about the kind of joining process, the decided kind is similarly stored in the memory 103 in association with the joint surface serving as a target of the target area.
Returning to the description of
In S305, since the target area is not the area locating in the first or last row, the CPU 101 decides that the kind of joining process to the left joint surface of the target area is “left wavy half-lap joining process”, and advances to S313. In this instance, as for “left wavy half-lap joining process”, as illustrated in the left edge of the plan view of the area 507 in
As will be described later in S316, as shown in a right edge of the plan view of the area 507, a half-lap joint portion of a sine wave curved shape having concave/convex portions which face the right side surface of the area 507 is provided, as a “right wavy half-lap joint portion”, for the area 506 serving as a fitting partner of the left side of the area 507. Therefore, the “left wavy half-lap joint portion” provided for the left joint surface of the area 507 is fitted to the “right wavy half-lap joint portion” of the area 506.
Since a curved surface as a wavy half-lap joint is provided for the joint surface of the area 507 locating at (row 2, column 2) in such a direction as to vertically cut from the obverse surface (plan view) to the back surface (not shown), there is no limitation of the minimum thickness necessary for joint. Although the example of the sine wave curved surface has been mentioned as a shape of the wavy half-lap joint portion, it is not limited to such a shape. A rectangular or triangular wave shape may be used so long as it is such a surface that the surfaces which face each other are properly fitted, or a concave/convex shaped dividing line may be used. For easily drawing, a sine wave shaped dividing line which can be joined from any one of the depth direction and the horizontal direction is used. Therefore, for example, even in a circular concave/convex shaped dividing line like a jigsaw puzzle, the areas can be fitted by relatively sliding in the depth direction as if the puzzle was assembled.
In the “left wavy half-lap joining process”, after the area dividing process in S207 (at this point of time, the dividing line between the areas is rectilinear), as for the area 507 locating at (row 2, column 2), pixel components which hit the convex wave of the “left wavy half-lap joint portion” are fetched from the area 506 locating at the left neighboring position (row 2, column 1). At the same time, in the area 507, pixel components which hit the concave wave are moved to the area 506. In other words, in the area 506, pixel components which hit the convex wave of the “left wavy half-lap joint portion” of the area 507 are fetched. In this manner, the pixel data of the adjacent areas 506 and 507 is exchanged, a new wavy dividing line is defined, and a wavy half-lap joint portion is provided on the right side of the area 506 and the left side of the area 507. The area provided with the wavy half-lap joint portion has a wavy fitting effect, the pixel data in this area is converted into 3D shape data as will be described hereinafter, and 3D shape data for division printing regarding such an area is generated.
In S306, the CPU 101 determines whether or not the concave/convex attribute of the target area is the concave attribute. If it is the concave attribute, S310 follows. If it is not the concave attribute, S307 follows. That is, the CPU 101 determines whether or not the target area is a white-on-black area in
In S307, the CPU 101 determines whether or not the thickness of left joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S308 follows. If NO, that is, if it is less than the predetermined standard value, S309 follows. For example, if the target area is the area 503 locating at (row 1, column 3), the CPU 101 decides the thickness (D3) of left joint surface of the area 503 and determines that it is equal to or larger than the predetermined standard value as illustrated in
In S308, since the thickness of left joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the process to the left joint surface of the target area is “left convex half-lap joining process”, and advances to S313.
In the “left convex half-lap joining process”, if the target area is the area 503 locating at (row 1, column 3), as illustrated in the left edges of the rear view and front view of the area 503 in
In S309, since the thickness of left joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the left joint surface of the target area is “left convex inclined joining process”, and advances to S313.
In the “left convex inclined joining process”, if the target area is the area 505 locating at (row 1, column 5), as illustrated in the rear view and the front view of the area 505 in
In S310, the CPU 101 determines whether or not the thickness of left joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S312 follows. If NO, that is, if it is less than the predetermined standard value, S311 follows. For example, if the target area is the target area 502 locating at (row 1, column 2), the CPU 101 decides the thickness (D2) of left joint surface of the area 502 illustrated in
In S311, since the thickness of left joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the left joint surface of the target area is “left concave inclined joining process”, and advances to S313.
In the “left concave inclined joining process”, if the target area is the area 504 locating at (row 1, column 4), as illustrated in the left edges of the rear view and front view of the area 504 in
In S312, since the thickness of left side surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the left joint surface of the target area is “left concave half-lap joining process”, and advances to S313.
In the “left concave half-lap joining process”, if the target area is the area 502 locating at (row 1, column 2), as illustrated in the left edges of the rear view and front view of the target area 502 in
In S313, the CPU 101 determines whether or not the target column of the target area is equal to the divided column number obtained by the division executed in S207. If it is equal, S314 follows. If it is not equal, S315 follows. That is, in S313, the CPU 101 discriminates whether or not the target area is an area locating at (column 5) (rightmost side) in the examples of
In S314, since the target column of the target area is equal to the divided column number obtained by the division executed in S207, the CPU 101 decides that the kind of joining process to the right joint surface of the target area is “no right joining process”, and advances to S324. If the target area is located at (row 1, column 5), (row 2, column 5), or (row 3, column 5), since partners to be joined do not exist on the right joint surface of the target area, the CPU 101 decides that the kind is “no right joining process”. The right joint surface becomes a flat surface as shown in the right edges of the rear view, plan view, and front view in
In S315, the CPU 101 determines whether or not the target row of the target area is equal to (row 1) or the divided row number obtained by the division executed in S207. If it is equal, S317 follows. If it is not equal, S316 follows. That is, the CPU 101 discriminates whether or not the target area is an area locating at the first row or the last row, that is, in the example of
In S316, since the target area is not the area locating at the first row or the last row, the CPU 101 decides that the kind of joining process to the right joint surface of the target area is “right wavy half-lap joining process”, and advances to S324.
In the “right wavy half-lap joining process”, if the target area is the area 506 locating at (row 2, column 1), as illustrated in the right edge of the plan view of the area 506 in
As illustrated in
In S317, the CPU 101 determines whether or not the attribute of the target area is the concave attribute. If it is the concave attribute, S321 follows. If it is not the concave attribute, S318 follows.
In S318, the CPU 101 determines whether or not a thickness of right joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S319 follows. If NO, that is, if it is less than the predetermined standard value, S320 follows. If the target area is the area 501 locating at (row 1, column 1), as illustrated in
In S319, since the thickness of right joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the right joint surface of the target area is “right convex half-lap joining process”, and advances to S324.
In the “right convex half-lap joining process”, if the target area is the area 501 locating at (row 1, column 1), as illustrated in the right edges of the rear view and front view of the area 501 in
A “right convex half-lap joint portion” of a right convex shape is provided for the right joint surface of the area 501 illustrated in
In S320, since the thickness of right joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the right joint surface of the target area is “right convex inclined joining process”, and advances to S324.
In the “right convex inclined joining process”, if the target area is the area 503 locating at (row 1, column 3), as illustrated in the right edges of the rear view and front view of the area 503 in
A “right convex inclined joint portion” of a right-oblique convex shape is provided for the right joint surface of the area 503 locating at (row 1, column 3) illustrated in
In S321, the CPU 101 determines whether or not the thickness of right joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S323 follows. If NO, that is, if it is less than the predetermined standard value, S322 follows. If the target area is the area 502 locating at (row 1, column 2), the CPU 101 decides a thickness (d2) of right joint surface of the area 502 illustrated in
In S322, since the thickness of right joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the right joint surface of the target area is “right concave inclined joining process”, and advances to S324.
In the “right concave inclined joining process”, if the target area is the area 504 locating at (row 1, column 4), as illustrated in the rear view and front view of the area 504 in
A “right concave inclined joint portion” of an oblique concave shape is provided for the right joint surface of the area 504 locating at (row 1, column 4) illustrated in
In S323, since the thickness of right joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the right joint surface of the target area is “right concave half-lap joining process”, and advances to S324.
In the “right concave half-lap joining process”, if the target area is the area 502 locating at (row 1, column 2), as illustrated in the right edges of the rear view and front view of the area 502 in
A “right concave half-lap joint portion” of a concave shape is provided for the right joint surface of the area 502 locating at (row 1, column 2) in
In S324, the CPU 101 determines whether or not the target row of the target area is equal to (row 1). If it is equal to (row 1), S325 follows. If it is not equal to (row 1), S326 follows. That is, in S324, the CPU 101 determines whether or not the target area is located at (row 1) (uppermost side) in the examples of
In S325, the CPU 101 decides that the kind of joining process to the upper joint surface of the target area is “no upper joining process”, and advances to S335. For example, if the target areas are the areas 501 to 505 locating at positions of (row 1, column 1) to (row 1, column 5), since partners to be joined do not exist on the upper joint surfaces of the areas 501 to 505, the CPU 101 decides that the kind is “no upper joining process”. Therefore, as illustrated in the upper edges of the left side elevational views, rear views, and right side elevational views of the areas 501 to 505 in
In S326, the CPU 101 determines whether or not the target column of the target area is equal to (column 1) or the divided column number obtained by the division executed in S207. If it is equal, S328 follows. If it is not equal, S327 follows. That is, the CPU 101 discriminates whether or not the target area is an area locating at the first column or last column in the case where the target area is divided into areas locating at a plurality of positions of the matrix. In other words, in the case of
In S327, since the target area is not the area locating at the first column or last column, the CPU 101 decides that the kind of joining process to the upper joint surface of the target area is “upper wavy half-lap joining process”, and advances to S335.
In the “upper wavy half-lap joining process”, if the target area is the area locating at (row 2, column 2), to the upper joint surface of the area 507, an “upper wavy half-lap joint portion” of a sine wave curved shape having both of the concave and convex portions is provided as illustrated in the upper edge of the front view of the area 507 in
In S328, the CPU 101 determines whether or not the attribute of the target area is the concave attribute. If it is the concave attribute, S332 follows. If it is not the concave attribute, S329 follows.
In S329, the CPU 101 determines whether or not a thickness of upper joint surface is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S330 follows. If NO, that is, if it is less than the predetermined standard value, S331 follows. For example, if the target area is the area 511 locating at (row 3, column 1), the CPU 101 decides a thickness (D11) of upper joint surface of the area 511 in
In S330, since the thickness of upper joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the upper joint surface of the target area is “upper convex half-lap joining process”, and advances to S335.
In the “upper convex half-lap joining process”, if the target area is the area 511 locating at (row 3, column 1), as illustrated in the upper edges of the left side elevational view and right side elevational view of the area 511 in
In S331, since the thickness of upper joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the upper joint surface of the target area is “upper convex inclined joining process”, and advances to S335.
In the “upper convex inclined joining process”, if the target area is the area 515 locating at (row 3, column 5), as illustrated in the upper edges of the left side elevational view and right side elevational view of the area 515 in
In S332, the CPU 101 determines whether or not a thickness of upper joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S334 follows. If NO, that is, if it is less than the predetermined standard value, S333 follows. For example, the CPU 101 decides a thickness (D6) of upper joint surface of the area 506 locating at (row 2, column 1) in
In S333, since the thickness of upper joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the upper joint surface of the target area is “upper concave inclined joining process”, and advances to S335.
In the “upper concave inclined joining process”, if the target area is the area 510 locating at (row 2, column 5), as illustrated in the upper edges of the left side elevational view and right side elevational view of the area 510 in
In S334, since the thickness of upper joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the upper joint surface of the target area is “upper concave half-lap joining process”, and advances to S335.
In the “upper concave half-lap joining process”, if the target area is the area 506 locating at (row 2, column 1), as illustrated in the upper edges of the left side elevational view and right side elevational view of the area 506 in
In S335, the CPU 101 determines whether or not the target row of the target area is equal to the divided row number obtained by the division executed in S207. If it is equal, S336 follows. If it is not equal, S337 follows. That is, in S335, the CPU 101 discriminates whether or not the target area is an area locating at (row 3) (lowest side) in the examples of
In S336, the CPU 101 decides that the kind of joining process to the lower joint surface of the target area is “no lower joining process”, and advances to S346. For example, if the target areas are the areas 511 to 515 locating at (row 3), since partners to be joined do not exist on the lower joint surface of the areas 511 to 515, the CPU 101 decides that the kind is “no lower joining process”. The lower joint surfaces become flat surfaces as shown in the lower edges of the left side elevational views, plan views, and right side elevational views regarding the areas 511 to 515 in
In S337, the CPU 101 determines whether or not the target column of the target area is equal to (column 1) or the divided column number obtained by the division executed in S207. If it is equal, S339 follows. If it is not equal, S338 follows. That is, the CPU 101 discriminates whether or not the target column of the target area exists in the area locating at the first column or the last column in the case where the target area has been divided into a plurality of areas of the matrix, that is, in the example of
In S338, since the target area is not the area locating at the first column or the last column, the CPU 101 decides that the kind of joining process to the lower joint surface of the target area is “lower wavy half-lap joining process”, and advances to S346.
In the “lower wavy half-lap joining process”, if the target area is the area 502 locating at (row 1, column 2), as illustrated in the lower edge of the plan view of the area 502 in
In S339, the CPU 101 determines whether or not the attribute of the target area is the concave attribute. If it is the concave attribute, S343 follows. If it is not the concave attribute, S340 follows.
In S340, the CPU 101 determines whether or not the thickness of lower joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S341 follows. If NO, that is, if it is less than the predetermined standard value, S342 follows. For example, if the target area is the area 501 locating at (row 1, column 1), the CPU 101 decides a thickness (D1) of lower joint surface of the area 501 in
In S341, since the thickness of lower joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the lower joint surface of the target area is “lower convex half-lap joining process”, and advances to S346.
In the “lower convex half-lap joining process”, if the target area is the area 501 locating at (row 1, column 1), as illustrated in the lower edges of the left side elevational view and right side elevational view of the area 501 in
As mentioned in S334, to the area 506 locating at (row 2, column 1) of a fitting partner, a fitting partner of an upper concave half-lap joint portion is provided as an “upper concave half-lap joint” as illustrated in the upper edges of the left side elevational view and right side elevational view in
In S342, since the thickness of lower joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the lower joint surface of the target area is “lower convex inclined joining process”, and advances to S346.
In the “lower convex inclined joining process”, if the target area is the area 505 locating at (row 1, column 5), as illustrated in the lower edges of the left side elevational view and right side elevational view of the area 505 in
As mentioned in S333, to the area 510 locating at (row 2, column 5) of a fitting partner, an “upper concave inclined joint portion” of an oblique concave shape is provided as illustrated in the upper edges of the left side elevational view and right side elevational view in
In S343, the CPU 101 determines whether or not the thickness of lower joint surface of the target area is equal to or larger than a predetermined standard value. If it is equal to or larger than the predetermined standard value, S345 follows. If NO, that is, if it is less than the predetermined standard value, S344 follows. For example, if the target area is the area 506 locating at (row 2, column 1), the CPU 101 decides a thickness (d6) of lower joint surface of the area 506 in
In S344, since the thickness of lower joint surface of the target area is less than the predetermined standard value, the CPU 101 decides that the kind of joining process to the lower joint surface of the target area is “lower concave inclined joining process”, and advances to S346.
In the “lower concave inclined joining process”, if the target area is the area 510 locating at (row 2, column 5), as illustrated in the lower edges of the left side elevational view and right side elevational view of the area 510 in
As mentioned in S331, to the upper joint surface of the area 515 of a fitting partner, an “upper convex inclined joint portion” of an upper-oblique convex shape is provided as illustrated in the upper edges of the left side elevational view and right side elevational view in
In S345, since the thickness of lower joint surface of the target area is equal to or larger than the predetermined standard value, the CPU 101 decides that the kind of joining process to the lower joint surface of the target area is “lower concave half-lap joining process”, and advances to S346.
In the “lower concave half-lap joining process”, if the target area is the area 506 locating at (row 2, column 1), as illustrated in the lower edges of the left side elevational view and right side elevational view of the area 506 in
As mentioned in S330, to the area 511 of a fitting partner, an “upper convex half-lap joint portion” of an upward convex shape is provided as illustrated in the upper edges of the left side elevational view and right side elevational view in
In S346, in order to set the target area serving as a target of the discrimination to an area locating at the adjacent column, the CPU 101 adds “1” to a value of the current target column and advances to S347. In S347, the CPU 101 determines whether or not the value of the current target column is larger than the divided column number obtained by the division performed in S207. If it is larger, S348 follows. If it is not larger, S302 follows. That is, the CPU 101 determines whether or not the discrimination about the kind of joining process has been finished with respect to the area 505, 510, or 515 locating at (column 5) in the examples of
In S348, in order to set the target area serving as a target of the discrimination to an area locating at the next row, the CPU 101 resets the value of the current target column to “1”, adds “1” to a value of the current target row, and advances to S349. In S349, the CPU 101 determines whether or not the current target row of the discrimination is larger than the divided row number obtained by the division performed in S207. If it is larger, the processing routine is finished (END). If it is not larger, S302 follows. That is, the CPU 101 determines whether or not the discrimination about the kind of joining process has been finished with respect to the areas 511 to 515 locating at (column 3) in the example of
The processes of S346 to S349 will be further described with reference to the examples of
A description will be made by returning to
The 3D shape data is also called a 3D print file and is a data file of a shape which is described by, for example, STL format data, VRML format data, or the like and can be used by a 3D molding apparatus (printing device). In the invention, since the fitting shape (joint portion) is added (or deleted) to (from) the joint surface of each area divided when the 3D image data is converted into the 3D shape data for division printing, there is no limitation in the file format of a conversion destination. In the printing of a 3D relief shape, a vertical/horizontal ratio in the 2-dimensional image directions is generally maintained so that a sense of discomfort of appearance is not caused. However, as for the depth, there is also considered a case where the conversion from the distance information into thickness information becomes nonlinear like, for example, a logarithmic ratio in dependence on a degree of emphasis of stereoscopic feeling. However, even if the conversion from the distance information into the thickness information becomes nonlinear, by determining the kind of joining process on the basis of the thickness information of the joint surface obtained after the conversion and the layout of the areas in the whole region, the fitting shape according to the thickness and the layout can be also similarly determined.
It is determined that the kind of joining process to the joint surfaces of the area 501 are “right convex half-lap joint”, “no left joining process”, “no upper joining process”, and “lower convex half-lap joint”. Therefore, as illustrated in
Similarly, it is determined that the kinds of joining processes to the joint surfaces of the area 502 are “right concave half-lap joint”, “left concave half-lap joint”, “no upper joining process”, and “lower wavy half-lap joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 503 are “right convex inclined joint”, “left convex half-lap joint”, “no upper joining process”, and “lower wavy half-lap joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 504 are “right concave inclined joint”, “left concave inclined joint”, “no upper joining process”, and “lower wavy half-lap joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 505 are “no right joining process”, “left convex inclined joint”, “no upper joining process”, and “lower convex inclined joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 506 are “right wavy half-lap joint”, “no left joining process”, “upper concave half-lap joint”, and “lower concave half-lap joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 507 are “right wavy half-lap joint”, “left wavy half-lap joint”, “upper wavy half-lap joint”, and “lower wavy half-lap joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 510 are “no right joining process”, “left wavy half-lap joint”, “upper concave inclined joint”, and “lower concave inclined joint”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 511 are “right convex half-lap joint”, “no left joining process”, “upper convex half-lap joint”, and “no lower joining process”. Therefore, as illustrated in
It is determined that the kinds of joining processes to the joint surfaces of the area 515 are “no right joining process”, “left convex inclined joint”, “upper convex inclined joint”, and “no lower joining process”. Therefore, as illustrated in
As mentioned above, according to the embodiment, the original 3D image data is divided into a plurality of areas and the vertical/horizontal sizes including the fitting shape (joint portion) of each of the divided areas are set so as to lie within the specification (maximum print size) of the printing device. Since the kind (half-lap joint or inclined joint) of fitting shape is set in accordance with the comparison between the thickness of joint surface of each area and the predetermined standard value, there are such advantages that when the areas are joined, they are easily positioned and the positions are difficult to be deviated. Since the kind (concave/convex attribute) adapted to provide the fitting shape is decided in accordance with the position of the target area among all of the plurality of divided areas so as not to become the inverse pyramid shape, there is such an advantage that even by the laminated molding apparatus, the 3D image data can be converted into the 3D shape data which can be molded. If the dividing line appearing in the obverse layer of each area is determined so that the joint boundary is inconspicuous and the “joint portion” is provided at the position of the bottom portion of each area as illustrated in
The second embodiment of the invention relates to a dividing method of 3D image data in which distance information has been added to 2D image information every pixel. In the embodiment, the 3D image data is divided into a plurality of areas on the basis of the specification (maximum print size) of the printing device and is converted into 3D shape data for division printing provided with the convex or concave tongue-and-groove joint portion on the basis of lengths of sides of the joint surface of each area and the position of the target area among all of the plurality of areas.
In S601, the CPU 101 executes an area dividing process so that each area lies within the maximum print size of the printing device in consideration of an increase in size of each area which is caused by providing a tongue-and-groove joint portion, and advances to S208.
In S602, the CPU 101 determines the kind of tongue-and-groove joining process on the basis of the position of the target area every divided area, and advances to S603. The determining process of the kind of tongue-and-groove joining process will be described in detail with reference to
In S702, the CPU 101 determines whether or not the target column of the target area is (column 1). If it is (column 1), S703 follows. If it is not (column 1), S704 follows. That is, in S702, the CPU 101 determines whether or not the target area is the area locating at (column 1) (that is, leftmost side) in the examples of
Now,
If the target areas are the areas 801, 806, and 811 locating at (row 1, column 1), (row 2, column 1), and (row 3, column 1), since partners to be joined do not exist on the left joint surfaces of the target areas, it is decided that the kind of tongue-and-groove joining process is “no left process”. Therefore, as illustrated in the left edges of the rear views, plan views, and front views regarding those areas in
In S704, the CPU 101 determines whether or not the target row of the target area is an even-number row. If it is the even-number row, S706 follows. If it is the odd-number row, S705 follows. In S705, the CPU 101 determines whether or not the target column of the target area is an even-number column. If it is the even-number column, S707 follows. If it is the odd-number column, S708 follows. In S706, the CPU 101 determines whether or not the target column of the target area is an even-number column. If it is the even-number column, S708 follows. If it is the odd-number column, S707 follows.
In S707, since the target area is located at (odd-number row, even-number column) or (even-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the left joint surface of the target area is “left concave tongue-and-groove joining process”, and advances to S709.
In the “left concave tongue-and-groove joining process”, if the target area is the area 802 locating at (row 1, column 2), as illustrated in the left edge of the plan view of the area 802 in
In S708, since the target area is located at (even-number row, even-number column) or (odd-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the left joint surface of the target area is “left convex tongue-and-groove joining process”, and advances to S709.
In the “left convex tongue-and-groove joining process”, if the target area is the area 803 locating at (row 1, column 3), as illustrated in the left edge of the plan view of the area 803 in
In S709, the CPU 101 determines whether or not the target column of the target area is equal to the divided column number obtained by the division executed in S607. If it is equal, S710 follows. If it is not equal, S711 follows. That is, the CPU 101 discriminates whether or not the target area is an area locating at (column 5) (rightmost side) in the examples of
In S710, since the target column of the target area is equal to the divided column number obtained by the division executed in S607, the CPU 101 decides that the kind of tongue-and-groove joining process to the right joint surface of the target area is “no right process”, and advances to S716. For example, if the target areas are the areas 805, 810, and 815, since partners to be joined do not exist on the right joint surfaces of the areas 805, 810, and 815, the CPU 101 decides that the kind is “no right process”. The right joint surface becomes a flat surface as shown in the right edges of the rear view, plan view, and front view regarding the relevant area in
In S711, the CPU 101 determines whether or not the target row of the target area is equal to an even-number row. If it is equal to the even-number row, S713 follows. If it is the odd-number row, S712 follows. In S712, the CPU 101 discriminates whether or not the target column of the target area is equal to the even-number column. If it is equal to the even-number column, S714 follows. If it is equal to the odd-number column, S715 follows. In S713, the CPU 101 determines whether or not the target column of the target area is equal to the even-number column. If it is equal to the even-number column, S715 follows. If it is equal to the odd-number column, S714 follows.
In S714, since the target area is located at (odd-number row, even-number column) or (even-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the right joint surface of the target area is “right concave tongue-and-groove joining process”, and advances to S716.
In the “right concave tongue-and-groove joining process”, if the target area is the area 802 locating at (row 1, column 2), as illustrated in the right edge of the plan view of the area 802 in
As illustrated in
In S715, since the target area is located at (even-number row, even-number column) or (odd-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the right joint surface of the target area is “right convex tongue-and-groove joining process”, and advances to S716.
In the “right convex tongue-and-groove joining process”, if the target area is the area 801 locating at (row 1, column 1), as illustrated in the right edge of the plan view of the area 801 in
As illustrated in
In S716, the CPU 101 determines whether or not the target row of the target area is equal to (row 1). If it is equal to (row 1), S717 follows. If it is not equal to (row 1), S718 follows.
In S717, the CPU 101 that the kind of tongue-and-groove joining process to the upper joint surface of the target area is “no upper process”, and advances to S723. If the target areas are located at (row 1, column 1) to (row 1, column 5), since partners to be joined do not exist on the upper joint surfaces of the target areas, the CPU 101 decides that the kind of tongue-and-groove joining process is “no upper process”. Therefore, as illustrated in the upper edges of the left side elevational views, plan views, and right side elevational views regarding the areas 801 to 805 in
In S718, the CPU 101 determines whether or not the target row of the target area is equal to an even-number row. If it is equal to the even-number row, S720 follows. If it is the odd-number row, S719 follows. In S719, the CPU 101 discriminates whether or not the target column of the target area is equal to the even-number column. If it is equal to the even-number column, S721 follows. If it is equal to the odd-number column, S722 follows. In S720, the CPU 101 determines whether or not the target column of the target area is equal to the even-number column. If it is equal to the even-number column, S722 follows. If it is equal to the odd-number column, S721 follows.
In S721, since the target area is located at (odd-number row, even-number column) or (even-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the upper joint surface of the target area is “upper convex tongue-and-groove joining process”, and advances to S723.
In the “upper convex tongue-and-groove joining process”, if the target area is the area 806 locating at (row 2, column 1), as illustrated in the upper edge of the plan view of the area 806 in
In S722, since the target area is located at (even-number row, even-number column) or (odd-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the upper joint surface of the target area is “upper concave tongue-and-groove joining process”, and advances to S723.
In the “upper concave tongue-and-groove joining process”, if the target area is the area 807 locating at (row 2, column 2), as illustrated in the upper edge of the plan view of the area 807 in
In S723, the CPU 101 determines whether or not the target row of the target area is equal to the divided row number obtained by the division performed in S607. If it is equal, S724 follows. If it is not equal, S725 follows. That is, in S723, the CPU 101 determines whether or not the target area is an area locating at (row 3) (lowest side) in the examples of
In S724, the CPU 101 decides that the kind of tongue-and-groove joining process to the lower joint surface of the target area is “no lower process”, and advances to S730. If the target areas are located at (row 3, column 1) to (row 3, column 5), since partners to be joined do not exist on the lower joint surfaces of the target areas, the CPU 101 decides that the kind of tongue-and-groove joining process is “no lower process”. Therefore, as illustrated in the lower edges of the left side elevational views, plan views, and right side elevational views regarding the areas 811 to 815 in
In S725, the CPU 101 determines whether or not the target row of the target area is equal to an even-number row. If it is equal to the even-number row, S727 follows. If it is the odd-number row, S726 follows. In S726, the CPU 101 determines whether or not the target column of the target area is equal to the even-number column. If it is equal to the even-number column, S728 follows. If it is equal to the odd-number column, S729 follows. In S727, the CPU 101 determines whether or not the target column of the target area is equal to the even-number column. If it is equal to the even-number column, S729 follows. If it is equal to the odd-number column, S728 follows.
In S728, since the target area is located at (odd-number row, even-number column) or (even-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the lower joint surface of the target area is “lower convex tongue-and-groove joining process”, and advances to S730.
In the “lower convex tongue-and-groove joining process”, if the target area is the area 802 locating at (row 1, column 2), as illustrated in the lower edge of the plan view of the area 802 in
As illustrated in
In S729, since the target area is located at (even-number row, even-number column) or (odd-number row, odd-number column), the CPU 101 decides that the kind of tongue-and-groove joining process to the lower joint surface of the target area is “lower concave tongue-and-groove joining process”, and advances to S730.
In the “lower concave tongue-and-groove joining process”, if the target area is the area 801 locating at (row 1, column 1), as illustrated in the lower edge of the plan view of the area 801 in
As illustrated in
In S730, the CPU 101 adds “1” to a value of the target column of the target area and advances to S731. In S731, the CPU 101 determines whether or not the target column of the target area is larger than the divided column number obtained by the division executed in S607. If it is larger, S732 follows. If it is not larger, S702 follows. That is, the CPU 101 determines whether or not the discrimination about the kind of tongue-and-groove joining process has been finished up to the areas locating at (column 5) illustrated in
In S732, since the target column of the target area is larger than the divided column number obtained by the division executed in S607, the CPU 101 resets the target column of the target area into (column 1), adds “1” to the target row, and advances to S733. In S733, the CPU 101 determines whether or not the target row of the target area is larger than the divided row number obtained by the division executed in S607. If it is larger, the process is finished. If it is not larger, S702 follows. That is, the CPU 101 determines whether or not the discrimination about the kind of tongue-and-groove joining process has been finished up to the areas locating at (row 3) illustrated in
Returning to a description of
In S604, to the joint surfaces of the areas 801 to 815 divided based on the 3D image data, between the areas, the CPU 101 moves and exchanges the pixels corresponding to the kind of tongue-and-groove joining process decided in
Although the example in which the lengths of joint surfaces of the adjacent areas are equal has been mentioned in the embodiment, there is also a case where the user wants to join a plurality of divided areas to one joint surface. In such a case, a size of “tongue-and-groove joint portion” based on the length of side of the short area of the joint surface is calculated and is decided from the position in the whole layout of such an area in such a manner that the individual concave and convex attributes do not overlap, and a plurality of tongue-and-groove joint portions may be provided for the joint surface of the area on the side which is joined to the plurality of areas. As illustrated in
As mentioned above, in the embodiment, the 3D image data is divided into a plurality of areas in such a manner that the vertical/horizontal sizes are equal to sizes which are printable in the maximum print size of the printing device while including the fitting shape according to the tongue-and-groove joint portion. Since the fitting shape (tongue-and-groove joint portion) is provided based on the position of the target area among all of the areas and the lengths of sides of the joint surfaces, when the printed matters regarding the areas are joined, they can be easily positioned and their positions are difficult to be deviated. Thus, there is such an advantage that the printed matters can be easily assembled merely by arranging them in dividing order.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer-executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer-executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2014-262690, filed Dec. 25, 2014, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2014-262690 | Dec 2014 | JP | national |