US20230101921A1 - Sub-pixel grayscale three-dimensional printing - Google Patents
Sub-pixel grayscale three-dimensional printing Download PDFInfo
- Publication number
- US20230101921A1 US20230101921A1 US17/751,109 US202217751109A US2023101921A1 US 20230101921 A1 US20230101921 A1 US 20230101921A1 US 202217751109 A US202217751109 A US 202217751109A US 2023101921 A1 US2023101921 A1 US 2023101921A1
- Authority
- US
- United States
- Prior art keywords
- voxels
- digital model
- voxel
- digital
- axis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000010146 3D printing Methods 0.000 title description 16
- 238000000034 method Methods 0.000 claims abstract description 97
- 239000011347 resin Substances 0.000 claims abstract description 34
- 229920005989 resin Polymers 0.000 claims abstract description 34
- 238000007639 printing Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 54
- 238000004590 computer program Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 10
- 238000005070 sampling Methods 0.000 description 10
- 239000007787 solid Substances 0.000 description 10
- 239000007788 liquid Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 3
- 238000002591 computed tomography Methods 0.000 description 2
- 239000004205 dimethyl polysiloxane Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229920000435 poly(dimethylsiloxane) Polymers 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000019935 photoinhibition Effects 0.000 description 1
- -1 polydimethylsiloxane Polymers 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/10—Processes of additive manufacturing
- B29C64/106—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
- B29C64/124—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using layers of liquid which are selectively solidified
- B29C64/129—Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using layers of liquid which are selectively solidified characterised by the energy source therefor, e.g. by global irradiation combined with a mask
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
- B29C64/393—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y10/00—Processes of additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y30/00—Apparatus for additive manufacturing; Details thereof or accessories therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/409—Edge or detail enhancement; Noise or error suppression
- H04N1/4092—Edge or detail enhancement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/6058—Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut
- H04N1/6061—Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut involving the consideration or construction of a gamut surface
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49023—3-D printing, layer of powder, add drops of binder in layer, new powder
Definitions
- This patent document relates to three-dimensional (3D) printing using photopolymers.
- Photopolymer-based 3D printers that use bottom-up illumination can project light upwards through an optically transparent window into a vat of photoactive resin to cure at least a portion of the resin.
- Such printers can build a 3D structure by forming one layer at a time, where a subsequent layer adheres to the previous layer.
- the light can be patterned to cause some portions of the resin to cure and other portions not to cure, thereby creating substructures of the 3D structure.
- a described technique includes obtaining a digital model that describes a three-dimensional structure; mapping the digital model onto a three-dimensional grid of voxels associated with a three-dimensional printer; assigning a first intensity level to one or more first voxels of the grid of voxels that are fully contained within the digital model, the first intensity level being sufficient to cure photoactive resin during a predetermined curing time associated with the three-dimensional printer; determining, based on geometric information provided by the digital model, one or more containment degrees for one or more second voxels of the grid of voxels that are partially contained within the digital model; assigning one or more second intensity levels to the one or more second voxels based respectively on the one or more containment degrees, the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level; assigning the third intensity level to one or more third voxels of the grid of voxels that are outside
- Implementations can include sending the one or more graphic files to the three-dimensional printer. Determining the one or more containment degrees can include determining a number of first points within a voxel that are at least partially contained by the digital model; determining a number of second points within the voxel that are not contained by the digital model; and determining a containment degree of the voxel based on the number of first points and the number of second points.
- Determining the one or more containment degrees can include determining a covered volume within a voxel that is contained by the digital model; and determining a containment degree of the voxel based on the covered volume and a total volume of the voxel.
- Mapping the digital model onto the three-dimensional grid of voxels can include slicing the digital model into two-dimensional slices and mapping each slice onto a two-dimensional grid of pixels.
- the one or more second voxels of the grid of voxels are sliced to form one or more pixels.
- Determining the one or more containment degrees can include determining a number of first points within a pixel of the one or more pixels that are at least partially contained by the digital model; determining a number of second points within the pixel that are not contained by the digital model; and determining a containment degree of the pixel based on the number of first points and the number of second points.
- Implementations can include adjusting the one or more second intensity levels based on a nonlinear characteristic of the photoactive resin.
- Implementations can include adjusting the one or more second intensity levels based on a nonlinear characteristic of a light source within the three dimensional printer.
- Implementations can include scaling the digital model based on a scaling factor. Mapping the digital model can include slicing the scaled digital model.
- the one or more containment degrees can be based on combinations of groups of pixels from slices of the scaled digital model.
- a system can include a processor configured to perform operations; and a memory structure coupled with the processor, the memory structure configured to store a digital model that describes a three-dimensional structure.
- the operations can include mapping the digital model onto a three-dimensional grid of voxels associated with a three-dimensional printer; assigning a first intensity level to one or more first voxels of the grid of voxels that are fully contained within the digital model; determining, based on geometric information provided by the digital model, one or more containment degrees for one or more second voxels of the grid of voxels that are partially contained within the digital model; assigning one or more second intensity levels to the one or more second voxels based respectively on the one or more containment degrees, the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level; and generating one or more graphic files based on the one or more first voxels, the one or more second voxels, and the assigned intensity levels.
- the first intensity level is sufficient to cure photoactive resin during a predetermined curing time associated with the three-dimensional printer.
- the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level.
- the one or more second intensity levels can include two or more different intensity levels that are less than the first intensity level.
- the operations can include assigning the third intensity level to one or more third voxels of the grid of voxels that are outside of the digital model, where the one or more graphic files are generated based on the one or more third voxels.
- a 3D printer system can include a vat capable of holding a liquid including a photoactive resin, wherein the vat includes a window; a build plate configured and arranged to move within the vat during three-dimensional printing of a structure on the build plate; a light projection device to project light through the window; and a controller to control the printing of the structure, movement of the build plate, and light modulation of the light projection device.
- the controller can be configured to perform operations that include mapping a digital model onto a three-dimensional grid of voxels; assigning a first intensity level to one or more first voxels of the grid of voxels that are fully contained within the digital model, wherein the first intensity level is sufficient to cure photoactive resin during a predetermined curing time; determining, based on geometric information provided by the digital model, one or more containment degrees for one or more second voxels of the grid of voxels that are partially contained within the digital model; assigning one or more second intensity levels to the one or more second voxels based respectively on the one or more containment degrees, the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level; generating layer information based on the one or more first voxels, the one or more second voxels, and the assigned intensity levels; and controlling the light projection device based on the layer information.
- the operations can include assigning the third intensity level to one or more third voxels of the grid of voxels that are outside of the digital model, where the layer information is based on the one or more third voxels.
- the layer information can include one or more graphic files.
- the layer information can include, for each layer, a sequence of a bits to control light modulation through a grid of pixels by a light projection device.
- a described technology can be used to smooth out edges in three-dimensional printing.
- a described technology can use grayscale values to effectively position purely vertical features with sub-pixel precision, sub-voxel precision, or both.
- a described technology can be used to more accurately print a 3D structure.
- FIG. 1 shows an example of a 3D printing system coupled with a computer.
- FIG. 2 shows a cross section of an example of a digital model mapped onto voxels using a model based grayscale technique.
- FIG. 3 shows a cross section of an example of a digital model mapped onto voxels using a model based grayscale technique to achieve sub-voxel resolution.
- FIG. 4 shows a flowchart of an example of a process that transforms a digital model into data suitable for rendering on a 3D printer.
- FIG. 5 shows a flowchart of an example of a process that determines a containment degree based on a sampling technique.
- FIG. 6 shows a flowchart of an example of a process that determines a containment degree based on a geometric technique.
- FIG. 7 shows a flowchart of an example of a super-sampling process.
- FIG. 8 shows an example of a sampling technique applied to sample points within several voxel cross-sections associated with a digital model to determine containment degrees for respective voxels.
- FIG. 9 shows an example of a geometric technique applied to sample points within several voxel cross-sections associated with a digital model to determine containment degrees for respective voxels.
- FIGS. 10 A and 10 B show a cross-section of an example of a 3D structure printed without and with grayscale intensity values from the same digital model.
- FIGS. 11 A and 11 B show sub-pixel resolution aspects of a 3D structure printed with grayscale intensity values.
- FIG. 1 shows an example of a 3D printing system 100 coupled with a computer 150 .
- the computer 150 can provide information about a 3D structure to the 3D printing system 100 for printing.
- the computer 150 can communicate with a controller 145 of the printing system 100 via a wireline or wireless connection.
- the controller 145 can include integrated circuit technology, such as an integrated circuit board with embedded processor and firmware to control various system components such as a 3D printing mechanism 140 and a light projection device 142 .
- the system 100 includes a vat 110 to hold a liquid 120 , which includes one or more photoactive resins.
- the vat 110 includes a window 115 in its bottom through which light is transmitted to cure resin to form a 3D printed structure 160 in a layer-by-layer build process.
- the 3D printed structure 160 is shown as a block, but as will be appreciated, a wide variety of complicated shapes can be 3D printed.
- the structure 160 is 3D printed on a build plate 130 , which can be connected by a rod 135 to a 3D printing mechanism 140 .
- the printing mechanism 140 can include various mechanical structures for moving the build plate 130 within the vat 110 . This movement is relative movement, and thus the moving piece can be build plate 130 , the vat 110 , or both, in various implementations.
- the window 115 includes a material such as polydimethylsiloxane (PDMS) to prevent resin from adhering to the window 115 during a curing procedure.
- PDMS polydimethylsiloxane
- Other techniques can be used to prevent resin from adhering to the window 115 such as a photo-inhibition technique that prevents resin from curing within a section of the vat 110 immediately above the window 115 , while allowing resin to cure further away from the window 115 .
- the light projection device 142 can be positioned below the window 115 .
- the controller 145 can operate the light projection device 142 to project a pattern of light 185 into the vat 110 to form substructures of the structure 160 .
- the light 185 has a wavelength which is used to create the 3D structure 160 on the build plate 130 by curing the photoactive resin in the liquid 120 within a photo-initiation region 175 , in accordance with a defined pattern or patterns.
- the wavelength can be selected based on the characteristics of the photoactive resin in the liquid 120 .
- the build plate 130 can start at a position near the bottom of the vat 110 , and varying patterns of the light 185 are directed through the window 115 to create layers of the solid structure 160 as the build plate 130 is raised out of the vat 110 by the printing mechanism 140 .
- the printing mechanism 140 can employ a stepwise separation mechanism that raises the build plate 130 by a predetermined amount after each layer completion, e.g., after a predetermined curing time.
- the printing mechanism 140 can include mechanisms to aid in separation, e.g. by providing a rotation out of the plane of FIG. 1 .
- the printing mechanism 140 can employ a continuous separation mechanism that continuously raises the build plate 130 .
- the light projection device 142 can be configured to modulate its light output based on a two dimensional grid of pixels.
- the light projection device 142 can include a pixel addressable filter to allow controlled amounts of light to pass at some pixel locations while blocking or deflecting light at other pixel locations from a light source within the light projection device 142 .
- a pixel addressable filter can include a digital micro-mirror device (DMD).
- the light projection device 142 can include a pixel addressable light source to produce controlled amounts of light at some pixel locations and not produce light at other pixel locations.
- the light projection device 142 includes a liquid crystal display (LCD) device, discrete light emitting diode (LED) array device, laser, or a digital light processing (DLP) projector.
- LCD liquid crystal display
- LED discrete light emitting diode
- DLP digital light processing
- the 3D printing system 100 can include sensors and be designed to modify its operations based on feedback from these sensors.
- the 3D printing system 100 can use closed loop feedback from sensors in the printer to improve print reliability.
- Such feedback sensors can include one or more strain sensors on the rod 135 holding the build plate 130 to detect if adhesion has occurred and stop and/or adjust the print, and one or more sensors to detect polymer conversion, such as a spectrometer, a pyrometer, etc. These sensors can be used to confirm that the 3D printing is proceeding correctly, to determine if the resin has been fully cured before the 3D printing system 100 proceeds to the next layer, or both.
- one or more cameras can be used along with computer vision techniques to check that the print is proceeding as expected. Such cameras can be positioned under the vat 110 to examine the output, e.g., 3D printed layer, which the controller 145 can compare to the input, e.g., mask or layer image.
- the computer 150 can include a processor 152 , memory 154 , and interfaces such as a network interface or a Universal Serial Bus (USB) interface.
- the processor 152 can be one or multiple processors, which can each include multiple processor cores.
- the memory 154 can include volatile memory such as Random Access Memory (RAM).
- the memory 154 can include non-volatile memory such as flash memory or read-only memory (ROM).
- the computer 150 can include one or more types of computer storage media and devices, which can include the memory 154 , to store instructions of programs that run on the processor 152 .
- a 3D printing program 156 can be stored in the memory 154 and run on the processor 152 to implement the techniques described herein.
- the controller 145 can include the 3D printing program 156 .
- the 3D printing program 156 can transform a digital model into a sequence of layers that collectively describe the structure 160 .
- the 3D printing program 156 can access a file containing mesh data that represents a digital model.
- Mesh data can include descriptions of geometric shapes such as polygons and their locations within the digital model.
- the 3D printing program 156 can map the digital model into three-dimensional discrete points called voxels.
- a voxel can be mapped to a pixel within a layer.
- the digital model can be sliced into grids of pixels and each pixel represents a voxel.
- a voxel can be fully contained within the digital model, partially contained within the digital model, or outside of the digital model. Accordingly, each voxel can be associated with a containment degree. For example, a voxel that is fully contained can have a containment degree of 100%; a voxel that is outside can have a containment degree of 0%; and a voxel that is partially contained within the digital mode can have a containment degree based on how much of it is included in the model and can be less than 100%, but greater than 0%.
- the 3D printing program 156 , the controller 145 , or both can employ a digital model based grayscale technique 158 to provide sub-pixel resolution and smoothing capabilities.
- the grayscale technique 158 can smooth out edges between different layers of the structure 160 and edges within a layer of the structure 160 .
- the grayscale technique 158 can assign light intensity levels based on a voxel's degree of containment.
- the light intensity levels can include a white level for 100% containment, a black level for 0% containment, and multiple grayscale levels there between for partial containment within a digital model.
- the partial containment values can be computed based on the geometry of the digital model.
- the 3D printing program 156 , the controller 145 , or both can output layer information, such as graphic files or light modulation command sequences, that represent respective patterns of light to be generated for each layer of the model.
- FIG. 2 shows a cross section of an example of a digital model 200 mapped onto voxels using a model based grayscale technique.
- the digital model 200 is analyzed and a boundary line 201 is determined.
- the boundary line 201 spans multiple slices of the digital model 200 .
- the boundary line 201 traverses several voxels including voxels 205 a, 205 b, and 205 c. Since the boundary line 201 intercepts these voxels 205 a - c at different points, different volumes are swept by the line 201 , and, accordingly different containment degrees are produced. Since voxel 205 a is mostly inside of the digital model 200 , it will have a higher containment degree and can be assigned a higher grayscale value than voxel 205 c which is mostly outside of the digital model 200 .
- FIG. 3 shows a cross section of an example of a digital model mapped onto voxels using a model based grayscale technique to achieve sub-voxel resolution.
- the digital model is mapped onto a grid 305 of voxels including voxels 310 a - i that are arranged in layers including layers 315 a - c .
- layer 315 c is formed initially, followed by layer 315 b, and layer 315 a.
- the voxels 310 a - i in each layer 315 a - c can be represented as a grid of pixels, which can subsequently cause a light source to project patterned light into a vat of resin to form a layer of a 3D structure.
- Voxels 310 a, 310 b, and 310 d that are not in the model are black.
- Voxels 310 c , 310 f, 310 g, and 310 i that are fully contained in the model are white.
- Partially contained voxels 310 e, 310 g are grayscale; note that there can be multiple possible grayscale values.
- the size in the Z dimension of the voxels 310 a - i is set by a vertical thickness parameter.
- the sizes within the X and Y dimensions of the voxels 310 a - i are set by a light source's resolutions within the X and Y dimensions.
- the sizes in the X and Y dimensions of the voxels 310 a - i are both 50 microns, and the size in the Z dimension is 10 microns.
- a feature of the model may not be a multiple of a voxel's dimensions.
- a horizontal feature of the model may extend into voxel 310 g by a distance 320 of 20 microns from adjacent voxel 310 h. Since the adjacent voxel 310 h is at a white intensity level, that voxel 310 h will be completely cured within a predetermined curing time for layer 315 c.
- the grayscale intensity level being less than the white intensity level, is assigned to voxel 310 g, hence voxel 310 g will not be completely cured within the predetermined curing time for layer 315 c. Instead, the curing process can harden the resin in a direction from the white voxel 310 h to a midpoint 325 within the grayscale voxel 310 g, thereby substantially reproducing in the printed structure the actual extent of the model into that voxel.
- the hardness of the grayscale voxel 310 g when printed may be less than the hardness of the white voxel 310 h when printed, but nonetheless a substructure is created within the grayscale voxel 310 g.
- a grayscale technique can place a grayscale voxel next to a white voxel in the same layer to ensure that a substructure will adhere to the main structure.
- a grayscale voxel that is isolated from a white voxel in a layer may not result in any substructures formed within the resin vat. However, it may generate a substructure if there was a white voxel in the immediately preceding formed layer.
- the grayscale technique can remove isolated grayscale pixels.
- a 3D printing technique can add structural support structures to the digital model, which can support isolated pixels.
- FIG. 4 shows a flowchart of an example of a process that transforms a digital model into data suitable for rendering on a 3D printer.
- a device such as a printer controller or a computer can perform this process.
- the process obtains a digital model that describes a 3D structure.
- Obtaining a digital model can include accessing a file that defines the meshes that cover the surface of the structure.
- the file can be in a format such as the STL (STereoLithography) file format or the Polygon File Format (PLY). Other types of file formats are possible.
- the digital model is received over a network connection. For example, a user can upload a digital model to a server on the Internet for rendering to a 3D printer.
- a digital model can be created from actual objects.
- a 3D scanner such as Magnetic resonance imaging (MRI) scanner, computed tomography (CT) scanner, or laser scanner can be used to generate digital models.
- MRI Magnetic resonance imaging
- CT computed tomography
- a digital model can be generated by different images of an object.
- a digital model can be generated based on a microtome sectioning process.
- the process maps the digital model onto a three dimensional grid of voxels associated with a 3D printer.
- Mapping the digital model can include identifying voxels that are fully contained within the digital model, voxels that are partially contained within the digital model, and voxels that are outside of the digital model.
- the process can receive one or more parameters that describe the capabilities of the 3D printer such as resolutions in the X, Y, and Z dimensions, and maximum sizes for each dimension. The process can use these parameters to determine the number and shape of voxels for the grid.
- each voxel in the grid can correspond to a voxel that the 3D printer can form.
- each voxel in the grid can correspond to a pixel that the 3D printer can form within a layer.
- a voxel is sliced in an X-Y plane at its midpoint location along the printer's formation axis, e.g., Z axis, which is perpendicular to that plane, to form a corresponding pixel.
- the process assigns a white intensity level to one or more “white” voxels that are fully contained within the digital model.
- the white intensity level is sufficient to cure photoactive resin during a predetermined curing time for a layer.
- the white intensity level is a percentage (e.g., 90% or 95%) of a maximum intensity level generated by a 3D printer; in this case, the maximum intensity level exceeds an intensity level sufficient to cure photoactive resin. Note that different photoactive resins can require different curing intensities.
- the process assigns a black intensity level to one or more “black” voxels that are outside of the digital model. These black voxels do not constitute the 3D structure described by the digital model.
- the black intensity level is a zero intensity level that inhibits light.
- assigning a black intensity level is accomplished by initializing a data structure defining the grid to all zeros, where zero represents the zero intensity level. After initialization to all zeros, the process can assign white and grayscale intensity levels.
- the process determines whether there are one or more “grayscale” voxels that are partially contained within the digital model. If none, the process continues at 440 . Otherwise, at 430 , the process determines one or more containment degrees for the one or more grayscale voxels based on geometric information provided by the digital model. The process can determine a voxel's degree of containment based on a sampling technique, super sampling technique, or a geometric technique; other techniques are possible.
- the process assigns one or more grayscale intensity levels to one or more grayscale voxels based respectively on the one or more containment degrees. If the digital model, for example, covers 60% of the volume of a voxel (e.g., 60% containment degree), then the process can assign an intensity level that is 60% of the white intensity level. In another example, if the digital model covers 80% of the volume of a voxel, then the process can assign an intensity level that is 80% of the white intensity level.
- the one or more grayscale intensity levels are greater than a black intensity level, but less than the white intensity level assigned at 420 .
- the one or more grayscale intensity levels are not sufficient to completely cure the photoactive resin during the predetermined curing time.
- the process can adjust the one or more grayscale intensity levels based on a nonlinear characteristic of a light source within the 3D printer, a nonlinear characteristic of the photoactive resin, or both.
- a photoactive resin may have a nonlinear relationship between intensity levels and a curing degree.
- an adjustment can be performed by applying the inverse power (1/y) to the grayscale intensity levels, e.g., by performing gamma correction.
- a lookup table can be applied to correct for arbitrary nonlinearities.
- the intensity levels are R-bit values, where R is a predetermined number of bits associated with a graphic file format. that range from 0 (black) to 255 (white).
- R is a predetermined number of bits associated with a graphic file format. that range from 0 (black) to 255 (white).
- the intensity levels can be represented as 8-bit values that range from 0 (black) to 255 (white). Other values for R are possible.
- the process generates one or more graphic files based on the white, grayscale, and black voxels, and the assigned intensity levels.
- the model is sliced into N layers in the Z dimension and the process outputs a graphic file such as a file in accordance with a file format such as Portable Network Graphics (PNG) for each layer.
- PNG Portable Network Graphics
- the process outputs a graphic file containing multiple bitmaps for respective layers.
- sending the one or more graphic files can include transmitting data via a network connection (e.g., wireline or wirelessly) or Universal Serial Bus (USB).
- a 3D printer can receive the digital model itself, perform the process of FIG. 4 , and send the contents of the one or more graphic files to a light projection device within the 3D printer. Sending the contents can include transmitting a sequence of bits over a serial bus between a controller and a projection system.
- a standalone computer performs the process of FIG. 4 and sends the contents of the one or more graphic files to the 3D printer via a wireline or wireless connection.
- FIG. 5 shows a flowchart of an example of a process that determines a containment degree based on a sampling technique.
- the process determines a number of inside points (n) within a voxel that are at least partially contained by the digital model.
- the process determines a number of outside points (m) within the voxel that are not contained by the digital model.
- the process determines a containment degree of the voxel based on the number of inside points and the number of outside points.
- the containment degree equals n/(n+m).
- voxels are sliced into corresponding pixels and containment degrees are computed based on samples taken within the corresponding pixels.
- Determining a containment degree of a pixel can include determining a number of inside points within the pixel that are at least partially contained by a digital model, determining a number of outside points within the pixel that are not contained by the digital model, and determining the containment degree based on the number of first points divided by the number of first and second points.
- FIG. 6 shows a flowchart of an example of a process that determines a containment degree based on a geometric technique.
- the process determines a covered volume within a voxel that is contained by the digital model.
- determining a covered volume can include determining the interception of a model's boundary surface with a voxel to determine a volume covered by the model.
- determining a covered volume can include determining the interception of a model's boundary line with a cross-section of a voxel to determine an area covered by the model.
- the determined covered area can be extrapolated to a covered volume.
- the process determines a total volume of the voxel.
- the total volume is computed once for voxels of the same size. In some implementations, the total volume is based on printer resolution parameters for the X, Y, and Z dimensions.
- the process determines a containment degree of the voxel based on the covered volume and the total volume of the voxel. In some implementations, voxels are sliced into corresponding pixels and containment degrees are computed based on the corresponding pixels and the geometry of the model.
- FIG. 7 shows a flowchart of an example of a super-sampling process.
- the process scales a digital model by a scale factor (K) in the X, Y, and Z dimensions. In some implementations, a different scale factor is applied to each dimension.
- the process in the X-Y plane slices the scaled digital model into K*M layers, including M representative layers, of super-pixels along the Z dimension. In some implementations, the number of M layers is based on a vertical resolution of a 3D printer and a vertical size of the digital model or a target output size specified by a build parameter. In some implementations, the process can select every Kth slice of the scaled digital mode to produce M representative layers.
- the process generates finalized pixels for a representative layer based on respective groups of K*K*K super-pixels.
- a group can include K*K super-pixels in the current representative layer and super-pixels from surrounding layers, e.g., layers above, layers below, or both.
- a group of K*K*K super-pixels represents a cube of super-pixels centered around a pixel in a representative layer.
- the process can transform a group of K*K*K super-pixels into a finalized pixel based on a combination of the K*K*K super-pixels such as an average or weighted average. Other techniques to combine super-pixels are possible.
- the process generates containment degrees for the finalized pixels based on the respective groups of K*K*K super-pixels.
- the process assigns intensity levels based on the containment degrees.
- the intensity levels are gamma corrected based on nonlinearities associated with the printer's projection system, resin, or both.
- the process generates an image for the representative layer based on the finalized pixels and the assigned intensity levels.
- the process determines if there are any more layers to process. If so, then the process continues to process the next representative layer at 710 . Otherwise, at 740 , the process outputs the images for respective representative layers of the digital model.
- FIG. 8 shows an example of a sampling technique applied to sample points within several voxel cross-sections associated with a digital model 800 to determine containment degrees for respective voxels.
- the digital model 800 can specify a boundary surface of a structure. In a cross-section, this boundary surface can be represented as a boundary line 801 .
- the boundary line 801 can be straight, curved, segmented, etc. Further, the boundary line 801 can span multiple layers of the digital model 800 .
- the digital model 800 can be mapped onto voxels including voxels 805 a, 805 b, and 805 c.
- Voxels 805 a, 805 b are in a layer 830 b of the digital model 800 , while voxel 805 c is on an immediately subsequent layer 830 a. Some voxels and points therein are contained within the digital model 800 , while others are not. Here, points 815 within the voxels 805 a - c that are on and to the right of the boundary line 801 are considered to be contained within the digital model 800 . In this example, voxel 805 b is fully contained within the digital model 800 , and accordingly all sample points 815 within the voxel 805 b are also fully contained within the digital model 800 ; these points 815 are depicted by solid black circles and can be referred to as inside points.
- voxels 805 a, 805 c are partially contained within the digital model 800 . As such, some points 810 within these voxels 805 a, 805 c are not contained within the digital model 800 ; these points 810 are depicted by white circles and can be referred to as outside points. Further, the other points 815 within these voxels 805 a, 805 c are fully contained within the digital model 800 .
- a containment degree for a voxel is based on the number of inside points divided by the total number of points, e.g., inside plus outside points. In some implementations, the total number of points within a voxel can be determined based on one or more 3D printer resolution parameters.
- a cross-section of a voxel is used for sampling purposes.
- the entire volume of a voxel is used for sampling purposes.
- the number of sample points within the voxels 805 a - c can be based on factors such as a required level of accuracy or available computational resources.
- FIG. 9 shows an example of a geometric technique applied to sample points within several voxel cross-sections associated with a digital model 900 to determine containment degrees for respective voxels.
- the digital model 900 can specify a boundary surface of a structure. In a cross-section, this boundary surface can be represented as a boundary line 901 .
- the boundary line 901 can span multiple layers of the digital model 900 .
- the digital model 900 can be mapped onto voxels including voxels 905 a, 905 b, and 905 c.
- Voxels 905 a, 905 b are in a layer 915 b of the digital model 900 , while voxel 905 c is on an immediately subsequent layer 915 a of the digital model 900 . Some voxels and some portions therein are contained within the digital model 900 , while others are not. Portions within the voxels 905 a - c that are on and to the right of the boundary line 901 are considered to be contained within the digital model 900 .
- a cross-section of a voxel is used to compute an area of the cross-section that is contained within the digital model 900 .
- the entire voxel is used to compute a volume of the voxel that is contained within the digital model 900 .
- a file that provides information about a digital model 900 can include information to construct triangles or other shapes on a surface of a structure. Such information can be used to determine an angle 910 between the boundary line 901 and a side of a voxel 905 a.
- the angle 910 is 45 degrees and thus the boundary line 901 equally divides the area of voxel 905 a in half, e.g., the inside area is equal to the outside area which yields a containment degree of 50%.
- Other geometric relations and computations are possible to derive containment degrees from the digital model 900 .
- FIGS. 10 A and 10 B show a cross-section of an example of a 3D structure printed without and with grayscale intensity values from the same digital model.
- FIG. 10 A shows a cross-sectional image 1001 a of a 3D structure that was printed without using grayscale intensity values, e.g., black and white intensity values were used.
- FIG. 10 B shows a cross-sectional image 1001 b of a 3D structure that was printed using grayscale intensity values in addition to black and white intensity values.
- the grayscale intensity values caused sub-pixel features to be created which more accurately represent the digital model, e.g., a smoother edge is formed as shown in image 1001 b rather than a jagged, stair-stepped edge as shown in image 1001 a.
- FIGS. 11 A and 11 B show sub-pixel resolution aspects of a 3D structure printed with grayscale intensity values.
- FIG. 11 A shows a mask image 1101 a to generate a 3D structure that has several vertical features 1105 a - e that are placed at different offsets from a reference line 1103 .
- the mask image 1101 a represents a layer of a digital model and can be created using a grayscale technique described herein.
- the mask image 1101 a is used by a light projection device to grow the features 1105 a - e in the Z axis.
- the 3D structure is printed using a 3D printer have a 50 ⁇ 50 micron resolution in the X-Y plane such as the Ember 3D printer available from Autodesk, Inc. of San Rafael, CA.
- Feature 1105 a is at a zero offset from the reference line 1103 , feature 1105 b is at a 12.5 micron offset, feature 1105 c is at a 25 micron offset, feature 1105 d is at a 37.5 micron offset, feature 1105 d is at a 37.5 micron offset, and feature 1105 e is at a 50 micron offset.
- Grayscale values are used to generate the sub-pixel placement of the edges for features 1105 b, 1105 c, and 1105 d.
- FIG. 11 B shows an image 1101 b of the 3D structure created by a 3D printer using the mask image 1101 a of FIG. 11 A . As shown, sub-pixel placement of features 1105 b, 1105 c, and 1105 d is possible.
- a 3D printer in some implementations, can include a vat capable of holding a liquid comprising a photoactive resin, wherein the vat includes a window; a build plate configured and arranged to move within the vat during three-dimensional printing of a solid structure on the build plate; a light source to project light through the window; and a controller to control the printing of the solid structure and to modulate light between the light source and the window through individual pixels.
- the controller can be configured to project first light into the window of the vat based on a first group of the pixels during a curing time to form a layer of the solid structure, the first light having a predetermined wavelength and a first intensity that is sufficient to cure at least a portion of the photoactive resin during the curing time.
- the controller can be configured to project second light into the window of the vat based on a second group of the pixels during the curing time to form the layer of the solid structure, the second light having the predetermined wavelength, the second light having a second intensity lesser than the first intensity.
- the controller can be configured to inhibit light from reaching the window of the vat based on a third group of the pixels during the curing time. In some implementations, the controller can be configured to not produce light based on a third group of the pixels during the curing time.
- a 3D printer in some implementations, can include a vat capable of holding a liquid comprising a photoactive resin, wherein the vat includes a window; a build plate configured and arranged to move within the vat during three dimensional printing of a solid structure on the build plate; a light source to project light through the window; and a controller to control the printing of the solid structure and to modulate light between the light source and the window, the light being modulated in accordance with individual pixels of a two-dimensional array, wherein the controller is configured to project first light into the window of the vat based on a first proper subset of the pixels during a curing time to form a layer of the solid structure, the first light having a predetermined wavelength and a first intensity that is sufficient to cure at least a portion of the photoactive resin during the curing time, project second light into the window of the vat based on a second proper subset of the pixels during the curing time to form the same layer of the solid structure, the second light having the predetermined wavelength, the second light having the
- Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Embodiments of the subject matter described in this specification can be implemented using one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, data processing apparatus.
- the computer-readable medium can be a manufactured product, such as hard drive in a computer system or an optical disc sold through retail channels, or an embedded system.
- the computer-readable medium can be acquired separately and later encoded with the one or more modules of computer program instructions, such as by delivery of the one or more modules of computer program instructions over a wired or wireless network.
- the computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more of them.
- data processing apparatus encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
- the apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a runtime environment, or a combination of one or more of them.
- the apparatus can employ various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a computer program does not necessarily correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in this specification can be performed by, and/or under the control of, one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
- Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back-end, middleware, or front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- LAN local area network
- WAN wide area network
- inter-network e.g., the Internet
- peer-to-peer networks e.g., ad hoc peer-to-peer networks.
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Landscapes
- Engineering & Computer Science (AREA)
- Materials Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Optics & Photonics (AREA)
- Mechanical Engineering (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 17/504,961, filed Oct. 19, 2021, which is a continuation of U.S. patent application Ser. No. 17/204,413 filed Mar. 17, 2021, which is a continuation of U.S. patent application Ser. No. 16,997,596, filed Aug. 19, 2020, which is a continuation of U.S. patent application Ser. No. 16/732,777, filed on Jan. 2, 2020, which is a continuation of U.S. patent application Ser. No. 16/432,336, filed Jun. 5, 2019, which is a continuation of U.S. patent application Ser. No. 15/287,205, filed Oct. 6, 2016, now U.S. Pat. No. 10,354,445, which claims priority to U.S. Provisional Application No. 62/238,624, filed on Oct. 7, 2015, and entitled “SUB-PIXEL GRAYSCALE THREE-DIMENSIONAL PRINTING,” each of which is incorporated herein by reference in its entirety.
- This patent document relates to three-dimensional (3D) printing using photopolymers.
- Photopolymer-based 3D printers that use bottom-up illumination can project light upwards through an optically transparent window into a vat of photoactive resin to cure at least a portion of the resin. Such printers can build a 3D structure by forming one layer at a time, where a subsequent layer adheres to the previous layer. The light can be patterned to cause some portions of the resin to cure and other portions not to cure, thereby creating substructures of the 3D structure.
- This patent document describes technologies relating to sub-pixel grayscale three dimensional (3D) printing. In one aspect, a described technique includes obtaining a digital model that describes a three-dimensional structure; mapping the digital model onto a three-dimensional grid of voxels associated with a three-dimensional printer; assigning a first intensity level to one or more first voxels of the grid of voxels that are fully contained within the digital model, the first intensity level being sufficient to cure photoactive resin during a predetermined curing time associated with the three-dimensional printer; determining, based on geometric information provided by the digital model, one or more containment degrees for one or more second voxels of the grid of voxels that are partially contained within the digital model; assigning one or more second intensity levels to the one or more second voxels based respectively on the one or more containment degrees, the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level; assigning the third intensity level to one or more third voxels of the grid of voxels that are outside of the digital model; and generating one or more graphic files based on the one or more first voxels, the one or more second voxels, the one or more third voxels, and the assigned intensity levels. Other implementations can include corresponding systems, apparatus, and computer program products.
- These and other implementations can include one or more of the following features. Implementations can include sending the one or more graphic files to the three-dimensional printer. Determining the one or more containment degrees can include determining a number of first points within a voxel that are at least partially contained by the digital model; determining a number of second points within the voxel that are not contained by the digital model; and determining a containment degree of the voxel based on the number of first points and the number of second points. Determining the one or more containment degrees can include determining a covered volume within a voxel that is contained by the digital model; and determining a containment degree of the voxel based on the covered volume and a total volume of the voxel. Mapping the digital model onto the three-dimensional grid of voxels can include slicing the digital model into two-dimensional slices and mapping each slice onto a two-dimensional grid of pixels. In some implementations, the one or more second voxels of the grid of voxels are sliced to form one or more pixels. Determining the one or more containment degrees can include determining a number of first points within a pixel of the one or more pixels that are at least partially contained by the digital model; determining a number of second points within the pixel that are not contained by the digital model; and determining a containment degree of the pixel based on the number of first points and the number of second points. Implementations can include adjusting the one or more second intensity levels based on a nonlinear characteristic of the photoactive resin. Implementations can include adjusting the one or more second intensity levels based on a nonlinear characteristic of a light source within the three dimensional printer. Implementations can include scaling the digital model based on a scaling factor. Mapping the digital model can include slicing the scaled digital model. The one or more containment degrees can be based on combinations of groups of pixels from slices of the scaled digital model.
- A system can include a processor configured to perform operations; and a memory structure coupled with the processor, the memory structure configured to store a digital model that describes a three-dimensional structure. The operations can include mapping the digital model onto a three-dimensional grid of voxels associated with a three-dimensional printer; assigning a first intensity level to one or more first voxels of the grid of voxels that are fully contained within the digital model; determining, based on geometric information provided by the digital model, one or more containment degrees for one or more second voxels of the grid of voxels that are partially contained within the digital model; assigning one or more second intensity levels to the one or more second voxels based respectively on the one or more containment degrees, the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level; and generating one or more graphic files based on the one or more first voxels, the one or more second voxels, and the assigned intensity levels. The first intensity level is sufficient to cure photoactive resin during a predetermined curing time associated with the three-dimensional printer. The one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level. In some cases, the one or more second intensity levels can include two or more different intensity levels that are less than the first intensity level. The operations can include assigning the third intensity level to one or more third voxels of the grid of voxels that are outside of the digital model, where the one or more graphic files are generated based on the one or more third voxels.
- A 3D printer system can include a vat capable of holding a liquid including a photoactive resin, wherein the vat includes a window; a build plate configured and arranged to move within the vat during three-dimensional printing of a structure on the build plate; a light projection device to project light through the window; and a controller to control the printing of the structure, movement of the build plate, and light modulation of the light projection device. The controller can be configured to perform operations that include mapping a digital model onto a three-dimensional grid of voxels; assigning a first intensity level to one or more first voxels of the grid of voxels that are fully contained within the digital model, wherein the first intensity level is sufficient to cure photoactive resin during a predetermined curing time; determining, based on geometric information provided by the digital model, one or more containment degrees for one or more second voxels of the grid of voxels that are partially contained within the digital model; assigning one or more second intensity levels to the one or more second voxels based respectively on the one or more containment degrees, the one or more second intensity levels being greater than a third intensity level and lesser than the first intensity level; generating layer information based on the one or more first voxels, the one or more second voxels, and the assigned intensity levels; and controlling the light projection device based on the layer information. The operations can include assigning the third intensity level to one or more third voxels of the grid of voxels that are outside of the digital model, where the layer information is based on the one or more third voxels. In some implementations, the layer information can include one or more graphic files. In some implementations, the layer information can include, for each layer, a sequence of a bits to control light modulation through a grid of pixels by a light projection device.
- Particular implementations disclosed herein can provide one or more of the following advantages. A described technology can be used to smooth out edges in three-dimensional printing. A described technology can use grayscale values to effectively position purely vertical features with sub-pixel precision, sub-voxel precision, or both. A described technology can be used to more accurately print a 3D structure.
- Details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages may be apparent from the description and drawings, and from the claims.
-
FIG. 1 shows an example of a 3D printing system coupled with a computer. -
FIG. 2 shows a cross section of an example of a digital model mapped onto voxels using a model based grayscale technique. -
FIG. 3 shows a cross section of an example of a digital model mapped onto voxels using a model based grayscale technique to achieve sub-voxel resolution. -
FIG. 4 shows a flowchart of an example of a process that transforms a digital model into data suitable for rendering on a 3D printer. -
FIG. 5 shows a flowchart of an example of a process that determines a containment degree based on a sampling technique. -
FIG. 6 shows a flowchart of an example of a process that determines a containment degree based on a geometric technique. -
FIG. 7 shows a flowchart of an example of a super-sampling process. -
FIG. 8 shows an example of a sampling technique applied to sample points within several voxel cross-sections associated with a digital model to determine containment degrees for respective voxels. -
FIG. 9 shows an example of a geometric technique applied to sample points within several voxel cross-sections associated with a digital model to determine containment degrees for respective voxels. -
FIGS. 10A and 10B show a cross-section of an example of a 3D structure printed without and with grayscale intensity values from the same digital model. -
FIGS. 11A and 11B show sub-pixel resolution aspects of a 3D structure printed with grayscale intensity values. - Like reference numbers and designations in the various drawings indicate like elements.
-
FIG. 1 shows an example of a3D printing system 100 coupled with acomputer 150. Thecomputer 150 can provide information about a 3D structure to the3D printing system 100 for printing. Thecomputer 150 can communicate with acontroller 145 of theprinting system 100 via a wireline or wireless connection. Thecontroller 145 can include integrated circuit technology, such as an integrated circuit board with embedded processor and firmware to control various system components such as a3D printing mechanism 140 and alight projection device 142. - The
system 100 includes avat 110 to hold a liquid 120, which includes one or more photoactive resins. Thevat 110 includes awindow 115 in its bottom through which light is transmitted to cure resin to form a 3D printedstructure 160 in a layer-by-layer build process. The 3D printedstructure 160 is shown as a block, but as will be appreciated, a wide variety of complicated shapes can be 3D printed. Thestructure 160 is 3D printed on abuild plate 130, which can be connected by arod 135 to a3D printing mechanism 140. Theprinting mechanism 140 can include various mechanical structures for moving thebuild plate 130 within thevat 110. This movement is relative movement, and thus the moving piece can bebuild plate 130, thevat 110, or both, in various implementations. - In some implementations, the
window 115 includes a material such as polydimethylsiloxane (PDMS) to prevent resin from adhering to thewindow 115 during a curing procedure. Other techniques can be used to prevent resin from adhering to thewindow 115 such as a photo-inhibition technique that prevents resin from curing within a section of thevat 110 immediately above thewindow 115, while allowing resin to cure further away from thewindow 115. - The
light projection device 142 can be positioned below thewindow 115. Thecontroller 145 can operate thelight projection device 142 to project a pattern of light 185 into thevat 110 to form substructures of thestructure 160. The light 185 has a wavelength which is used to create the3D structure 160 on thebuild plate 130 by curing the photoactive resin in the liquid 120 within a photo-initiation region 175, in accordance with a defined pattern or patterns. The wavelength can be selected based on the characteristics of the photoactive resin in the liquid 120. Thebuild plate 130 can start at a position near the bottom of thevat 110, and varying patterns of the light 185 are directed through thewindow 115 to create layers of thesolid structure 160 as thebuild plate 130 is raised out of thevat 110 by theprinting mechanism 140. In some implementations, theprinting mechanism 140 can employ a stepwise separation mechanism that raises thebuild plate 130 by a predetermined amount after each layer completion, e.g., after a predetermined curing time. In some implementations, theprinting mechanism 140 can include mechanisms to aid in separation, e.g. by providing a rotation out of the plane ofFIG. 1 . In some implementations, theprinting mechanism 140 can employ a continuous separation mechanism that continuously raises thebuild plate 130. - The
light projection device 142 can be configured to modulate its light output based on a two dimensional grid of pixels. In some implementations, thelight projection device 142 can include a pixel addressable filter to allow controlled amounts of light to pass at some pixel locations while blocking or deflecting light at other pixel locations from a light source within thelight projection device 142. A pixel addressable filter can include a digital micro-mirror device (DMD). In some implementations, thelight projection device 142 can include a pixel addressable light source to produce controlled amounts of light at some pixel locations and not produce light at other pixel locations. In some implementations, thelight projection device 142 includes a liquid crystal display (LCD) device, discrete light emitting diode (LED) array device, laser, or a digital light processing (DLP) projector. - In some implementations, the
3D printing system 100 can include sensors and be designed to modify its operations based on feedback from these sensors. For example, the3D printing system 100 can use closed loop feedback from sensors in the printer to improve print reliability. Such feedback sensors can include one or more strain sensors on therod 135 holding thebuild plate 130 to detect if adhesion has occurred and stop and/or adjust the print, and one or more sensors to detect polymer conversion, such as a spectrometer, a pyrometer, etc. These sensors can be used to confirm that the 3D printing is proceeding correctly, to determine if the resin has been fully cured before the3D printing system 100 proceeds to the next layer, or both. Moreover, in some implementations, one or more cameras can be used along with computer vision techniques to check that the print is proceeding as expected. Such cameras can be positioned under thevat 110 to examine the output, e.g., 3D printed layer, which thecontroller 145 can compare to the input, e.g., mask or layer image. - The
computer 150 can include aprocessor 152,memory 154, and interfaces such as a network interface or a Universal Serial Bus (USB) interface. Theprocessor 152 can be one or multiple processors, which can each include multiple processor cores. Thememory 154 can include volatile memory such as Random Access Memory (RAM). Thememory 154 can include non-volatile memory such as flash memory or read-only memory (ROM). Thecomputer 150 can include one or more types of computer storage media and devices, which can include thememory 154, to store instructions of programs that run on theprocessor 152. For example, a3D printing program 156 can be stored in thememory 154 and run on theprocessor 152 to implement the techniques described herein. In some implementations, thecontroller 145 can include the3D printing program 156. - The
3D printing program 156 can transform a digital model into a sequence of layers that collectively describe thestructure 160. The3D printing program 156 can access a file containing mesh data that represents a digital model. Mesh data can include descriptions of geometric shapes such as polygons and their locations within the digital model. The3D printing program 156 can map the digital model into three-dimensional discrete points called voxels. In some implementations, a voxel can be mapped to a pixel within a layer. In some implementations, the digital model can be sliced into grids of pixels and each pixel represents a voxel. - A voxel can be fully contained within the digital model, partially contained within the digital model, or outside of the digital model. Accordingly, each voxel can be associated with a containment degree. For example, a voxel that is fully contained can have a containment degree of 100%; a voxel that is outside can have a containment degree of 0%; and a voxel that is partially contained within the digital mode can have a containment degree based on how much of it is included in the model and can be less than 100%, but greater than 0%.
- The
3D printing program 156, thecontroller 145, or both can employ a digital model basedgrayscale technique 158 to provide sub-pixel resolution and smoothing capabilities. Thegrayscale technique 158 can smooth out edges between different layers of thestructure 160 and edges within a layer of thestructure 160. Thegrayscale technique 158 can assign light intensity levels based on a voxel's degree of containment. The light intensity levels can include a white level for 100% containment, a black level for 0% containment, and multiple grayscale levels there between for partial containment within a digital model. The partial containment values can be computed based on the geometry of the digital model. Based on the output of thegrayscale technique 158, the3D printing program 156, thecontroller 145, or both can output layer information, such as graphic files or light modulation command sequences, that represent respective patterns of light to be generated for each layer of the model. -
FIG. 2 shows a cross section of an example of adigital model 200 mapped onto voxels using a model based grayscale technique. Thedigital model 200 is analyzed and aboundary line 201 is determined. In this example, theboundary line 201 spans multiple slices of thedigital model 200. Theboundary line 201 traverses severalvoxels including voxels boundary line 201 intercepts these voxels 205 a-c at different points, different volumes are swept by theline 201, and, accordingly different containment degrees are produced. Sincevoxel 205 a is mostly inside of thedigital model 200, it will have a higher containment degree and can be assigned a higher grayscale value thanvoxel 205 c which is mostly outside of thedigital model 200. -
FIG. 3 shows a cross section of an example of a digital model mapped onto voxels using a model based grayscale technique to achieve sub-voxel resolution. The digital model is mapped onto agrid 305 of voxels including voxels 310 a-i that are arranged in layers including layers 315 a-c. In some implementations,layer 315 c is formed initially, followed bylayer 315 b, and layer 315 a. The voxels 310 a-i in each layer 315 a-c can be represented as a grid of pixels, which can subsequently cause a light source to project patterned light into a vat of resin to form a layer of a 3D structure. -
Voxels Voxels distance 320 of 20 microns fromadjacent voxel 310 h. Since theadjacent voxel 310 h is at a white intensity level, thatvoxel 310 h will be completely cured within a predetermined curing time forlayer 315 c. The grayscale intensity level, being less than the white intensity level, is assigned to voxel 310 g, hence voxel 310 g will not be completely cured within the predetermined curing time forlayer 315 c. Instead, the curing process can harden the resin in a direction from thewhite voxel 310 h to amidpoint 325 within the grayscale voxel 310 g, thereby substantially reproducing in the printed structure the actual extent of the model into that voxel. In some implementations, the hardness of the grayscale voxel 310 g when printed may be less than the hardness of thewhite voxel 310 h when printed, but nonetheless a substructure is created within the grayscale voxel 310 g. A grayscale technique can place a grayscale voxel next to a white voxel in the same layer to ensure that a substructure will adhere to the main structure. However, a grayscale voxel that is isolated from a white voxel in a layer may not result in any substructures formed within the resin vat. However, it may generate a substructure if there was a white voxel in the immediately preceding formed layer. In some implementations, the grayscale technique can remove isolated grayscale pixels. In some implementations, a 3D printing technique can add structural support structures to the digital model, which can support isolated pixels. -
FIG. 4 shows a flowchart of an example of a process that transforms a digital model into data suitable for rendering on a 3D printer. A device such as a printer controller or a computer can perform this process. At 405, the process obtains a digital model that describes a 3D structure. Obtaining a digital model can include accessing a file that defines the meshes that cover the surface of the structure. The file can be in a format such as the STL (STereoLithography) file format or the Polygon File Format (PLY). Other types of file formats are possible. In some implementations, the digital model is received over a network connection. For example, a user can upload a digital model to a server on the Internet for rendering to a 3D printer. In some implementations, a digital model can be created from actual objects. For example, a 3D scanner such as Magnetic resonance imaging (MRI) scanner, computed tomography (CT) scanner, or laser scanner can be used to generate digital models. In some implementations, a digital model can be generated by different images of an object. In some implementations, a digital model can be generated based on a microtome sectioning process. - At 410, the process maps the digital model onto a three dimensional grid of voxels associated with a 3D printer. Mapping the digital model can include identifying voxels that are fully contained within the digital model, voxels that are partially contained within the digital model, and voxels that are outside of the digital model. In some implementations, the process can receive one or more parameters that describe the capabilities of the 3D printer such as resolutions in the X, Y, and Z dimensions, and maximum sizes for each dimension. The process can use these parameters to determine the number and shape of voxels for the grid. In some implementations, each voxel in the grid can correspond to a voxel that the 3D printer can form. In some implementations, each voxel in the grid can correspond to a pixel that the 3D printer can form within a layer. In some implementations, a voxel is sliced in an X-Y plane at its midpoint location along the printer's formation axis, e.g., Z axis, which is perpendicular to that plane, to form a corresponding pixel.
- At 415, the process assigns a white intensity level to one or more “white” voxels that are fully contained within the digital model. The white intensity level is sufficient to cure photoactive resin during a predetermined curing time for a layer. In some implementations, the white intensity level is a percentage (e.g., 90% or 95%) of a maximum intensity level generated by a 3D printer; in this case, the maximum intensity level exceeds an intensity level sufficient to cure photoactive resin. Note that different photoactive resins can require different curing intensities.
- At 420, the process assigns a black intensity level to one or more “black” voxels that are outside of the digital model. These black voxels do not constitute the 3D structure described by the digital model. In some implementations, the black intensity level is a zero intensity level that inhibits light. In some implementations, assigning a black intensity level is accomplished by initializing a data structure defining the grid to all zeros, where zero represents the zero intensity level. After initialization to all zeros, the process can assign white and grayscale intensity levels.
- At 425, the process determines whether there are one or more “grayscale” voxels that are partially contained within the digital model. If none, the process continues at 440. Otherwise, at 430, the process determines one or more containment degrees for the one or more grayscale voxels based on geometric information provided by the digital model. The process can determine a voxel's degree of containment based on a sampling technique, super sampling technique, or a geometric technique; other techniques are possible.
- At 435, the process assigns one or more grayscale intensity levels to one or more grayscale voxels based respectively on the one or more containment degrees. If the digital model, for example, covers 60% of the volume of a voxel (e.g., 60% containment degree), then the process can assign an intensity level that is 60% of the white intensity level. In another example, if the digital model covers 80% of the volume of a voxel, then the process can assign an intensity level that is 80% of the white intensity level. The one or more grayscale intensity levels are greater than a black intensity level, but less than the white intensity level assigned at 420. The one or more grayscale intensity levels are not sufficient to completely cure the photoactive resin during the predetermined curing time. In some implementations, the process can adjust the one or more grayscale intensity levels based on a nonlinear characteristic of a light source within the 3D printer, a nonlinear characteristic of the photoactive resin, or both. For example, a photoactive resin may have a nonlinear relationship between intensity levels and a curing degree. In cases where the nonlinearity is substantially a power function (e.g., y=x7), an adjustment can be performed by applying the inverse power (1/y) to the grayscale intensity levels, e.g., by performing gamma correction. Alternatively, a lookup table can be applied to correct for arbitrary nonlinearities. In some implementations, the intensity levels are R-bit values, where R is a predetermined number of bits associated with a graphic file format. that range from 0 (black) to 255 (white). For example, the intensity levels can be represented as 8-bit values that range from 0 (black) to 255 (white). Other values for R are possible.
- At 440, the process generates one or more graphic files based on the white, grayscale, and black voxels, and the assigned intensity levels. In some implementations, the model is sliced into N layers in the Z dimension and the process outputs a graphic file such as a file in accordance with a file format such as Portable Network Graphics (PNG) for each layer. In some implementations, the process outputs a graphic file containing multiple bitmaps for respective layers.
- At 445, the process sends the one or more graphic files to the 3D printer. In some implementations, sending the one or more graphic files can include transmitting data via a network connection (e.g., wireline or wirelessly) or Universal Serial Bus (USB). In some implementations, a 3D printer can receive the digital model itself, perform the process of
FIG. 4 , and send the contents of the one or more graphic files to a light projection device within the 3D printer. Sending the contents can include transmitting a sequence of bits over a serial bus between a controller and a projection system. In some implementations, a standalone computer performs the process ofFIG. 4 and sends the contents of the one or more graphic files to the 3D printer via a wireline or wireless connection. -
FIG. 5 shows a flowchart of an example of a process that determines a containment degree based on a sampling technique. At 505, the process determines a number of inside points (n) within a voxel that are at least partially contained by the digital model. At 510, the process determines a number of outside points (m) within the voxel that are not contained by the digital model. At 515, the process determines a containment degree of the voxel based on the number of inside points and the number of outside points. In some implementations, the containment degree equals n/(n+m). In some implementations, voxels are sliced into corresponding pixels and containment degrees are computed based on samples taken within the corresponding pixels. Determining a containment degree of a pixel can include determining a number of inside points within the pixel that are at least partially contained by a digital model, determining a number of outside points within the pixel that are not contained by the digital model, and determining the containment degree based on the number of first points divided by the number of first and second points. -
FIG. 6 shows a flowchart of an example of a process that determines a containment degree based on a geometric technique. At 605, the process determines a covered volume within a voxel that is contained by the digital model. In some implementations, determining a covered volume can include determining the interception of a model's boundary surface with a voxel to determine a volume covered by the model. In some implementations, determining a covered volume can include determining the interception of a model's boundary line with a cross-section of a voxel to determine an area covered by the model. In some implementations, the determined covered area can be extrapolated to a covered volume. At 610, the process determines a total volume of the voxel. In some implementations, the total volume is computed once for voxels of the same size. In some implementations, the total volume is based on printer resolution parameters for the X, Y, and Z dimensions. At 615, the process determines a containment degree of the voxel based on the covered volume and the total volume of the voxel. In some implementations, voxels are sliced into corresponding pixels and containment degrees are computed based on the corresponding pixels and the geometry of the model. -
FIG. 7 shows a flowchart of an example of a super-sampling process. At 705, the process scales a digital model by a scale factor (K) in the X, Y, and Z dimensions. In some implementations, a different scale factor is applied to each dimension. At 710, the process in the X-Y plane, slices the scaled digital model into K*M layers, including M representative layers, of super-pixels along the Z dimension. In some implementations, the number of M layers is based on a vertical resolution of a 3D printer and a vertical size of the digital model or a target output size specified by a build parameter. In some implementations, the process can select every Kth slice of the scaled digital mode to produce M representative layers. - At 715, the process generates finalized pixels for a representative layer based on respective groups of K*K*K super-pixels. A group can include K*K super-pixels in the current representative layer and super-pixels from surrounding layers, e.g., layers above, layers below, or both. In some implementations, a group of K*K*K super-pixels represents a cube of super-pixels centered around a pixel in a representative layer. In some implementations, the process can transform a group of K*K*K super-pixels into a finalized pixel based on a combination of the K*K*K super-pixels such as an average or weighted average. Other techniques to combine super-pixels are possible.
- At 720, the process generates containment degrees for the finalized pixels based on the respective groups of K*K*K super-pixels. At 725, the process assigns intensity levels based on the containment degrees. In some implementations, the intensity levels are gamma corrected based on nonlinearities associated with the printer's projection system, resin, or both.
- At 730, the process generates an image for the representative layer based on the finalized pixels and the assigned intensity levels. At 735, the process determines if there are any more layers to process. If so, then the process continues to process the next representative layer at 710. Otherwise, at 740, the process outputs the images for respective representative layers of the digital model.
-
FIG. 8 shows an example of a sampling technique applied to sample points within several voxel cross-sections associated with adigital model 800 to determine containment degrees for respective voxels. Thedigital model 800 can specify a boundary surface of a structure. In a cross-section, this boundary surface can be represented as aboundary line 801. Theboundary line 801 can be straight, curved, segmented, etc. Further, theboundary line 801 can span multiple layers of thedigital model 800. Thedigital model 800 can be mapped ontovoxels including voxels Voxels layer 830 b of thedigital model 800, whilevoxel 805 c is on an immediatelysubsequent layer 830 a. Some voxels and points therein are contained within thedigital model 800, while others are not. Here, points 815 within the voxels 805 a-c that are on and to the right of theboundary line 801 are considered to be contained within thedigital model 800. In this example,voxel 805 b is fully contained within thedigital model 800, and accordingly allsample points 815 within thevoxel 805 b are also fully contained within thedigital model 800; thesepoints 815 are depicted by solid black circles and can be referred to as inside points. -
Other voxels digital model 800. As such, somepoints 810 within thesevoxels digital model 800; thesepoints 810 are depicted by white circles and can be referred to as outside points. Further, theother points 815 within thesevoxels digital model 800. In some implementations, a containment degree for a voxel is based on the number of inside points divided by the total number of points, e.g., inside plus outside points. In some implementations, the total number of points within a voxel can be determined based on one or more 3D printer resolution parameters. In some implementations, a cross-section of a voxel is used for sampling purposes. In some implementations, the entire volume of a voxel is used for sampling purposes. The number of sample points within the voxels 805 a-c can be based on factors such as a required level of accuracy or available computational resources. -
FIG. 9 shows an example of a geometric technique applied to sample points within several voxel cross-sections associated with adigital model 900 to determine containment degrees for respective voxels. Thedigital model 900 can specify a boundary surface of a structure. In a cross-section, this boundary surface can be represented as aboundary line 901. Theboundary line 901 can span multiple layers of thedigital model 900. Thedigital model 900 can be mapped ontovoxels including voxels Voxels layer 915 b of thedigital model 900, whilevoxel 905 c is on an immediatelysubsequent layer 915 a of thedigital model 900. Some voxels and some portions therein are contained within thedigital model 900, while others are not. Portions within the voxels 905 a-c that are on and to the right of theboundary line 901 are considered to be contained within thedigital model 900. - In some implementations, a cross-section of a voxel is used to compute an area of the cross-section that is contained within the
digital model 900. In some implementations, the entire voxel is used to compute a volume of the voxel that is contained within thedigital model 900. In some implementations, a file that provides information about adigital model 900 can include information to construct triangles or other shapes on a surface of a structure. Such information can be used to determine anangle 910 between theboundary line 901 and a side of avoxel 905 a. In this example, theangle 910 is 45 degrees and thus theboundary line 901 equally divides the area ofvoxel 905 a in half, e.g., the inside area is equal to the outside area which yields a containment degree of 50%. Other geometric relations and computations are possible to derive containment degrees from thedigital model 900. -
FIGS. 10A and 10B show a cross-section of an example of a 3D structure printed without and with grayscale intensity values from the same digital model.FIG. 10A shows across-sectional image 1001 a of a 3D structure that was printed without using grayscale intensity values, e.g., black and white intensity values were used.FIG. 10B shows across-sectional image 1001 b of a 3D structure that was printed using grayscale intensity values in addition to black and white intensity values. In this example, the grayscale intensity values caused sub-pixel features to be created which more accurately represent the digital model, e.g., a smoother edge is formed as shown inimage 1001 b rather than a jagged, stair-stepped edge as shown inimage 1001 a. -
FIGS. 11A and 11B show sub-pixel resolution aspects of a 3D structure printed with grayscale intensity values.FIG. 11A shows amask image 1101 a to generate a 3D structure that has several vertical features 1105 a-e that are placed at different offsets from areference line 1103. Themask image 1101 a represents a layer of a digital model and can be created using a grayscale technique described herein. Themask image 1101 a is used by a light projection device to grow the features 1105 a-e in the Z axis. The 3D structure is printed using a 3D printer have a 50×50 micron resolution in the X-Y plane such as theEmber 3D printer available from Autodesk, Inc. of San Rafael, CA.Feature 1105 a is at a zero offset from thereference line 1103, feature 1105 b is at a 12.5 micron offset,feature 1105 c is at a 25 micron offset,feature 1105 d is at a 37.5 micron offset,feature 1105 d is at a 37.5 micron offset, and feature 1105 e is at a 50 micron offset. Grayscale values are used to generate the sub-pixel placement of the edges forfeatures FIG. 11B shows animage 1101 b of the 3D structure created by a 3D printer using themask image 1101 a ofFIG. 11A . As shown, sub-pixel placement offeatures - A 3D printer, in some implementations, can include a vat capable of holding a liquid comprising a photoactive resin, wherein the vat includes a window; a build plate configured and arranged to move within the vat during three-dimensional printing of a solid structure on the build plate; a light source to project light through the window; and a controller to control the printing of the solid structure and to modulate light between the light source and the window through individual pixels. The controller can be configured to project first light into the window of the vat based on a first group of the pixels during a curing time to form a layer of the solid structure, the first light having a predetermined wavelength and a first intensity that is sufficient to cure at least a portion of the photoactive resin during the curing time. The controller can be configured to project second light into the window of the vat based on a second group of the pixels during the curing time to form the layer of the solid structure, the second light having the predetermined wavelength, the second light having a second intensity lesser than the first intensity. In some implementations, the controller can be configured to inhibit light from reaching the window of the vat based on a third group of the pixels during the curing time. In some implementations, the controller can be configured to not produce light based on a third group of the pixels during the curing time.
- A 3D printer, in some implementations, can include a vat capable of holding a liquid comprising a photoactive resin, wherein the vat includes a window; a build plate configured and arranged to move within the vat during three dimensional printing of a solid structure on the build plate; a light source to project light through the window; and a controller to control the printing of the solid structure and to modulate light between the light source and the window, the light being modulated in accordance with individual pixels of a two-dimensional array, wherein the controller is configured to project first light into the window of the vat based on a first proper subset of the pixels during a curing time to form a layer of the solid structure, the first light having a predetermined wavelength and a first intensity that is sufficient to cure at least a portion of the photoactive resin during the curing time, project second light into the window of the vat based on a second proper subset of the pixels during the curing time to form the same layer of the solid structure, the second light having the predetermined wavelength, the second light having a second intensity lesser than the first intensity; wherein the first and second proper subsets do not include all of the pixels in the two-dimensional array.
- Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented using one or more modules of computer program instructions encoded on a computer-readable medium for execution by, or to control the operation of, data processing apparatus. The computer-readable medium can be a manufactured product, such as hard drive in a computer system or an optical disc sold through retail channels, or an embedded system. The computer-readable medium can be acquired separately and later encoded with the one or more modules of computer program instructions, such as by delivery of the one or more modules of computer program instructions over a wired or wireless network. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more of them.
- The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a runtime environment, or a combination of one or more of them. In addition, the apparatus can employ various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- The processes and logic flows described in this specification can be performed by, and/or under the control of, one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
- While this specification contains many specifics, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
- Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
- Other embodiments are within the scope of the following claims.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/751,109 US20230101921A1 (en) | 2015-10-07 | 2022-05-23 | Sub-pixel grayscale three-dimensional printing |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562238624P | 2015-10-07 | 2015-10-07 | |
US15/287,205 US10354445B2 (en) | 2015-10-07 | 2016-10-06 | Sub-pixel grayscale three-dimensional printing |
US201916432336A | 2019-06-05 | 2019-06-05 | |
US202016732777A | 2020-01-02 | 2020-01-02 | |
US202016997596A | 2020-08-19 | 2020-08-19 | |
US202117204413A | 2021-03-17 | 2021-03-17 | |
US202117504961A | 2021-10-19 | 2021-10-19 | |
US17/751,109 US20230101921A1 (en) | 2015-10-07 | 2022-05-23 | Sub-pixel grayscale three-dimensional printing |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US202117504961A Continuation | 2015-10-07 | 2021-10-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230101921A1 true US20230101921A1 (en) | 2023-03-30 |
Family
ID=57209858
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/287,205 Active 2037-05-09 US10354445B2 (en) | 2015-10-07 | 2016-10-06 | Sub-pixel grayscale three-dimensional printing |
US17/751,109 Abandoned US20230101921A1 (en) | 2015-10-07 | 2022-05-23 | Sub-pixel grayscale three-dimensional printing |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/287,205 Active 2037-05-09 US10354445B2 (en) | 2015-10-07 | 2016-10-06 | Sub-pixel grayscale three-dimensional printing |
Country Status (3)
Country | Link |
---|---|
US (2) | US10354445B2 (en) |
GB (1) | GB2559914B (en) |
WO (1) | WO2017062630A1 (en) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10001641B2 (en) * | 2013-03-14 | 2018-06-19 | Stratasys Ltd. | Enhanced resolution DLP projector apparatus and method of using same |
US10181216B2 (en) | 2015-01-30 | 2019-01-15 | Hewlett-Packard Development Company, L.P. | Generating slice data from a voxel representation |
GB2559914B (en) | 2015-10-07 | 2021-07-14 | Holo Inc | Sub-pixel grayscale three-dimensional printing |
US11141919B2 (en) | 2015-12-09 | 2021-10-12 | Holo, Inc. | Multi-material stereolithographic three dimensional printing |
US10252468B2 (en) | 2016-05-13 | 2019-04-09 | Holo, Inc. | Stereolithography printer |
US10780641B2 (en) | 2016-09-29 | 2020-09-22 | Holo, Inc. | Enhanced three dimensional printing of vertical edges |
EP3600893A1 (en) * | 2017-03-28 | 2020-02-05 | 3D Systems, Inc. | Three dimensional printer processing image information to provide optimized mechanical control signals |
EP3615245A1 (en) * | 2017-04-24 | 2020-03-04 | Desktop Metal, Inc. | Three-dimensional (3d) printing using measured processing effects with feedback to processing parameters |
GB2562101B (en) * | 2017-05-05 | 2020-07-01 | Sony Interactive Entertainment Inc | System and method of 3D print modelling |
DE102017110241A1 (en) | 2017-05-11 | 2018-11-15 | Nanoscribe Gmbh | Method for generating a 3D structure by means of laser lithography and computer program product |
GB2564956B (en) | 2017-05-15 | 2020-04-29 | Holo Inc | Viscous film three-dimensional printing systems and methods |
CN108943695A (en) * | 2017-05-27 | 2018-12-07 | 三纬国际立体列印科技股份有限公司 | 3D printing method of binary photocuring 3D printer |
US10245785B2 (en) | 2017-06-16 | 2019-04-02 | Holo, Inc. | Methods for stereolithography three-dimensional printing |
CN109094017A (en) * | 2017-06-20 | 2018-12-28 | 三纬国际立体列印科技股份有限公司 | Three-dimensional object forming device and method |
US11590691B2 (en) | 2017-11-02 | 2023-02-28 | General Electric Company | Plate-based additive manufacturing apparatus and method |
US11254052B2 (en) | 2017-11-02 | 2022-02-22 | General Electric Company | Vatless additive manufacturing apparatus and method |
US10821668B2 (en) | 2018-01-26 | 2020-11-03 | General Electric Company | Method for producing a component layer-by- layer |
US10821669B2 (en) | 2018-01-26 | 2020-11-03 | General Electric Company | Method for producing a component layer-by-layer |
JP6872082B2 (en) * | 2018-02-21 | 2021-05-19 | カーボン,インコーポレイテッド | Enhanced adhesion of objects to carriers during additional manufacturing |
WO2019165052A1 (en) | 2018-02-21 | 2019-08-29 | Carbon, Inc. | Methods of reducing distortion of additively manufactured objects |
US10780640B2 (en) * | 2018-07-30 | 2020-09-22 | Intrepid Automation | Multiple image projection system for additive manufacturing |
US11198249B2 (en) | 2018-07-30 | 2021-12-14 | General Electric Company | Method of joining additively manufactured components |
GB201812824D0 (en) * | 2018-08-07 | 2018-09-19 | Photocentric Ltd | Method for improving resolution in LCD screen based 3D printers |
JP3234940U (en) | 2018-11-01 | 2021-11-11 | オリジン ラボラトリーズ, インコーポレイテッドOrigin Laboratories, Inc. | Addition manufacturing system |
CN117067579A (en) | 2018-12-26 | 2023-11-17 | 霍洛公司 | Sensor for three-dimensional printing system and method |
US11498283B2 (en) | 2019-02-20 | 2022-11-15 | General Electric Company | Method and apparatus for build thickness control in additive manufacturing |
US11794412B2 (en) | 2019-02-20 | 2023-10-24 | General Electric Company | Method and apparatus for layer thickness control in additive manufacturing |
US11179891B2 (en) | 2019-03-15 | 2021-11-23 | General Electric Company | Method and apparatus for additive manufacturing with shared components |
US12122102B2 (en) | 2019-05-29 | 2024-10-22 | Hewlett-Packard Development Company, L.P. | Color surface formation by single-color 3D printing |
CN110216872A (en) * | 2019-06-17 | 2019-09-10 | 薛启煌 | A kind of liver three-dimensional rebuilding method and its 3D printing model based on CTA data |
BR112021023550A2 (en) * | 2019-06-24 | 2022-01-04 | Essilor Int | Method and machine for producing an optical element by additive manufacturing |
EP3756863A1 (en) * | 2019-06-24 | 2020-12-30 | Essilor International | Method and system for outputting a manufacturing file for producing an optical element |
CN112008980B (en) * | 2020-02-24 | 2022-12-13 | 清锋(北京)科技有限公司 | 3D printing model processing method and system |
US11809161B2 (en) * | 2020-07-13 | 2023-11-07 | Lawrence Livermore National Security, Llc | Computed axial lithography optimization system |
CN112172155A (en) * | 2020-08-04 | 2021-01-05 | 深圳市创必得科技有限公司 | Edge softening method and device for 3D printing, storage medium and 3D printer |
US11707883B2 (en) | 2020-11-20 | 2023-07-25 | General Electric Company | Foil interaction device for additive manufacturing |
US11794411B2 (en) | 2020-12-04 | 2023-10-24 | Stratasys, Inc. | Part quality monitoring in a stereolithographic additive manufacturing system |
US12128608B2 (en) | 2020-12-04 | 2024-10-29 | Stratasys, Inc. | Thermal control in a stereolithographic 3D printer |
DE102020215766A1 (en) | 2020-12-11 | 2022-06-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein | Additive manufacturing based on arrays of offset-related, signed distances |
CN116802044A (en) * | 2020-12-23 | 2023-09-22 | 依视路国际公司 | Method and machine for producing optical elements by additive manufacturing |
EP4043186A1 (en) * | 2021-02-16 | 2022-08-17 | Technische Universität Wien | Method and device for controlling a lithography-based additive manufacturing device |
JP2024508332A (en) * | 2021-03-04 | 2024-02-26 | ラング バイオテクノロジー ピービーシー | Systems and methods for three-dimensional printing and products manufactured thereby |
CN112950514B (en) * | 2021-04-09 | 2024-07-09 | 深圳市纵维立方科技有限公司 | Image processing method and device, electronic equipment and readable storage medium |
US11951679B2 (en) | 2021-06-16 | 2024-04-09 | General Electric Company | Additive manufacturing system |
US11731367B2 (en) | 2021-06-23 | 2023-08-22 | General Electric Company | Drive system for additive manufacturing |
US11958250B2 (en) | 2021-06-24 | 2024-04-16 | General Electric Company | Reclamation system for additive manufacturing |
US11958249B2 (en) | 2021-06-24 | 2024-04-16 | General Electric Company | Reclamation system for additive manufacturing |
EP4368393A3 (en) * | 2021-06-28 | 2024-08-28 | Guangzhou Heygears IMC. Inc | Slice image processing method for 3d printing, system, apparatus, and storage medium |
US11826950B2 (en) | 2021-07-09 | 2023-11-28 | General Electric Company | Resin management system for additive manufacturing |
US12172379B2 (en) | 2021-08-11 | 2024-12-24 | General Electric Company | Cleaning system for additive manufacturing |
US12296535B2 (en) | 2021-08-24 | 2025-05-13 | General Electric Company | Attachment structure for additive manufacturing |
US11813799B2 (en) | 2021-09-01 | 2023-11-14 | General Electric Company | Control systems and methods for additive manufacturing |
WO2023097267A1 (en) * | 2021-11-23 | 2023-06-01 | Holo, Inc. | Three-dimensional printing methods and systems thereof |
WO2024026125A1 (en) * | 2022-07-29 | 2024-02-01 | Azul 3D, Inc. | Method for varying physical properties in 3d-printed products |
US12269226B2 (en) | 2022-08-15 | 2025-04-08 | Align Technology, Inc. | Methods for selective post-curing of additively manufactured objects |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150197062A1 (en) * | 2014-01-12 | 2015-07-16 | Zohar SHINAR | Method, device, and system of three-dimensional printing |
US20160185045A1 (en) * | 2014-12-31 | 2016-06-30 | Google Inc. | Voxel 3D Printer |
US20170100885A1 (en) * | 2014-06-20 | 2017-04-13 | Carbon, Inc. | Three-Dimensional Printing Using Tiled Light Engines |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5403680A (en) | 1988-08-30 | 1995-04-04 | Osaka Gas Company, Ltd. | Photolithographic and electron beam lithographic fabrication of micron and submicron three-dimensional arrays of electronically conductive polymers |
US6500378B1 (en) | 2000-07-13 | 2002-12-31 | Eom Technologies, L.L.C. | Method and apparatus for creating three-dimensional objects by cross-sectional lithography |
US6867774B1 (en) * | 2002-12-02 | 2005-03-15 | Ngrain (Canada) Corporation | Method and apparatus for transforming polygon data to voxel data for general purpose applications |
JP2005280073A (en) * | 2004-03-29 | 2005-10-13 | Fuji Photo Film Co Ltd | Method for exposure processing of lithographic plate and equipment for performing this method |
US8217939B1 (en) * | 2008-10-17 | 2012-07-10 | Ngrain (Canada) Corporation | Method and system for calculating visually improved edge voxel normals when converting polygon data to voxel data |
US8666142B2 (en) | 2008-11-18 | 2014-03-04 | Global Filtration Systems | System and method for manufacturing |
JP5516145B2 (en) | 2010-06-30 | 2014-06-11 | セイコーエプソン株式会社 | Optical detection device, display device, and electronic apparatus |
KR20140035454A (en) * | 2011-05-31 | 2014-03-21 | 쓰리엠 이노베이티브 프로퍼티즈 캄파니 | Method for making microstructured tools having discontinuous topographies, articles produced therefrom |
US10248740B2 (en) | 2012-04-09 | 2019-04-02 | Autodesk, Inc. | Three-dimensional printing preparation |
WO2014092680A1 (en) * | 2012-12-10 | 2014-06-19 | Dirtt Environmental Solutions Inc. | Efficient lighting effects in design software |
US9836879B2 (en) * | 2013-04-16 | 2017-12-05 | Autodesk, Inc. | Mesh skinning technique |
KR20160110938A (en) * | 2013-11-14 | 2016-09-23 | 스트럭토 피티이. 리미티드 | Additive manufacturing device and method |
US9987808B2 (en) | 2013-11-22 | 2018-06-05 | Johnson & Johnson Vision Care, Inc. | Methods for formation of an ophthalmic lens with an insert utilizing voxel-based lithography techniques |
US9457518B2 (en) | 2014-02-07 | 2016-10-04 | Adobe Systems Incorporated | Method and apparatus for controlling printability of a 3-dimensional model |
TWI629162B (en) | 2014-03-25 | 2018-07-11 | Dws有限責任公司 | Computer-implementted method, and equipment and computer program product for defining a supporting structure for a three-dimensional object to be made through stereolithography |
US10252466B2 (en) | 2014-07-28 | 2019-04-09 | Massachusetts Institute Of Technology | Systems and methods of machine vision assisted additive fabrication |
WO2016044483A1 (en) | 2014-09-16 | 2016-03-24 | The Regents Of The University Of California | Method for fabrication of microwells for controlled formation of 3-dimensional multicellular-shapes |
US9900563B2 (en) | 2014-12-18 | 2018-02-20 | Konica Minolta, Inc. | Optical unit and projector including the same |
US20180071988A1 (en) * | 2015-05-15 | 2018-03-15 | Hewlett-Packard Development Company, L.P. | Three-dimensional printing systems |
GB2559914B (en) | 2015-10-07 | 2021-07-14 | Holo Inc | Sub-pixel grayscale three-dimensional printing |
US20170297102A1 (en) | 2016-04-14 | 2017-10-19 | Desktop Metal, Inc. | Removable sinter supports |
US10252468B2 (en) | 2016-05-13 | 2019-04-09 | Holo, Inc. | Stereolithography printer |
US10780641B2 (en) | 2016-09-29 | 2020-09-22 | Holo, Inc. | Enhanced three dimensional printing of vertical edges |
-
2016
- 2016-10-06 GB GB1807311.4A patent/GB2559914B/en active Active
- 2016-10-06 US US15/287,205 patent/US10354445B2/en active Active
- 2016-10-06 WO PCT/US2016/055764 patent/WO2017062630A1/en active Application Filing
-
2022
- 2022-05-23 US US17/751,109 patent/US20230101921A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150197062A1 (en) * | 2014-01-12 | 2015-07-16 | Zohar SHINAR | Method, device, and system of three-dimensional printing |
US20170100885A1 (en) * | 2014-06-20 | 2017-04-13 | Carbon, Inc. | Three-Dimensional Printing Using Tiled Light Engines |
US20160185045A1 (en) * | 2014-12-31 | 2016-06-30 | Google Inc. | Voxel 3D Printer |
Also Published As
Publication number | Publication date |
---|---|
GB2559914A (en) | 2018-08-22 |
US20170102679A1 (en) | 2017-04-13 |
WO2017062630A1 (en) | 2017-04-13 |
GB2559914B (en) | 2021-07-14 |
US10354445B2 (en) | 2019-07-16 |
GB201807311D0 (en) | 2018-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230101921A1 (en) | Sub-pixel grayscale three-dimensional printing | |
US20230081400A1 (en) | Enhanced three dimensional printing of vertical edges | |
US10252468B2 (en) | Stereolithography printer | |
JP6474995B2 (en) | Slice data creation device, slice data creation method, program, and computer-readable recording medium | |
US10933588B2 (en) | Stereolithography printer | |
CN107073815B (en) | Shifting cure position during 3D printing | |
US9916684B2 (en) | Generating portable three-dimensional print-preview renderings of three-dimensional models | |
JP6320051B2 (en) | 3D shape measuring device, 3D shape measuring method | |
KR102233258B1 (en) | Method and apparatus for generating 3d printing data | |
US20080054531A1 (en) | Wall Smoothness, Feature Accuracy and Resolution In Projected Images Via Exposure Levels In Solid Imaging | |
EP3313057A1 (en) | A method and a computer product for joint color and translucency 3d printing, a joint color and translucency 3d printing device and a printing object | |
US20230256682A1 (en) | Method and system for rendering data for addressable dispensing | |
CN112677487A (en) | Control method and control system for 3D printing and 3D printing equipment | |
CN113103587B (en) | Control method and control system for 3D printing and 3D printing equipment | |
US12038736B2 (en) | Additive manufacturing control based on displaced signed distance fields | |
US11370165B2 (en) | Method for improving resolution in LCD screen based 3D printers | |
US20220373993A1 (en) | Three-Dimensional Printing with Surface Dithering | |
US20220281178A1 (en) | Systems and methods for three-dimensional printing and products produced thereby | |
WO2023193006A2 (en) | Image transformations to enhance edge and surface clarity in additive manufacturing | |
CN119589959A (en) | Slice file generation method, light-curing three-dimensional printing method, device and medium | |
CN117774328A (en) | Three-dimensional model compensation method and device for three-dimensional printing and storage medium | |
GB2551873A (en) | Illumination-guided example-based stylization of 3D renderings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HOLO, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AUTODESK, INC.;REEL/FRAME:062144/0234 Effective date: 20171129 Owner name: AUTODESK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GREENE, RICHARD M.;SCHMIDT, RYAN MICHAEL;SIGNING DATES FROM 20151117 TO 20151118;REEL/FRAME:062144/0206 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
AS | Assignment |
Owner name: WTI FUND X, INC., CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:HOLO, INC.;REEL/FRAME:066888/0195 Effective date: 20220822 Owner name: VENTURE LENDING & LEASING IX, INC., CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:HOLO, INC.;REEL/FRAME:066888/0195 Effective date: 20220822 |
|
AS | Assignment |
Owner name: SOUTHWEST GREENE INTERNATIONAL, INC., CALIFORNIA Free format text: UCC ARTICLE 9 SALE;ASSIGNORS:VENTURE LENDING & LEASING IX, INC.;WTI FUND X, INC.;REEL/FRAME:066908/0833 Effective date: 20240322 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |