US20140309764A1 - Adaptive material deposition in three-dimensional fabrication - Google Patents

Adaptive material deposition in three-dimensional fabrication Download PDF

Info

Publication number
US20140309764A1
US20140309764A1 US14/088,408 US201314088408A US2014309764A1 US 20140309764 A1 US20140309764 A1 US 20140309764A1 US 201314088408 A US201314088408 A US 201314088408A US 2014309764 A1 US2014309764 A1 US 2014309764A1
Authority
US
United States
Prior art keywords
dimensional
layer
surface geometry
instructions
fabrication
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
Application number
US14/088,408
Inventor
John B. Socha-Leialoha
Yulin Jin
Gheorghe Marius Gheorghescu
Emmett W. Lalish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US14/088,408 priority Critical patent/US20140309764A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GHEORGHESCU, GHEORGHE MARIUS, JIN, YULIN, LALISH, EMMETT W., SOCHA-LEIALOHA, JOHN B.
Publication of US20140309764A1 publication Critical patent/US20140309764A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2513Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
    • B29C67/0051
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING 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/00Additive 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING 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/00Additive 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/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/22Measuring arrangements characterised by the use of optical techniques for measuring depth
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2518Projection by scanning of the object
    • G01B11/2527Projection by scanning of the object with phase change by in-plane movement of the patern
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2545Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with one projection direction and several detection directions, e.g. stereo
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/42Diffraction optics, i.e. systems including a diffractive element being designed for providing a diffractive effect
    • G02B27/4205Diffraction optics, i.e. systems including a diffractive element being designed for providing a diffractive effect having a diffractive optical element [DOE] contributing to image formation, e.g. whereby modulation transfer function MTF or optical aberrations are relevant
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/42Diffraction optics, i.e. systems including a diffractive element being designed for providing a diffractive effect
    • G02B27/44Grating systems; Zone plate systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B5/00Optical elements other than lenses
    • G02B5/18Diffraction gratings
    • G02B5/1876Diffractive Fresnel lenses; Zone plates; Kinoforms
    • G02B5/189Structurally combined with optical elements not having diffractive power
    • G02B5/1895Structurally combined with optical elements not having diffractive power such optical elements having dioptric power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • G06F9/30127Register windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/586Depth or shape recovery from multiple images from multiple light sources, e.g. photometric stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/254Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/10Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
    • H04N23/11Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths for generating image signals from visible and infrared light wavelengths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
    • H04N25/611Correction of chromatic aberration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/30Transforming light or analogous information into electric information
    • H04N5/33Transforming infrared radiation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/42Diffraction optics, i.e. systems including a diffractive element being designed for providing a diffractive effect
    • G02B27/4233Diffraction optics, i.e. systems including a diffractive element being designed for providing a diffractive effect having a diffractive element [DOE] contributing to a non-imaging application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Definitions

  • Three-dimensional fabrication techniques have been devised to support rapid prototyping from computer models.
  • various aspects of the subject matter described herein are directed towards adaptive material deposition approaches to improving surface quality during three-dimensional object fabrication.
  • These approaches may be implemented in a fabrication manager, which is configured to generate instructions for fabricating the object in layers.
  • the fabrication manager detects surface geometries that define at least some curvature (e.g., non-planar in the horizontal direction and/or in the vertical direction).
  • the fabrication manager computes a three-dimensional path for finishing such curved surface geometries in addition to the two-dimensional layer fabrication of the object's interior.
  • removing non-planar regions under the surface of the layer provides enough space for an accurate finishing pass of material.
  • Three-dimensional tool head movements are computed such that material is deposited before a higher layer is built.
  • the object's model data is modified before being prepared for such fabrication. Prior to being portioned into layers alone a z-dimension, non-planar regions are removed from the model data. Those regions are partitioned into layers along another dimension. Instructions for the fabrication device are generated for the non-planar regions and combined with instructions with other regions of the model data. In another aspect, the object's model data is partitioned into layers along any direction in addition to or instead of the z-dimension. Instructions for depositing material along these layers may follow a three-dimensional path.
  • FIG. 1 is a block diagram illustrating an example system for adapting a model to a surface geometry according to at least one example implementation.
  • FIG. 2 is a flow diagram illustrating example steps for adapting a model to a surface geometry according to at least one example implementation.
  • FIG. 3 is a flow diagram illustrating example steps for modulating a layer height when fabricating a three-dimensional object according to at least one example implementation.
  • FIG. 4 is a flow diagram illustrating example steps for applying texture to an object surface according to at least one example implementation.
  • FIG. 5 is a flow diagram illustrating example steps for modifying a three-dimensional model to generate three-dimensional instructions for non-planar regions according to at least one example implementation.
  • FIG. 6A and FIG. 6B represent example three-dimensional objects in which tool paths are generated across an x-direction and a y-direction, respectively, according to at least one example implementation.
  • FIG. 7 illustrates an example cross-section of a three-dimensional model that comprises non-planar regions and planar regions according to at least one example implementation.
  • FIG. 8 illustrates an example cross-section of a three-dimensional model in which non-planar regions are removed according to at least one example implementation.
  • FIG. 9 illustrates a portion of an example cross-section of a three-dimensional model in which non-planar regions are rotated according to at least one example implementation.
  • FIG. 10 illustrates an adaptive layer height approach for an example three-dimensional model comprising non-planar regions according to at least one example implementation.
  • FIG. 11A and FIG. 11B illustrate example layers undergoing extrusion modulation according to at least one example implementation.
  • FIG. 12 illustrates example texture for a surface geometry according to at least one example implementation.
  • FIG. 13 illustrates an adaptive material width approach on a three-dimensional object according to at least one example implementation.
  • FIG. 14 illustrates another example adaptive material width approach on a three-dimensional object according to at least one example implementation.
  • FIG. 15 is a block diagram representing example non-limiting networked environments in which various embodiments described herein can be implemented.
  • FIG. 16 is a block diagram representing an example non-limiting computing system or operating environment in which one or more aspects of various embodiments described herein can be implemented.
  • the fabrication device includes an extruder apparatus that extrudes plastic filament material while moving in any direction.
  • One or more components of the fabrication device may generate instructions directing the extruder apparatus along a path corresponding to a surface curvature of a three-dimensional object.
  • the extruder apparatus may be configured to deposit the material along a curve in the x, y and/or z dimensions. Adapting the extruder apparatus to enable movement along the curve may involve adjusting one or more layer characteristics.
  • Each layer having at least a portion of the curve may be transformed into a layer along another dimension such that the set of paths generated for the non-planar region more accurately follow the curved surface geometry of the object.
  • the fabrication device may modify a layer height for some layers such that thinner layers are used for curved surface geometry.
  • the fabrication device may modify a layer height for one or more sub-layers within a layer. These sub-layers may partition the layer along an x-dimension or a y-dimension.
  • the fabrication device may generate instructions, which when executed, cause the extruder apparatus to modulate plastic material extrusion to create texture patterns on the object's surface.
  • any of the examples herein are non-limiting. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and fabrication technologies in general.
  • FIG. 1 is a block diagram illustrating an example system for adapting a model to a surface geometry according to at least one example implementation.
  • the following description refers to components that may be implemented in the example apparatus depicted in FIG. 1 . Embodiments of these components may be considered hardware, software and/or mechanical in nature. It is appreciated that the example apparatus may be referred to as a fabrication device 102 .
  • One example component of the fabrication device 102 includes a control unit or controller 104 coupled to one or more robotic mechanisms, such as a robot 106 , and configured to execute instructions for the robot 106 and a printing mechanism 108 .
  • Some fabrication devices translate geometric figures/polygons in the model into machine instructions (e.g., GCode) configured to generate an actual output for each layer.
  • the printing mechanism 108 may include one or more tools for depositing material.
  • a chamber 110 constructed within the printing mechanism 108 allows source material(s) to be prepared (e.g., heated) and/or blended when fabricating an object 112 .
  • the chamber 110 enables melting, mixing, and extruding of one or more filaments, including color filaments.
  • the robot 106 may include an assembly of various mechanical and/or electro-mechanical components. By executing at least some instructions within an instruction set 114 , the robot 106 may actuate these components into performing at least some physical movement. When actuated, for example, these components may move horizontally, vertically, diagonally, rotationally and so forth.
  • One example implementation of the robot 106 moves a printing tool head across an x, y and/or z-axis in order to deposit material at a specific position on the object 112 being fabricated. That position may correspond to a portion of surface geometry (e.g., a perimeter region, a curved bottom geometry, a top surface geometry), interior or in-fill area, a support structure and/or the like.
  • An alternative implementation of the robot 106 rotates the printing tool head along one or more additional degrees of freedom to augment the movement along the x, y and/or z-axis.
  • the printing mechanism 108 may include to one or more printing tool heads. Although the printing mechanism 108 may resemble an extruder configuration (e.g., a single extruder head configuration), it is appreciated that the printing mechanism 108 represents any compatible technology, including legacy printing tool heads. Furthermore, the printing mechanism 108 may include printing tool heads configured to deposit other materials in addition to colored materials and/or transparent materials. As such, the printing mechanism 108 may include a second chamber and a second nozzle that provides another material (e.g., a polymer) when printing certain structures during fabrication, such as support structures, purge structures and/or the like. Purge structures may refer to areas of the object's model where unusable material is deposited. As one example, leftover material in the chamber 110 may be deposited in the purge structure.
  • a second chamber and a second nozzle that provides another material (e.g., a polymer) when printing certain structures during fabrication, such as support structures, purge structures and/or the like.
  • Purge structures may refer to areas of the object's model where
  • Adapting material deposition to the surface geometry of the object 112 involves a fabrication manager 116 configured to modify model data 118 based upon that surface geometry's curvature according to one or more example implementations.
  • the fabrication manager 116 may be configured to generate instructions, which when executed by the controller 104 , causes the deposition of material along sets of paths corresponding to the surface geometry.
  • Each set of paths may be defined along different dimensions or directions. For example, one set of paths may be in the y-dimension or parallel to a y-axis; alternatively, another set of paths may be in the x-dimension or parallel to an x-axis.
  • Each path represents a movement (e.g., three-dimensional movement) for the printing mechanism 108 to perform while depositing material.
  • the fabrication manager 116 partitions the model data 118 such that the object model is separated into layers in which each layer represents a three-dimensional space along an axis, such as a z-axis. Based upon the model data 118 corresponding to at least one layer, the partition manager 116 examines the surface geometry of the object 112 based upon curvature and identifies one or more portions of curved surface geometry.
  • curved surface geometry includes an example region of the object 112 where the surface geometry is nearly flat or non-planar. It is appreciated that the present description may refer to the example region as a non-planar region and other regions of the object 112 that are not associated with the curved surface geometry may be referred to as planar regions.
  • the fabrication manager 116 may identify a set of paths for each non-planar region in which each path corresponds to three-dimensional positions within the non-planar region for depositing material.
  • the example implementation described above involves the z-axis to illustrate object model modification in retrofitted embodiments, such as those employing conventional three-dimensional fabrication components. It is appreciated that the object model may be partitioned along a different dimension, such as a y-axis or an x-axis, in other example implementations. Regardless of the dimension, the fabrication manager 116 determines paths corresponding to the non-planar regions along at least two dimensions.
  • the deposition process described herein may be modulated in a number of ways.
  • the fabrication manager 116 modifies layer height when fabricating one or more layers of the model data 118 .
  • Each layer having at least a portion of a non-planar region may be transformed into a layer of reduced height such that the set of paths generated for the non-planar region more accurately follow the curved surface geometry of the object 112 .
  • Some layers may be transformed into layers of different heights to account for steeper angles of inclinations or declinations in the non-planar region's curvature.
  • the fabrication manager 116 modifies extrusion material thickness in order to deposit different amounts of material in different locations.
  • the fabrication manager 116 modifies extrusion material width and/or height in order to produce texture on the curved surface geometry.
  • Texture information 120 may store extrusion material thickness values that enable the fabrication manager to compute a material height and/or a material width for extruding material on the object surface perimeter or top, which may be used to produce rough and/or smooth surface textures.
  • an adaptive material thickness approach uses a lower layer height for at least a portion of a layer and a full layer height in other portions.
  • the fabrication device extrudes lines of material at a variable thickness.
  • vertical outside walls may be extruded at a full layer height (e.g., as 0.3 mm) such that thinner layers may be used for non-planar surface perimeters, a non-planar surface top, or, alternately, a curved exterior and/or a curved bottom.
  • an adaptive layer height approach modifies a layer height for an entire layer. For example, if a layer (or a sub-layer) appears to be a substantially vertical wall, material is extruded for that layer at a full layer height. When a layer intersects a section of the model with more gradual slopes, the layer height may be progressively reduced for one or more higher layers to improve surface quality.
  • extrusion modulation approach extrudes lines of material at a variable width.
  • a standard extruded line of plastic material may be 0.4 mm in width and 0.2 mm in height
  • this approach modulates the width of this line in order to produce visible texture patterns on the outer surfaces of the printed model.
  • An alternative approach may modulate the material height by moving an extruder apparatus vertically while extruding material.
  • the fabrication manager 116 may employ a number of approaches to locate regions of a surface perimeter having at least a certain degree of curvature.
  • the fabrication manager 116 processes a polygon mesh model and identifies polygons that are on the top of the finished object and have a slope below a defined threshold (e.g., less than thirty (30) degrees from being flat).
  • the fabrication manager reduces such a polygon by a thickness of the finishing non-planar material deposition passes (e.g., 2-3 layers) and adds this polygon to the list of polygons that will undergo non-planar passes.
  • the new modified model with these reduced polygons may be used by the fabrication manager 116 for creating the normal planar layers.
  • the fabrication manager 116 inserts the non-planer passes between planar layers based on the maximum height of the original polygons in the non-planar region.
  • FIG. 2 is a flow diagram illustrating example steps for adapting a model to a surface geometry according to at least one example implementation.
  • One or more hardware/software components e.g., a fabrication manager 116 of FIG. 1
  • Step 202 commences the example steps and proceeds to step 204 where model data for a three-dimensional object is partitioned into non-planar regions and planar regions based upon the surface geometry.
  • the non-planar regions may form a curved surface perimeter for the three-dimensional object.
  • Step 206 is directed towards modifying the model data that corresponds to the non-planar regions. This may be accomplished by translating a surface geometry, including the non-planar regions, into a desired perspective in three-dimensional space prior to generating instructions for the non-planar regions. Step 208 refers to generating instructions for the non-planar regions. As an alternative mechanism, step 206 may involve translating the instructions for the non-planar regions into the desired perspective by modulating material deposition by changing layer height and/or material width. Adjusting an extrusion feed rate and/or speed may result in variations of the material width. Changing the layer height may effectuated by modifying an extrusion material thickness for entire layer or a portion thereof. Some example material deposition modulation implementations produce texture on the three-dimensional object surface.
  • a path forming a curved surface geometry around one or more non-planar regions represents three-dimensional movement for an extruder apparatus.
  • the above mentioned instructions may cause actuation of an extruder nozzle to a particular coordinate position in three-dimensional space and further cause application of (e.g., filament) material at that position and other positions along the path.
  • the path may be partitioned into layers along the z-dimension and for each layer, instructions may be generated causing the extruder apparatus to deposit material along one or more portions (e.g., sub-layers) of that layer.
  • the layer's height may be adapted locally and/or for the entire layer based upon a curvature of the non-planar regions.
  • Step 210 refers to generating instructions for the planar regions. Because the planar regions include interior in-fill areas, any path generated for these regions may include two-dimensional movement within a layer and at a full layer height. Step 212 is directed towards combining the instructions for the non-planar regions and the instructions for the planar regions into an instruction set configured to fabricate the three-dimensional object. Step 214 terminates the example steps of FIG. 2 .
  • FIG. 3 is a flow diagram illustrating example steps for modulating material extrusion when fabricating a three-dimensional object according to at least one example implementation.
  • One or more hardware/software components e.g., a fabrication manager 116 of FIG. 1
  • a device e.g., a fabrication device, such as the fabrication device 102 of FIG. 1
  • Step 302 commences the example steps and proceeds to step 304 where a layer of model data for the three-dimensional object is selected.
  • the model data defines regions (e.g., geometric polygons) of the three-dimensional object to facilitate manufacturing of that object.
  • Step 304 also is directed to generating instructions for fabricating the layer, which when executed on the device, cause components of the device to deposit material along contours and interior areas of the layer.
  • Step 306 begins or continues a material deposition process on the three-dimensional object.
  • one example material deposition process involves plastic material extrusion through a nozzle one layer at a time.
  • an example layer may be a vertical layer across the x and z dimensions or the y and z dimensions.
  • Step 308 determines whether adapting the material deposition process results in improved surface quality of the three-dimensional object. If step 308 decides to adapt the material deposition process based upon a surface geometry, step 308 returns to step 306 with one or more modified material deposition parameters, such as a modified layer height, a modified sub-layer height, or a modified material width. If, at step 308 , it is determined that adapting the material deposition most likely will not improve surface quality, step 308 proceeds to step 310 . Step 310 is directed to stopping fabrication of the layer when the layer is fully fabricated. Step 312 determines whether there are more layers in the three-dimensional model to fabricate.
  • step 312 returns to step 304 in order to generate instructions for fabricating a next layer based upon the modified material deposition parameters. Accordingly, step 306 proceeds to deposit the material as directed by the above mentioned instructions. If not, step 312 proceeds to step 314 , which terminates the example steps of FIG. 3 .
  • FIG. 4 is a flow diagram illustrating example steps for applying texture to an object surface according to at least one example implementation.
  • a device e.g., a fabrication device, such as the fabrication device 102 of FIG. 1
  • Step 402 commences the example steps and proceeds to step 404 where texture information is accessed.
  • Step 406 refers to access model data associated with a surface geometry.
  • the model data defines regions of a three-dimensional object, including planar and/or non-planar regions corresponding to the surface geometry.
  • the model data may be modified according to any texture pattern, including coarse and/or smooth textures, wood grain textures, concrete textures, characters/words and/or the like.
  • texture can be produced on the surface geometry that is either curved, flat or a combination of both, curved and flat. This may be accomplished using an extruder apparatus configured to deposit heated plastic material on the three-dimensional object.
  • the texture information defines data corresponding to at least one texture pattern, which is a pattern for depositing material on the three-dimensional object surface.
  • Step 408 is directed to mapping a texture pattern to the surface geometry.
  • One example texture pattern is illustrated by FIG. 12 .
  • Step 410 determines whether to modify the model data based upon the mapping between the texture pattern and the surface geometry. If the model data is to be modified, such as by modifying material width, step 410 proceeds to step 412 where extrusion line widths and/or heights are determined. These values may be proportional to each other such that a change in extrusion line width may affect the extrusion line height or thickness and vice versa.
  • step 412 proceeds to step 414 . If no texture is to be applied to the surface geometry, step 410 proceeds directly to step 420 .
  • Step 414 and step 416 compute extrusion speeds, feed rates, and lengths based upon corresponding extrusion line widths and/or heights.
  • Extrusion speed refers to a rate at which an extruder nozzle moves down the extrusion line.
  • Extrusion feed rate refers to an amount of material (e.g., in terms of thickness and/or width) that is expelled from the nozzle per unit of time. Changes to the extrusion line widths may affect the extrusion feed rate by increasing or decreasing an amount of material being deposited, which also causes a change to the extrusion line height.
  • Step 414 determines an appropriate extrusion feed rate for depositing sufficient material for the extrusion line width and/or height.
  • Extrusion length refers to a length of the extrusion line.
  • step 418 uses these extrusion characteristics to generate instructions for producing texture on the surface geometry.
  • these instructions may include to GCode, which when executed, causes two-dimensional and/or three-dimensional movement along a path while depositing plastic material in a layer of the three-dimensional object's model.
  • Step 420 terminates the example steps of FIG. 4 .
  • FIG. 5 is a flow diagram illustrating example steps for modifying a three-dimensional model to generate three-dimensional instructions for non-planar regions according to at least one example implementation.
  • a device e.g., a fabrication device, such as the fabrication device 102 of FIG. 1
  • Step 502 commences the example steps and proceeds to step 504 where at least one layer in z-dimension is processed.
  • Each layer may include non-planar regions and planar regions of the object along the z-dimension.
  • the three-dimensional model may define a three-dimensional object comprised of layers to facilitate manufacturing of that object. It is appreciated that some embodiments may process the model into sets of layers in which each set of layer partitions the object along a different dimension. Hence, these embodiments may process at least one layer in an x-dimension or a y-dimension at step 504 .
  • Step 506 represents a determination as to whether there any non-planar regions in the at least one layer.
  • a fabrication manager of the device is configured to identify at least a portion of the three-dimensional object having the curved surface geometry and further partition that portion into sets of layers in which each set of layers corresponds to at least one dimension (e.g., x-dimension or z-dimension).
  • One example set of layers partitions a volumetric cross-section into vertical or horizontal lines indicating positions where material is to be deposited. As described herein, each line may be associated with at least one length, at least one width and at least one height defining material thickness at different positions along the line.
  • Step 508 determines whether to modulate the material deposition process when fabricating the at least one layer.
  • step 508 proceeds to step 510 ; otherwise, step 508 proceeds to step 512 .
  • Step 510 modifies one or more fabrication settings, such as a layer height (e.g., a material height) or a material width.
  • Step 512 to step 516 refer to modifying the three-dimensional model based upon the non-planar regions, which define the curved surface geometry.
  • Step 512 partitions the non-planar regions into at least one set of layers in which each set of layers corresponds to a different axis.
  • step 512 partitions the non-planar regions into a set of layers along the z-dimension.
  • Step 514 rotates the set of layers of the three-dimensional model along an axis, such as an x-axis, in order to generate paths for the set of layers.
  • Step 516 rotates another set of layers of the three-dimensional model along another axis, such as a y-axis, in order to generate paths for that set of layers. By rotating the model, the curved surface geometry may be examined in another perspective.
  • Step 518 generates executable instructions corresponding to both sets of paths and combines those instructions with instructions for fabricating the planar regions to produce an instruction set.
  • Step 520 terminates the example steps of FIG. 5 .
  • FIG. 6A and FIG. 6B represent an example three-dimensional object in which tool paths are generated across a y-direction and an x-direction, respectively, according to at least one example implementation.
  • the three-dimensional object being depicted in FIGS. 6A and 6B may be referred to as a wedge. These tools paths may be used for configuring finishing passes on the three-dimensional object's surface geometry.
  • FIG. 6A depicts the object's surface geometry having cross-sections 602 along an x-axis. Each of the cross-sections 602 represents model data for a portion of the object having at least a minimum extrusion width and located within that cross-section's y and z dimensions.
  • FIG. 6B depicts the object's surface geometry having cross-sections 604 across a y-axis in which each cross-section occupies x and z dimensions.
  • a tool path may be generated for each curved or non-planar region of a particular cross-section.
  • the tool paths may augment other tool paths determined by conventional model slicing solutions (e.g., in a retrofitted device).
  • a solution is configured to generate instructions for building up a single layer (e.g., along a z-dimension).
  • the model is rotated along the y-axis for one finishing pass and/or along the x-axis for another finishing pass. After being rotated along the y-axis such that the cross-section is parallel to an xy-plane, the rotated model is partitioned into layers on the x-dimension.
  • the rotated model is reverted back along the negative y-axis back to an original perspective.
  • the rotated model is partitioned into layers on the y-dimension. Then, the rotated model is rotated back along the negative y-axis to an original perspective.
  • FIG. 7 illustrates an example cross-section of a three-dimensional model according to at least one example implementation.
  • the example cross-section represents a three-dimensional volume along an x-z plane with a fixed or variable width (e.g., along a y-axis).
  • the example cross-section such as a cross-section 702 , is partitioned into layers 704 1 . . . N that correspond to a material deposition finishing pass along the x and z-dimensions.
  • the non-planar regions 706 are prepared for material deposition by three-dimensional or three-dimensional movement.
  • the three-dimensional model is modified, in memory, before applying normal planer slicing by lowering a top surface in the cross-section 702 by the thickness of the non-planar regions 708 (e.g., a minimum extrusion thickness).
  • FIG. 8 illustrates an example cross-section of a three-dimensional model in which non-planar regions are removed according to at least one example implementation.
  • the example cross-section such as a cross-section 802 , may represent the cross-section 702 of FIG. 7 after the non-planar regions 708 are removed.
  • a set of layers 804 1 . . . N similar to the layers 704 1 . . . N , correspond to a z-dimension.
  • instructions for planar regions 806 are generated across a z-dimension and combined with the instructions for the non-planar regions 708 .
  • GCode is produced for depositing material along each of the set of layers 804 1 . . . N for the non-planar regions 708 and combined with GCode for depositing material across the planar regions 806 .
  • FIG. 9 illustrates a portion of an example cross-section of a three-dimensional model in which non-planar regions are rotated according to at least one example implementation.
  • the example cross-section representing a curved surface geometry 902 , may comprise a portion of the cross-section 702 of FIG. 7 where the planar regions 706 are removed and only the non-planar regions 708 remain.
  • a set of layers 904 1 . . . 12 corresponding to a y-dimension may partition the curved surface geometry 902 in which each layer corresponds to model data that was rotated from the x and z dimensions onto an xy-plane.
  • each tool head path may be transformed into coordinates (e.g., two-dimensional and/or three-dimensional coordinates) defining one or more non-planar geometries, such as a non-planar line 906 and a non-planar line 908 , on the curved surface geometry 902 .
  • a fabrication device e.g., the fabrication device 102 of FIG. 1
  • the fabrication device converts the coordinates for the tool head paths into coordinates along the x and z dimensions.
  • each tool head path defines movement along the z-axis in addition to movement along the x-axis and/or y-axis.
  • a tool head path defines one or more extrusion rates corresponding to one or more amounts of material being deposited at a particular three-dimensional coordinate along, for example, the non-planar line 906 .
  • the fabrication device may dynamically adjust an extruder nozzle position along a z-axis coordinate and/or an x-coordinate within the non-planar line 906 , resulting in diagonal and/or curved movement of the extruder nozzle. If the tool path head defines a minimum extrusion width for the example cross-section, the non-planar line 906 may be fabricated in one three-dimensional pass.
  • instructions for the tool head path may set the z-axis coordinate to that layer's height such that the tool head does not move vertically when depositing material except for when moving to a next layer.
  • GCode is produced for depositing material along each of the set of layers 904 1 . . . 12 for the one or more non-planar geometries and combined with GCode for depositing material on remaining geometries of the three-dimensional model.
  • FIG. 10 illustrates an adaptive layer height approach for an example three-dimensional model comprising non-planar regions according to at least one example implementation.
  • the example three-dimensional model refers to a cross-section 1002 of an object being fabricated along x and z-dimensions.
  • the adaptive layer height approach (e.g., as implemented by one or more hardware/software components, such as the fabrication manager 116 of FIG. 1 , of a fabrication device, such as the fabrication device 102 of FIG. 1 ) may reduce a layer's height if there are regions in the layer that satisfy certain characteristics, such as those regions having curvature.
  • layers are closer together where the slope is below a certain angle and when the slope returns to the certain angle (e.g., steeper), the upper layers revert back to a full layer height.
  • a maximum height e.g., maxHeight
  • a minimum height e.g., minHeight
  • the minimum height may be based on a minimum layer height supported by a specific fabrication device's technology.
  • the maximum height may be based on a quality standard selected by a user. As an example, a minimum height may be 0.05 mm for certain fabrication devices and maximum height may be 0.3 mm.
  • One example equation for determining the layer height may be as follows:
  • a stepWidth parameter represents a maximum horizontal distance between surface perimeter lines on adjacent layers.
  • the horizontal distance refers to an extrusion width setting for plastic filament material.
  • represents an angle of inclination between two adjacent layers.
  • the layer height may be computed by reducing the stepWidth by a tangent of angle ⁇ , which represents a ratio between the layer height and the extrusion width given the angle ⁇ . For example, if the extrusion width is 0.4 mm, the extrusion width may be modified to 0.6 mm in order to maintain a particular horizontal distance between perimeter lines to be between one (1) to a half (0.5) of the stepWidth.
  • one or more additional layers may be inserted between the two adjacent layers and incorporated into the model data.
  • a layer 1004 4 is inserted above layer 1004 3 because the horizontal distance (e.g., extrusion width) between the layer 1004 3 and a next adjacent layer at a full layer height exceeded the stepWidth parameter.
  • the layer 1004 4 has a layer height that is a quarter of the layer 1004 3 to maintain the extrusion width under the stepWidth parameter.
  • the layer height is substantially maintained because the angle of inclination remained substantially the same as well.
  • the angle of inclination becomes steeper and the extrusion width may fall below the minimum extrusion width, causing the layer height to double to a value used by each next layer until a layer 1004 21 .
  • the angle of inclination becomes even steeper, causing the layer height to double again to a value used by each next layer until a layer 1004 N .
  • Additional layers also may be inserted, lowering the layer height, when a curvature of the cross-section 1002 falls below a pre-defined angle of inclination.
  • the layer height may be increased when the curvature of the cross-section 1002 exceeds the pre-defined angle of inclination.
  • the layer height may not fall below the minimum height parameter (minHeight). If an angle of inclination or declination is steeper, the layer height may be reduced in proportion to the angle change.
  • FIG. 11A and FIG. 11B illustrate example layers undergoing extrusion modulation according to at least one example implementation.
  • Each example layer may represent at least a portion of a three-dimensional object's top surface geometry. While each example layer may be illustrated as a horizontal layer partitioned into sub-layers, it is appreciated that in other embodiments, each example layer may represent a portion of the top surface geometry along any plane in three-dimensional space. Therefore, material may be deposited along a three-dimensional path on the object's surface.
  • Each layer below the example layers may include planar regions comprising in-fill regions and non-planar regions comprising a surface perimeter. Each example layer represents a three-dimensional portion of the object upon which material is deposited in sub-layers.
  • FIG. 11A depicts a layer 1102 in which layer height is modified at different sub-layers when depositing material.
  • Each sub-layer refers to a portion of the layer 1102 upon which a line of material is deposited.
  • Each rectangular box represents a minimum extrusion unit of material capable of being deposited at a given time (e.g., 0.1 millimeters (mm) in height and 0.4 millimeters (mm) in width).
  • FIG. 11A illustrates an extrusion modulation process in which at least a portion the layer 1102 is built using the minimum extrusion unit. As illustrated, an extrusion line of material is deposited in order to build a perimeter for a sub-layer up to a first layer height 1104 .
  • a second layer height 1106 e.g., 0.2 millimeters (mm) in height and 0.4 millimeters (mm) in width.
  • the second layer height 1106 is raised to a third layer height 1108 such that three material extrusions are deposited at locations corresponding to a next sub-layer.
  • FIG. 11B illustrates an extrusion modulation process in which a layer height may be modified for different sub-layers of a layer 1110 being fabricated.
  • the process of FIG. 11B does not use the minimum extrusion unit and instead, modulates extrusion height by modifying an amount of material being extruded at certain sub-layers. This may be accomplished by changing an extrusion feed rate and/or speed.
  • changing an extrusion material width also modifies the extrusion height and vice versa.
  • the extrusion height may be set to a value no greater than eighty percent of the extrusion material width.
  • 11B represents perimeter line extrusions at a layer height 1112 that is a third of a full layer height.
  • a next material deposition represents an additional perimeter extrusion line at a higher layer height 1114 .
  • a last material deposition of FIG. 11B represents a normal in-fill extrusion at a normal layer height 1116 .
  • FIG. 12 illustrates example texture for a surface geometry according to at least one example implementation.
  • the example texture may be produced on an object's top surface or a surface perimeter.
  • the example texture's resolution may be set as low as a minimum extrusion width, which may refer to a minimum amount of material an extruder nozzle may deposit at a given time. Therefore, the example texture's pattern 1202 may present fine-grained detail on the surface geometry.
  • the texture pattern 1202 is produced by varying extrusion material width between little or no material and at least half of a full extrusion material width. This may be achieved by starting and stopping/slowing down a material extrusion process, as described herein, in accordance with the texture pattern 1202 .
  • the fabrication device may delay material deposition for a specific length and/or decrease an extruder feed rate.
  • the fabrication device also may speed up the movement of the extruder nozzle until a next position in order to reduce the extrusion width. In order to increase the extrusion width, the fabrication device deposit more materials by increases the extruder feed rate or slowing down the extruder speed.
  • the fabrication device may deposit material in two millimeter (2 mm) line segments by extruding no material for two (2) mm followed by 2 mm of extrusion at a full material width.
  • the fabrication device may extrude a four (4) mm line segment of material following by a one (1) mm line segment.
  • the fabrication device may delay material extrusion for a specific length and/or speed up the movement of the extruder nozzle until a next position.
  • the fabrication device may, at any time, modify the instructions to extrude lines of material without varying the extrusion width.
  • the fabrication device may revert back to varying the extrusion width at any time during the material extrusion process.
  • FIG. 13 illustrates an example adaptive material width approach on a three-dimensional object according to at least one example implementation.
  • a layer 1302 of the three-dimensional object is partitioned into regions, some of which may be referred to as outline regions, including an exterior/perimeter outline 1304 , an inner-most outline 1306 , and three intermediary outline regions, including an outline 1308 .
  • the outline 1306 is an inner perimeter for an interior hole 1310 . The following description is directed towards achieving a complete filling of the layer 1302 by varying an extrusion width for at least some outline regions.
  • a fabrication device determines a tool path for each outline region.
  • a curved surface geometry corresponding to the outline 1308 is transformed into a corresponding tool path along the x and y dimensions.
  • instructions are generated for depositing material on positions along the outline 1308 . These instructions may vary an extrusion material width for different portions of the outline region such that certain areas may be prescribed a larger extrusion material width than other areas. While instructions for the outline 1304 may deposit material at a constant width, instructions for each intermediary outline region may define a progressively larger extrusion material width and instructions for the outline 1306 may define a largest extrusion material.
  • FIG. 14 illustrates another example adaptive material width approach on a three-dimensional object according to at least one example implementation.
  • a tapered object 1402 e.g., depicted as a single layer cross-section
  • each dashed line represents a tool path for depositing material while solid lines denote edges of the deposited material.
  • the solid lines narrow as an extrusion feed rate decreases.
  • an extrusion feed rate range also may be reduced by a factor of two (2) in order to reproduce a line of material of any width greater than or equal to a minimum extrusion width.
  • the various embodiments and methods described herein can be implemented in connection with any computer or other client or server device, which can be deployed as part of a computer network or in a distributed computing environment, and can be connected to any kind of data store or stores.
  • the various embodiments described herein can be implemented in any computer system or environment having any number of memory or storage units, and any number of applications and processes occurring across any number of storage units. This includes, but is not limited to, an environment with server computers and client computers deployed in a network environment or a distributed computing environment, having remote or local storage.
  • Distributed computing provides sharing of computer resources and services by communicative exchange among computing devices and systems. These resources and services include the exchange of information, cache storage and disk storage for objects, such as files. These resources and services also include the sharing of processing power across multiple processing units for load balancing, expansion of resources, specialization of processing, and the like. Distributed computing takes advantage of network connectivity, allowing clients to leverage their collective power to benefit the entire enterprise. In this regard, a variety of devices may have applications, objects or resources that may participate in the resource management mechanisms as described for various embodiments of the subject disclosure.
  • FIG. 15 provides a schematic diagram of an example networked or distributed computing environment.
  • the distributed computing environment comprises computing objects 1510 , 1512 , etc., and computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc., which may include programs, methods, data stores, programmable logic, etc. as represented by example applications 1530 , 1532 , 1534 , 1536 , 1538 .
  • computing objects 1510 , 1512 , etc. and computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc. may comprise different devices, such as personal digital assistants (PDAs), audio/video devices, mobile phones, MP3 players, personal computers, laptops, etc.
  • PDAs personal digital assistants
  • Each computing object 1510 , 1512 , etc. and computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc. can communicate with one or more other computing objects 1510 , 1512 , etc. and computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc. by way of the communications network 1540 , either directly or indirectly.
  • communications network 1540 may comprise other computing objects and computing devices that provide services to the system of FIG. 15 , and/or may represent multiple interconnected networks, which are not shown.
  • computing object or device 1520 , 1522 , 1524 , 1526 , 1528 , etc. can also contain an application, such as applications 1530 , 1532 , 1534 , 1536 , 1538 , that might make use of an API, or other object, software, firmware and/or hardware, suitable for communication with or implementation of the application provided in accordance with various embodiments of the subject disclosure.
  • an application such as applications 1530 , 1532 , 1534 , 1536 , 1538 , that might make use of an API, or other object, software, firmware and/or hardware, suitable for communication with or implementation of the application provided in accordance with various embodiments of the subject disclosure.
  • computing systems can be connected together by wired or wireless systems, by local networks or widely distributed networks.
  • networks are coupled to the Internet, which provides an infrastructure for widely distributed computing and encompasses many different networks, though any network infrastructure can be used for example communications made incident to the systems as described in various embodiments.
  • client is a member of a class or group that uses the services of another class or group to which it is not related.
  • a client can be a process, e.g., roughly a set of instructions or tasks, that requests a service provided by another program or process.
  • the client process utilizes the requested service without having to “know” any working details about the other program or the service itself.
  • a client is usually a computer that accesses shared network resources provided by another computer, e.g., a server.
  • a server e.g., a server
  • computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc. can be thought of as clients and computing objects 1510 , 1512 , etc.
  • computing objects 1510 , 1512 , etc. acting as servers provide data services, such as receiving data from client computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc., storing of data, processing of data, transmitting data to client computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc., although any computer can be considered a client, a server, or both, depending on the circumstances.
  • Computing object 1512 for example, acting as a server provides client computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc. with access to storage resources within data store(s) 1550 .
  • a server is typically a remote computer system accessible over a remote or local network, such as the Internet or wireless network infrastructures.
  • the client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
  • the computing objects 1510 , 1512 , etc. can be Web servers with which other computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc. communicate via any of a number of known protocols, such as the hypertext transfer protocol (HTTP).
  • HTTP hypertext transfer protocol
  • Computing objects 1510 , 1512 , etc. acting as servers may also serve as clients, e.g., computing objects or devices 1520 , 1522 , 1524 , 1526 , 1528 , etc., as may be characteristic of a distributed computing environment.
  • the techniques described herein can be applied to any device. It can be understood, therefore, that handheld, portable and other computing devices and computing objects of all kinds are contemplated for use in connection with the various embodiments. Accordingly, the below general purpose remote computer described below in FIG. 16 is but one example of a computing device.
  • Embodiments can partly be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates to perform one or more functional aspects of the various embodiments described herein.
  • Software may be described in the general context of computer executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices.
  • computers such as client workstations, servers or other devices.
  • client workstations such as client workstations, servers or other devices.
  • FIG. 16 thus illustrates an example of a suitable computing system environment 1600 in which one or aspects of the embodiments described herein can be implemented, although as made clear above, the computing system environment 1600 is only one example of a suitable computing environment and is not intended to suggest any limitation as to scope of use or functionality. In addition, the computing system environment 1600 is not intended to be interpreted as having any dependency relating to any one or combination of components illustrated in the example computing system environment 1600 .
  • an example remote device for implementing one or more embodiments includes a general purpose computing device in the form of a computer 1610 .
  • Components of computer 1610 may include, but are not limited to, a processing unit 1620 , a system memory 1630 , and a system bus 1622 that couples various system components including the system memory to the processing unit 1620 .
  • Computer 1610 typically includes a variety of computer readable media and can be any available media that can be accessed by computer 1610 .
  • the system memory 1630 may include computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) and/or random access memory (RAM).
  • system memory 1630 may also include an operating system, application programs, other program modules, and program data.
  • a user can enter commands and information into the computer 1610 through input devices 1640 .
  • a monitor or other type of display device is also connected to the system bus 1622 via an interface, such as output interface 1650 .
  • computers can also include other peripheral output devices such as speakers and a printer, which may be connected through output interface 1650 .
  • the computer 1610 may operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote computer 1670 .
  • the remote computer 1670 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, or any other remote media consumption or transmission device, and may include any or all of the elements described above relative to the computer 1610 .
  • the logical connections depicted in FIG. 16 include a network 1672 , such local area network (LAN) or a wide area network (WAN), but may also include other networks/buses.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.
  • an appropriate API e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, etc. which enables applications and services to take advantage of the techniques provided herein.
  • embodiments herein are contemplated from the standpoint of an API (or other software object), as well as from a software or hardware object that implements one or more embodiments as described herein.
  • various embodiments described herein can have aspects that are wholly in hardware, partly in hardware and partly in software, as well as in software.
  • exemplary is used herein to mean serving as an example, instance, or illustration.
  • the subject matter disclosed herein is not limited by such examples.
  • any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
  • the terms “includes,” “has,” “contains,” and other similar words are used, for the avoidance of doubt, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements when employed in a claim.
  • a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • an application running on computer and the computer can be a component.
  • One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.

Abstract

The subject disclosure is directed towards adapting a three-dimensional model to surface geometry when fabricating a three-dimensional object. While partitioning model data into planar regions and non-planar regions of the three-dimensional object, the model data associated with the non-planar regions is modified to more accurately generate a path that follows the object's curved surface geometry. This path is transformed into an instruction set, which when executed by a device, causes movement along the path while depositing material on the three-dimensional object.

Description

    BACKGROUND
  • A variety of three-dimensional fabrication techniques have been devised to support rapid prototyping from computer models. There are a number of devices capable of fabricating a three-dimensional (3D) solid object of virtually any shape from a digital model. These devices may be referred to as three-dimensional (3D) manufacturing or fabrication devices, such as three-dimensional (3D) printers, Computer Numerical Control (CNC) milling machines, and/or the like.
  • Conventional fabrication technologies, such as Fused Filament Fabrication and Fused Deposition Modeling, build models one layer at a time, which can result in visible errors. One example error may be referred to as “stair-stepping” or visible striping for surfaces that are close to flat and for walls closer to vertical. In order to mitigate this and other errors, these technologies employ thinner layers. Using thinner layers, however, significantly increases model build time. Another solution, which only works for a limited number of materials, involves post-processing with chemical vapors (e.g., Acetone) to melt and smooth the visible surface.
  • SUMMARY
  • This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
  • Briefly, various aspects of the subject matter described herein are directed towards adaptive material deposition approaches to improving surface quality during three-dimensional object fabrication. These approaches may be implemented in a fabrication manager, which is configured to generate instructions for fabricating the object in layers. The fabrication manager detects surface geometries that define at least some curvature (e.g., non-planar in the horizontal direction and/or in the vertical direction). The fabrication manager computes a three-dimensional path for finishing such curved surface geometries in addition to the two-dimensional layer fabrication of the object's interior. According to one aspect, removing non-planar regions under the surface of the layer provides enough space for an accurate finishing pass of material. Three-dimensional tool head movements are computed such that material is deposited before a higher layer is built.
  • In one aspect, the object's model data is modified before being prepared for such fabrication. Prior to being portioned into layers alone a z-dimension, non-planar regions are removed from the model data. Those regions are partitioned into layers along another dimension. Instructions for the fabrication device are generated for the non-planar regions and combined with instructions with other regions of the model data. In another aspect, the object's model data is partitioned into layers along any direction in addition to or instead of the z-dimension. Instructions for depositing material along these layers may follow a three-dimensional path.
  • Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
  • FIG. 1 is a block diagram illustrating an example system for adapting a model to a surface geometry according to at least one example implementation.
  • FIG. 2 is a flow diagram illustrating example steps for adapting a model to a surface geometry according to at least one example implementation.
  • FIG. 3 is a flow diagram illustrating example steps for modulating a layer height when fabricating a three-dimensional object according to at least one example implementation.
  • FIG. 4 is a flow diagram illustrating example steps for applying texture to an object surface according to at least one example implementation.
  • FIG. 5 is a flow diagram illustrating example steps for modifying a three-dimensional model to generate three-dimensional instructions for non-planar regions according to at least one example implementation.
  • FIG. 6A and FIG. 6B represent example three-dimensional objects in which tool paths are generated across an x-direction and a y-direction, respectively, according to at least one example implementation.
  • FIG. 7 illustrates an example cross-section of a three-dimensional model that comprises non-planar regions and planar regions according to at least one example implementation.
  • FIG. 8 illustrates an example cross-section of a three-dimensional model in which non-planar regions are removed according to at least one example implementation.
  • FIG. 9 illustrates a portion of an example cross-section of a three-dimensional model in which non-planar regions are rotated according to at least one example implementation.
  • FIG. 10 illustrates an adaptive layer height approach for an example three-dimensional model comprising non-planar regions according to at least one example implementation.
  • FIG. 11A and FIG. 11B illustrate example layers undergoing extrusion modulation according to at least one example implementation.
  • FIG. 12 illustrates example texture for a surface geometry according to at least one example implementation.
  • FIG. 13 illustrates an adaptive material width approach on a three-dimensional object according to at least one example implementation.
  • FIG. 14 illustrates another example adaptive material width approach on a three-dimensional object according to at least one example implementation.
  • FIG. 15 is a block diagram representing example non-limiting networked environments in which various embodiments described herein can be implemented.
  • FIG. 16 is a block diagram representing an example non-limiting computing system or operating environment in which one or more aspects of various embodiments described herein can be implemented.
  • DETAILED DESCRIPTION
  • Various aspects of the technology described herein are generally directed towards configuring a fabrication device with adaptive material deposition mechanisms. Employing at least some of these mechanisms may result in improved surface quality and/or reduced/eliminated visible errors (e.g., stair-stepping errors). According to one example implementation, the fabrication device includes an extruder apparatus that extrudes plastic filament material while moving in any direction. One or more components of the fabrication device may generate instructions directing the extruder apparatus along a path corresponding to a surface curvature of a three-dimensional object. Hence, the extruder apparatus may be configured to deposit the material along a curve in the x, y and/or z dimensions. Adapting the extruder apparatus to enable movement along the curve may involve adjusting one or more layer characteristics.
  • Each layer having at least a portion of the curve may be transformed into a layer along another dimension such that the set of paths generated for the non-planar region more accurately follow the curved surface geometry of the object. The fabrication device may modify a layer height for some layers such that thinner layers are used for curved surface geometry. In some example implementations, the fabrication device may modify a layer height for one or more sub-layers within a layer. These sub-layers may partition the layer along an x-dimension or a y-dimension. The fabrication device may generate instructions, which when executed, cause the extruder apparatus to modulate plastic material extrusion to create texture patterns on the object's surface.
  • It should be understood that any of the examples herein are non-limiting. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and fabrication technologies in general.
  • FIG. 1 is a block diagram illustrating an example system for adapting a model to a surface geometry according to at least one example implementation. The following description refers to components that may be implemented in the example apparatus depicted in FIG. 1. Embodiments of these components may be considered hardware, software and/or mechanical in nature. It is appreciated that the example apparatus may be referred to as a fabrication device 102.
  • One example component of the fabrication device 102 includes a control unit or controller 104 coupled to one or more robotic mechanisms, such as a robot 106, and configured to execute instructions for the robot 106 and a printing mechanism 108. Some fabrication devices translate geometric figures/polygons in the model into machine instructions (e.g., GCode) configured to generate an actual output for each layer. The printing mechanism 108 may include one or more tools for depositing material. A chamber 110 constructed within the printing mechanism 108 allows source material(s) to be prepared (e.g., heated) and/or blended when fabricating an object 112. For example, the chamber 110 enables melting, mixing, and extruding of one or more filaments, including color filaments.
  • The robot 106, such as a gantry, may include an assembly of various mechanical and/or electro-mechanical components. By executing at least some instructions within an instruction set 114, the robot 106 may actuate these components into performing at least some physical movement. When actuated, for example, these components may move horizontally, vertically, diagonally, rotationally and so forth. One example implementation of the robot 106 moves a printing tool head across an x, y and/or z-axis in order to deposit material at a specific position on the object 112 being fabricated. That position may correspond to a portion of surface geometry (e.g., a perimeter region, a curved bottom geometry, a top surface geometry), interior or in-fill area, a support structure and/or the like. An alternative implementation of the robot 106 rotates the printing tool head along one or more additional degrees of freedom to augment the movement along the x, y and/or z-axis.
  • The printing mechanism 108 may include to one or more printing tool heads. Although the printing mechanism 108 may resemble an extruder configuration (e.g., a single extruder head configuration), it is appreciated that the printing mechanism 108 represents any compatible technology, including legacy printing tool heads. Furthermore, the printing mechanism 108 may include printing tool heads configured to deposit other materials in addition to colored materials and/or transparent materials. As such, the printing mechanism 108 may include a second chamber and a second nozzle that provides another material (e.g., a polymer) when printing certain structures during fabrication, such as support structures, purge structures and/or the like. Purge structures may refer to areas of the object's model where unusable material is deposited. As one example, leftover material in the chamber 110 may be deposited in the purge structure.
  • Adapting material deposition to the surface geometry of the object 112 involves a fabrication manager 116 configured to modify model data 118 based upon that surface geometry's curvature according to one or more example implementations. The fabrication manager 116 may be configured to generate instructions, which when executed by the controller 104, causes the deposition of material along sets of paths corresponding to the surface geometry. Each set of paths may be defined along different dimensions or directions. For example, one set of paths may be in the y-dimension or parallel to a y-axis; alternatively, another set of paths may be in the x-dimension or parallel to an x-axis. Each path represents a movement (e.g., three-dimensional movement) for the printing mechanism 108 to perform while depositing material.
  • In one example implementation, the fabrication manager 116 partitions the model data 118 such that the object model is separated into layers in which each layer represents a three-dimensional space along an axis, such as a z-axis. Based upon the model data 118 corresponding to at least one layer, the partition manager 116 examines the surface geometry of the object 112 based upon curvature and identifies one or more portions of curved surface geometry. One example of curved surface geometry includes an example region of the object 112 where the surface geometry is nearly flat or non-planar. It is appreciated that the present description may refer to the example region as a non-planar region and other regions of the object 112 that are not associated with the curved surface geometry may be referred to as planar regions. The fabrication manager 116 may identify a set of paths for each non-planar region in which each path corresponds to three-dimensional positions within the non-planar region for depositing material. The example implementation described above involves the z-axis to illustrate object model modification in retrofitted embodiments, such as those employing conventional three-dimensional fabrication components. It is appreciated that the object model may be partitioned along a different dimension, such as a y-axis or an x-axis, in other example implementations. Regardless of the dimension, the fabrication manager 116 determines paths corresponding to the non-planar regions along at least two dimensions.
  • The deposition process described herein may be modulated in a number of ways. In one example implementation, the fabrication manager 116 modifies layer height when fabricating one or more layers of the model data 118. Each layer having at least a portion of a non-planar region may be transformed into a layer of reduced height such that the set of paths generated for the non-planar region more accurately follow the curved surface geometry of the object 112. Some layers may be transformed into layers of different heights to account for steeper angles of inclinations or declinations in the non-planar region's curvature.
  • Alternatively, only a portion of the layer actually including the non-planar region may be reduced in layer height; remaining portions of the layer retain an original layer height. According to another implementation, the fabrication manager 116 modifies extrusion material thickness in order to deposit different amounts of material in different locations. According to yet another example implementation, the fabrication manager 116 modifies extrusion material width and/or height in order to produce texture on the curved surface geometry. Texture information 120 may store extrusion material thickness values that enable the fabrication manager to compute a material height and/or a material width for extruding material on the object surface perimeter or top, which may be used to produce rough and/or smooth surface textures.
  • One example implementation of an adaptive material thickness approach uses a lower layer height for at least a portion of a layer and a full layer height in other portions. According to this implementation, the fabrication device extrudes lines of material at a variable thickness. Under this approach, vertical outside walls may be extruded at a full layer height (e.g., as 0.3 mm) such that thinner layers may be used for non-planar surface perimeters, a non-planar surface top, or, alternately, a curved exterior and/or a curved bottom.
  • Another example implementation of an adaptive layer height approach modifies a layer height for an entire layer. For example, if a layer (or a sub-layer) appears to be a substantially vertical wall, material is extruded for that layer at a full layer height. When a layer intersects a section of the model with more gradual slopes, the layer height may be progressively reduced for one or more higher layers to improve surface quality.
  • One example implementation of an extrusion modulation approach extrudes lines of material at a variable width. For example, while a standard extruded line of plastic material may be 0.4 mm in width and 0.2 mm in height, this approach modulates the width of this line in order to produce visible texture patterns on the outer surfaces of the printed model. An alternative approach may modulate the material height by moving an extruder apparatus vertically while extruding material.
  • The fabrication manager 116 may employ a number of approaches to locate regions of a surface perimeter having at least a certain degree of curvature. According to one example implementation, the fabrication manager 116 processes a polygon mesh model and identifies polygons that are on the top of the finished object and have a slope below a defined threshold (e.g., less than thirty (30) degrees from being flat). The fabrication manager reduces such a polygon by a thickness of the finishing non-planar material deposition passes (e.g., 2-3 layers) and adds this polygon to the list of polygons that will undergo non-planar passes. Hence, the new modified model with these reduced polygons may be used by the fabrication manager 116 for creating the normal planar layers. Afterwards, the fabrication manager 116 inserts the non-planer passes between planar layers based on the maximum height of the original polygons in the non-planar region.
  • FIG. 2 is a flow diagram illustrating example steps for adapting a model to a surface geometry according to at least one example implementation. One or more hardware/software components (e.g., a fabrication manager 116 of FIG. 1) may be configured to perform the example steps. Step 202 commences the example steps and proceeds to step 204 where model data for a three-dimensional object is partitioned into non-planar regions and planar regions based upon the surface geometry. The non-planar regions may form a curved surface perimeter for the three-dimensional object.
  • Step 206 is directed towards modifying the model data that corresponds to the non-planar regions. This may be accomplished by translating a surface geometry, including the non-planar regions, into a desired perspective in three-dimensional space prior to generating instructions for the non-planar regions. Step 208 refers to generating instructions for the non-planar regions. As an alternative mechanism, step 206 may involve translating the instructions for the non-planar regions into the desired perspective by modulating material deposition by changing layer height and/or material width. Adjusting an extrusion feed rate and/or speed may result in variations of the material width. Changing the layer height may effectuated by modifying an extrusion material thickness for entire layer or a portion thereof. Some example material deposition modulation implementations produce texture on the three-dimensional object surface.
  • According to one example implementation, a path forming a curved surface geometry around one or more non-planar regions represents three-dimensional movement for an extruder apparatus. When executed, the above mentioned instructions may cause actuation of an extruder nozzle to a particular coordinate position in three-dimensional space and further cause application of (e.g., filament) material at that position and other positions along the path. The path may be partitioned into layers along the z-dimension and for each layer, instructions may be generated causing the extruder apparatus to deposit material along one or more portions (e.g., sub-layers) of that layer. The layer's height may be adapted locally and/or for the entire layer based upon a curvature of the non-planar regions.
  • Step 210 refers to generating instructions for the planar regions. Because the planar regions include interior in-fill areas, any path generated for these regions may include two-dimensional movement within a layer and at a full layer height. Step 212 is directed towards combining the instructions for the non-planar regions and the instructions for the planar regions into an instruction set configured to fabricate the three-dimensional object. Step 214 terminates the example steps of FIG. 2.
  • FIG. 3 is a flow diagram illustrating example steps for modulating material extrusion when fabricating a three-dimensional object according to at least one example implementation. One or more hardware/software components (e.g., a fabrication manager 116 of FIG. 1) of a device (e.g., a fabrication device, such as the fabrication device 102 of FIG. 1) may be configured to perform the example steps. Step 302 commences the example steps and proceeds to step 304 where a layer of model data for the three-dimensional object is selected. As described herein, the model data defines regions (e.g., geometric polygons) of the three-dimensional object to facilitate manufacturing of that object. Step 304 also is directed to generating instructions for fabricating the layer, which when executed on the device, cause components of the device to deposit material along contours and interior areas of the layer.
  • Step 306 begins or continues a material deposition process on the three-dimensional object. As described herein, one example material deposition process involves plastic material extrusion through a nozzle one layer at a time. Although the following description refers an example layer as a horizontal layer across x and y dimensions, as an alternative, an example layer may be a vertical layer across the x and z dimensions or the y and z dimensions.
  • Step 308 determines whether adapting the material deposition process results in improved surface quality of the three-dimensional object. If step 308 decides to adapt the material deposition process based upon a surface geometry, step 308 returns to step 306 with one or more modified material deposition parameters, such as a modified layer height, a modified sub-layer height, or a modified material width. If, at step 308, it is determined that adapting the material deposition most likely will not improve surface quality, step 308 proceeds to step 310. Step 310 is directed to stopping fabrication of the layer when the layer is fully fabricated. Step 312 determines whether there are more layers in the three-dimensional model to fabricate. If there are additional layers in the model, step 312 returns to step 304 in order to generate instructions for fabricating a next layer based upon the modified material deposition parameters. Accordingly, step 306 proceeds to deposit the material as directed by the above mentioned instructions. If not, step 312 proceeds to step 314, which terminates the example steps of FIG. 3.
  • FIG. 4 is a flow diagram illustrating example steps for applying texture to an object surface according to at least one example implementation. One or more hardware/software components of a device (e.g., a fabrication device, such as the fabrication device 102 of FIG. 1) may be configured to perform the example steps. Step 402 commences the example steps and proceeds to step 404 where texture information is accessed. Step 406 refers to access model data associated with a surface geometry. As described herein, the model data defines regions of a three-dimensional object, including planar and/or non-planar regions corresponding to the surface geometry. The model data may be modified according to any texture pattern, including coarse and/or smooth textures, wood grain textures, concrete textures, characters/words and/or the like. Hence, texture can be produced on the surface geometry that is either curved, flat or a combination of both, curved and flat. This may be accomplished using an extruder apparatus configured to deposit heated plastic material on the three-dimensional object.
  • The texture information defines data corresponding to at least one texture pattern, which is a pattern for depositing material on the three-dimensional object surface. Step 408 is directed to mapping a texture pattern to the surface geometry. One example texture pattern is illustrated by FIG. 12. Step 410 determines whether to modify the model data based upon the mapping between the texture pattern and the surface geometry. If the model data is to be modified, such as by modifying material width, step 410 proceeds to step 412 where extrusion line widths and/or heights are determined. These values may be proportional to each other such that a change in extrusion line width may affect the extrusion line height or thickness and vice versa. If, for instance, the extrusion line width increases from a minimum extrusion width beyond a certain threshold, the extrusion line height also increases proportionally. If the model data is not to be modified, step 412 proceeds to step 414. If no texture is to be applied to the surface geometry, step 410 proceeds directly to step 420.
  • Step 414 and step 416 compute extrusion speeds, feed rates, and lengths based upon corresponding extrusion line widths and/or heights. Extrusion speed refers to a rate at which an extruder nozzle moves down the extrusion line. Extrusion feed rate refers to an amount of material (e.g., in terms of thickness and/or width) that is expelled from the nozzle per unit of time. Changes to the extrusion line widths may affect the extrusion feed rate by increasing or decreasing an amount of material being deposited, which also causes a change to the extrusion line height. Step 414 determines an appropriate extrusion feed rate for depositing sufficient material for the extrusion line width and/or height. Extrusion length refers to a length of the extrusion line. Using these extrusion characteristics, step 418 generates instructions for producing texture on the surface geometry. As described herein, these instructions may include to GCode, which when executed, causes two-dimensional and/or three-dimensional movement along a path while depositing plastic material in a layer of the three-dimensional object's model. Step 420 terminates the example steps of FIG. 4.
  • FIG. 5 is a flow diagram illustrating example steps for modifying a three-dimensional model to generate three-dimensional instructions for non-planar regions according to at least one example implementation. One or more hardware/software components of a device (e.g., a fabrication device, such as the fabrication device 102 of FIG. 1) may be configured to perform the example steps. Step 502 commences the example steps and proceeds to step 504 where at least one layer in z-dimension is processed. Each layer may include non-planar regions and planar regions of the object along the z-dimension. As described herein, the three-dimensional model may define a three-dimensional object comprised of layers to facilitate manufacturing of that object. It is appreciated that some embodiments may process the model into sets of layers in which each set of layer partitions the object along a different dimension. Hence, these embodiments may process at least one layer in an x-dimension or a y-dimension at step 504.
  • Step 506 represents a determination as to whether there any non-planar regions in the at least one layer. In one example implementation, a fabrication manager of the device is configured to identify at least a portion of the three-dimensional object having the curved surface geometry and further partition that portion into sets of layers in which each set of layers corresponds to at least one dimension (e.g., x-dimension or z-dimension). One example set of layers partitions a volumetric cross-section into vertical or horizontal lines indicating positions where material is to be deposited. As described herein, each line may be associated with at least one length, at least one width and at least one height defining material thickness at different positions along the line. Step 508 determines whether to modulate the material deposition process when fabricating the at least one layer. If material deposition modulation is to be performed on the at least one layer, step 508 proceeds to step 510; otherwise, step 508 proceeds to step 512. Step 510 modifies one or more fabrication settings, such as a layer height (e.g., a material height) or a material width.
  • Step 512 to step 516 refer to modifying the three-dimensional model based upon the non-planar regions, which define the curved surface geometry. Step 512 partitions the non-planar regions into at least one set of layers in which each set of layers corresponds to a different axis. For the purposes of describing at least some representative embodiments of step 512 to step 516, it may be assumed that step 512 partitions the non-planar regions into a set of layers along the z-dimension. Step 514 rotates the set of layers of the three-dimensional model along an axis, such as an x-axis, in order to generate paths for the set of layers. Step 516 rotates another set of layers of the three-dimensional model along another axis, such as a y-axis, in order to generate paths for that set of layers. By rotating the model, the curved surface geometry may be examined in another perspective. Step 518 generates executable instructions corresponding to both sets of paths and combines those instructions with instructions for fabricating the planar regions to produce an instruction set. Step 520 terminates the example steps of FIG. 5.
  • FIG. 6A and FIG. 6B represent an example three-dimensional object in which tool paths are generated across a y-direction and an x-direction, respectively, according to at least one example implementation. The three-dimensional object being depicted in FIGS. 6A and 6B may be referred to as a wedge. These tools paths may be used for configuring finishing passes on the three-dimensional object's surface geometry. FIG. 6A depicts the object's surface geometry having cross-sections 602 along an x-axis. Each of the cross-sections 602 represents model data for a portion of the object having at least a minimum extrusion width and located within that cross-section's y and z dimensions. FIG. 6B depicts the object's surface geometry having cross-sections 604 across a y-axis in which each cross-section occupies x and z dimensions.
  • A tool path may be generated for each curved or non-planar region of a particular cross-section. The tool paths may augment other tool paths determined by conventional model slicing solutions (e.g., in a retrofitted device). Such a solution is configured to generate instructions for building up a single layer (e.g., along a z-dimension). In order to adapt that solution to performing finishing passes on the surface geometry along a y-dimension and/or an x-dimension, the model is rotated along the y-axis for one finishing pass and/or along the x-axis for another finishing pass. After being rotated along the y-axis such that the cross-section is parallel to an xy-plane, the rotated model is partitioned into layers on the x-dimension. Then, the rotated model is reverted back along the negative y-axis back to an original perspective. For the other finishing pass, after rotating the model along the y-axis, the rotated model is partitioned into layers on the y-dimension. Then, the rotated model is rotated back along the negative y-axis to an original perspective.
  • FIG. 7 illustrates an example cross-section of a three-dimensional model according to at least one example implementation. The example cross-section represents a three-dimensional volume along an x-z plane with a fixed or variable width (e.g., along a y-axis). According to one example implementation, the example cross-section, such as a cross-section 702, is partitioned into layers 704 1 . . . N that correspond to a material deposition finishing pass along the x and z-dimensions. After identifying planar regions 706 and non-planar regions 708 of the three-dimensional object, the non-planar regions 706 are prepared for material deposition by three-dimensional or three-dimensional movement. In one example implementation, the three-dimensional model is modified, in memory, before applying normal planer slicing by lowering a top surface in the cross-section 702 by the thickness of the non-planar regions 708 (e.g., a minimum extrusion thickness).
  • FIG. 8 illustrates an example cross-section of a three-dimensional model in which non-planar regions are removed according to at least one example implementation. The example cross-section, such as a cross-section 802, may represent the cross-section 702 of FIG. 7 after the non-planar regions 708 are removed. A set of layers 804 1 . . . N, similar to the layers 704 1 . . . N, correspond to a z-dimension. After generating instructions for material deposition on the non-planar regions 708, as depicted by FIG. 9, instructions for planar regions 806 are generated across a z-dimension and combined with the instructions for the non-planar regions 708. In one example implementation, GCode is produced for depositing material along each of the set of layers 804 1 . . . N for the non-planar regions 708 and combined with GCode for depositing material across the planar regions 806.
  • FIG. 9 illustrates a portion of an example cross-section of a three-dimensional model in which non-planar regions are rotated according to at least one example implementation. The example cross-section, representing a curved surface geometry 902, may comprise a portion of the cross-section 702 of FIG. 7 where the planar regions 706 are removed and only the non-planar regions 708 remain. A set of layers 904 1 . . . 12 corresponding to a y-dimension may partition the curved surface geometry 902 in which each layer corresponds to model data that was rotated from the x and z dimensions onto an xy-plane. The model data for the set of layers 904 1 . . . 12 may be transformed into coordinates (e.g., two-dimensional and/or three-dimensional coordinates) defining one or more non-planar geometries, such as a non-planar line 906 and a non-planar line 908, on the curved surface geometry 902. Based upon these coordinates, a fabrication device (e.g., the fabrication device 102 of FIG. 1) may determine printing tool head paths for depositing material on the non-planar line 906 and the non-planar line 908 along the x and y dimensions. After rotating the model data back onto an xz-plane, the fabrication device converts the coordinates for the tool head paths into coordinates along the x and z dimensions. Hence, each tool head path defines movement along the z-axis in addition to movement along the x-axis and/or y-axis.
  • To illustrate at least one example implementation, a tool head path defines one or more extrusion rates corresponding to one or more amounts of material being deposited at a particular three-dimensional coordinate along, for example, the non-planar line 906. When depositing material along the tool head path, the fabrication device may dynamically adjust an extruder nozzle position along a z-axis coordinate and/or an x-coordinate within the non-planar line 906, resulting in diagonal and/or curved movement of the extruder nozzle. If the tool path head defines a minimum extrusion width for the example cross-section, the non-planar line 906 may be fabricated in one three-dimensional pass. As an alternative mechanism, instructions for the tool head path may set the z-axis coordinate to that layer's height such that the tool head does not move vertically when depositing material except for when moving to a next layer.
  • After generating instructions for material deposition on the curved surface geometry 902, the example cross-section is rotated along a negative x-axis and these instructions are transformed into compatible instructions for layers along a z-dimension. Such a material deposition process may be referred to as a non-planar finishing pass. In one example implementation, GCode is produced for depositing material along each of the set of layers 904 1 . . . 12 for the one or more non-planar geometries and combined with GCode for depositing material on remaining geometries of the three-dimensional model.
  • FIG. 10 illustrates an adaptive layer height approach for an example three-dimensional model comprising non-planar regions according to at least one example implementation. The example three-dimensional model refers to a cross-section 1002 of an object being fabricated along x and z-dimensions. The adaptive layer height approach (e.g., as implemented by one or more hardware/software components, such as the fabrication manager 116 of FIG. 1, of a fabrication device, such as the fabrication device 102 of FIG. 1) may reduce a layer's height if there are regions in the layer that satisfy certain characteristics, such as those regions having curvature. In FIG. 10, layers are closer together where the slope is below a certain angle and when the slope returns to the certain angle (e.g., steeper), the upper layers revert back to a full layer height.
  • Computing the layer height might be performed as follows. First, a maximum height (e.g., maxHeight) and a minimum height (e.g., minHeight) are established. The minimum height may be based on a minimum layer height supported by a specific fabrication device's technology. The maximum height may be based on a quality standard selected by a user. As an example, a minimum height may be 0.05 mm for certain fabrication devices and maximum height may be 0.3 mm. One example equation for determining the layer height may be as follows:

  • layer height=min(max(stepWidth×tan θ,minHeight),maxHeight)
  • A stepWidth parameter represents a maximum horizontal distance between surface perimeter lines on adjacent layers. In some embodiments, the horizontal distance refers to an extrusion width setting for plastic filament material. θ represents an angle of inclination between two adjacent layers. The layer height may be computed by reducing the stepWidth by a tangent of angle θ, which represents a ratio between the layer height and the extrusion width given the angle θ. For example, if the extrusion width is 0.4 mm, the extrusion width may be modified to 0.6 mm in order to maintain a particular horizontal distance between perimeter lines to be between one (1) to a half (0.5) of the stepWidth. If the layer height exceeds the maximum height parameter, one or more additional layers may be inserted between the two adjacent layers and incorporated into the model data. For example, a layer 1004 4 is inserted above layer 1004 3 because the horizontal distance (e.g., extrusion width) between the layer 1004 3 and a next adjacent layer at a full layer height exceeded the stepWidth parameter. As illustrated, the layer 1004 4 has a layer height that is a quarter of the layer 1004 3 to maintain the extrusion width under the stepWidth parameter. For each next layer until layer 1004 15, the layer height is substantially maintained because the angle of inclination remained substantially the same as well. After the layer 1004 15, the angle of inclination becomes steeper and the extrusion width may fall below the minimum extrusion width, causing the layer height to double to a value used by each next layer until a layer 1004 21. Similarly, after the layer 1004 21, the angle of inclination becomes even steeper, causing the layer height to double again to a value used by each next layer until a layer 1004 N.
  • Additional layers also may be inserted, lowering the layer height, when a curvature of the cross-section 1002 falls below a pre-defined angle of inclination. Similarly, the layer height may be increased when the curvature of the cross-section 1002 exceeds the pre-defined angle of inclination. Of course, the layer height may not fall below the minimum height parameter (minHeight). If an angle of inclination or declination is steeper, the layer height may be reduced in proportion to the angle change.
  • FIG. 11A and FIG. 11B illustrate example layers undergoing extrusion modulation according to at least one example implementation. Each example layer may represent at least a portion of a three-dimensional object's top surface geometry. While each example layer may be illustrated as a horizontal layer partitioned into sub-layers, it is appreciated that in other embodiments, each example layer may represent a portion of the top surface geometry along any plane in three-dimensional space. Therefore, material may be deposited along a three-dimensional path on the object's surface. Each layer below the example layers may include planar regions comprising in-fill regions and non-planar regions comprising a surface perimeter. Each example layer represents a three-dimensional portion of the object upon which material is deposited in sub-layers.
  • FIG. 11A depicts a layer 1102 in which layer height is modified at different sub-layers when depositing material. Each sub-layer refers to a portion of the layer 1102 upon which a line of material is deposited. Each rectangular box represents a minimum extrusion unit of material capable of being deposited at a given time (e.g., 0.1 millimeters (mm) in height and 0.4 millimeters (mm) in width). FIG. 11A illustrates an extrusion modulation process in which at least a portion the layer 1102 is built using the minimum extrusion unit. As illustrated, an extrusion line of material is deposited in order to build a perimeter for a sub-layer up to a first layer height 1104. Then, two extrusion lines are deposited in order to build a perimeter for a next sub-layer up to a second layer height 1106 (e.g., 0.2 millimeters (mm) in height and 0.4 millimeters (mm) in width). The second layer height 1106 is raised to a third layer height 1108 such that three material extrusions are deposited at locations corresponding to a next sub-layer. By reducing the amount of material being deposited for the first two sub-layers, a more precise object surface curvature may be achieved.
  • FIG. 11B illustrates an extrusion modulation process in which a layer height may be modified for different sub-layers of a layer 1110 being fabricated. Hence, the process of FIG. 11B does not use the minimum extrusion unit and instead, modulates extrusion height by modifying an amount of material being extruded at certain sub-layers. This may be accomplished by changing an extrusion feed rate and/or speed. In some example embodiments, changing an extrusion material width also modifies the extrusion height and vice versa. For example, the extrusion height may be set to a value no greater than eighty percent of the extrusion material width. The first material deposition of FIG. 11B represents perimeter line extrusions at a layer height 1112 that is a third of a full layer height. A next material deposition represents an additional perimeter extrusion line at a higher layer height 1114. A last material deposition of FIG. 11B represents a normal in-fill extrusion at a normal layer height 1116.
  • FIG. 12 illustrates example texture for a surface geometry according to at least one example implementation. The example texture may be produced on an object's top surface or a surface perimeter. The example texture's resolution may be set as low as a minimum extrusion width, which may refer to a minimum amount of material an extruder nozzle may deposit at a given time. Therefore, the example texture's pattern 1202 may present fine-grained detail on the surface geometry.
  • The texture pattern 1202 is produced by varying extrusion material width between little or no material and at least half of a full extrusion material width. This may be achieved by starting and stopping/slowing down a material extrusion process, as described herein, in accordance with the texture pattern 1202. For example, the fabrication device may delay material deposition for a specific length and/or decrease an extruder feed rate. The fabrication device also may speed up the movement of the extruder nozzle until a next position in order to reduce the extrusion width. In order to increase the extrusion width, the fabrication device deposit more materials by increases the extruder feed rate or slowing down the extruder speed.
  • To illustrate one example, consider the texture pattern 1202 illustrated in FIG. 12. For a bottom ten (10) rows, the fabrication device may deposit material in two millimeter (2 mm) line segments by extruding no material for two (2) mm followed by 2 mm of extrusion at a full material width. For a next ten (10) rows, the fabrication device may extrude a four (4) mm line segment of material following by a one (1) mm line segment. To produce extruder lines of different widths, the fabrication device may delay material extrusion for a specific length and/or speed up the movement of the extruder nozzle until a next position. Furthermore, the fabrication device may, at any time, modify the instructions to extrude lines of material without varying the extrusion width. As demonstrated between the seventh and fifteenth rows of the texture pattern 1202, a rectangle is superimposed on the object surface with no variation in the extruded layers. Similarly, the fabrication device may revert back to varying the extrusion width at any time during the material extrusion process.
  • FIG. 13 illustrates an example adaptive material width approach on a three-dimensional object according to at least one example implementation. A layer 1302 of the three-dimensional object is partitioned into regions, some of which may be referred to as outline regions, including an exterior/perimeter outline 1304, an inner-most outline 1306, and three intermediary outline regions, including an outline 1308. The outline 1306 is an inner perimeter for an interior hole 1310. The following description is directed towards achieving a complete filling of the layer 1302 by varying an extrusion width for at least some outline regions.
  • According to at least one example embodiment, a fabrication device (e.g., the fabrication device 102 of FIG. 1) determines a tool path for each outline region. As an example, a curved surface geometry corresponding to the outline 1308 is transformed into a corresponding tool path along the x and y dimensions. Based upon the corresponding tool path, instructions are generated for depositing material on positions along the outline 1308. These instructions may vary an extrusion material width for different portions of the outline region such that certain areas may be prescribed a larger extrusion material width than other areas. While instructions for the outline 1304 may deposit material at a constant width, instructions for each intermediary outline region may define a progressively larger extrusion material width and instructions for the outline 1306 may define a largest extrusion material.
  • FIG. 14 illustrates another example adaptive material width approach on a three-dimensional object according to at least one example implementation. A tapered object 1402 (e.g., depicted as a single layer cross-section) can be accurately reproduced by dynamically adjusting an extrusion width to match that object's shape. In FIG. 13, each dashed line represents a tool path for depositing material while solid lines denote edges of the deposited material. The solid lines narrow as an extrusion feed rate decreases. By reducing the number of tool paths when the object 1402 becomes too narrow, an extrusion feed rate range also may be reduced by a factor of two (2) in order to reproduce a line of material of any width greater than or equal to a minimum extrusion width.
  • Example Networked and Distributed Environments
  • One of ordinary skill in the art can appreciate that the various embodiments and methods described herein can be implemented in connection with any computer or other client or server device, which can be deployed as part of a computer network or in a distributed computing environment, and can be connected to any kind of data store or stores. In this regard, the various embodiments described herein can be implemented in any computer system or environment having any number of memory or storage units, and any number of applications and processes occurring across any number of storage units. This includes, but is not limited to, an environment with server computers and client computers deployed in a network environment or a distributed computing environment, having remote or local storage.
  • Distributed computing provides sharing of computer resources and services by communicative exchange among computing devices and systems. These resources and services include the exchange of information, cache storage and disk storage for objects, such as files. These resources and services also include the sharing of processing power across multiple processing units for load balancing, expansion of resources, specialization of processing, and the like. Distributed computing takes advantage of network connectivity, allowing clients to leverage their collective power to benefit the entire enterprise. In this regard, a variety of devices may have applications, objects or resources that may participate in the resource management mechanisms as described for various embodiments of the subject disclosure.
  • FIG. 15 provides a schematic diagram of an example networked or distributed computing environment. The distributed computing environment comprises computing objects 1510, 1512, etc., and computing objects or devices 1520, 1522, 1524, 1526, 1528, etc., which may include programs, methods, data stores, programmable logic, etc. as represented by example applications 1530, 1532, 1534, 1536, 1538. It can be appreciated that computing objects 1510, 1512, etc. and computing objects or devices 1520, 1522, 1524, 1526, 1528, etc. may comprise different devices, such as personal digital assistants (PDAs), audio/video devices, mobile phones, MP3 players, personal computers, laptops, etc.
  • Each computing object 1510, 1512, etc. and computing objects or devices 1520, 1522, 1524, 1526, 1528, etc. can communicate with one or more other computing objects 1510, 1512, etc. and computing objects or devices 1520, 1522, 1524, 1526, 1528, etc. by way of the communications network 1540, either directly or indirectly. Even though illustrated as a single element in FIG. 15, communications network 1540 may comprise other computing objects and computing devices that provide services to the system of FIG. 15, and/or may represent multiple interconnected networks, which are not shown. Each computing object 1510, 1512, etc. or computing object or device 1520, 1522, 1524, 1526, 1528, etc. can also contain an application, such as applications 1530, 1532, 1534, 1536, 1538, that might make use of an API, or other object, software, firmware and/or hardware, suitable for communication with or implementation of the application provided in accordance with various embodiments of the subject disclosure.
  • There are a variety of systems, components, and network configurations that support distributed computing environments. For example, computing systems can be connected together by wired or wireless systems, by local networks or widely distributed networks. Currently, many networks are coupled to the Internet, which provides an infrastructure for widely distributed computing and encompasses many different networks, though any network infrastructure can be used for example communications made incident to the systems as described in various embodiments.
  • Thus, a host of network topologies and network infrastructures, such as client/server, peer-to-peer, or hybrid architectures, can be utilized. The “client” is a member of a class or group that uses the services of another class or group to which it is not related. A client can be a process, e.g., roughly a set of instructions or tasks, that requests a service provided by another program or process. The client process utilizes the requested service without having to “know” any working details about the other program or the service itself.
  • In a client/server architecture, particularly a networked system, a client is usually a computer that accesses shared network resources provided by another computer, e.g., a server. In the illustration of FIG. 15, as a non-limiting example, computing objects or devices 1520, 1522, 1524, 1526, 1528, etc. can be thought of as clients and computing objects 1510, 1512, etc. can be thought of as servers where computing objects 1510, 1512, etc., acting as servers provide data services, such as receiving data from client computing objects or devices 1520, 1522, 1524, 1526, 1528, etc., storing of data, processing of data, transmitting data to client computing objects or devices 1520, 1522, 1524, 1526, 1528, etc., although any computer can be considered a client, a server, or both, depending on the circumstances. Computing object 1512, for example, acting as a server provides client computing objects or devices 1520, 1522, 1524, 1526, 1528, etc. with access to storage resources within data store(s) 1550.
  • A server is typically a remote computer system accessible over a remote or local network, such as the Internet or wireless network infrastructures. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
  • In a network environment in which the communications network 1540 or bus is the Internet, for example, the computing objects 1510, 1512, etc. can be Web servers with which other computing objects or devices 1520, 1522, 1524, 1526, 1528, etc. communicate via any of a number of known protocols, such as the hypertext transfer protocol (HTTP). Computing objects 1510, 1512, etc. acting as servers may also serve as clients, e.g., computing objects or devices 1520, 1522, 1524, 1526, 1528, etc., as may be characteristic of a distributed computing environment.
  • Example Computing Device
  • As mentioned, advantageously, the techniques described herein can be applied to any device. It can be understood, therefore, that handheld, portable and other computing devices and computing objects of all kinds are contemplated for use in connection with the various embodiments. Accordingly, the below general purpose remote computer described below in FIG. 16 is but one example of a computing device.
  • Embodiments can partly be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates to perform one or more functional aspects of the various embodiments described herein. Software may be described in the general context of computer executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices. Those skilled in the art will appreciate that computer systems have a variety of configurations and protocols that can be used to communicate data, and thus, no particular configuration or protocol is considered limiting.
  • FIG. 16 thus illustrates an example of a suitable computing system environment 1600 in which one or aspects of the embodiments described herein can be implemented, although as made clear above, the computing system environment 1600 is only one example of a suitable computing environment and is not intended to suggest any limitation as to scope of use or functionality. In addition, the computing system environment 1600 is not intended to be interpreted as having any dependency relating to any one or combination of components illustrated in the example computing system environment 1600.
  • With reference to FIG. 16, an example remote device for implementing one or more embodiments includes a general purpose computing device in the form of a computer 1610. Components of computer 1610 may include, but are not limited to, a processing unit 1620, a system memory 1630, and a system bus 1622 that couples various system components including the system memory to the processing unit 1620.
  • Computer 1610 typically includes a variety of computer readable media and can be any available media that can be accessed by computer 1610. The system memory 1630 may include computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) and/or random access memory (RAM). By way of example, and not limitation, system memory 1630 may also include an operating system, application programs, other program modules, and program data.
  • A user can enter commands and information into the computer 1610 through input devices 1640. A monitor or other type of display device is also connected to the system bus 1622 via an interface, such as output interface 1650. In addition to a monitor, computers can also include other peripheral output devices such as speakers and a printer, which may be connected through output interface 1650.
  • The computer 1610 may operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote computer 1670. The remote computer 1670 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, or any other remote media consumption or transmission device, and may include any or all of the elements described above relative to the computer 1610. The logical connections depicted in FIG. 16 include a network 1672, such local area network (LAN) or a wide area network (WAN), but may also include other networks/buses. Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.
  • As mentioned above, while example embodiments have been described in connection with various computing devices and network architectures, the underlying concepts may be applied to any network system and any computing device or system in which it is desirable to improve efficiency of resource usage.
  • Also, there are multiple ways to implement the same or similar functionality, e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, etc. which enables applications and services to take advantage of the techniques provided herein. Thus, embodiments herein are contemplated from the standpoint of an API (or other software object), as well as from a software or hardware object that implements one or more embodiments as described herein. Thus, various embodiments described herein can have aspects that are wholly in hardware, partly in hardware and partly in software, as well as in software.
  • The word “exemplary” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used, for the avoidance of doubt, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements when employed in a claim.
  • As mentioned, the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. As used herein, the terms “component,” “module,” “system” and the like are likewise intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on computer and the computer can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
  • The aforementioned systems have been described with respect to interaction between several components. It can be appreciated that such systems and components can include those components or specified sub-components, some of the specified components or sub-components, and/or additional components, and according to various permutations and combinations of the foregoing. Sub-components can also be implemented as components communicatively coupled to other components rather than included within parent components (hierarchical). Additionally, it can be noted that one or more components may be combined into a single component providing aggregate functionality or divided into several separate sub-components, and that any one or more middle layers, such as a management layer, may be provided to communicatively couple to such sub-components in order to provide integrated functionality. Any components described herein may also interact with one or more other components not specifically described herein but generally known by those of skill in the art.
  • In view of the example systems described herein, methodologies that may be implemented in accordance with the described subject matter can also be appreciated with reference to the flowcharts of the various figures. While for purposes of simplicity of explanation, the methodologies are shown and described as a series of blocks, it is to be understood and appreciated that the various embodiments are not limited by the order of the blocks, as some blocks may occur in different orders and/or concurrently with other blocks from what is depicted and described herein. Where non-sequential, or branched, flow is illustrated via flowchart, it can be appreciated that various other branches, flow paths, and orders of the blocks, may be implemented which achieve the same or a similar result. Moreover, some illustrated blocks are optional in implementing the methodologies described hereinafter.
  • CONCLUSION
  • While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.
  • In addition to the various embodiments described herein, it is to be understood that other similar embodiments can be used or modifications and additions can be made to the described embodiment(s) for performing the same or equivalent function of the corresponding embodiment(s) without deviating therefrom. Still further, multiple processing chips or multiple devices can share the performance of one or more functions described herein, and similarly, storage can be effected across a plurality of devices. Accordingly, the invention is not to be limited to any single embodiment, but rather is to be construed in breadth, spirit and scope in accordance with the appended claims.

Claims (20)

What is claimed is:
1. In a computing environment, a method performed at least in part on at least one processor, comprising, adapting a three-dimensional model to surface geometry when fabricating a three-dimensional object, including, processing model data defining planar regions and non-planar regions of the three-dimensional object, generating an instruction set that comprises instructions corresponding to the non-planar regions, and generating other instructions for the instruction set that correspond to the planar regions.
2. The method of claim 1, wherein generating the instruction set further comprises generating instructions corresponding to three-dimensional movement of an extruder nozzle.
3. The method of claim 1 further comprising modifying the model data associated with the non-planar regions.
4. The method of claim 3, wherein modifying the model data further comprises modifying a layer height based upon a curvature of the non-planar regions.
5. The method of claim 3, wherein modifying the model data further comprises modifying a layer height for a portion of a layer.
6. The method of claim 1, wherein generating the instruction set further comprises modifying at least one of a width, a thickness or a length of deposited material.
7. The method of claim 1, wherein generating the instruction set further comprises varying material width to produce texture on a surface.
8. The method of claim 1, wherein generating the instruction set further comprises modifying a material height along tool paths outlining the three-dimensional object.
9. The method of claim 1, wherein modifying the model data further comprises rotating the model data of the non-planar regions along an axis, generating three-dimensional paths for the non-planar regions, and rotating the model data back along the axis.
10. In a computing environment, a system, comprising, a fabrication device configured to deposit material for producing a three-dimensional object, and a fabrication manager configured to identify a portion of curved surface geometry associated with the three-dimensional object, modify instructions for depositing material along at least one dimension on the portion of the curved surface geometry, and instruct the fabrication device to fabricate the three-dimensional object.
11. The system of claim 10, wherein the fabrication manager is further configured to modify a material width along tool paths between an interior and exterior outline.
12. The system of claim 10, wherein the fabrication manager is further configured to modify model data corresponding to the portion of the curved surface geometry, and to generate an instruction set that when executed, modulates material deposition on the portion of the curved surface geometry.
13. The system of claim 10, wherein the fabrication manager is further configured to define a three-dimensional path for depositing material on the portion of the curved surface geometry, and to generate instructions corresponding to the three-dimensional path, and wherein the fabrication device comprises a controller configured to execute the instructions, causing three-dimensional movement of at least one of a tool head or a movable platform.
14. The system of claim 13, wherein the fabrication device comprises a robot configured to actuate an extruder nozzle along the three-dimensional path.
15. The system of claim 10, wherein the fabrication manager is further configured to partition the curved surface geometry into cross-sections along at least one of an x-axis or a y-axis.
16. The system of claim 15, wherein the fabrication manager is further configured to rotate a cross-section along at least one of an x-dimension, a y-dimension, or a z-dimension, and generate instructions for depositing material on a non-planar region of the cross-section.
17. The system of claim 11, wherein the fabrication manager is further configured to remove non-planar regions of the curved surface geometry from the model data, to generate a set of instructions for fabricating other regions of the three-dimensional object, and to generate another set of instructions for fabricating the non-planar regions.
18. One or more computer-readable media having computer-executable instructions, which when executed perform steps, comprising:
partitioning model data corresponding to a three-dimensional object into layers along a dimension in which at least one layer defines a surface geometry;
mapping at least one texture pattern to the surface geometry; and
modifying material deposition based upon the mapping of the at least one texture pattern to the surface geometry.
19. The one or more computer-readable media of claim 18 having further computer-executable instructions, which when executed perform steps, comprising:
modifying at least one of a material thickness or a material width when depositing material on a surface of the three-dimensional object.
20. The one or more computer-readable media of claim 18 having further computer-executable instructions, which when executed perform steps, comprising:
determining an extrusion speed and an extrusion feed rate based upon the model data.
US14/088,408 2013-04-15 2013-11-24 Adaptive material deposition in three-dimensional fabrication Abandoned US20140309764A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/088,408 US20140309764A1 (en) 2013-04-15 2013-11-24 Adaptive material deposition in three-dimensional fabrication

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361812232P 2013-04-15 2013-04-15
US14/088,408 US20140309764A1 (en) 2013-04-15 2013-11-24 Adaptive material deposition in three-dimensional fabrication

Publications (1)

Publication Number Publication Date
US20140309764A1 true US20140309764A1 (en) 2014-10-16

Family

ID=51686521

Family Applications (14)

Application Number Title Priority Date Filing Date
US13/915,626 Abandoned US20140307055A1 (en) 2013-04-15 2013-06-11 Intensity-modulated light pattern for active stereo
US13/915,622 Active 2033-12-30 US10268885B2 (en) 2013-04-15 2013-06-11 Extracting true color from a color and infrared sensor
US13/918,892 Active 2034-04-20 US9760770B2 (en) 2013-04-15 2013-06-14 Parallel memories for multidimensional data access
US13/923,135 Active US9959465B2 (en) 2013-04-15 2013-06-20 Diffractive optical element with undiffracted light expansion for eye safe operation
US13/924,464 Active 2035-04-28 US10929658B2 (en) 2013-04-15 2013-06-21 Active stereo with adaptive support weights from a separate image
US13/924,475 Active 2034-03-31 US9697424B2 (en) 2013-04-15 2013-06-21 Active stereo with satellite device or devices
US13/924,485 Active 2035-04-10 US9922249B2 (en) 2013-04-15 2013-06-21 Super-resolving depth map by moving pattern projector
US13/925,762 Active 2034-09-26 US9928420B2 (en) 2013-04-15 2013-06-24 Depth imaging system based on stereo vision and infrared radiation
US14/088,408 Abandoned US20140309764A1 (en) 2013-04-15 2013-11-24 Adaptive material deposition in three-dimensional fabrication
US14/253,696 Active US9508003B2 (en) 2013-04-15 2014-04-15 Hardware-amenable connected components labeling
US15/889,188 Active US10816331B2 (en) 2013-04-15 2018-02-05 Super-resolving depth map by moving pattern projector
US15/912,555 Active US10928189B2 (en) 2013-04-15 2018-03-05 Intensity-modulated light pattern for active stereo
US15/937,851 Abandoned US20180218210A1 (en) 2013-04-15 2018-03-27 Diffractive optical element with undiffracted light expansion for eye safe operation
US18/186,933 Pending US20230332886A1 (en) 2013-04-15 2023-03-20 Diffractive optical element with undiffracted light expansion for eye safe operation

Family Applications Before (8)

Application Number Title Priority Date Filing Date
US13/915,626 Abandoned US20140307055A1 (en) 2013-04-15 2013-06-11 Intensity-modulated light pattern for active stereo
US13/915,622 Active 2033-12-30 US10268885B2 (en) 2013-04-15 2013-06-11 Extracting true color from a color and infrared sensor
US13/918,892 Active 2034-04-20 US9760770B2 (en) 2013-04-15 2013-06-14 Parallel memories for multidimensional data access
US13/923,135 Active US9959465B2 (en) 2013-04-15 2013-06-20 Diffractive optical element with undiffracted light expansion for eye safe operation
US13/924,464 Active 2035-04-28 US10929658B2 (en) 2013-04-15 2013-06-21 Active stereo with adaptive support weights from a separate image
US13/924,475 Active 2034-03-31 US9697424B2 (en) 2013-04-15 2013-06-21 Active stereo with satellite device or devices
US13/924,485 Active 2035-04-10 US9922249B2 (en) 2013-04-15 2013-06-21 Super-resolving depth map by moving pattern projector
US13/925,762 Active 2034-09-26 US9928420B2 (en) 2013-04-15 2013-06-24 Depth imaging system based on stereo vision and infrared radiation

Family Applications After (5)

Application Number Title Priority Date Filing Date
US14/253,696 Active US9508003B2 (en) 2013-04-15 2014-04-15 Hardware-amenable connected components labeling
US15/889,188 Active US10816331B2 (en) 2013-04-15 2018-02-05 Super-resolving depth map by moving pattern projector
US15/912,555 Active US10928189B2 (en) 2013-04-15 2018-03-05 Intensity-modulated light pattern for active stereo
US15/937,851 Abandoned US20180218210A1 (en) 2013-04-15 2018-03-27 Diffractive optical element with undiffracted light expansion for eye safe operation
US18/186,933 Pending US20230332886A1 (en) 2013-04-15 2023-03-20 Diffractive optical element with undiffracted light expansion for eye safe operation

Country Status (11)

Country Link
US (14) US20140307055A1 (en)
EP (9) EP2987323B1 (en)
JP (1) JP6469080B2 (en)
KR (2) KR102207768B1 (en)
CN (8) CN105229696A (en)
AU (1) AU2014254219B2 (en)
BR (1) BR112015025819A8 (en)
CA (1) CA2907895C (en)
MX (1) MX357307B (en)
RU (1) RU2663329C2 (en)
WO (8) WO2014172227A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160266572A1 (en) * 2015-03-13 2016-09-15 Xyzprinting, Inc. Three dimensional printing method and three dimensional printing apparatus
US20160303794A1 (en) * 2015-04-20 2016-10-20 Xerox Corporation Injection molding to finish parts printed with a three-dimensional object printer
US20160305767A1 (en) * 2015-04-17 2016-10-20 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and medium
WO2017193013A1 (en) * 2016-05-06 2017-11-09 Zhang, Yunbo Determining manufacturable models
US10005126B2 (en) * 2014-03-19 2018-06-26 Autodesk, Inc. Systems and methods for improved 3D printing
CN108292446A (en) * 2015-10-26 2018-07-17 微软技术许可有限责任公司 The volume of object indicates
US10076880B2 (en) 2014-06-19 2018-09-18 Autodesk, Inc. Material deposition systems with four or more axes
US20180307207A1 (en) * 2017-04-24 2018-10-25 Autodesk, Inc. Closed-loop robotic deposition of material
US10252466B2 (en) * 2014-07-28 2019-04-09 Massachusetts Institute Of Technology Systems and methods of machine vision assisted additive fabrication
US10268885B2 (en) 2013-04-15 2019-04-23 Microsoft Technology Licensing, Llc Extracting true color from a color and infrared sensor
CN110209363A (en) * 2019-05-30 2019-09-06 大连理工大学 Intelligent 3D printing paths planning method based on genetic algorithm
US10520923B2 (en) * 2018-05-22 2019-12-31 Mantle Inc. Method and system for automated toolpath generation
US10538074B2 (en) * 2014-01-16 2020-01-21 Hewlett-Packard Development Company, L.P. Processing slice data
US20200130264A1 (en) * 2018-10-29 2020-04-30 Toshiba Kikai Kabushiki Kaisha Additive manufacturing apparatus, additive manufacturing method, and computer program product
US10761497B2 (en) 2016-01-14 2020-09-01 Microsoft Technology Licensing, Llc Printing 3D objects with automatic dimensional accuracy compensation
US10955814B2 (en) 2017-04-24 2021-03-23 Autodesk, Inc. Closed-loop robotic deposition of material
US11155040B2 (en) 2016-12-16 2021-10-26 Massachusetts Institute Of Technology Adaptive material deposition for additive manufacturing
WO2022164720A1 (en) * 2021-01-29 2022-08-04 Essentium, Inc. Contour smoothing for material extrusion three-dimensionally printed parts
WO2023015227A1 (en) * 2021-08-06 2023-02-09 Ppg Industries Ohio, Inc. System and method for 3d printing a non-planar surface

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072245A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 Apparatus and method for stereo matching
CN104160692B (en) * 2012-03-13 2017-05-31 杜比实验室特许公司 For image and the method and illumination system of targets improvement
EP2700920B1 (en) 2012-08-23 2016-06-22 ams AG Light sensor system and method for processing light sensor signals
US9467680B2 (en) 2013-12-12 2016-10-11 Intel Corporation Calibration of a three-dimensional acquisition system
CN105829829B (en) * 2013-12-27 2019-08-23 索尼公司 Image processing apparatus and image processing method
US9720506B2 (en) * 2014-01-14 2017-08-01 Microsoft Technology Licensing, Llc 3D silhouette sensing system
US11265534B2 (en) * 2014-02-08 2022-03-01 Microsoft Technology Licensing, Llc Environment-dependent active illumination for stereo matching
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
US20170078649A1 (en) 2014-03-07 2017-03-16 Brown University Method and system for unsynchronized structured lighting
US9674493B2 (en) * 2014-03-24 2017-06-06 Omnivision Technologies, Inc. Color image sensor with metal mesh to detect infrared light
WO2015152829A1 (en) * 2014-04-03 2015-10-08 Heptagon Micro Optics Pte. Ltd. Structured-stereo imaging assembly including separate imagers for different wavelengths
GB201407270D0 (en) * 2014-04-24 2014-06-11 Cathx Res Ltd 3D data in underwater surveys
US9823842B2 (en) 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
WO2016020073A1 (en) * 2014-08-08 2016-02-11 Cemb S.P.A. Vehicle equipment with scanning system for contactless measurement
US10455212B1 (en) * 2014-08-25 2019-10-22 X Development Llc Projected pattern motion/vibration for depth sensing
JP6397698B2 (en) * 2014-08-28 2018-09-26 任天堂株式会社 Information processing terminal, information processing program, information processing terminal system, and information processing method
US9507995B2 (en) * 2014-08-29 2016-11-29 X Development Llc Combination of stereo and structured-light processing
DE102014113389A1 (en) * 2014-09-17 2016-03-17 Pilz Gmbh & Co. Kg Method and device for identifying structural elements of a projected structural pattern in camera images
EP3018587B1 (en) * 2014-11-05 2018-08-29 Renesas Electronics Europe GmbH Memory access unit
EP3043159B1 (en) * 2015-01-08 2019-12-18 ams AG Method for processing light sensor signals and light sensor system
US11099008B2 (en) * 2014-12-15 2021-08-24 Sony Corporation Capture device assembly, three-dimensional shape measurement device, and motion detection device
EP3040941B1 (en) * 2014-12-29 2017-08-02 Dassault Systèmes Method for calibrating a depth camera
DE102015202182A1 (en) * 2015-02-06 2016-08-11 Siemens Aktiengesellschaft Apparatus and method for sequential, diffractive pattern projection
US11562286B2 (en) * 2015-02-06 2023-01-24 Box, Inc. Method and system for implementing machine learning analysis of documents for classifying documents by associating label values to the documents
US9699394B2 (en) 2015-03-09 2017-07-04 Microsoft Technology Licensing, Llc Filter arrangement for image sensor
JP6484071B2 (en) * 2015-03-10 2019-03-13 アルプスアルパイン株式会社 Object detection device
KR102238794B1 (en) * 2015-03-25 2021-04-09 한국전자통신연구원 Method for increasing film speed of video camera
DE112015006245B4 (en) 2015-03-30 2019-05-23 Fujifilm Corporation Distance image detection device and distance image detection method
KR102483838B1 (en) 2015-04-19 2023-01-02 포토내이션 리미티드 Multi-Baseline Camera Array System Architecture for Depth Augmentation in VR/AR Applications
US11105954B2 (en) * 2015-05-18 2021-08-31 Lasermotive, Inc. Diffusion safety system
US9683834B2 (en) * 2015-05-27 2017-06-20 Intel Corporation Adaptable depth sensing system
US9495584B1 (en) * 2015-06-05 2016-11-15 Digital Signal Corporation System and method for facial recognition using images captured from a target illuminated with infrared light
US11054664B2 (en) * 2015-06-18 2021-07-06 Apple Inc. Monitoring DOE performance using software scene evaluation
US9824278B2 (en) * 2015-06-24 2017-11-21 Netflix, Inc. Determining native resolutions of video sequences
CN107851322B (en) * 2015-07-13 2022-04-19 皇家飞利浦有限公司 Method and apparatus for determining a depth map for an image
US10510149B2 (en) 2015-07-17 2019-12-17 ams Sensors Singapore Pte. Ltd Generating a distance map based on captured images of a scene
WO2017023210A1 (en) 2015-08-06 2017-02-09 Heptagon Micro Optics Pte. Ltd. Generating a merged, fused three-dimensional point cloud based on captured images of a scene
WO2017030507A1 (en) 2015-08-19 2017-02-23 Heptagon Micro Optics Pte. Ltd. Generating a disparity map having reduced over-smoothing
CN106550228B (en) * 2015-09-16 2019-10-15 上海图檬信息科技有限公司 The equipment for obtaining the depth map of three-dimensional scenic
US10554956B2 (en) 2015-10-29 2020-02-04 Dell Products, Lp Depth masks for image segmentation for depth-based computational photography
US10021371B2 (en) 2015-11-24 2018-07-10 Dell Products, Lp Method and apparatus for gross-level user and input detection using similar or dissimilar camera pair
KR102323217B1 (en) * 2015-12-21 2021-11-08 삼성전자주식회사 Depth sensor, 3 Dimensional Camera and Method for controlling noise of macro pixel
US9800795B2 (en) 2015-12-21 2017-10-24 Intel Corporation Auto range control for active illumination depth camera
CN106980630B (en) * 2016-01-19 2020-03-10 菜鸟智能物流控股有限公司 Data rotation display method and device
KR20180101496A (en) * 2016-02-18 2018-09-12 애플 인크. Head-mounted display for virtual and mixed reality with inside-out location, user body and environment tracking
EP3424403B1 (en) * 2016-03-03 2024-04-24 Sony Group Corporation Medical image processing device, system, method, and program
DE102016106121A1 (en) 2016-04-04 2017-10-05 Carl Zeiss Ag Method and device for determining parameters for spectacle fitting
CN107836112B (en) * 2016-06-08 2019-03-12 松下知识产权经营株式会社 Optical projection system
US10659764B2 (en) 2016-06-20 2020-05-19 Intel Corporation Depth image provision apparatus and method
US10609359B2 (en) * 2016-06-22 2020-03-31 Intel Corporation Depth image provision apparatus and method
US10638060B2 (en) * 2016-06-28 2020-04-28 Intel Corporation Color correction of RGBIR sensor stream based on resolution recovery of RGB and IR channels
CN106210568A (en) * 2016-07-15 2016-12-07 深圳奥比中光科技有限公司 Image processing method and device
US10241244B2 (en) 2016-07-29 2019-03-26 Lumentum Operations Llc Thin film total internal reflection diffraction grating for single polarization or dual polarization
CN106204414A (en) * 2016-08-05 2016-12-07 蓝普金睛(北京)科技有限公司 A kind of method and system of dynamic image caching
US10192311B2 (en) * 2016-08-05 2019-01-29 Qualcomm Incorporated Methods and apparatus for codeword boundary detection for generating depth maps
CN106375740B (en) * 2016-09-28 2018-02-06 华为技术有限公司 Generate the methods, devices and systems of RGB image
CN106447588A (en) * 2016-09-30 2017-02-22 天津大学 Fresnel transform domain chaotic double random phase encoding optical image encryption method
JP6645394B2 (en) * 2016-10-03 2020-02-14 株式会社デンソー Image sensor
JP7320352B2 (en) * 2016-12-28 2023-08-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 3D model transmission method, 3D model reception method, 3D model transmission device, and 3D model reception device
US10372974B2 (en) * 2017-01-11 2019-08-06 Microsoft Technology Licensing, Llc 3D imaging recognition by stereo matching of RGB and infrared images
CN108399633A (en) * 2017-02-06 2018-08-14 罗伯团队家居有限公司 Method and apparatus for stereoscopic vision
CN106908391A (en) * 2017-02-10 2017-06-30 广东欧珀移动通信有限公司 Terminal cover plate glass colour recognition methods and device
CN106909320B (en) * 2017-02-20 2020-01-21 北京中科睿芯科技有限公司 Method, device and system for expanding and transmitting multidimensional data
WO2018154965A1 (en) * 2017-02-24 2018-08-30 ソニー株式会社 Image processing device and imaging apparatus
CN107084686B (en) * 2017-04-26 2019-04-30 西安交通大学 A kind of more light-knife scanning survey methods of the dynamic of movement-less part
CN110692084B (en) * 2017-05-31 2023-05-09 惠普发展公司,有限责任合伙企业 Apparatus and machine-readable storage medium for deriving topology information of a scene
US20180347967A1 (en) * 2017-06-01 2018-12-06 RGBDsense Information Technology Ltd. Method and apparatus for generating a random coding pattern for coding structured light
US10817493B2 (en) 2017-07-07 2020-10-27 Raytheon Company Data interpolation
KR102346031B1 (en) 2017-07-25 2022-01-03 삼성디스플레이 주식회사 Display device and method for driving the same
KR102402477B1 (en) * 2017-08-04 2022-05-27 엘지이노텍 주식회사 Time of flight module
US10586342B2 (en) * 2017-08-31 2020-03-10 Facebook Technologies, Llc Shifting diffractive optical element for adjustable depth sensing resolution
US20190072771A1 (en) * 2017-09-05 2019-03-07 Facebook Technologies, Llc Depth measurement using multiple pulsed structured light projectors
US10962790B2 (en) * 2017-09-05 2021-03-30 Facebook Technologies, Llc Depth measurement using a pulsed structured light projector
DE102017215850B4 (en) 2017-09-08 2019-12-24 Robert Bosch Gmbh Process for producing a diffractive optical element, LIDAR system with a diffractive optical element and motor vehicle with a LIDAR system
CN107884066A (en) * 2017-09-29 2018-04-06 深圳奥比中光科技有限公司 Optical sensor and its 3D imaging devices based on flood lighting function
US10545457B2 (en) 2017-12-05 2020-01-28 K Laser Technology, Inc. Optical projector with off-axis diffractive element and conjugate images
US10310281B1 (en) * 2017-12-05 2019-06-04 K Laser Technology, Inc. Optical projector with off-axis diffractive element
CN109889799B (en) * 2017-12-06 2020-08-25 西安交通大学 Monocular structure light depth perception method and device based on RGBIR camera
US10628952B2 (en) 2017-12-11 2020-04-21 Google Llc Dual-band stereo depth sensing system
DE102017222708A1 (en) * 2017-12-14 2019-06-19 Conti Temic Microelectronic Gmbh 3D environment detection via projector and camera modules
WO2019116487A1 (en) * 2017-12-14 2019-06-20 日本電気株式会社 Image processing device, image processing method, and image processing program
JP6939501B2 (en) * 2017-12-15 2021-09-22 オムロン株式会社 Image processing system, image processing program, and image processing method
CN108133494A (en) * 2018-01-17 2018-06-08 南京华捷艾米软件科技有限公司 The system and method for generating depth map and cromogram simultaneously using RGB-IR
DE102019000272B4 (en) * 2018-01-19 2023-11-16 Cognex Corporation SYSTEM FOR FORMING A HOMOGENIZED ILLUMINATION LINE WHICH CAN BE IMAGED AS A LOW SPECKLE LINE
US10317684B1 (en) 2018-01-24 2019-06-11 K Laser Technology, Inc. Optical projector with on axis hologram and multiple beam splitter
CN108319437B (en) * 2018-02-28 2019-01-11 上海熙香艺享电子商务有限公司 Content big data concentration analysis platform
CN108490632B (en) * 2018-03-12 2020-01-10 Oppo广东移动通信有限公司 Laser projection module, depth camera and electronic device
CN112166345A (en) * 2018-03-20 2021-01-01 魔眼公司 Distance measurement using projected patterns of varying density
US10643341B2 (en) * 2018-03-22 2020-05-05 Microsoft Technology Licensing, Llc Replicated dot maps for simplified depth computation using machine learning
US10565720B2 (en) 2018-03-27 2020-02-18 Microsoft Technology Licensing, Llc External IR illuminator enabling improved head tracking and surface reconstruction for virtual reality
US10771766B2 (en) * 2018-03-30 2020-09-08 Mediatek Inc. Method and apparatus for active stereo vision
CN108564613A (en) * 2018-04-12 2018-09-21 维沃移动通信有限公司 A kind of depth data acquisition methods and mobile terminal
US10878590B2 (en) * 2018-05-25 2020-12-29 Microsoft Technology Licensing, Llc Fusing disparity proposals in stereo matching
CN108917640A (en) * 2018-06-06 2018-11-30 佛山科学技术学院 A kind of laser blind hole depth detection method and its system
FI128523B (en) * 2018-06-07 2020-07-15 Ladimo Oy Modeling the topography of a three-dimensional surface
CA3106823A1 (en) 2018-07-19 2020-01-23 Activ Surgical, Inc. Systems and methods for multi-modal sensing of depth in vision systems for automated surgical robots
US11067820B2 (en) * 2018-07-31 2021-07-20 Himax Technologies Limited Structured light projector and three-dimensional image sensing module
CN109102540B (en) * 2018-08-16 2022-01-28 杭州电子科技大学 FPGA-based lower limit separation and lane division method for marked area blocks
TWI676781B (en) * 2018-08-17 2019-11-11 鑑微科技股份有限公司 Three-dimensional scanning system
US10761337B2 (en) * 2018-08-24 2020-09-01 Himax Technologies Limited Projecting apparatus for spreading non-diffracted light
JP6907277B2 (en) * 2018-08-30 2021-07-21 コグネックス・コーポレイション Methods and devices for generating 3D reconstructions of distorted objects
US11039122B2 (en) 2018-09-04 2021-06-15 Google Llc Dark flash photography with a stereo camera
CN109146953B (en) * 2018-09-11 2021-12-10 杭州电子科技大学 FPGA-based upper limit separation and lane separation method for marked area blocks
US10791277B2 (en) * 2018-09-11 2020-09-29 Cognex Corporation Methods and apparatus for optimizing image acquisition of objects subject to illumination patterns
US20200082160A1 (en) * 2018-09-12 2020-03-12 Kneron (Taiwan) Co., Ltd. Face recognition module with artificial intelligence models
KR102562360B1 (en) * 2018-10-05 2023-08-02 엘지이노텍 주식회사 Method and camera module for acquiring depth information
CN109532021B (en) * 2018-10-10 2020-08-25 浙江大学 3D printing fused deposition defect layer-by-layer detection method based on structural light property abnormal points
US11480793B2 (en) * 2018-10-24 2022-10-25 Google Llc Systems, devices, and methods for aligning a lens in a laser projector
US11460931B2 (en) 2018-10-31 2022-10-04 Hewlett-Packard Development Company, L.P. Recovering perspective distortions
US11024037B2 (en) 2018-11-15 2021-06-01 Samsung Electronics Co., Ltd. Foreground-background-aware atrous multiscale network for disparity estimation
US10628968B1 (en) * 2018-12-05 2020-04-21 Toyota Research Institute, Inc. Systems and methods of calibrating a depth-IR image offset
CN109798838B (en) * 2018-12-19 2020-10-27 西安交通大学 ToF depth sensor based on laser speckle projection and ranging method thereof
CN109741386B (en) * 2018-12-26 2020-07-31 豪威科技(武汉)有限公司 Enhancement method of stereoscopic vision system and stereoscopic vision system
US10917568B2 (en) 2018-12-28 2021-02-09 Microsoft Technology Licensing, Llc Low-power surface reconstruction
US11333895B1 (en) 2019-01-11 2022-05-17 Facebook Technologies, Llc Systems and methods for structured light projector operational safety
JP7211835B2 (en) * 2019-02-04 2023-01-24 i-PRO株式会社 IMAGING SYSTEM AND SYNCHRONIZATION CONTROL METHOD
CN110087057B (en) * 2019-03-11 2021-10-12 歌尔股份有限公司 Depth image acquisition method and device for projector
US20200292297A1 (en) * 2019-03-15 2020-09-17 Faro Technologies, Inc. Three-dimensional measurement device
WO2020210168A1 (en) 2019-04-08 2020-10-15 Activ Surgical, Inc. Systems and methods for medical imaging
US11039118B2 (en) 2019-04-17 2021-06-15 XRSpace CO., LTD. Interactive image processing system using infrared cameras
EP3731175A1 (en) * 2019-04-26 2020-10-28 XRSpace CO., LTD. Interactive image processing system using infrared cameras
CN110111390A (en) * 2019-05-15 2019-08-09 湖南科技大学 Thin-wall part omnidirectional vibration measurement method and system based on binocular vision optical flow tracking
CN110012206A (en) * 2019-05-24 2019-07-12 Oppo广东移动通信有限公司 Image acquiring method, image acquiring device, electronic equipment and readable storage medium storing program for executing
CN110524874B (en) * 2019-08-23 2022-03-08 源秩科技(上海)有限公司 Photocuring 3D printing device and printing method thereof
KR102646521B1 (en) 2019-09-17 2024-03-21 인트린식 이노베이션 엘엘씨 Surface modeling system and method using polarization cue
CN112559037B (en) * 2019-09-25 2024-04-12 阿里巴巴集团控股有限公司 Instruction execution method, unit, device and system
CA3157194C (en) 2019-10-07 2023-08-29 Boston Polarimetrics, Inc. Systems and methods for augmentation of sensor systems and imaging systems with polarization
US11796829B1 (en) * 2019-10-31 2023-10-24 Meta Platforms Technologies, Llc In-field illuminator for eye depth sensing
US10890839B1 (en) * 2019-11-06 2021-01-12 Himax Technologies Limited Structured light imaging device
WO2021108002A1 (en) 2019-11-30 2021-06-03 Boston Polarimetrics, Inc. Systems and methods for transparent object segmentation using polarization cues
CN113009705A (en) * 2019-12-19 2021-06-22 苏州苏大维格科技集团股份有限公司 Structured light assembly for eliminating zero-order diffraction influence
US11132804B2 (en) * 2020-01-07 2021-09-28 Himax Technologies Limited Hybrid depth estimation system
KR20220132620A (en) 2020-01-29 2022-09-30 인트린식 이노베이션 엘엘씨 Systems and methods for characterizing object pose detection and measurement systems
KR20220133973A (en) 2020-01-30 2022-10-05 인트린식 이노베이션 엘엘씨 Systems and methods for synthesizing data to train statistical models for different imaging modalities, including polarized images
CN113365035B (en) * 2020-03-04 2022-10-21 合肥君正科技有限公司 Calibration system for image color restoration
US11503266B2 (en) * 2020-03-06 2022-11-15 Samsung Electronics Co., Ltd. Super-resolution depth map generation for multi-camera or other environments
CN111246073B (en) * 2020-03-23 2022-03-25 维沃移动通信有限公司 Imaging device, method and electronic equipment
CN111678457B (en) * 2020-05-08 2021-10-01 西安交通大学 ToF device under OLED transparent screen and distance measuring method
US11953700B2 (en) 2020-05-27 2024-04-09 Intrinsic Innovation Llc Multi-aperture polarization optical systems using beam splitters
CN111787084A (en) * 2020-06-23 2020-10-16 杭州数澜科技有限公司 Method and device for selecting object
KR20220033924A (en) 2020-09-10 2022-03-17 삼성전자주식회사 Augmented reality device and method for controlling the same
CN114268774A (en) * 2020-09-16 2022-04-01 Oppo广东移动通信有限公司 Image acquisition method, image sensor, device, equipment and storage medium
US11657529B2 (en) * 2020-10-12 2023-05-23 Black Sesame Technologies Inc. Multiple camera system with flash for depth map generation
DE102020133085A1 (en) 2020-12-11 2022-06-15 Dürr Assembly Products GmbH Procedure for measuring the fender edge of a vehicle in a test stand
CN112959661B (en) * 2021-01-26 2024-02-02 深圳市创必得科技有限公司 LCD photo-curing 3D printing uniform light optimization compensation method and device
US11954886B2 (en) 2021-04-15 2024-04-09 Intrinsic Innovation Llc Systems and methods for six-degree of freedom pose estimation of deformable objects
US11290658B1 (en) 2021-04-15 2022-03-29 Boston Polarimetrics, Inc. Systems and methods for camera exposure control
US11636623B2 (en) * 2021-06-28 2023-04-25 Motional Ad Llc Systems and methods for camera alignment using pre-distorted targets
US11689813B2 (en) 2021-07-01 2023-06-27 Intrinsic Innovation Llc Systems and methods for high dynamic range imaging using crossed polarizers
US11852439B2 (en) * 2021-11-24 2023-12-26 Wrap Technologies, Inc. Systems and methods for generating optical beam arrays
CN116800947A (en) * 2022-03-16 2023-09-22 安霸国际有限合伙企业 Rapid RGB-IR calibration verification for mass production process
KR20230174621A (en) * 2022-06-21 2023-12-28 삼성전자주식회사 Electronic device for generating depth map and operating method for the same
CN116448250A (en) * 2023-06-14 2023-07-18 国网山西省电力公司超高压变电分公司 Auxiliary positioning device and auxiliary positioning method for infrared thermal imaging of power equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080187711A1 (en) * 2007-01-10 2008-08-07 Z Corporation Three-Dimensional Printing Material System With Improved Color, Article Performance, and Ease of Use
US20130095302A1 (en) * 2011-10-14 2013-04-18 Nathaniel B. Pettis Grayscale rendering in 3d printing

Family Cites Families (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3938102A (en) 1974-08-19 1976-02-10 International Business Machines Corporation Method and apparatus for accessing horizontal sequences and rectangular sub-arrays from an array stored in a modified word organized random access memory system
EP0085210A1 (en) 1982-01-29 1983-08-10 International Business Machines Corporation Image processing system
US5351152A (en) 1991-07-23 1994-09-27 The Board Of Governers Of Wayne State University Direct-view stereoscopic confocal microscope
US5471326A (en) 1993-04-30 1995-11-28 Northrop Grumman Corporation Holographic laser scanner and rangefinder
US5586200A (en) 1994-01-07 1996-12-17 Panasonic Technologies, Inc. Segmentation based image compression system
US5739906A (en) 1996-06-07 1998-04-14 The United States Of America As Represented By The Secretary Of Commerce Interferometric thickness variation test method for windows and silicon wafers using a diverging wavefront
US6105139A (en) 1998-06-03 2000-08-15 Nec Usa, Inc. Controller-based power management for low-power sequential circuits
TW495749B (en) 1998-08-03 2002-07-21 Matsushita Electric Ind Co Ltd Optical head
JP3450792B2 (en) 1999-03-25 2003-09-29 キヤノン株式会社 Depth image measurement device and method, and mixed reality presentation system
US6751344B1 (en) 1999-05-28 2004-06-15 Champion Orthotic Investments, Inc. Enhanced projector system for machine vision
GB0008303D0 (en) 2000-04-06 2000-05-24 British Aerospace Measurement system and method
US6826299B2 (en) 2000-07-31 2004-11-30 Geodetic Services, Inc. Photogrammetric image correlation and measurement system and method
US6850872B1 (en) 2000-08-30 2005-02-01 Microsoft Corporation Facial image processing methods and systems
US7554737B2 (en) 2000-12-20 2009-06-30 Riake Corporation Illumination device and method using adaptable source and output format
US6895115B2 (en) 2001-04-23 2005-05-17 The United States Of America As Represented By The United States National Aeronautics And Space Administration Method for implementation of recursive hierarchical segmentation on parallel computers
JP2004534276A (en) 2001-07-06 2004-11-11 エクスプレイ エルティーディー Image projection apparatus and method
JP4635392B2 (en) 2001-08-09 2011-02-23 コニカミノルタホールディングス株式会社 3D object surface shape modeling apparatus and program
US6940538B2 (en) 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
RU2237284C2 (en) 2001-11-27 2004-09-27 Самсунг Электроникс Ко., Лтд. Method for generating structure of assemblies, meant for presenting three-dimensional objects with use of images having depth
US7762964B2 (en) 2001-12-10 2010-07-27 Candela Corporation Method and apparatus for improving safety during exposure to a monochromatic light source
JP4075418B2 (en) 2002-03-15 2008-04-16 ソニー株式会社 Image processing apparatus, image processing method, printed material manufacturing apparatus, printed material manufacturing method, and printed material manufacturing system
US6771271B2 (en) 2002-06-13 2004-08-03 Analog Devices, Inc. Apparatus and method of processing image data
US7399220B2 (en) 2002-08-02 2008-07-15 Kriesel Marshall S Apparatus and methods for the volumetric and dimensional measurement of livestock
CN1176351C (en) 2002-10-09 2004-11-17 天津大学 Method and device of 3D digital imaging with dynamic multiple resolution ratio
CN1186671C (en) 2002-10-09 2005-01-26 天津大学 Production method and device of projection structural light
JP2004135209A (en) 2002-10-15 2004-04-30 Hitachi Ltd Generation device and method for wide-angle view high-resolution video image
GB2395261A (en) 2002-11-11 2004-05-19 Qinetiq Ltd Ranging apparatus
US7103212B2 (en) 2002-11-22 2006-09-05 Strider Labs, Inc. Acquisition of three-dimensional images by an active stereo technique using locally unique patterns
US7154157B2 (en) 2002-12-30 2006-12-26 Intel Corporation Stacked semiconductor radiation sensors having color component and infrared sensing capability
JP3938120B2 (en) 2003-09-17 2007-06-27 ノーリツ鋼機株式会社 Image processing apparatus, method, and program
FR2870621B1 (en) 2004-05-21 2006-10-27 Inst Francais Du Petrole METHOD FOR GENERATING A THREE-DIMENSIONALLY THREADED HYBRID MESH OF A HETEROGENEOUS FORMATION CROSSED BY ONE OR MORE GEOMETRIC DISCONTINUITIES FOR THE PURPOSE OF MAKING SIMULATIONS
JP4011039B2 (en) 2004-05-31 2007-11-21 三菱電機株式会社 Imaging apparatus and signal processing method
DE102004029552A1 (en) 2004-06-18 2006-01-05 Peter Mäckel Method for visualizing and measuring oscillations of oscillating objects by means of a combination of a synchronized, stroboscopic image recording with image correlation method
US7315383B1 (en) * 2004-07-09 2008-01-01 Mohsen Abdollahi Scanning 3D measurement technique using structured lighting and high-speed CMOS imager
EP1779321A2 (en) 2004-08-11 2007-05-02 Koninklijke Philips Electronics N.V. Stripe-based image data storage
US20070253310A1 (en) 2004-09-03 2007-11-01 Kiyono Ikenaka Coupling Lens and Optical Pickup Apparatus
JP4883517B2 (en) 2004-11-19 2012-02-22 学校法人福岡工業大学 Three-dimensional measuring apparatus, three-dimensional measuring method, and three-dimensional measuring program
US7719533B2 (en) 2004-11-24 2010-05-18 General Electric Company Graph extraction labelling and visualization
US7367682B2 (en) 2004-12-07 2008-05-06 Symbol Technologies, Inc. Color image projection arrangement and method
JP2008537190A (en) 2005-01-07 2008-09-11 ジェスチャー テック,インコーポレイテッド Generation of three-dimensional image of object by irradiating with infrared pattern
JP4506501B2 (en) 2005-02-21 2010-07-21 株式会社日立製作所 Image composition device and imaging system
US7512262B2 (en) 2005-02-25 2009-03-31 Microsoft Corporation Stereo-based image processing
US7295771B2 (en) 2005-04-25 2007-11-13 Delphi Technologies, Inc. Method and apparatus for minimizing ambient illumination effects in a vision system
JP4577126B2 (en) 2005-07-08 2010-11-10 オムロン株式会社 Projection pattern generation apparatus and generation method for stereo correspondence
CN101288105B (en) 2005-10-11 2016-05-25 苹果公司 For the method and system of object reconstruction
US20070145273A1 (en) 2005-12-22 2007-06-28 Chang Edward T High-sensitivity infrared color camera
US7821552B2 (en) 2005-12-27 2010-10-26 Sanyo Electric Co., Ltd. Imaging apparatus provided with imaging device having sensitivity in visible and infrared regions
JP4466569B2 (en) 2006-01-10 2010-05-26 株式会社豊田中央研究所 Color image playback device
DE102006007170B4 (en) 2006-02-08 2009-06-10 Sirona Dental Systems Gmbh Method and arrangement for fast and robust chromatic confocal 3D metrology
JP5592070B2 (en) 2006-03-14 2014-09-17 プライム センス リミティド Light field that changes depth for 3D detection
JP5174684B2 (en) 2006-03-14 2013-04-03 プライムセンス リミテッド 3D detection using speckle patterns
US7970177B2 (en) * 2006-03-23 2011-06-28 Tyzx, Inc. Enhancing stereo depth measurements with projected texture
GB0718706D0 (en) 2007-09-25 2007-11-07 Creative Physics Ltd Method and apparatus for reducing laser speckle
US8339405B2 (en) 2006-05-09 2012-12-25 Intel Corporation Programmable data processing circuit
EP2064676B1 (en) 2006-09-21 2011-09-07 Thomson Licensing A method and system for three-dimensional model acquisition
WO2008037282A1 (en) * 2006-09-28 2008-04-03 B.E.A. S.A. Sensor for presence detection
US7616328B2 (en) 2006-11-07 2009-11-10 Rudolph Technologies, Inc. Method and system for providing a high definition triangulation system
US8090194B2 (en) 2006-11-21 2012-01-03 Mantis Vision Ltd. 3D geometric modeling and motion capture using both single and dual imaging
CA2670214A1 (en) 2006-11-21 2008-05-29 Mantisvision Ltd. 3d geometric modeling and 3d video content creation
US7916309B2 (en) 2007-04-23 2011-03-29 California Institute Of Technology Single-lens, single-aperture, single-sensor 3-D imaging device
US8326020B2 (en) * 2007-02-28 2012-12-04 Sungkyunkwan University Foundation Structural light based depth imaging method and system using signal separation coding, and error correction thereof
US7683962B2 (en) 2007-03-09 2010-03-23 Eastman Kodak Company Camera using multiple lenses and image sensors in a rangefinder configuration to provide a range map
FR2914422B1 (en) 2007-03-28 2009-07-03 Soitec Silicon On Insulator METHOD FOR DETECTING SURFACE DEFECTS OF A SUBSTRATE AND DEVICE USING THE SAME
JP2008288629A (en) 2007-05-15 2008-11-27 Sony Corp Image signal processing apparatus, imaging device, image signal processing method, and computer program
JP5018282B2 (en) 2007-07-04 2012-09-05 マツダ株式会社 How to create 3D shape model data for products
US20120002045A1 (en) 2007-08-08 2012-01-05 Mayer Tony Non-retro-reflective license plate imaging system
US7933056B2 (en) 2007-09-26 2011-04-26 Che-Chih Tsao Methods and systems of rapid focusing and zooming for volumetric 3D displays and cameras
WO2009045439A1 (en) 2007-10-02 2009-04-09 Doubleshot, Inc . Laser beam pattern projector
US8446470B2 (en) * 2007-10-04 2013-05-21 Magna Electronics, Inc. Combined RGB and IR imaging sensor
IL191615A (en) 2007-10-23 2015-05-31 Israel Aerospace Ind Ltd Method and system for producing tie points for use in stereo-matching of stereoscopic images and method for detecting differences in a photographed scenery between two time points
US8384997B2 (en) 2008-01-21 2013-02-26 Primesense Ltd Optical pattern projection
US8788990B2 (en) 2008-02-21 2014-07-22 Oracle America, Inc. Reuse of circuit labels in subcircuit recognition
US7861193B2 (en) 2008-02-21 2010-12-28 Oracle America, Inc. Reuse of circuit labels for verification of circuit recognition
US7958468B2 (en) 2008-02-21 2011-06-07 Oracle America, Inc. Unidirectional relabeling for subcircuit recognition
US8368753B2 (en) 2008-03-17 2013-02-05 Sony Computer Entertainment America Llc Controller with an integrated depth camera
KR101517264B1 (en) 2008-03-18 2015-05-04 노바다크 테크놀러지즈 인코포레이티드 Imaging system for combined full-color reflectance and near-infrared imaging
US8405727B2 (en) * 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
NZ567986A (en) 2008-05-02 2010-08-27 Auckland Uniservices Ltd Real-time stereo image matching system
US8866920B2 (en) 2008-05-20 2014-10-21 Pelican Imaging Corporation Capturing and processing of images using monolithic camera array with heterogeneous imagers
JP5317169B2 (en) 2008-06-13 2013-10-16 洋 川崎 Image processing apparatus, image processing method, and program
JP4513905B2 (en) 2008-06-27 2010-07-28 ソニー株式会社 Signal processing apparatus, signal processing method, program, and recording medium
KR101530930B1 (en) 2008-08-19 2015-06-24 삼성전자주식회사 Pattern projecting apparatus, 3D imaging apparatus having the same, and varifocal liquid lens being used in the same
US8442940B1 (en) 2008-11-18 2013-05-14 Semantic Research, Inc. Systems and methods for pairing of a semantic network and a natural language processing information extraction system
JP5430138B2 (en) 2008-12-17 2014-02-26 株式会社トプコン Shape measuring apparatus and program
CN101509764A (en) 2009-02-27 2009-08-19 东南大学 Method for rapidly acquiring object three-dimensional form
DE102009001889A1 (en) 2009-03-26 2010-09-30 Robert Bosch Gmbh Laser marking with coordinate system
US8823775B2 (en) 2009-04-30 2014-09-02 Board Of Regents, The University Of Texas System Body surface imaging
WO2011013079A1 (en) 2009-07-30 2011-02-03 Primesense Ltd. Depth mapping based on pattern matching and stereoscopic information
US8204904B2 (en) 2009-09-30 2012-06-19 Yahoo! Inc. Network graph evolution rule generation
KR101173668B1 (en) 2009-10-27 2012-08-20 서울대학교산학협력단 method and apparatus for measuring depth of three dimensional object with multiple spatial frequencies
US9047674B2 (en) 2009-11-03 2015-06-02 Samsung Electronics Co., Ltd. Structured grids and graph traversal for image processing
KR101377325B1 (en) 2009-12-21 2014-03-25 한국전자통신연구원 Stereoscopic image, multi-view image and depth image acquisition appratus and its control method
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US20110222757A1 (en) 2010-03-10 2011-09-15 Gbo 3D Technology Pte. Ltd. Systems and methods for 2D image and spatial data capture for 3D stereo imaging
JP2011191221A (en) 2010-03-16 2011-09-29 Sanyo Electric Co Ltd Object detection device and information acquisition device
US8619143B2 (en) 2010-03-19 2013-12-31 Pixim, Inc. Image sensor including color and infrared pixels
WO2011152634A2 (en) 2010-05-29 2011-12-08 Lee Moon Key Monitor-based augmented reality system
US8670029B2 (en) 2010-06-16 2014-03-11 Microsoft Corporation Depth camera illuminator with superluminescent light-emitting diode
EP2400261A1 (en) 2010-06-21 2011-12-28 Leica Geosystems AG Optical measurement method and system for determining 3D coordination in a measuring object surface
GB2481459B (en) 2010-06-25 2017-05-03 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V Capturing a surface structure of an object surface
US8357899B2 (en) 2010-07-30 2013-01-22 Aptina Imaging Corporation Color correction circuitry and methods for dual-band imaging systems
US9036158B2 (en) * 2010-08-11 2015-05-19 Apple Inc. Pattern projector
DE102010039246A1 (en) 2010-08-12 2012-02-16 Robert Bosch Gmbh Method for calibrating a measuring system and device for carrying out the method
US20120056982A1 (en) 2010-09-08 2012-03-08 Microsoft Corporation Depth camera based on structured light and stereo vision
US8903119B2 (en) 2010-10-11 2014-12-02 Texas Instruments Incorporated Use of three-dimensional top-down views for business analytics
JP5787508B2 (en) 2010-11-11 2015-09-30 キヤノン株式会社 Diffractive optical element and optical system
US20120154397A1 (en) 2010-12-03 2012-06-21 Old Dominion University Research Foundation Method and system for generating mesh from images
KR101694292B1 (en) 2010-12-17 2017-01-09 한국전자통신연구원 Apparatus for matching stereo image and method thereof
CN102867328B (en) 2011-01-27 2014-04-23 深圳泰山在线科技有限公司 Object surface reconstruction system
US9247238B2 (en) 2011-01-31 2016-01-26 Microsoft Technology Licensing, Llc Reducing interference between multiple infra-red depth cameras
DE102011004663B4 (en) * 2011-02-24 2018-11-22 Robert Bosch Gmbh Device for vehicle measurement
KR101289595B1 (en) 2011-02-28 2013-07-24 이경자 Grid pattern projection device
KR101792501B1 (en) 2011-03-16 2017-11-21 한국전자통신연구원 Method and apparatus for feature-based stereo matching
KR101801355B1 (en) 2011-03-25 2017-11-24 엘지전자 주식회사 Apparatus for recognizing distance of object using diffracting element and light source
US8718748B2 (en) 2011-03-29 2014-05-06 Kaliber Imaging Inc. System and methods for monitoring and assessing mobility
JP5979500B2 (en) * 2011-04-07 2016-08-24 パナソニックIpマネジメント株式会社 Stereo imaging device
CN102760234B (en) 2011-04-14 2014-08-20 财团法人工业技术研究院 Depth image acquisition device, system and method
US8760499B2 (en) 2011-04-29 2014-06-24 Austin Russell Three-dimensional imager and projection device
WO2012151173A1 (en) 2011-05-02 2012-11-08 Faro Technologies, Inc. Three-dimensional scanner for hand-held phones
US9536312B2 (en) 2011-05-16 2017-01-03 Microsoft Corporation Depth reconstruction using plural depth capture units
US9245307B2 (en) 2011-06-01 2016-01-26 Empire Technology Development Llc Structured light projection for motion detection in augmented reality
CN102831380A (en) 2011-06-15 2012-12-19 康佳集团股份有限公司 Body action identification method and system based on depth image induction
US9530192B2 (en) 2011-06-30 2016-12-27 Kodak Alaris Inc. Method for determining stereo quality score and automatically improving the quality of stereo images
JP5941146B2 (en) 2011-07-29 2016-06-29 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. Projection capture system, program and method
US8867825B2 (en) 2011-08-30 2014-10-21 Thompson Licensing Method and apparatus for determining a similarity or dissimilarity measure
EP2754129A4 (en) 2011-09-07 2015-05-06 Commw Scient Ind Res Org System and method for three-dimensional surface imaging
US9285871B2 (en) 2011-09-30 2016-03-15 Microsoft Technology Licensing, Llc Personal audio/visual system for providing an adaptable augmented reality environment
US9098908B2 (en) 2011-10-21 2015-08-04 Microsoft Technology Licensing, Llc Generating a depth map
US20140098342A1 (en) 2011-11-04 2014-04-10 The General Hospital Corporation System and method for corneal irradiation
JP5910043B2 (en) * 2011-12-02 2016-04-27 富士通株式会社 Imaging apparatus, image processing program, image processing method, and image processing apparatus
JP5898484B2 (en) 2011-12-19 2016-04-06 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program
CN102572485B (en) 2012-02-02 2015-04-22 北京大学 Self-adaptive weighted stereo matching algorithm, stereo display and collecting device and system
US20130229396A1 (en) * 2012-03-05 2013-09-05 Kenneth J. Huebner Surface aware, object aware, and image aware handheld projector
JP5994715B2 (en) 2012-04-10 2016-09-21 パナソニックIpマネジメント株式会社 Computer generated hologram display
KR20130120730A (en) 2012-04-26 2013-11-05 한국전자통신연구원 Method for processing disparity space image
US9514522B2 (en) 2012-08-24 2016-12-06 Microsoft Technology Licensing, Llc Depth data processing and compression
US10674135B2 (en) 2012-10-17 2020-06-02 DotProduct LLC Handheld portable optical scanner and method of using
US9332243B2 (en) 2012-10-17 2016-05-03 DotProduct LLC Handheld portable optical scanner and method of using
US9117267B2 (en) 2012-10-18 2015-08-25 Google Inc. Systems and methods for marking images for three-dimensional image generation
US20140120319A1 (en) 2012-11-01 2014-05-01 Benjamin E. Joseph 3d mapping using structured light and formation of custom surface contours
KR20140075163A (en) 2012-12-11 2014-06-19 한국전자통신연구원 Method and apparatus for projecting pattern using structured-light
US10049281B2 (en) 2012-11-12 2018-08-14 Shopperception, Inc. Methods and systems for measuring human interaction
JP6270863B2 (en) 2012-11-29 2018-01-31 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Laser apparatus for projecting structured light patterns onto a scene
DE202012104890U1 (en) 2012-12-14 2013-03-05 Faro Technologies, Inc. Device for optically scanning and measuring an environment
US9298945B2 (en) 2012-12-26 2016-03-29 Elwha Llc Ad-hoc wireless sensor package
US9292927B2 (en) 2012-12-27 2016-03-22 Intel Corporation Adaptive support windows for stereoscopic image correlation
US9251590B2 (en) 2013-01-24 2016-02-02 Microsoft Technology Licensing, Llc Camera pose estimation for 3D reconstruction
US20140241612A1 (en) 2013-02-23 2014-08-28 Microsoft Corporation Real time stereo matching
US20140293011A1 (en) 2013-03-28 2014-10-02 Phasica, LLC Scanner System for Determining the Three Dimensional Shape of an Object and Method for Using
US20140307055A1 (en) 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
US9191643B2 (en) 2013-04-15 2015-11-17 Microsoft Technology Licensing, Llc Mixing infrared and color component data point clouds
US20140320605A1 (en) 2013-04-25 2014-10-30 Philip Martin Johnson Compound structured light projection system for 3-D surface profiling
CN103308517B (en) 2013-05-21 2015-09-30 谢绍鹏 Chinese medicine color objectifies method and Chinese medicine image acquiring device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080187711A1 (en) * 2007-01-10 2008-08-07 Z Corporation Three-Dimensional Printing Material System With Improved Color, Article Performance, and Ease of Use
US20130095302A1 (en) * 2011-10-14 2013-04-18 Nathaniel B. Pettis Grayscale rendering in 3d printing

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268885B2 (en) 2013-04-15 2019-04-23 Microsoft Technology Licensing, Llc Extracting true color from a color and infrared sensor
US10929658B2 (en) 2013-04-15 2021-02-23 Microsoft Technology Licensing, Llc Active stereo with adaptive support weights from a separate image
US10928189B2 (en) 2013-04-15 2021-02-23 Microsoft Technology Licensing, Llc Intensity-modulated light pattern for active stereo
US10816331B2 (en) 2013-04-15 2020-10-27 Microsoft Technology Licensing, Llc Super-resolving depth map by moving pattern projector
US10538074B2 (en) * 2014-01-16 2020-01-21 Hewlett-Packard Development Company, L.P. Processing slice data
US20180345376A1 (en) * 2014-03-19 2018-12-06 Autodesk, Inc. Systems and methods for improved 3d printing
US10005126B2 (en) * 2014-03-19 2018-06-26 Autodesk, Inc. Systems and methods for improved 3D printing
US10899071B2 (en) 2014-03-19 2021-01-26 Autodesk, Inc. Systems and methods for improved 3D printing
US10076880B2 (en) 2014-06-19 2018-09-18 Autodesk, Inc. Material deposition systems with four or more axes
US11141921B2 (en) 2014-07-28 2021-10-12 Massachusetts Institute Of Technology Systems and methods of machine vision assisted additive fabrication
US10252466B2 (en) * 2014-07-28 2019-04-09 Massachusetts Institute Of Technology Systems and methods of machine vision assisted additive fabrication
US11207836B2 (en) 2014-07-28 2021-12-28 Massachusetts Institute Of Technology Systems and methods of machine vision assisted additive fabrication
US20160266572A1 (en) * 2015-03-13 2016-09-15 Xyzprinting, Inc. Three dimensional printing method and three dimensional printing apparatus
US10678215B2 (en) * 2015-03-13 2020-06-09 Xyzprinting, Inc. Three dimensional printing method and three dimensional printing apparatus
US20160305767A1 (en) * 2015-04-17 2016-10-20 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and medium
US9751263B2 (en) * 2015-04-20 2017-09-05 Xerox Corporation Injection molding to finish parts printed with a three-dimensional object printer
US20160303794A1 (en) * 2015-04-20 2016-10-20 Xerox Corporation Injection molding to finish parts printed with a three-dimensional object printer
CN108292446A (en) * 2015-10-26 2018-07-17 微软技术许可有限责任公司 The volume of object indicates
US10761497B2 (en) 2016-01-14 2020-09-01 Microsoft Technology Licensing, Llc Printing 3D objects with automatic dimensional accuracy compensation
WO2017193013A1 (en) * 2016-05-06 2017-11-09 Zhang, Yunbo Determining manufacturable models
US11155040B2 (en) 2016-12-16 2021-10-26 Massachusetts Institute Of Technology Adaptive material deposition for additive manufacturing
US10955814B2 (en) 2017-04-24 2021-03-23 Autodesk, Inc. Closed-loop robotic deposition of material
US11181886B2 (en) * 2017-04-24 2021-11-23 Autodesk, Inc. Closed-loop robotic deposition of material
US20180307207A1 (en) * 2017-04-24 2018-10-25 Autodesk, Inc. Closed-loop robotic deposition of material
US10520923B2 (en) * 2018-05-22 2019-12-31 Mantle Inc. Method and system for automated toolpath generation
US11422532B2 (en) 2018-05-22 2022-08-23 Mantle Inc. Method and system for automated toolpath generation
US11662711B2 (en) 2018-05-22 2023-05-30 Mantle Inc. Method and system for automated toolpath generation
US20200130264A1 (en) * 2018-10-29 2020-04-30 Toshiba Kikai Kabushiki Kaisha Additive manufacturing apparatus, additive manufacturing method, and computer program product
CN110209363A (en) * 2019-05-30 2019-09-06 大连理工大学 Intelligent 3D printing paths planning method based on genetic algorithm
WO2022164720A1 (en) * 2021-01-29 2022-08-04 Essentium, Inc. Contour smoothing for material extrusion three-dimensionally printed parts
WO2023015227A1 (en) * 2021-08-06 2023-02-09 Ppg Industries Ohio, Inc. System and method for 3d printing a non-planar surface

Also Published As

Publication number Publication date
AU2014254219B2 (en) 2017-07-27
WO2014172229A1 (en) 2014-10-23
US20230332886A1 (en) 2023-10-19
EP2986931A1 (en) 2016-02-24
US20140307058A1 (en) 2014-10-16
WO2014172227A1 (en) 2014-10-23
CN105230003B (en) 2019-07-16
US20140310496A1 (en) 2014-10-16
US9959465B2 (en) 2018-05-01
EP2987320B1 (en) 2021-02-03
KR20150140838A (en) 2015-12-16
EP3757510B1 (en) 2022-06-29
US9928420B2 (en) 2018-03-27
US9760770B2 (en) 2017-09-12
CN105229412B (en) 2018-12-07
EP2986936B1 (en) 2020-08-26
WO2014172228A1 (en) 2014-10-23
CA2907895C (en) 2020-10-27
US20140307057A1 (en) 2014-10-16
US20140307953A1 (en) 2014-10-16
EP2986935B1 (en) 2021-03-31
US9922249B2 (en) 2018-03-20
EP2987138A1 (en) 2016-02-24
JP2016522889A (en) 2016-08-04
US20150078672A1 (en) 2015-03-19
EP2987323B1 (en) 2020-10-21
MX2015014577A (en) 2017-02-15
US10268885B2 (en) 2019-04-23
CN105308650A (en) 2016-02-03
CN105247859B (en) 2019-11-29
US20140307047A1 (en) 2014-10-16
KR102130187B1 (en) 2020-07-03
RU2015143654A (en) 2017-04-28
AU2014254219A1 (en) 2015-10-22
EP2986936A1 (en) 2016-02-24
CN105210112A (en) 2015-12-30
KR20150140841A (en) 2015-12-16
WO2014172222A1 (en) 2014-10-23
CN105308650B (en) 2020-09-25
EP2986935A1 (en) 2016-02-24
US10928189B2 (en) 2021-02-23
US9697424B2 (en) 2017-07-04
CN105229411B (en) 2019-09-03
EP2987138B1 (en) 2021-09-22
WO2014172223A1 (en) 2014-10-23
US20180260623A1 (en) 2018-09-13
WO2014172276A1 (en) 2014-10-23
US9508003B2 (en) 2016-11-29
KR102207768B1 (en) 2021-01-25
EP2987132A1 (en) 2016-02-24
EP3757510A1 (en) 2020-12-30
EP2987131A1 (en) 2016-02-24
CA2907895A1 (en) 2014-10-23
US20180218210A1 (en) 2018-08-02
CN105229696A (en) 2016-01-06
BR112015025819A8 (en) 2019-12-24
US20140307098A1 (en) 2014-10-16
RU2663329C2 (en) 2018-08-03
CN105210112B (en) 2019-08-30
WO2014172221A1 (en) 2014-10-23
BR112015025819A2 (en) 2017-07-25
US10816331B2 (en) 2020-10-27
EP2987323A1 (en) 2016-02-24
CN105229412A (en) 2016-01-06
US10929658B2 (en) 2021-02-23
MX357307B (en) 2018-07-04
US20140307055A1 (en) 2014-10-16
CN105143817B (en) 2021-02-09
EP2987320A1 (en) 2016-02-24
WO2014172231A1 (en) 2014-10-23
JP6469080B2 (en) 2019-02-13
EP2987132B1 (en) 2017-11-01
CN105143817A (en) 2015-12-09
US20140307307A1 (en) 2014-10-16
CN105229411A (en) 2016-01-06
US20180173947A1 (en) 2018-06-21
CN105230003A (en) 2016-01-06
CN105247859A (en) 2016-01-13

Similar Documents

Publication Publication Date Title
US20140309764A1 (en) Adaptive material deposition in three-dimensional fabrication
US10539950B2 (en) Fabricating full color three-dimensional objects
US9643362B2 (en) Full color three-dimensional object fabrication
US10434717B2 (en) Fabricating three-dimensional objects with overhang
US10452053B2 (en) Fabricating three dimensional objects
US20140297014A1 (en) Three-dimensional object fabrication using an implicit surface representation
US20170116779A1 (en) Volumetric representation of objects
CN107530973B (en) Processing object component data for three-dimensional objects
Wasserfall et al. Adaptive slicing for the FDM process revisited
WO2015171481A1 (en) Fabricating three-dimensional objects with embossing
CN110268402A (en) For providing system and method for the bead size variation to improve the geometric accuracy of sedimentary during increasing material manufacturing
Bedel et al. Closed space‐filling curves with controlled orientation for 3D printing
WO2023098338A1 (en) Method, apparatus and device for generating 3d printing file, and storage medium
US10589509B2 (en) Representing an object in terms of sub-volumes
JP2023528760A (en) 2. Computer Aided Generative Design with Filtering to Facilitate the 5-Axis Subtractive Manufacturing Process
US20200004226A1 (en) Fabricating three-dimensional objects
CN108025503B (en) Generating parametric descriptions of three-dimensional objects
EP4160461A1 (en) Three-dimensional surface pattern generation to facilitate part creation in computer aided design and manufacture interface
US20230104333A1 (en) Three-dimensional surface pattern generation to facilitate part creation in computer aided design and manufacture
US20230391011A1 (en) Optimized additive manufacturing
US20230152778A1 (en) Computer aided design with geometry filtering to facilitate manufacturing
JP2015217533A (en) Three-dimensional molding device, three-dimensional information processing program, and method for manufacturing three-dimensional article
KR20220126438A (en) Method for designing 3D solid models

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SOCHA-LEIALOHA, JOHN B.;JIN, YULIN;GHEORGHESCU, GHEORGHE MARIUS;AND OTHERS;SIGNING DATES FROM 20131119 TO 20131122;REEL/FRAME:031663/0935

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417

Effective date: 20141014

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454

Effective date: 20141014

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION