Three-dimensional object data generation apparatus, three-dimensional object forming apparatus, and non-transitory computer readable medium
11176729 · 2021-11-16
Assignee
Inventors
Cpc classification
G06T19/00
PHYSICS
G06T17/20
PHYSICS
International classification
G06T17/20
PHYSICS
Abstract
A three-dimensional object data generation apparatus includes a setting unit that sets a basic voxel group defined using at least one voxel in accordance with a shape of a surface of a three-dimensional object on a basis of three-dimensional object data indicating the surface of the three-dimensional object using at least either plural flat surfaces or a curved surface and a generation unit that generates three-dimensional object data in which voxels are set inside the surface on a basis of the basic voxel group.
Claims
1. A three-dimensional object data generation apparatus comprising: a processor, being configured to, set a basic voxel group defined using at least one voxel in accordance with a shape of a surface of a three-dimensional object on a basis of three-dimensional object data indicating the surface of the three-dimensional object using at least either a plurality of flat surfaces or a curved surface; and generate three-dimensional object data in which voxels are set inside the surface on a basis of the basic voxel group, wherein the processor sets the basic voxel group smaller than the three-dimensional object, and generates the three-dimensional object data in which voxels are set entirely within the surface by expanding the basic voxel group from an initial position located inside the surface of the three-dimensional object to another position which does not intersect with the surface of the three-dimensional object and setting mesh data representing the surface of the three-dimensional object, wherein the processor expands the basic voxel group by repetitively providing the basic voxel group until the three-dimensional object is filled with voxels, and if gaps are caused between adjacent basic voxel groups after the basic voxel group is repetitively provided, the processor copies an attribute value of outermost voxels of the basic voxel group to voxels in the gaps.
2. The three-dimensional object data generation apparatus according to claim 1, wherein the processor generates the three-dimensional object data in which voxels are set inside the surface by enabling voxels inside the surface.
3. The three-dimensional object data generation apparatus according to claim 2, wherein the processor enables only voxels in a second region, which is located deeper than a first region having a predetermined thickness from the surface of the three-dimensional object, and sets voxels having a predetermined attribute in the first region.
4. The three-dimensional object data generation apparatus according to claim 2, wherein the processor enables the voxels inside the surface according to a ratio of a volume of the voxels to a volume of the three-dimension object included in the voxels.
5. The three-dimensional object data generation apparatus according to claim 1, wherein the processor sets a plurality of different basic voxel groups in accordance with the shape of the surface, and generates the three-dimensional object data in which voxels are set inside the surface on a basis of the plurality of different basic voxel groups.
6. The three-dimensional object data generation apparatus according to claim 1, wherein the processor expands the basic voxel group by extending outermost voxels of the basic voxel group outward until the three-dimensional object is filled with voxels.
7. The three-dimensional object data generation apparatus according to claim 1, wherein the processor divides voxels that intersect with the surface of the three-dimensional object into smaller voxels.
8. A three-dimensional object forming apparatus comprising: a forming unit, comprising a discharge head that forms a three-dimensional object on a basis of three-dimensional object data generated by the three-dimensional object data generation apparatus according to claim 1.
9. A non-transitory computer readable medium storing a program for generating three-dimensional object data that causes a computer to function as the components of the three-dimensional object data generation apparatus according to claim 1.
10. The three-dimensional object data generation apparatus according to claim 1, wherein the processor sets the initial position of the basic voxel group from a plurality of methods for setting the initial position.
11. The three-dimensional object data generation apparatus according to claim 1, wherein the processor sets a plurality of different basic voxel groups based on a resolution level of each of the plurality of different basic voxel groups, wherein the plurality of different basic voxel groups represents a plurality of portions of the three-dimensional object.
12. The three-dimensional object data generation apparatus according to claim 11, wherein the plurality of portions of the three-dimensional object comprises a first portion and a second portion, wherein, when a resolution level of a basic voxel group corresponding to the first portion is different from a resolution level of a basic voxel group corresponding to the second portion, the basic voxel group corresponding to the first portion is expanded differently from the basic voxel group corresponding to the second portion.
13. The three-dimensional object data generation apparatus according to claim 11, wherein the plurality of portions of the three-dimensional object comprises a first portion and a second portion, wherein, when a resolution level of a basic voxel group corresponding to the first portion is different from a resolution level of a basic voxel group corresponding to the second portion, the basic voxel group corresponding to the first portion and the basic voxel group corresponding to the second portion are expanded after a size of the basic voxel group corresponding to the first portion and a size of the basic voxel group corresponding to the second portion are normalized.
14. A three-dimensional object data generation apparatus comprising: setting means for setting a basic voxel group defined using at least one voxel in accordance with a shape of a surface of a three-dimensional object on a basis of three-dimensional object data indicating the surface of the three-dimensional object using at least either a plurality of flat surfaces or a curved surface; and generation means for generating three-dimensional object data in which voxels are set inside the surface on a basis of the basic voxel group, wherein the setting means sets the basic voxel group smaller than the three-dimensional object, and generation means generates the three-dimensional object data in which voxels are set entirely within the surface by expanding the basic voxel group from an initial position located inside the surface of the three-dimensional object to another position which does not intersect with the surface of the three-dimensional object and setting mesh data representing the surface of the three-dimensional object, wherein the generation means expands the basic voxel group by repetitively providing the basic voxel group until the three-dimensional object is filled with voxels, and if gaps are caused between adjacent basic voxel groups after the basic voxel group is repetitively provided, the generation means copies an attribute value of outermost voxels of the basic voxel group to voxels in the gaps.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Exemplary embodiments of the present disclosure will be described in detail based on the following figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
DETAILED DESCRIPTION
(32) Exemplary embodiments of the present disclosure will be described in detail hereinafter with reference to the drawings.
First Exemplary Embodiment
(33)
(34) Next, the configuration of the three-dimensional object data generation apparatus 10 according to the first exemplary embodiment will be described with reference to
(35) The three-dimensional object data generation apparatus 10 is a personal computer, for example, and includes a controller 12. The controller 12 includes a central processing unit (CPU) 12A, a read-only memory (ROM) 12B, a random-access memory (RAM) 12C, a nonvolatile memory 12D, and an input/output (I/O) interface 12E. The CPU 12A, the ROM 12B, the RAM 12C, the nonvolatile memory 12D, and the I/O interface 12E are connected to one another through a bus 12F.
(36) An operation unit 14, a display unit 16, a communication unit 18, and a storage unit 20 are connected to the I/O interface 12E. The CPU 12A is an example of a setting unit and a generation unit.
(37) The operation unit 14 includes, for example, a mouse and a keyboard.
(38) The display unit 16 is, for example, a liquid crystal display.
(39) The communication unit 18 is an interface for communicating data with external apparatuses.
(40) The storage unit 20 is a nonvolatile storage device such as a hard disk and stores a program for generating three-dimensional object data, which will be described later, three-dimensional object data (mesh data), which represents a three-dimensional object using a mesh, and the like. The CPU 12A reads the program for generating three-dimensional object data stored in the storage unit 20 and executes the program.
(41) The mesh data is three-dimensional object data representing, using a mesh, a surface of a three-dimensional object to be formed. A mesh includes at least either a flat surface or a curved surface. When a mesh includes a flat surface, for example, polygons such as triangles or quadrilaterals may be used.
(42)
(43)
(44) The voxels 34 are basic elements of the three-dimensional object 32. The voxels 34 may be rectangular parallelepipeds, for example, but may be spheres or cylinders, instead. A desired three-dimensional object is represented by stacking the voxels 34 on one another.
(45) Voxel data defines the internal structure of a three-dimensional object. As an internal structure, at least a region whose material is different, an empty region in which no material exists, or an attribute is defined inside a three-dimensional object.
(46) As illustrated in
(47) In addition, attributes of each voxel, namely color, strength, material, and texture, for example, may be set. As illustrated in
(48) The “texture” attribute may include not only the reflectivity, transmittance, luster, surface properties, and color of three-dimensional object data but also appearance and a feel.
(49) The attributes include an attribute pattern set using at least a cycle, a numerical formula, or another piece of three-dimensional object data. The attribute pattern includes at least a continuous change to the color, the material, or the texture of three-dimensional object data based on repetition at a certain cycle, gradation, representation of inclinations or peaks represented by a numeral formula, or another piece of three-dimensional object data or filling of or a continuous change to a specified part of three-dimensional data with a specified shape.
(50) As illustrated in
(51) As a method for forming a three-dimensional object, for example, fused deposition modeling (FDM), in which a thermoplastic resin is plasticized and stacked to form a three-dimensional object, stereolithography, or a method employing a powder bed is used, but another method may be used, instead.
(52) Next, a three-dimensional object forming apparatus that forms a three-dimensional object using three-dimensional object data generated by the three-dimensional object data generation apparatus 10 will be described.
(53)
(54) The discharge head 102 includes an object material discharge head that discharges an object material for forming a three-dimensional object 40 and a support material discharge head that discharges a support material. The support material is used to support overhangs (also referred to as “projections”) of the three-dimensional object 40 and removed after the three-dimensional object 40 is formed.
(55) The discharge head 102 is driven by the discharge head driving unit 104 and moves on an X-Y plane in two dimensions. The object material discharge head may include a plurality of discharge heads corresponding to object materials of a plurality of attributes.
(56) The stand 106 is driven by the stand driving unit 108 and moves along a Z axis.
(57) The obtaining unit 110 obtains three-dimensional object data and support material data generated by the three-dimensional object data generation apparatus 10.
(58) The control unit 112 drives the discharge head driving unit 104 to move the discharge head 102 in two dimensions and controls the discharge of the object material and the support material performed by the discharge head 102 such that the object material is discharged in accordance with the three-dimensional object data obtained by the obtaining unit 110 and the support material is discharged in accordance with the support material data.
(59) Each time a layer has been formed, the control unit 112 drives the stand driving unit 108 to lower the stand 106 by a predetermined layer interval.
(60) Next, the operation of the three-dimensional object data generation apparatus 10 according to the present exemplary embodiment will be described with reference to
(61) In step S100, mesh data is read from the storage unit 20. Alternatively, mesh data may be obtained from an external apparatus using the communication unit 18.
(62) In step S102, three-dimensional object display data is generated from the mesh data obtained in step S100 and displayed on the display unit 16.
(63) In step S104, a basic voxel group defined using one or more voxels is set in accordance with a shape of a surface of a three-dimensional object and displayed on the display unit 16. More specifically, a three-dimensional basic voxel group including a surface of a three-dimensional object is defined using a plurality of voxels. As illustrated in
(64) In step S106, voxel data is generated by enabling, among the voxels 52 of the basic voxel group 50 set in step S104, voxels 52 located inside the surface of the three-dimensional object 30. As illustrated in
(65) As a method for enabling only internal voxels, for example, voxels that include the surface of the three-dimensional object 30, that is, voxels that intersect with the surface of the three-dimensional object 30, such as a voxel 52A illustrated in
(66) Alternatively, whether to enable each voxel 52 may be determined on the basis of a ratio of the volume of the voxel 52 to the volume of the three-dimensional object 30 included in the voxel 52. If the ratio is equal to or higher than a predetermined threshold, for example, the voxel 52 may be enabled. If the ratio is lower than the threshold, the voxel 52 may be disabled. Although the threshold is 50% in the present exemplary embodiment, the threshold is not limited to this.
(67) Alternatively, a voxel located opposite a normal to a polygon that is a part of the surface of the three-dimensional object 30 and that is closest to a target voxel may be enabled in accordance with a distance between the target voxel and the polygon.
(68) As a result, three-dimensional object data in which the surface of the three-dimensional object 30 is represented by mesh data and the inside of the surface of the three-dimensional object 30 is represented by voxel data is generated. In step S106, only enabled voxels 52 are displayed on the display unit 16.
(69) The voxel 52A, which intersects with the surface of the three-dimensional object 30, may be divided into smaller voxels, and voxels that include a part of the inside of the three-dimensional object 30 may be enabled.
(70) For the voxel 52A that intersects with the surface of the three-dimensional object 30, information indicating an interface with the surface of the three-dimensional object 30, that is, for example, information indicating points of intersection between the voxel 52A and the surface of the three-dimensional object 30, may be set.
(71) For the voxel 52A that intersects with the surface of the three-dimensional object 30, a pattern indicating an interface between a region in which the three-dimensional object 30 exists and a region in which the three-dimensional object 30 does not exist may be provided using marching cubes.
(72) If a coordinate system K1 of the mesh data and a coordinate system K2 of the voxel data illustrated in
(73) The obtaining unit 110 of the three-dimensional object forming apparatus 100 obtains three-dimensional object data and support material data generated by the three-dimensional object data generation apparatus 10. The control unit 112 drives the discharge head driving unit 104 to move the discharge head 102 in two dimensions and controls the discharge of an object material and a support material such that the object material and the support material are discharged in accordance with the three-dimensional object data and the support material data, respectively, obtained by the obtaining unit 110.
(74) When controlling the discharge of the object material, the control unit 112 performs the control such that the object material is discharged inside a contour of a three-dimensional object represented by the three-dimensional object data generated by the three-dimensional object data generation apparatus 10, the contour being obtained by slicing the three-dimensional object at layer intervals used by the three-dimensional object forming apparatus 100 to form the three-dimensional object.
(75) A case where, as illustrated in
(76) If the layer intervals of the three-dimensional object forming apparatus 100 are equal to or smaller than a height h (the length along the Z axis) of each voxel illustrated in
(77) If the layer intervals are larger than the height h of each voxel, on the other hand, the discharge of the object material may be controlled using voxel data corresponding to a height h of a plurality of voxels. In this case, for example, attributes of a plurality of voxels arranged in a height direction are combined together. For example, the attributes of the plurality of voxels arranged in the height direction may be averaged, attributes of a top one of the plurality of voxels arranged in the height direction may be employed, or attributes of a voxel randomly selected from the plurality of voxels arranged in the height direction may be employed.
(78) Although the three-dimensional object data generation apparatus 10 and the three-dimensional object forming apparatus 100 that forms a three-dimensional object on the basis of three-dimensional object data are separate components in the present exemplary embodiment, the three-dimensional object forming apparatus 100 may have the functions of the three-dimensional object data generation apparatus 10, instead.
(79) That is, the obtaining unit 110 of the three-dimensional object forming apparatus 100 may obtain mesh data, and the control unit 112 may perform the generation process illustrated in
Second Exemplary Embodiment
(80) Next, a second exemplary embodiment will be described. The same components as those according to the first exemplary embodiment will be given the same reference numerals, and detailed description thereof is omitted.
(81) A three-dimensional object data generation apparatus 10 and a three-dimensional object forming apparatus 100 according to the second exemplary embodiment are the same as those according to the first exemplary embodiment, and description thereof is omitted.
(82) Next, the operation of the three-dimensional object data generation apparatus 10 according to the present exemplary embodiment will be described with reference to
(83) Steps S100 and S102 illustrated in
(84) In step S104A, a basic voxel group defined using one or more voxels is set in accordance with a shape of a surface of a three-dimensional object and displayed on the display unit 16. More specifically, a basic voxel group smaller than a three-dimensional object, that is, a basic voxel group that does not include a surface of a three-dimensional object, is defined using a plurality of voxels. As illustrated in
(85) In step S105A, an initial position of the basic voxel group 60 set in step S104A is set. More specifically, the initial position is set by rotating, enlarging, reducing, and/or moving the basic voxel group 60 through a user operation.
(86) Alternatively, the user may select one of a plurality of methods for setting an initial position.
(87) As illustrated in
(88) Alternatively, as illustrated in
(89) Alternatively, as illustrated in
(90) Alternatively, as illustrated in
(91) Alternatively, as illustrated in
(92) Alternatively, as illustrated in
(93) Alternatively, as illustrated in
(94) Alternatively, as illustrated in
(95) Alternatively, as illustrated in
(96) In step S105B, the basic voxel group 60 is expanded from the initial position thereof selected in step S105A in such a way as to encompass the entirety of the inside of the three-dimensional object 30. The basic voxel group 60 is expanded through extension or repetition.
(97) In extension, outermost voxels of the basic voxel group 60, that is, voxels on a surface of the basic voxel group 60, are extended outward until the three-dimensional object 30 is filled with voxels.
(98) In repetition, the basic voxel group 60 is repetitively provided in X, Y, and Z directions until the three-dimensional object 30 is filled with voxels.
(99) The user may select extension or repetition before expanding the basic voxel group 60.
(100) A basic voxel group need not be a rectangular parallelepiped. As illustrated in
(101) When the three-dimensional object 30 is filled with voxels by repetitively providing the spherical basic voxel group 62, the spherical basic voxel group 62 may be repetitively provided in a plus or minus direction of the X, Y, and Z axes as illustrated in
(102) As illustrated in
(103) Step S106 is the same as that illustrated in
(104) The control performed by the control unit 112 of the three-dimensional object forming apparatus 100 to discharge an object material is the same as that according to the first exemplary embodiment, and description thereof is omitted.
Third Exemplary Embodiment
(105) Next, a third exemplary embodiment will be described. In the third exemplary embodiment, a case where a plurality of different basic voxel groups are set will be described. The same components as those described in the above-described exemplary embodiments will be given the same reference numerals, and detailed description thereof is omitted.
(106) A three-dimensional object data generation apparatus 10 and a three-dimensional object forming apparatus 100 according to the third exemplary embodiment are the same as those according to the first exemplary embodiment, and description thereof is omitted.
(107) Next, the operation of the three-dimensional object data generation apparatus 10 according to the present exemplary embodiment will be described. By causing the CPU 12A to execute a program for generating three-dimensional object data, a generation process illustrated in
(108) Steps S100 and S102 illustrated in
(109) In step S104C, a plurality of basic voxel groups are set and displayed on the display unit 16. A method for setting each basic voxel group is the same as in step S104A illustrated in
(110) The basic voxel groups 70A and 70B may be set by the user or may be automatically set in accordance with shapes of a plurality of regions obtained by dividing the three-dimensional object 30.
(111) In step S105C, initial positions of the basic voxel groups 70A and 70B set in step S104C are set. A method for setting the initial position of each basic voxel group is the same as in step S105A illustrated in
(112) In step S105D, the basic voxel groups 70A and 70B are expanded from the initial positions thereof selected in step S105A in such a way as to encompass the entirety of the inside of the three-dimensional object 30. The basic voxel groups 70A and 70B are expanded through extension or repetition as in the second exemplary embodiment.
(113)
(114) By expanding the basic voxel groups 70A and 70B through extension, a group of voxels encompassing the surface of the three-dimensional object 30 can be obtained.
(115) Step S106 is the same as that illustrated in
(116) Although the present disclosure has been described on the basis of the exemplary embodiments, the present disclosure is not limited to the above exemplary embodiments. The exemplary embodiments may be modified or improved without deviating from the spirit of the present disclosure, and the technical scope of the present disclosure includes such modifications and improvements.
(117) For example, after voxels inside the surface of the three-dimensional object 30 are enabled using one of the methods described in the first to third exemplary embodiments, predetermined attributes may be set for voxels in a first region having a predetermined thickness from the surface. That is, among the voxels enabled using one of the methods described in the first to third exemplary embodiments, voxels in a second region, which is located deeper than the first region, are enabled. Now, a contour 80 of a cross-section D taken along the Y-Z plane of the three-dimensional object 30 is taken as an example as illustrated in
(118) One or a plurality of attributes may be set for each voxel in the first region 82.
(119) In addition, the processes for generating three-dimensional object data illustrated in
(120) Although the programs for generating three-dimensional object data are installed on the storage unit 20 in the above exemplary embodiments, the programs need not be installed on the storage unit 20. The programs for generating three-dimensional object data according to the above exemplary embodiments may be provided using a non-transitory computer readable medium, instead. The programs for generating three-dimensional object data in the present disclosure may be provided, for example, using an optical disc such as a compact disc read-only memory (CD-ROM) or a digital versatile disc read-only memory (DVD-ROM) or a semiconductor memory such as a universal serial bus (USB) memory or a memory card. Alternatively, the programs for generating three-dimensional object data according to the above exemplary embodiments may be obtained from an external apparatus through a communication line connected to the communication unit 18.
(121) The foregoing description of the exemplary embodiments of the present disclosure has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, thereby enabling others skilled in the art to understand the disclosure for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the disclosure be defined by the following claims and their equivalents.