WO2019226555A1 - Method and system for automated toolpath generation - Google Patents

Method and system for automated toolpath generation Download PDF

Info

Publication number
WO2019226555A1
WO2019226555A1 PCT/US2019/033135 US2019033135W WO2019226555A1 WO 2019226555 A1 WO2019226555 A1 WO 2019226555A1 US 2019033135 W US2019033135 W US 2019033135W WO 2019226555 A1 WO2019226555 A1 WO 2019226555A1
Authority
WO
WIPO (PCT)
Prior art keywords
subtractive
toolpath
additive
toolpaths
perimeter
Prior art date
Application number
PCT/US2019/033135
Other languages
French (fr)
Inventor
Stephen T. Connor
Alex S. Goldenberg
Jonathan Hsu
Benjamin D. Voiles
Theodore Charles Sorom
Original Assignee
NanoCore Technologies, Inc.
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 NanoCore Technologies, Inc. filed Critical NanoCore Technologies, Inc.
Priority to CN201980034723.4A priority Critical patent/CN112236289B/en
Priority to EP19807937.8A priority patent/EP3797026A4/en
Publication of WO2019226555A1 publication Critical patent/WO2019226555A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • G05B19/4099Surface or curve machining, making 3D objects, e.g. desktop manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B22CASTING; POWDER METALLURGY
    • B22FWORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
    • B22F10/00Additive manufacturing of workpieces or articles from metallic powder
    • B22F10/10Formation of a green body
    • B22F10/18Formation of a green body by mixing binder with metal in filament form, e.g. fused filament fabrication [FFF]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B22CASTING; POWDER METALLURGY
    • B22FWORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
    • B22F10/00Additive manufacturing of workpieces or articles from metallic powder
    • B22F10/50Treatment of workpieces or articles during build-up, e.g. treatments applied to fused layers during build-up
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B22CASTING; POWDER METALLURGY
    • B22FWORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
    • B22F10/00Additive manufacturing of workpieces or articles from metallic powder
    • B22F10/80Data acquisition or data processing
    • B22F10/85Data acquisition or data processing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B22CASTING; POWDER METALLURGY
    • B22FWORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
    • B22F10/00Additive manufacturing of workpieces or articles from metallic powder
    • B22F10/30Process control
    • B22F10/31Calibration of process steps or apparatus settings, e.g. before or during manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B22CASTING; POWDER METALLURGY
    • B22FWORKING METALLIC POWDER; MANUFACTURE OF ARTICLES FROM METALLIC POWDER; MAKING METALLIC POWDER; APPARATUS OR DEVICES SPECIALLY ADAPTED FOR METALLIC POWDER
    • B22F2999/00Aspects linked to processes or compositions used in powder metallurgy
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49007Making, forming 3-D object, model, surface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P10/00Technologies related to metal processing
    • Y02P10/25Process efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P80/00Climate change mitigation technologies for sector-wide applications
    • Y02P80/40Minimising material used in manufacturing processes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • This invention relates generally to the part fabrication field, and more specifically to a new and useful method and system for automated toolpath generation in the part fabrication field.
  • FIGURE 1 is a flowchart representation of an embodiment of the method.
  • FIGURE 2 is a flowchart representation of an embodiment of determining toolpaths.
  • FIGURES 3A-3B depict top views of a planar and non-planar subtractive toolpath, respectively, for an interior surface.
  • FIGURE 4 depicts a side view of a first embodiment of vertical surface fabrication.
  • FIGURES 5A-5C depict side views of a second embodiment of vertical surface fabrication, before, during, and after performance of a subtractive fabrication window, respectively.
  • FIGURE 6A depicts a side view of an example of a target part.
  • FIGURES 6B-6C depict an example fabrication plan associated with the example of the target part.
  • FIGURE 7A depicts a cross-sectional view, normal to a part orientation vector, of a target part.
  • FIGURE 7B depicts a detail region of the cross-sectional view of the target part of FIGURE 7A, superimposed on a dilated part and a dilated-and-eroded part.
  • a method 10 for facilitating part fabrication preferably includes (e.g., as shown in FIGURE 1): receiving a virtual part S100; modifying the virtual part S200; and determining toolpaths to fabricate the target part S300.
  • the method 10 can additionally or alternatively include: generating machine instructions based on the toolpaths S400; fabricating the target part based on the machine instructions S500; calibrating the fabrication system S600; and/or any other suitable elements.
  • the method 10 is preferably performed using a system 20 for automated toolpath generation and/or part fabrication.
  • the system 20 preferably includes a computing system and/or a fabrication system, and can additionally or alternatively include any other suitable elements.
  • the method io can additionally or alternatively be performed using any other suitable system(s), and the system 20 can additionally or alternatively be used to perform any other suitable method(s).
  • Embodiments of the method 10 and/or system 20 can confer a number of benefits.
  • the method 10 and/or system 20 can function to achieve improved fabrication performance and/or efficiency (e.g., time and/or material efficiency). For example, in embodiments in which minimal additional material is deposited beyond the target part dimensions, material waste is reduced, and most subtractive fabrication time contributes directly to part finish, rather than rough material removal. Fewer cutting tools may be required, which can reduce tool change time during fabrication. Further (e.g., due to the application of subtractive fabrication techniques to green bodies rather than sintered materials or unitary metals), fast, high-quality material removal can be achieved, even using small cutting tools (e.g., endmills with diameters such as 0.010- 0.050”).
  • small cutting tools e.g., endmills with diameters such as 0.010- 0.050”.
  • embodiments of the method 10 and/or system 20 can enable an automated or semi-automated workflow.
  • input files e.g., virtual parts
  • no special skills or training e.g., specific to the combined additive and subtraction techniques of the system
  • no human intervention is required during performance of the method 10 (e.g., after receiving the virtual part S100, method elements such as all or any of S200-S600 can be performed autonomously).
  • the method 10 and/or system 20 can additionally or alternatively confer any other suitable benefits.
  • the system 20 preferably includes a fabrication system (e.g., as described in US Patent Application Number 15/705,548, entitled“System and Method for Additive Metal Manufacturing” and filed 15-SEP-2017, which is hereby incorporated in its entirety by this reference), more preferably a system configured to perform both additive and subtractive fabrication tasks.
  • the fabrication system preferably includes one or more: deposition mechanisms (e.g., including a print material dispenser, such as a needle or other nozzle), material removal mechanisms, and movement mechanisms, and can additionally or alternatively include any other suitable elements.
  • the fabrication system e.g., the deposition mechanism
  • the fabrication system is preferably operable to fabricate metal parts by depositing precursor material such as a paste (e.g., as described is US Patent Application Number 15/594,472, entitled“Sinterable Metal Paste for use in Additive Manufacturing” and filed 12-MAY-2017), preferably a binderless paste that forms a high-density green body.
  • precursor material such as a paste (e.g., as described is US Patent Application Number 15/594,472, entitled“Sinterable Metal Paste for use in Additive Manufacturing” and filed 12-MAY-2017), preferably a binderless paste that forms a high-density green body.
  • the deposition mechanism and/or other elements of the fabrication system can additionally or alternatively be operable to fabricate parts (e.g., metal parts) in any other suitable manner.
  • the material removal mechanism preferably includes one or more milling tools, and is preferably configured to automatically change between different milling tools (e.g., using an automatic tool changer).
  • the milling tools can include, for example, end mills (e.g., square, radiused, ball, spherical, keyseat cutters, chamfering, etc.), fly cutters, facing tools, and/or any other suitable milling tools.
  • the movement mechanisms are preferably mechanisms configured to reposition the manufactured part (e.g., during fabrication) relative to the deposition and/or material removal mechanisms (e.g., by moving the part, such as by moving a stage on which the part is supported and/ or to which the part is affixed; by moving the deposition and/or material removal mechanisms; etc.).
  • Motion of the movement mechanisms is preferably controlled electronically (e.g., CNC movement mechanisms) but can additionally or alternatively be controlled in any other suitable manner.
  • the system 20 preferably includes one or more computing systems (e.g., configured to communicate with and/or control operation of the fabrication systems, etc.).
  • the computing systems can include computing devices integrated with (e.g., embedded in, directly connected to, etc.) the fabrication system(s), user devices (e.g., smart phone, tablet, laptop and/or desktop computer, etc.), remote servers (e.g., internet-connected servers, such as those hosted by a toolpath generation service provider and/or fabrication system manufacturer), and/or any other suitable computing systems.
  • system 20 can additionally or alternatively include any other suitable elements in any suitable arrangement.
  • Receiving a virtual part S100 preferably functions to determine parameters of the part to be fabricated (e.g., for which fabrication toolpaths should be generated).
  • the virtual part is preferably a computer representation of a physical object, such as a CAD file (e.g., file in a format such as STEP, STL, etc.).
  • the virtual part is preferably received by the computing system.
  • the virtual part can be received from another computing system, from a virtual parts database, from a user (e.g., using a CAD application running on the computing system), from a set of one or more sensors (e.g., 3D scanning system), and/ or from any other suitable entities.
  • the virtual part can additionally or alternatively be received in any other suitable manner.
  • Modifying the virtual part S200 preferably functions to adapt the received virtual part (the original part) for fabrication.
  • S200 is preferably performed by the computing system (and/ or another computing system), and is preferably performed in response to receiving the virtual part S100, but can additionally or alternatively be performed by any suitable entity or entities with any suitable timing.
  • S200 optionally includes determining a part orientation.
  • the orientation can be an orientation associated with the original part or can be determined based on fabrication criteria.
  • a broad face of the part is selected as a bottom face (e.g., wherein a vertical axis orientation is defined as normal to the bottom face and/or a vertical position is defined as zero at the bottom face), which can facilitate fixturing and/or adhesion to the fabrication system stage.
  • a concave surface is selected as an upward-facing surface (e.g., wherein no other portion of the part is above the concave surface), which can reduce overhanging features, thereby facilitating subtractive fabrication processes.
  • the orientation can be selected in any suitable manner.
  • S200 preferably includes compensating for fabricated part shrinkage and/or deformation (e.g., caused by post -fabrication processing, such as sintering), thereby generating a target part (e.g., target part to be fabricated in S500) based on the original part.
  • a target part e.g., target part to be fabricated in S500
  • the original part can be scaled up (e.g., uniformly, such as by a predefined factor; non-uniformly, such as based on shrinkage modeling; etc.) to generate the target part.
  • S200 preferably includes expanding features of the part along one or more dimensions (e.g., width, height, etc.), thereby generating an oversize part, preferably based on the target part, but alternatively based on the original part and/ or any other suitable virtual part.
  • the oversize part can function as a target for additive fabrication (e.g., target for fabrication in the absence of any subtractive fabrication).
  • Such expansion can allow for consistent material removal during subtractive fabrication (e.g., ensuring good surface finish, reducing and/or eliminating exterior voids, etc.).
  • Expanding the features can include, for example, expanding each feature of the part in all lateral directions (e.g., all directions normal to a layering axis, such as a vertical axis, all directions contained within a plane, such as an additive slice, etc.) and/ or expanding each feature of the part in the vertical direction by a height expansion constant (e.g., predetermined constant, such as 5-75 pm, 5-75% of the deposition layer thickness, etc.).
  • a height expansion constant e.g., predetermined constant, such as 5-75 pm, 5-75% of the deposition layer thickness, etc.
  • one or more negative part features may shrink to zero or near-zero size by this expansion; such negative features that would shrink to near-zero size (e.g., defining a dimension, such as width or depth, below a threshold value) can optionally instead by shrunk to zero size (e.g., wherein additional subtractive fabrication will be used to achieve the desired feature).
  • this expansion is achieved through one or more dilation operations.
  • a dilation operation results in a dilated shape, defined as the shape that would be formed by tracing a dilation tool (e.g., a circle, sphere, cylinder, etc.) along the exterior surface of the original shape (the shape being dilated, such as the target part), wherein the dilated shape is equal to the union of the original shape and the entire volume traced by the dilation tool.
  • the dilation tool can have a predetermined size (e.g., diameter), such as 50-750 pm or 5-75% of the deposition road width, can have a dynamically-determined size (e.g., determined based on the part geometry), and/or can have any other suitable size.
  • the dilation operation(s) are followed by one or more erosion operations, wherein the exterior surfaces of the dilated shape are moved inward by a fixed distance (preferably by less than the size of the dilation tool, such as 10-90% of the dilation tool size), such as shown by way of example in FIGURES 7A-7B.
  • this expansion is achieved by expanding each feature of the part in all lateral directions by a width expansion constant (e.g., predetermined constant, such as 50-750 pm, 5-75% of the deposition road width, etc.).
  • a width expansion constant e.g., predetermined constant, such as 50-750 pm, 5-75% of the deposition road width, etc.
  • the part can additionally or alternatively be expanded in any other suitable manner.
  • S200 can optionally include adding support features to the part(s) (e.g., to the original part, target part, oversize part, etc.).
  • the support features can function to support high aspect ratio and/or overhanging part features, form molds for part features, and/or provide any other suitable functions.
  • the support features can be determined before determining toolpaths to fabricate the target part S300 (e.g., performed concurrently with and/or immediately following other aspects of S200), can be determined concurrent with S300 (e.g., concurrent with S320), and/or can be determined at any other suitable time.
  • S200 can optionally include identifying regions (e.g., volumes) that can and/ or will be modified to reduce their density (e.g., for the purpose of lightweighting the part), such as by dispensing infilled regions at less than 100% infill and/or not filling the regions.
  • regions e.g., volumes
  • Lightweighting can function, for example, to speed print time and/or conserve material.
  • Such volumes can be identified manually (e.g., by a user and/or designer), such as being specified in the received virtual part, can be automatically identified (e.g. as a function of allowable distance from surface), and/or can be identified in any other suitable manner.
  • S200 preferably includes modifying the virtual part such that all or some of the identified volumes include no infill and/or only partial infill (e.g. 15, 25, 35, 45, 50, 55, 65, 75, 85, 0-15, 15-40, 40-60, 60-85, or 85-100% infill, etc.).
  • no infill and/or only partial infill e.g. 15, 25, 35, 45, 50, 55, 65, 75, 85, 0-15, 15-40, 40-60, 60-85, or 85-100% infill, etc.
  • the support features preferably correspond to structures to be fabricated
  • the support materials can additionally or alternatively be fabricated using the primary material (e.g., wherein the support features are removed by subtractive fabrication techniques after fabrication of the structures they support, wherein the support features are not removed, etc.).
  • S200 can additionally or alternatively include any other suitable elements performed in any suitable manner.
  • Determining toolpaths to fabricate the target part S300 preferably functions to generate efficient toolpaths for the fabrication system.
  • S300 preferably includes determining additive toolpaths S320 and determining and interspersing subtractive toolpaths S330 (e.g., as shown in FIGURE 2).
  • S300 can optionally include determining setup toolpaths S310, determining and interspersing auxiliary toolpaths S340, and/or any other suitable elements.
  • S300 is preferably performed after (e.g., in response to) S200, but can additionally or alternatively be performed at any other suitable time.
  • Determining setup toolpaths S310 preferably functions to generate toolpaths associated with preparing a fabrication system stage (e.g., bed) for part fabrication.
  • the setup toolpaths can include additive toolpaths (e.g., depositing primary and/ or support material on which the part can be fabricated, preferably to create a flat horizontal surface for deposition; depositing adhesive material to affix the part during fabrication, etc.), subtractive toolpaths (e.g., facing the stage and/or deposited material, or a portion thereof, such as to create a flat horizontal surface for deposition), and/or any other suitable toolpaths.
  • additive toolpaths e.g., depositing primary and/ or support material on which the part can be fabricated, preferably to create a flat horizontal surface for deposition; depositing adhesive material to affix the part during fabrication, etc.
  • subtractive toolpaths e.g., facing the stage and/or deposited material, or a portion thereof, such as to create a flat horizontal surface for deposition
  • Such setup toolpaths can function to compensate for non planarity and/or misalignment of the stage, non-linearity and/or other defects (e.g., leading to a reduction in accuracy of the gantry), and/ or any other suitable aspects of the fabrication system.
  • Determining additive toolpaths S320 preferably functions to generate material deposition toolpaths (e.g., corresponding to the oversize part).
  • S320 preferably includes determining additive volumes (e.g., additive slices) and determining additive toolpaths for each volume, and can additionally or alternatively include determining support material toolpaths and/ or any other suitable elements.
  • Determining additive volumes preferably includes slicing the part (e.g., the oversize part) horizontally, but can additionally or alternatively include slicing the part vertically and/or at an oblique angle (e.g., to the vertical axis), defining volumes with non-planar boundaries, and/or separating the part into any other suitable volumes (preferably a set of volumes that collectively span the entire part, more preferably being substantially mutually non-overlapping).
  • the volumes are preferably parallel to each other (e.g., and regularly spaced), but can alternatively have any suitable relative orientations.
  • Each volume preferably corresponds to a single deposition layer, but can alternatively correspond to multiple deposition layers.
  • the slices preferably have equal thicknesses (e.g., equal to the deposition layer thickness, preferably accounting for additional material in the deposited layer that can be removed by subtractive machining, such as an additional 5-150 pm), but the slice thickness can additionally or alternatively be dynamically determined (e.g., thickness proportional to the lowest sidewall slope of a slice and/or group of slices, thickness altered to compensate for overhang features, etc.).
  • slice thickness can be reduced for slices that include printing overhangs (e.g., wherein one or more roads of the deposition layer include printing material not entirely supported by the deposition layer below), which can help achieve greater printing fidelity (e.g., avoiding deformation of printed material due to surface tension effects, such as movement of printed material away from the overhanging edge).
  • the deposition layer thickness and/or slice thickness can be 5, 10, 20, 30, 40, 50, 60, 70, 75, 80, 85, 90, 95, 100, 105, no, 120, 150, 3-10, 10-30, 30-60, 60-75, 75-100, 100- 130, and/or 130-200 pm, but can additionally or alternatively include any other suitable thicknesses.
  • Determining additive toolpaths for each volume preferably functions to determine paths (e.g., lateral and/or substantially lateral paths) for filling the desired areas with adjacent roads of deposited material (e.g., roads of substantially equal width, such as 0.5-2 mm wide).
  • the additive toolpaths for a volume include an infill section that provides coverage for the interior of a feature (e.g., following a rectilinear pattern such as spiral, boustrophedon, etc.), followed and/or preceded by one or more (e.g., several, such as 2, 3, 4-6, etc.) perimeters, typically printed concentrically from the infill section outward (e.g., following a path associated with the perimeter of the feature in the oversize part), that cover the remainder of the feature.
  • this approach may result in one or more detrimental effects when the toolpaths are implemented (e.g., detriments to the printed layer and/or part).
  • portions of the infill may exhibit higher thickness and/ or edge roughness (e.g., as compared with the majority of the printed material), due to abrupt direction changes (e.g., at corners of the rectilinear pattern, at gaps associated with concavities of a non-rectangular feature cross-section, etc.).
  • Subsequent perimeter lines may form voids at these rough interfaces, which can result in poor material properties, especially for multiple consecutive layers that all exhibit such voids in substantially the same lateral position (e.g., at the infill-perimeter junction).
  • shrinkage of deposited material can reduce dimensional precision of the printed slice (e.g., especially due to stack-up of shrinkage from multiple roads, inconsistent shrinkage due to partial drying of some or all deposited material, etc.).
  • Deformation of deposited material e.g., undried material
  • additional material deposited in contact with the material e.g., adjacent printed roads of material
  • this embodiment can be implemented, which may alleviate or eliminate such detrimental effects.
  • one or more subtractive fabrication techniques such as contouring (e.g., infill sidewall contouring) and/or facing, can be included between infill and perimeter deposition.
  • contouring e.g., infill sidewall contouring
  • Such contouring can provide a flat surface abutting the perimeter roads, which can reduce the generation of voids at the infill-perimeter junction. Facing in this manner can enable control of the height of infill turnarounds (e.g. where deposition abruptly changes direction, such as at the edge of a deposited area), which can facilitate perimeter deposition (e.g., by enabling the deposition needle to print a perimeter without hitting raised sections of infill turnarounds).
  • a first slice can include toolpaths defining an infill-perimeter junction at a standard location (e.g., including l, 2, or 3 perimeter roads around the infill, etc.)
  • a second slice e.g., adjacent to the first slice
  • a slightly smaller infill region e.g., including 1-3 extra perimeter roads as compared with the first slice
  • a third slice e.g., adjacent to the second slice
  • a fourth slice e.g., adjacent to the third slice
  • some deposited material can be dried, preferably fully dried or dried such that substantially all shrinkage has occurred (e.g., using auxiliary toolpaths such as described below, waiting until a threshold drying time interval has elapsed, etc.), before depositing additional (e.g., adjacent and/or contacting) material.
  • an ordered series of toolpaths for printing a set of perimeters can include: a toolpath for printing an inner perimeter, followed by a drying toolpath (e.g., associated with one or more drying tools, such as lamps and/or fans) for drying the material of the inner perimeter, followed by a toolpath for printing an outer perimeter (e.g., defining a portion of the external surface of the expanded part) that contacts the inner perimeter.
  • a fourth variation includes use of two or more of the variations described above, such as: the use of both subtractive fabrication techniques (e.g., facing and/or infill sidewall contouring) and infill-perimeter junction position alternation.
  • subtractive fabrication techniques e.g., facing and/or infill sidewall contouring
  • infill-perimeter junction position alternation e.g., facing and/or infill sidewall contouring
  • detrimental effects can optionally be mitigated in any other suitable manner.
  • the additive toolpaths can optionally include different deposition parameters, such as deposition parameters determined based on the deposition detail desired for a particular region of the fabricated part.
  • the deposition parameters can include, for example, the nozzle-surface vertical spacing, extrusion ratio (defined as the amount of extruder motion as a function of nozzle-surface travel), and/or any other suitable parameters.
  • a large vertical spacing and fast extrusion speed e.g., high extrusion ratio
  • high liquid velocity e.g., and commensurately high shear of the deposited material
  • nozzle collisions can be used to help avoid nozzle collisions with previously-deposited material, and are preferably used for broader area and/or lower-detail features of the fabricated part.
  • a small vertical spacing and slow extrusion speed is used to achieve low liquid velocity (e.g., and lower shear flow), which can reduce slumping and/or settling of the deposited material, thereby enabling additive fabrication of finer features (and therefore preferably used for such features).
  • the additive toolpaths can additionally or alternatively include any other suitable deposition parameters.
  • the deposition parameters are preferably changed dynamically throughout each toolpath, more preferably with each parameter independently controllable at any point along the toolpath (e.g., feed rate automatically controlled as a function of road length, road angle with respect to previous and/or next road, whether perimeter or infill is currently being deposited, allowable distance error from ideal toolpath, etc.), but can alternatively be fixed within a single (e.g., and alterable between different) additive road, toolpath, slice, and/or fabricated part.
  • each parameter independently controllable at any point along the toolpath (e.g., feed rate automatically controlled as a function of road length, road angle with respect to previous and/or next road, whether perimeter or infill is currently being deposited, allowable distance error from ideal toolpath, etc.), but can alternatively be fixed within a single (e.g., and alterable between different) additive road, toolpath, slice, and/or fabricated part.
  • the parameters are preferably set to the most conservative values needed to achieve the detail required, but can alternatively be set to less conservative values (e.g., compromising some finer details to achieve a faster print speed) and/or to any other suitable values.
  • the additive toolpaths can optionally include height adjustments to achieve the desired needle-workpiece vertical spacing (e.g., to maintain constant spacing, to control the spacing such as described above, etc.). In some embodiments, tight control over the vertical spacing can be important to enable excellent control of the material deposition.
  • the height adjustments can be determined, for example, based on calibration information, and are preferably employed to compensate for shifting height corresponding to changes in aspects of the fabrication system, such as lateral positions (e.g., of the workpiece and/ or deposition mechanism), temperatures, and/ or loads. Such height adjustments can additionally or alternatively be determined during S500 (e.g., as described below in further detail) and/or at any other suitable time.
  • the additive toolpaths can optionally include (e.g., for small features, such as features defining one or more dimensions smaller than a threshold size) dilating aspects of the feature in the additive toolpath (e.g., to achieve a minimum printed feature size).
  • subtractive fabrication techniques e.g., milling
  • This approach can function to reduce fabrication errors associated with deposition of very small features.
  • the features on which this approach is employed are preferably contained within a single window (e.g., additive and/or subtractive window), but can additionally or alternatively include features that span multiple windows and/or any other suitable features.
  • the additive toolpaths can optionally include support material toolpaths.
  • the support material associated with the toolpaths can function to, for example: support subsequently deposited features of the part, such as high aspect ratio and/or overhanging features; form molds for subsequently deposited features; and/or protect previously deposited and/or finished surfaces (e.g., surfaces finished by milling).
  • the support material toolpaths preferably correspond to deposition of a support material different from the primary material, but can additionally or alternatively include deposition of the primary material.
  • the support material toolpaths can be followed by the same deposition mechanism used for part deposition and/or a different deposition mechanism.
  • All or some of S320 can optionally be performed using standard fused deposition modeling (FDM) software tools (e.g., Slic3r, Prusa, etc.), modified versions thereof, and/or any other suitable software tools.
  • FDM fused deposition modeling
  • S320 can additionally or alternatively include determining the additive toolpaths in any other suitable manner.
  • Determining and interspersing subtractive toolpaths S330 preferably functions to generate subtractive toolpaths for fabricating the target part (e.g., from the oversize part or portions thereof, in cooperation with the additive toolpaths, etc.).
  • the subtractive toolpaths can include toolpaths corresponding to internal part surfaces (e.g., interfaces of the final fabricated part, such as the interface between two adjacent additive layers), external part surfaces (e.g., exposed surfaces of the final fabricated part), and/ or any other suitable subtractive toolpaths.
  • Subtractive toolpaths corresponding to internal part surfaces preferably include facing toolpaths (e.g., facing of temporary top surfaces, such as the exposed top surfaces of recently-deposited additive layers). Such facing can function to provide a flat surface for deposition of subsequent additive layers.
  • These facing toolpaths are preferably fast and/ or rough, and preferably employ a large cutting tool (end mill, face mill, other facing tool such as a fly cutter, etc.) relative to other subtractive toolpaths, such as external surface finishing toolpaths.
  • the faced surfaces preferably include the current top of the fabricated piece, such as the top of the most recently deposited additive slice, but can additionally or alternatively include any other suitable surfaces.
  • the faced surfaces are preferably substantially horizontal, but can additionally or alternatively include surfaces of any other suitable orientation.
  • Every additive layer is preferably faced, but alternatively only a subset of additive layers can be faced (e.g., every set number of layers, such as 2, 3, 4, 5, 6-10, etc.; after a threshold deposition thickness, such as 0.05, 0.1, 0.2, 0.5, 1, or 2 mm, etc.; only when facing is required and/or expected to benefit part fabrication, such as in response to determining that the surface planarity, roughness, and/or error, such as error with respect to a nominal and/or target height, is worse than a threshold value; etc.).
  • toolpaths can additionally or alternatively include non-planar machining of the internal surfaces (e.g., to prepare the surface for subsequent deposition).
  • non-planar surfaces can function to compensate for subsequent deposition of non-uniform thickness.
  • the machined internal surface can deviate upward from the plane (e.g., curve upward from a substantially horizontal plane) near the edge, thereby compensating for the reduced material deposition at the edge (e.g., as shown in FIGURE 3B, such as in contrast to FIGURE 3A in which a planar facing toolpath is depicted).
  • This deviation can include a fixed deviation (e.g., curvature) at each edge, can be determined dynamically (e.g., based on the following additive toolpath, such as by modelling the expected layer thickness from the toolpath and determining a profile accordingly, preferably to achieve a substantially flat surface after printing), and/ or can be determined in any other suitable manner.
  • the subtractive toolpaths can additionally or alternatively include toolpaths for machining the internal surfaces in any other suitable manner.
  • Subtractive toolpaths corresponding to external part surfaces preferably include finishing toolpaths. Such toolpaths preferably function to efficiently achieve a high quality surface finish in a part with the desired part dimensions (e.g., corresponding to the target part).
  • the toolpaths can additionally or alternatively include roughing toolpaths, but the additive process preferably yields structures (e.g., of the oversize part) that do not require roughing (e.g., for which finishing can be performed directly on the deposited material, without intervening subtractive techniques).
  • Determining and interspersing the external surface toolpaths preferably includes: determining one or more cutting tools; determining subtractive volumes; determining additive and subtractive windows; within each subtractive window, grouping potential toolpath segments; for each group, selecting a cutting tool and determining toolpaths; and/or combining the toolpaths.
  • Determining one or more cutting tools preferably functions to determine a set of cutting tools that can or will be used to perform the subtractive toolpaths (e.g., cutting tools available in a fabrication system, cutting tools to be considered when determining subtractive toolpaths, etc.).
  • the cutting tools can include end mills (e.g., square, radiused, ball end, etc.), keyseat cutters, face mills, fly cutters, and/or any other suitable cutting tools, preferably including multiple sizes (e.g., radiuses, lengths, etc.) of cutting tools.
  • the cutting tools can additionally or alternatively include any other suitable tools.
  • the subtractive volumes are preferably horizontal slices and/ or slices parallel to the additive slices, but can alternatively include any other suitable slices and/or other volumes (e.g., volumes such as described above regarding S320).
  • the subtractive volumes can be the same as or different from the additive volumes.
  • the subtractive volumes are preferably a set of volumes that collectively span the entire part and/or the entire surface of the part (e.g., of the target part, oversize part, etc.).
  • the subtractive volumes can be mutually non-overlapping or substantially mutually non-overlapping, can have some overlap (e.g., to provide for smooth transitions between volumes, to ensure full coverage of the fabricated part surfaces by the subtractive toolpaths, etc.).
  • all or some subtractive volumes can be interleaved into additive volumes (e.g., by employing tool avoidance techniques).
  • the subtractive volumes can optionally be defined based on the cutting tool and/or part geometry (e.g., wherein a subtractive volumes corresponds to a single cutting tool pass of a waterline contour path), but can additionally or alternatively be determined based on any other suitable information.
  • Determining additive and subtractive windows preferably functions to determine groups for continuous additive and subtractive fabrication (e.g., additive windows without intervening subtractive fabrication, subtractive windows without intervening additive fabrication).
  • the windows are preferably groups of volumes (e.g., additive volumes for additive windows, subtractive volumes for subtractive windows), more preferably adjacent volumes. Determining the windows preferably includes determining a window ordering.
  • the windows are preferably determined based on one or more of the following criteria.
  • a cutting tool e.g., end mill
  • can preferably reach all surfaces of a subtractive window e.g., the surfaces to be milled
  • the tool crashing e.g., into the partially-fabricated part
  • Tool crashes could potentially occur with the top surfaces, sides, and/or any other portions of the part.
  • subsequent additive and subtractive windows preferably do not damage portions of the part (e.g., surfaces) that have already been finished.
  • additive layers are preferably printed with material greater than the target part (e.g., corresponding to the oversize part), which enables subsequent subtractive fabrication to achieve a high-quality surface finish with the target part dimensions.
  • material printed on top of (e.g., and overhanging) a surface that has already been finished may drip and/or collapse onto the finished surface, thereby damaging it.
  • the windows and ordering thereof are preferably determined to avoid such damage.
  • a subtractive window in which a set of surfaces are finished is preferably not scheduled before an additive window that includes printing onto (and/or adjacent to, such as close enough that printed material may spread onto) any of the surfaces of the set (e.g., thereby avoiding printing onto finished surfaces).
  • the surface can be fabricated over a series of alternating additive and subtractive windows, including (e.g., as shown in FIGURE 4): in a first additive window, depositing a first set of layers; in a first subtractive window, using an undercutting tool to finish the vertical surface portion of the first set of layers, except for a top portion (e.g., the top layer or layers, a top fraction of the top layer, etc.); in a second additive window, depositing a second set of layers on top of the top portion (e.g., wherein the layers are deposited onto the unfinished surface, but not onto the finished surface below); in a second subtractive window, using an undercutting tool (e.g., the same undercutting tool, a different tool, etc.) to finish the vertical surface portion of the second set of layers (along
  • overhang control is preferably employed for additive fabrication onto and/or adjacent to finished surfaces.
  • each subsequent layer within the additive window can overfill (e.g., overhang the finished surface, exceed the target part dimensions, etc.) by an increasing amount (e.g., up to a maximum overfill), thereby creating a controlled overhang above the finished surface.
  • the first deposited layer of the additive window can overhang by a first amount (e.g., less than the amount dictated by the oversize part but greater than that dictated by the target part), such as 10-25, 10-50, or 10-100 pm, and all subsequent deposited layers of the additive window can overhang by a second amount (e.g., as dictated by the oversize part), such as 25-50, 25-100, or 25-150 pm.
  • a first amount e.g., less than the amount dictated by the oversize part but greater than that dictated by the target part
  • a second amount e.g., as dictated by the oversize part
  • all the overhanging layers can then be finished in a single subtractive window, and additional overhanging layers can then be deposited on top of them (e.g., using overhang control, such as described in this example) and subsequently finished.
  • printing velocity can be reduced when depositing onto and/ or adjacent to the finished surfaces, which can reduce the risk of deposited material spreading onto and/or damaging the finished surfaces.
  • damage to finished surfaces can additionally or alternatively be mitigated and/or prevented in any other suitable manner.
  • the additive windows are preferably as large as possible (e.g., the most slices possible, the greatest height possible, etc.) without violating the first and second criteria.
  • the additive and/or subtractive windows and their ordering can additionally or alternatively be determined in any other suitable manner.
  • the potential toolpath segments are preferably grouped by surface. This grouping preferably functions to determine toolpath groups (e.g., which can optionally be treated as indivisible units for subsequent toolpath determination).
  • Each potential toolpath segment does not necessarily correspond to a segment of a real toolpath, but can additionally or alternatively refer to any suitable portion of one or more surfaces.
  • the subtractive volumes and/or windows can be determined based on such surfaces (e.g., based on the shape, size, location, and/ or any other suitable characteristics of the surfaces).
  • the part to be fabricated defines multiple surfaces (and/or surface features) at overlapping (e.g., staggered) heights (e.g., along a part orientation vector defined normal to a horizontal plane, normal to a support and/or deposition plane of the part, etc.), such as shown by way of example in FIGURE 6A.
  • the subtractive volumes and/or windows were defined by parallel planar slices (e.g., horizontal slices), they would either separate one or more such surfaces across multiple volumes (which may be detrimental for part fabrication quality, subtractive machining efficiency, etc.), or a single subtractive volume would encompass all the surfaces of overlapping heights (which may not be feasible, may not enable a high-efficiency set of toolpaths, etc.).
  • the surfaces can be each contained within single volumes and/ or windows of a feasible size (e.g., as shown in FIGURE 6C).
  • subtractive machining for each surface can be performed in a single window associated with the surface.
  • the toolpaths determined in this manner result in, for each feature associated with (e.g., defining) one of these surfaces, depositing the entire feature (via the additive toolpaths) before machining the surface associated with the feature (via the subtractive toolpaths), such as shown by way of example in FIGURES 6B-6C.
  • Determining the toolpath groups preferably includes classifying the potential toolpath segments by surface type.
  • Such surface types can include, for example: surfaces indicated (e.g., in the received virtual part) as unimportant (e.g., surfaces for which poor tolerances and/or surface finish are acceptable); surfaces under an overhang (e.g., considering features present at the time the current window is executed, based on the ordering of windows as described above; not considering features deposited in subsequent windows); horizontal surfaces; and/or all other surfaces.
  • Some or all surfaces can optionally be further separated into sub-surfaces.
  • a surface can be separated such that each sub surface group is optimal and/or acceptable for subtractive fabrication using a single cutting tool (e.g., determined based on feature size, surface gradient, etc.).
  • Some (or all) toolpath groups can optionally extend across windows (e.g., segments of the same multi-window-spanning surface can be combined and treated as if they are all part of the same window).
  • a vertical surface or, for a fabrication system with more than 3-axis control, any other suitable flat surface, such as a surface that can be oriented parallel to the cutting tool
  • a single finishing pass e.g., with a long cutting tool
  • a separate pass e.g., with a shorter cutting tool
  • the toolpath groups can additionally or alternatively be determined in any other suitable manner.
  • a cutting tool is preferably selected for each toolpath group (e.g., each toolpath group within the subtractive window).
  • the cutting tool is preferably selected based on one or more of the following criteria.
  • First, the largest available tool that can achieve an acceptable result e.g., acceptable surface finish; minimal deviation from specified dimensions, such as deviation below a threshold value; etc.
  • Second, the number of and/or time spent performing tool changes is preferably minimized. When these criteria conflict, one can be prioritized over the other, or an optimal balance between the two (e.g., based on an objective function) can be used.
  • the total time required to execute all the toolpaths of a subtractive window can be minimized.
  • Cutting tool selection can additionally or alternatively include attempting to reduce (e.g., minimize) the total number of tools used (e.g., for a part or set of parts), which can reduce the complexity of the fabrication system required to perform the method, and/or attempting to optimize any other suitable parameters.
  • the classifications can be used to determine or help determine the cutting tool selection.
  • cutting tools can be selected based on toolpath group classifications as described below.
  • Unimportant groups can be ignored (e.g., no cutting tool selected, no subtractive toolpaths included). Surfaces under an overhang can be ignored (e.g., if the fabrication system is incapable of machining them as desired), or can be associated with an undercutting tool (e.g., keyseat cutter, ball end mill with a ball end greater than a hemisphere, such as a 270° ball end, etc.). In one example, lower surfaces under an overhang are contoured (e.g., by an undercutting tool), and higher surfaces (e.g., unreachable by the undercutting tool due to diminishing size of a horizontal aperture into the region of the surfaces following printing of additional overhanging layers) are ignored.
  • an undercutting tool e.g., keyseat cutter, ball end mill with a ball end greater than a hemisphere, such as a 270° ball end, etc.
  • Horizontal surfaces are preferably associated with a facing tool (e.g., square or square radiused end mill, face mill, fly cutter, etc.), more preferably a large diameter facing tool.
  • a facing tool e.g., square or square radiused end mill, face mill, fly cutter, etc.
  • Vertical surfaces are preferably associated with a long (and/or large diameter) milling tool, especially if the group spans multiple subtractive windows.
  • the vertical surface can be associated with a square endmill, wherein milling of the vertical surface and horizontal surface (e.g., near the intersection with the vertical surface) can optionally be performed (e.g., concurrently) by the same square endmill.
  • All other surfaces are preferably associated with a ball end mill (e.g., hemispherical ball end mill). These surfaces are preferably associated with the largest tool compatible with the features required.
  • tool compatibility is determined by determining (e.g., computing) the error between the generated toolpath (e.g., determined as described below) required for the tool and the desired edge of a slice. If the error exceeds a threshold value, a smaller tool is preferably selected (e.g., computing the error associated with tools in order of descending diameter, stopping once a tool that achieves acceptable error is found).
  • an execution order for the toolpath groups can be determined, preferably such that tool changes and/or total execution time is minimized.
  • the cutting tools and/or toolpath group ordering can additionally or alternatively be determined in any other suitable manner.
  • Toolpaths are preferably determined for each toolpath group within the subtractive window (e.g., following and/or concurrent with selection of the cutting tools). Determining the toolpaths preferably includes determining the feed and/or speed based on: the selected cutting tool, the desired finish quality, the structure fragility (e.g., reducing the feed rate near fragile features, such as high aspect ratio feature, sharp corners and/or edges, etc.), and/or any other suitable information.
  • the toolpath is preferably a facing toolpath beginning at the perimeter of the surface and spiraling inward, but can additionally or alternatively include any suitable facing toolpath.
  • the toolpath is preferably a side milling toolpath, more preferably one in which the surface is milled in a single pass.
  • the toolpaths can include waterline contour toolpaths, preferably beginning at the top, but alternatively beginning at the bottom or any other suitable height; drop cutting toolpaths (e.g., toolpaths in which either of the lateral axes, such as the X or Y axis, is held constant while the other lateral axis and the vertical axis, such as the Z axis, are varied to define the desired topography, such as to follow a given surface; toolpaths in which the tool follows a predetermined lateral pattern, such as a rectilinear spiral or boustrophedon, while the vertical axis is varied to define the desired topography; copy milling toolpaths; etc.); and/or any other suitable toolpaths.
  • all such surfaces are milled using waterline contour toolpaths.
  • all such surfaces are milled using drop cutting toolpaths.
  • surfaces with sufficiently shallow gradients e.g., below a threshold value are milled using drop cutting toolpaths, and all other surfaces are milled using waterline contour toolpaths.
  • Some or all surfaces can optionally be reoriented and treated accordingly (e.g., when using a fabrication system with more than 3 axes of control, when employing manual part reorientation and refixturing, etc.).
  • Such reorientation can function to enable more efficient machining techniques (e.g., facing using a large-diameter facing tool), to enable use of a smaller total number of windows and/ or tool changes, to enable cutting tool access to part regions that would otherwise be difficult and/ or impossible to reach (e.g., under overhangs), and/or can have any other suitable function(s).
  • a planar surface can be reoriented to a horizontal orientation and then be faced, or can be reoriented to a vertical orientation and then be side milled.
  • Determining the toolpaths can optionally include converting linear motions into arcuate motions.
  • converting linear motions into arcuate motions can include: recognizing that a series of points connected by linear segments corresponds to a desired arc in the part (e.g., based on a mathematical condition, such as that the angles between a threshold number of sequential segments define a second derivative within a threshold amount of each other); determining a smooth arcuate motion that fits the series of points; and replacing the linear motions with the arcuate motion.
  • the subtractive toolpaths can optionally include toolpaths for machining support material.
  • Such support material machining toolpaths can optionally include finishing the support material surfaces (e.g., as described above regarding finishing), which can improve the quality (e.g., surface finish) of material (e.g., primary material) deposited onto the support material.
  • Such machining can additionally or alternatively include defining molds for subsequent deposition (e.g., of primary material).
  • These molds can, for example, facilitate deposition of fragile features, such as tall and/ or thin features (e.g., without the need for subsequent machining to define the features, in situations where the desired features are too fragile for reliable machining, etc.), and/or can enable patterning (e.g., embossing and/ or reverse embossing, etc.) of subsequently deposited materials.
  • fragile features such as tall and/ or thin features
  • patterning e.g., embossing and/ or reverse embossing, etc.
  • the toolpaths preferably allow for drying of deposited materials (e.g., such that only dried material is milled), such as by imposing a delay time between material deposition and subsequent milling.
  • the toolpaths can neglect to account for material drying, can intentionally include milling undried material, and/or can handle deposited material drying in any other suitable manner.
  • Drying the material can optionally include a prescribed wait time, a thermal cycle, and/or a mass transfer.
  • drying the material includes a pattern including all three (e.g. wait, heat, blow air, wait, cool).
  • a goal of drying the material can be to remove one or more components from the deposited material, such that material changes from soft to hard, enabling facile machining while the material substantially retains its shape (e.g., within o.ooi”).
  • drying the material causes the layer thickness to decrease (e.g., due to increased material packing of the dried material).
  • All or some of S330 can optionally be performed using standard CAM software tools (e.g., Freesteel, MasterCAM, CAMWorks, etc.), modified versions thereof, and/or any other suitable software tools.
  • S330 can additionally or alternatively include determining and/or interspersing the subtractive toolpaths in any other suitable manner.
  • S300 can optionally include determining and interspersing auxiliary toolpaths S340.
  • auxiliary toolpaths can include, for example: drying and/or curing toolpaths (e.g., for drying actuators such as lamps and/or blowers; for sensors such as temperature and/or solvent sensors; etc.); tool maintenance toolpaths, such as tip cleaning, tool changing, and/or tool setting (e.g., automatic checking of nozzle-mill offsets, such as in the vertical direction and/or any other suitable directions); dust and/or debris removal toolpaths (e.g., employing a vacuum shroud, such as described above regarding the system); workpiece inspection toolpaths; temperature measurement and/or mapping toolpaths; toolpaths enabling comparison (e.g., optical comparison) to the oversize part, target part, and/or other virtual part; compaction toolpaths (e.g., including application of compaction pressure to the workpiece); and/or any other suitable toolpaths.
  • drying and/or curing toolpaths e.g.,
  • the drying and/or curing toolpaths can follow the deposition mechanism path, can move along a slow axis of a boustrophedonic deposition mechanism path, and/or can include any other suitable path.
  • the drying and/or curing toolpaths can optionally include closed-loop controls, wherein drying actuator toolpaths can be modified (e.g., movement rates and/or dwell times changed, waypoints added and/or removed, etc.) in response to measurements sampled by the sensors.
  • the dust and/or debris removal toolpaths can include, for example: following the cutting tool; activating a vacuum while the cutting tool is in use and/or deactivating the vacuum at other times; moving the shroud away from the cutting tool (e.g., opening up the shroud) in preparation for tool changes, then moving the shroud back toward the new tool after the change; and/or any other suitable toolpaths.
  • the workpiece inspection toolpaths can include, for example, controlling one or more sensors (e.g., surface quality sensors) to sample measurements of the workpiece, and optionally automatically correcting defects (e.g., surface voids) detected by the sensors (e.g., depositing material into the void, allowing the material to dry, and then machining the deposited material to achieve the desired dimensions and/or surface finish; resetting the layer by removing the defective layer (or a portion thereof), such as by facing, and then re-fabricating the removed portion, such as by repeating the additive and/or subtractive toolpaths associated with the layer; etc.).
  • S340 can additionally or alternatively include determining any other suitable auxiliary toolpaths in any suitable manner.
  • the determined toolpaths are preferably combined into a combined toolpath.
  • the combined toolpath preferably includes the internal surface toolpaths (e.g., facing toolpaths), the finishing toolpaths, the additive toolpaths, and any other suitable toolpaths.
  • the toolpaths are preferably combined based on the windows, the toolpath groups, the toolpath group ordering, and/or the determined toolpaths themselves, but can additionally or alternatively be combined based on any other suitable information.
  • S300 can additionally or alternatively include determining any other suitable toolpaths in any suitable manner.
  • Generating machine instructions based on the toolpaths S400 preferably functions to generate instructions that can be executed by the fabrication system (e.g., resulting in fabrication of the target part).
  • S400 can be part of and/or performed concurrently with S300 (e.g., wherein the toolpaths are directly generated as G-Code representations and/or other machine instructions), performed after (e.g., in response to) performance of S300 (e.g., generating machine instructions, such as G-Code, based on the toolpaths determined in S300), and/or performed with any other suitable timing.
  • the machine instructions can additionally or alternatively be generated in any other suitable manner.
  • Fabricating the target part based on the machine instructions preferably includes controlling the fabrication system based on the instructions.
  • S500 preferably includes providing the machine instructions to the fabrication system.
  • S500 is preferably performed following S400 (e.g., in response to S400; after S400 and in response to a trigger, such as a part fabrication request; etc.) but can additionally or alternatively be performed with any other suitable timing.
  • S500 can include fabricating one or more copies of the target part using one or more fabrication systems.
  • S500 can optionally include adjusting fabrication system operation based on calibration information (e.g., information determined in S600, etc.) and/or sensor measurements.
  • calibration information e.g., information determined in S600, etc.
  • sensor measurements e.g., the vertical and/or lateral position of the deposition mechanism and/or cutting tool (e.g., relative to the workpiece) can be altered based on the calibration information and/or sensor measurements (e.g., to compensate for undesired changes arising from fabrication system imperfections).
  • the sensor measurements can include measurements associated with fabrication system state (e.g., information associated with the calibration information, such as temperatures, loads, forces, etc.; direct calibration measurements, such as laser measurement devices and/or other sensors monitoring the position of anchor points of the fabrication system, paste deposition measurements, such as weight and/or visual measurements; etc.), part state (e.g., part quality inspection, such as described above), and/or any other suitable information.
  • S500 can additionally or alternatively include fabricating the target part in any other suitable manner.
  • Calibrating the fabrication system S600 preferably functions to determine calibration information associated with the fabrication system.
  • the calibration information can include, for example, actual positions of and/or distances between elements of the fabrication system under a variety of conditions, such as different temperatures, loads, forces, controlled element positions (e.g., nominal positions, positions measured by sensors such as encoders, etc.), and/or any other suitable parameters.
  • S600 is preferably performed before S500 (e.g., upon initial fabrication system commissioning), but can additionally or alternatively be performed substantially concurrent with S500 and/or with any other suitable timing.
  • calibrating the fabrication system S600 includes measuring known flat surfaces (e.g., granite blocks, thin precision metal plates, etc.), such as using contact and/or non-contact metrology tools, over a representative set of machine states (e.g., temperatures, loads, forces, controlled positions, etc.) to determine the compensation information.
  • the measured calibration information can be interpolated (and/or extrapolated) to determine calibration information for the actual (e.g., measured) fabrication system conditions.
  • S6oo can additionally or alternatively include calibrating the fabrication system in any other suitable manner, and the method can additionally or alternatively include any other suitable method elements.
  • the preferred embodiments include every combination and permutation of the various system components and the various method processes.
  • various processes of the preferred method can be embodied and/or implemented at least in part as a machine configured to receive a computer-readable medium storing computer-readable instructions.
  • the instructions are preferably executed by computer-executable components preferably integrated with the system.
  • the computer-readable medium can be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device.
  • the computer-executable component is preferably a general or application specific processing subsystem, but any suitable dedicated hardware device or hardware/firmware combination device can additionally or alternatively execute the instructions.
  • each block in the flowchart or block diagrams may represent a module, segment, step, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block can occur out of the order noted in the FIGURES. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Abstract

A method for facilitating part fabrication, such as by automated toolpath generation, can include one or more of: receiving a virtual part; modifying the virtual part; and/or determining toolpaths to fabricate the target part. The toolpaths preferably define an ordered series of additive and subtractive toolpaths, more preferably wherein the additive and subtractive toolpaths are interleaved, which can function to achieve high manufacturing efficiency and/or performance. The method can additionally or alternatively include: generating machine instructions based on the toolpaths; fabricating the target part based on the machine instructions; calibrating the fabrication system; and/ or any other suitable elements.

Description

METHOD AND SYSTEM FOR AUTOMATED TOOLPATH GENERATION
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application serial number 62/675,073., filed on 22-MAY-2018, which is incorporated in its entirety by this reference.
TECHNICAL FIELD
[0002] This invention relates generally to the part fabrication field, and more specifically to a new and useful method and system for automated toolpath generation in the part fabrication field.
BACKGROUND
[0003] Determination of toolpaths for part fabrication, especially fabrication by combined additive and subtractive fabrication techniques, can be a complex and/or time-consuming task. Further, such toolpaths may result in fabrication inefficiencies, such as time and/ or material inefficiencies. Thus, there is a need in the part fabrication field to create a new and useful method and system for automated toolpath generation.
BRIEF DESCRIPTION OF THE FIGURES
[0004] FIGURE 1 is a flowchart representation of an embodiment of the method.
[0005] FIGURE 2 is a flowchart representation of an embodiment of determining toolpaths.
[0006] FIGURES 3A-3B depict top views of a planar and non-planar subtractive toolpath, respectively, for an interior surface.
[0007] FIGURE 4 depicts a side view of a first embodiment of vertical surface fabrication. [0008] FIGURES 5A-5C depict side views of a second embodiment of vertical surface fabrication, before, during, and after performance of a subtractive fabrication window, respectively.
[0009] FIGURE 6A depicts a side view of an example of a target part.
[0010] FIGURES 6B-6C depict an example fabrication plan associated with the example of the target part.
[0011] FIGURE 7A depicts a cross-sectional view, normal to a part orientation vector, of a target part.
[0012] FIGURE 7B depicts a detail region of the cross-sectional view of the target part of FIGURE 7A, superimposed on a dilated part and a dilated-and-eroded part.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.
1. Overview.
[0014] A method 10 for facilitating part fabrication (e.g., via automated toolpath generation) preferably includes (e.g., as shown in FIGURE 1): receiving a virtual part S100; modifying the virtual part S200; and determining toolpaths to fabricate the target part S300. The method 10 can additionally or alternatively include: generating machine instructions based on the toolpaths S400; fabricating the target part based on the machine instructions S500; calibrating the fabrication system S600; and/or any other suitable elements.
[0015] The method 10 is preferably performed using a system 20 for automated toolpath generation and/or part fabrication. The system 20 preferably includes a computing system and/or a fabrication system, and can additionally or alternatively include any other suitable elements. [0016] However, the method io can additionally or alternatively be performed using any other suitable system(s), and the system 20 can additionally or alternatively be used to perform any other suitable method(s).
2. Benefits.
[0017] Embodiments of the method 10 and/or system 20 can confer a number of benefits. First, the method 10 and/or system 20 can function to achieve improved fabrication performance and/or efficiency (e.g., time and/or material efficiency). For example, in embodiments in which minimal additional material is deposited beyond the target part dimensions, material waste is reduced, and most subtractive fabrication time contributes directly to part finish, rather than rough material removal. Fewer cutting tools may be required, which can reduce tool change time during fabrication. Further (e.g., due to the application of subtractive fabrication techniques to green bodies rather than sintered materials or unitary metals), fast, high-quality material removal can be achieved, even using small cutting tools (e.g., endmills with diameters such as 0.010- 0.050”).
[0018] Second, embodiments of the method 10 and/or system 20 can enable an automated or semi-automated workflow. For example, input files (e.g., virtual parts) may not require human pre-processing, and no special skills or training (e.g., specific to the combined additive and subtraction techniques of the system) may be required. In some examples, no human intervention is required during performance of the method 10 (e.g., after receiving the virtual part S100, method elements such as all or any of S200-S600 can be performed autonomously). However, the method 10 and/or system 20 can additionally or alternatively confer any other suitable benefits.
3. System.
[0019] The system 20 preferably includes a fabrication system (e.g., as described in US Patent Application Number 15/705,548, entitled“System and Method for Additive Metal Manufacturing” and filed 15-SEP-2017, which is hereby incorporated in its entirety by this reference), more preferably a system configured to perform both additive and subtractive fabrication tasks. The fabrication system preferably includes one or more: deposition mechanisms (e.g., including a print material dispenser, such as a needle or other nozzle), material removal mechanisms, and movement mechanisms, and can additionally or alternatively include any other suitable elements.
[0020] The fabrication system (e.g., the deposition mechanism) is preferably operable to fabricate metal parts by depositing precursor material such as a paste (e.g., as described is US Patent Application Number 15/594,472, entitled“Sinterable Metal Paste for use in Additive Manufacturing” and filed 12-MAY-2017), preferably a binderless paste that forms a high-density green body. However, the deposition mechanism and/or other elements of the fabrication system can additionally or alternatively be operable to fabricate parts (e.g., metal parts) in any other suitable manner.
[0021] The material removal mechanism preferably includes one or more milling tools, and is preferably configured to automatically change between different milling tools (e.g., using an automatic tool changer). The milling tools can include, for example, end mills (e.g., square, radiused, ball, spherical, keyseat cutters, chamfering, etc.), fly cutters, facing tools, and/or any other suitable milling tools.
[0022] The movement mechanisms (e.g., translation mechanisms such as linear actuators, rotation mechanisms such as rotary actuators, etc.) are preferably mechanisms configured to reposition the manufactured part (e.g., during fabrication) relative to the deposition and/or material removal mechanisms (e.g., by moving the part, such as by moving a stage on which the part is supported and/ or to which the part is affixed; by moving the deposition and/or material removal mechanisms; etc.). Motion of the movement mechanisms is preferably controlled electronically (e.g., CNC movement mechanisms) but can additionally or alternatively be controlled in any other suitable manner.
[0023] The system 20 preferably includes one or more computing systems (e.g., configured to communicate with and/or control operation of the fabrication systems, etc.). The computing systems can include computing devices integrated with (e.g., embedded in, directly connected to, etc.) the fabrication system(s), user devices (e.g., smart phone, tablet, laptop and/or desktop computer, etc.), remote servers (e.g., internet-connected servers, such as those hosted by a toolpath generation service provider and/or fabrication system manufacturer), and/or any other suitable computing systems.
[0024] However, the system 20 can additionally or alternatively include any other suitable elements in any suitable arrangement.
4. Method.
4.1 Receiving a virtual part.
[0025] Receiving a virtual part S100 preferably functions to determine parameters of the part to be fabricated (e.g., for which fabrication toolpaths should be generated). The virtual part is preferably a computer representation of a physical object, such as a CAD file (e.g., file in a format such as STEP, STL, etc.). The virtual part is preferably received by the computing system. The virtual part can be received from another computing system, from a virtual parts database, from a user (e.g., using a CAD application running on the computing system), from a set of one or more sensors (e.g., 3D scanning system), and/ or from any other suitable entities. However, the virtual part can additionally or alternatively be received in any other suitable manner.
4.2 Modifying the virtual part.
[0026] Modifying the virtual part S200 preferably functions to adapt the received virtual part (the original part) for fabrication. S200 is preferably performed by the computing system (and/ or another computing system), and is preferably performed in response to receiving the virtual part S100, but can additionally or alternatively be performed by any suitable entity or entities with any suitable timing.
[0027] S200 optionally includes determining a part orientation. The orientation can be an orientation associated with the original part or can be determined based on fabrication criteria. In a first example, a broad face of the part is selected as a bottom face (e.g., wherein a vertical axis orientation is defined as normal to the bottom face and/or a vertical position is defined as zero at the bottom face), which can facilitate fixturing and/or adhesion to the fabrication system stage. In a second example, a concave surface is selected as an upward-facing surface (e.g., wherein no other portion of the part is above the concave surface), which can reduce overhanging features, thereby facilitating subtractive fabrication processes. However, the orientation can be selected in any suitable manner.
[0028] S200 preferably includes compensating for fabricated part shrinkage and/or deformation (e.g., caused by post -fabrication processing, such as sintering), thereby generating a target part (e.g., target part to be fabricated in S500) based on the original part. For example, the original part can be scaled up (e.g., uniformly, such as by a predefined factor; non-uniformly, such as based on shrinkage modeling; etc.) to generate the target part.
[0029] S200 preferably includes expanding features of the part along one or more dimensions (e.g., width, height, etc.), thereby generating an oversize part, preferably based on the target part, but alternatively based on the original part and/ or any other suitable virtual part. The oversize part can function as a target for additive fabrication (e.g., target for fabrication in the absence of any subtractive fabrication). Such expansion can allow for consistent material removal during subtractive fabrication (e.g., ensuring good surface finish, reducing and/or eliminating exterior voids, etc.).
[0030] Expanding the features can include, for example, expanding each feature of the part in all lateral directions (e.g., all directions normal to a layering axis, such as a vertical axis, all directions contained within a plane, such as an additive slice, etc.) and/ or expanding each feature of the part in the vertical direction by a height expansion constant (e.g., predetermined constant, such as 5-75 pm, 5-75% of the deposition layer thickness, etc.). In some examples, one or more negative part features (e.g., pockets and/ or holes, such as small-diameter holes) may shrink to zero or near-zero size by this expansion; such negative features that would shrink to near-zero size (e.g., defining a dimension, such as width or depth, below a threshold value) can optionally instead by shrunk to zero size (e.g., wherein additional subtractive fabrication will be used to achieve the desired feature). [0031] In a first embodiment, this expansion is achieved through one or more dilation operations. A dilation operation results in a dilated shape, defined as the shape that would be formed by tracing a dilation tool (e.g., a circle, sphere, cylinder, etc.) along the exterior surface of the original shape (the shape being dilated, such as the target part), wherein the dilated shape is equal to the union of the original shape and the entire volume traced by the dilation tool. The dilation tool can have a predetermined size (e.g., diameter), such as 50-750 pm or 5-75% of the deposition road width, can have a dynamically-determined size (e.g., determined based on the part geometry), and/or can have any other suitable size. In one variation of this embodiment, the dilation operation(s) are followed by one or more erosion operations, wherein the exterior surfaces of the dilated shape are moved inward by a fixed distance (preferably by less than the size of the dilation tool, such as 10-90% of the dilation tool size), such as shown by way of example in FIGURES 7A-7B. In a second embodiment, this expansion is achieved by expanding each feature of the part in all lateral directions by a width expansion constant (e.g., predetermined constant, such as 50-750 pm, 5-75% of the deposition road width, etc.). However, the part can additionally or alternatively be expanded in any other suitable manner.
[0032] S200 can optionally include adding support features to the part(s) (e.g., to the original part, target part, oversize part, etc.). The support features can function to support high aspect ratio and/or overhanging part features, form molds for part features, and/or provide any other suitable functions. The support features can be determined before determining toolpaths to fabricate the target part S300 (e.g., performed concurrently with and/or immediately following other aspects of S200), can be determined concurrent with S300 (e.g., concurrent with S320), and/or can be determined at any other suitable time.
[0033] S200 can optionally include identifying regions (e.g., volumes) that can and/ or will be modified to reduce their density (e.g., for the purpose of lightweighting the part), such as by dispensing infilled regions at less than 100% infill and/or not filling the regions. Lightweighting can function, for example, to speed print time and/or conserve material. Such volumes can be identified manually (e.g., by a user and/or designer), such as being specified in the received virtual part, can be automatically identified (e.g. as a function of allowable distance from surface), and/or can be identified in any other suitable manner. In response to identification of such volumes, S200 preferably includes modifying the virtual part such that all or some of the identified volumes include no infill and/or only partial infill (e.g. 15, 25, 35, 45, 50, 55, 65, 75, 85, 0-15, 15-40, 40-60, 60-85, or 85-100% infill, etc.).
[0034] The support features preferably correspond to structures to be fabricated
(e.g., via additive fabrication) using one or more support materials (e.g., as described in US Patent Application Number 15/705,548, entitled“System and Method for Additive Metal Manufacturing” and filed 15-SEP-2017, which is hereby incorporated in its entirety by this reference) different from the primary material (e.g., material used to fabricate the target part, such as a metal paste), such as wherein the support material can be removed (e.g., by melting, dissolution, decomposition, evaporation, mechanical removal, etc.) after fabrication of the structures it supports. However, the support features can additionally or alternatively be fabricated using the primary material (e.g., wherein the support features are removed by subtractive fabrication techniques after fabrication of the structures they support, wherein the support features are not removed, etc.).
[0035] However, S200 can additionally or alternatively include any other suitable elements performed in any suitable manner.
4.3 Determining fabrication toolpaths.
[0036] Determining toolpaths to fabricate the target part S300 preferably functions to generate efficient toolpaths for the fabrication system. S300 preferably includes determining additive toolpaths S320 and determining and interspersing subtractive toolpaths S330 (e.g., as shown in FIGURE 2). S300 can optionally include determining setup toolpaths S310, determining and interspersing auxiliary toolpaths S340, and/or any other suitable elements. S300 is preferably performed after (e.g., in response to) S200, but can additionally or alternatively be performed at any other suitable time.
[0037] Determining setup toolpaths S310 preferably functions to generate toolpaths associated with preparing a fabrication system stage (e.g., bed) for part fabrication. The setup toolpaths can include additive toolpaths (e.g., depositing primary and/ or support material on which the part can be fabricated, preferably to create a flat horizontal surface for deposition; depositing adhesive material to affix the part during fabrication, etc.), subtractive toolpaths (e.g., facing the stage and/or deposited material, or a portion thereof, such as to create a flat horizontal surface for deposition), and/or any other suitable toolpaths. Such setup toolpaths can function to compensate for non planarity and/or misalignment of the stage, non-linearity and/or other defects (e.g., leading to a reduction in accuracy of the gantry), and/ or any other suitable aspects of the fabrication system.
[0038] Determining additive toolpaths S320 preferably functions to generate material deposition toolpaths (e.g., corresponding to the oversize part). S320 preferably includes determining additive volumes (e.g., additive slices) and determining additive toolpaths for each volume, and can additionally or alternatively include determining support material toolpaths and/ or any other suitable elements.
[0039] Determining additive volumes preferably includes slicing the part (e.g., the oversize part) horizontally, but can additionally or alternatively include slicing the part vertically and/or at an oblique angle (e.g., to the vertical axis), defining volumes with non-planar boundaries, and/or separating the part into any other suitable volumes (preferably a set of volumes that collectively span the entire part, more preferably being substantially mutually non-overlapping). The volumes are preferably parallel to each other (e.g., and regularly spaced), but can alternatively have any suitable relative orientations. Each volume preferably corresponds to a single deposition layer, but can alternatively correspond to multiple deposition layers. The slices preferably have equal thicknesses (e.g., equal to the deposition layer thickness, preferably accounting for additional material in the deposited layer that can be removed by subtractive machining, such as an additional 5-150 pm), but the slice thickness can additionally or alternatively be dynamically determined (e.g., thickness proportional to the lowest sidewall slope of a slice and/or group of slices, thickness altered to compensate for overhang features, etc.). For example, slice thickness (and/or deposition layer thickness) can be reduced for slices that include printing overhangs (e.g., wherein one or more roads of the deposition layer include printing material not entirely supported by the deposition layer below), which can help achieve greater printing fidelity (e.g., avoiding deformation of printed material due to surface tension effects, such as movement of printed material away from the overhanging edge). In specific examples, the deposition layer thickness and/or slice thickness can be 5, 10, 20, 30, 40, 50, 60, 70, 75, 80, 85, 90, 95, 100, 105, no, 120, 150, 3-10, 10-30, 30-60, 60-75, 75-100, 100- 130, and/or 130-200 pm, but can additionally or alternatively include any other suitable thicknesses.
[0040] Determining additive toolpaths for each volume (e.g., slice) preferably functions to determine paths (e.g., lateral and/or substantially lateral paths) for filling the desired areas with adjacent roads of deposited material (e.g., roads of substantially equal width, such as 0.5-2 mm wide).
[0041] In one embodiment, the additive toolpaths for a volume include an infill section that provides coverage for the interior of a feature (e.g., following a rectilinear pattern such as spiral, boustrophedon, etc.), followed and/or preceded by one or more (e.g., several, such as 2, 3, 4-6, etc.) perimeters, typically printed concentrically from the infill section outward (e.g., following a path associated with the perimeter of the feature in the oversize part), that cover the remainder of the feature. However, this approach may result in one or more detrimental effects when the toolpaths are implemented (e.g., detriments to the printed layer and/or part). For example, portions of the infill may exhibit higher thickness and/ or edge roughness (e.g., as compared with the majority of the printed material), due to abrupt direction changes (e.g., at corners of the rectilinear pattern, at gaps associated with concavities of a non-rectangular feature cross-section, etc.). Subsequent perimeter lines may form voids at these rough interfaces, which can result in poor material properties, especially for multiple consecutive layers that all exhibit such voids in substantially the same lateral position (e.g., at the infill-perimeter junction). Additionally or alternatively, shrinkage of deposited material, such as due to drying of a paste or other deposited material (e.g., due to increased material packing of the dried material), can reduce dimensional precision of the printed slice (e.g., especially due to stack-up of shrinkage from multiple roads, inconsistent shrinkage due to partial drying of some or all deposited material, etc.). Deformation of deposited material (e.g., undried material), such as due to mechanical forces exerted by additional material deposited in contact with the material (e.g., adjacent printed roads of material), can also reduce dimensional precision. However, one or more variations of this embodiment can be implemented, which may alleviate or eliminate such detrimental effects.
[0042] In a first variation, one or more subtractive fabrication techniques, such as contouring (e.g., infill sidewall contouring) and/or facing, can be included between infill and perimeter deposition. Such contouring can provide a flat surface abutting the perimeter roads, which can reduce the generation of voids at the infill-perimeter junction. Facing in this manner can enable control of the height of infill turnarounds (e.g. where deposition abruptly changes direction, such as at the edge of a deposited area), which can facilitate perimeter deposition (e.g., by enabling the deposition needle to print a perimeter without hitting raised sections of infill turnarounds).
[0043] In a second variation, the position (e.g., relative to the desired exterior surface) of the infill-perimeter junction can be changed for different slices (e.g., alternating between two different junction positions). For example, a first slice can include toolpaths defining an infill-perimeter junction at a standard location (e.g., including l, 2, or 3 perimeter roads around the infill, etc.), a second slice (e.g., adjacent to the first slice) can define a slightly smaller infill region (e.g., including 1-3 extra perimeter roads as compared with the first slice), a third slice (e.g., adjacent to the second slice) can use the same junction position as the first slice, a fourth slice (e.g., adjacent to the third slice) can use the same junction position as the second slice, and so on.
[0044] In a third variation, some deposited material can be dried, preferably fully dried or dried such that substantially all shrinkage has occurred (e.g., using auxiliary toolpaths such as described below, waiting until a threshold drying time interval has elapsed, etc.), before depositing additional (e.g., adjacent and/or contacting) material. For example, an ordered series of toolpaths for printing a set of perimeters can include: a toolpath for printing an inner perimeter, followed by a drying toolpath (e.g., associated with one or more drying tools, such as lamps and/or fans) for drying the material of the inner perimeter, followed by a toolpath for printing an outer perimeter (e.g., defining a portion of the external surface of the expanded part) that contacts the inner perimeter.
[0045] A fourth variation includes use of two or more of the variations described above, such as: the use of both subtractive fabrication techniques (e.g., facing and/or infill sidewall contouring) and infill-perimeter junction position alternation. However, detrimental effects can optionally be mitigated in any other suitable manner.
[0046] The additive toolpaths can optionally include different deposition parameters, such as deposition parameters determined based on the deposition detail desired for a particular region of the fabricated part. The deposition parameters can include, for example, the nozzle-surface vertical spacing, extrusion ratio (defined as the amount of extruder motion as a function of nozzle-surface travel), and/or any other suitable parameters. In a first example, a large vertical spacing and fast extrusion speed (e.g., high extrusion ratio) is used to achieve high liquid velocity (e.g., and commensurately high shear of the deposited material), which can result in fast settling to the final layer thickness. These conditions can be used to help avoid nozzle collisions with previously-deposited material, and are preferably used for broader area and/or lower-detail features of the fabricated part. In a second example, a small vertical spacing and slow extrusion speed is used to achieve low liquid velocity (e.g., and lower shear flow), which can reduce slumping and/or settling of the deposited material, thereby enabling additive fabrication of finer features (and therefore preferably used for such features). However, the additive toolpaths can additionally or alternatively include any other suitable deposition parameters.
[0047] The deposition parameters are preferably changed dynamically throughout each toolpath, more preferably with each parameter independently controllable at any point along the toolpath (e.g., feed rate automatically controlled as a function of road length, road angle with respect to previous and/or next road, whether perimeter or infill is currently being deposited, allowable distance error from ideal toolpath, etc.), but can alternatively be fixed within a single (e.g., and alterable between different) additive road, toolpath, slice, and/or fabricated part. In variations in which the deposition parameters are altered with lower granularity (e.g., fixed for an entire road), the parameters are preferably set to the most conservative values needed to achieve the detail required, but can alternatively be set to less conservative values (e.g., compromising some finer details to achieve a faster print speed) and/or to any other suitable values.
[0048] The additive toolpaths can optionally include height adjustments to achieve the desired needle-workpiece vertical spacing (e.g., to maintain constant spacing, to control the spacing such as described above, etc.). In some embodiments, tight control over the vertical spacing can be important to enable excellent control of the material deposition. The height adjustments can be determined, for example, based on calibration information, and are preferably employed to compensate for shifting height corresponding to changes in aspects of the fabrication system, such as lateral positions (e.g., of the workpiece and/ or deposition mechanism), temperatures, and/ or loads. Such height adjustments can additionally or alternatively be determined during S500 (e.g., as described below in further detail) and/or at any other suitable time.
[0049] The additive toolpaths can optionally include (e.g., for small features, such as features defining one or more dimensions smaller than a threshold size) dilating aspects of the feature in the additive toolpath (e.g., to achieve a minimum printed feature size). In such instances, subtractive fabrication techniques (e.g., milling) can be used to achieve the desired feature of the target part. This approach can function to reduce fabrication errors associated with deposition of very small features. The features on which this approach is employed are preferably contained within a single window (e.g., additive and/or subtractive window), but can additionally or alternatively include features that span multiple windows and/or any other suitable features.
[0050] The additive toolpaths can optionally include support material toolpaths. The support material associated with the toolpaths can function to, for example: support subsequently deposited features of the part, such as high aspect ratio and/or overhanging features; form molds for subsequently deposited features; and/or protect previously deposited and/or finished surfaces (e.g., surfaces finished by milling). The support material toolpaths preferably correspond to deposition of a support material different from the primary material, but can additionally or alternatively include deposition of the primary material. The support material toolpaths can be followed by the same deposition mechanism used for part deposition and/or a different deposition mechanism.
[0051] All or some of S320 (e.g., additive slice determination, additive toolpath generation, etc.) can optionally be performed using standard fused deposition modeling (FDM) software tools (e.g., Slic3r, Prusa, etc.), modified versions thereof, and/or any other suitable software tools. S320 can additionally or alternatively include determining the additive toolpaths in any other suitable manner.
[0052] Determining and interspersing subtractive toolpaths S330 preferably functions to generate subtractive toolpaths for fabricating the target part (e.g., from the oversize part or portions thereof, in cooperation with the additive toolpaths, etc.). The subtractive toolpaths can include toolpaths corresponding to internal part surfaces (e.g., interfaces of the final fabricated part, such as the interface between two adjacent additive layers), external part surfaces (e.g., exposed surfaces of the final fabricated part), and/ or any other suitable subtractive toolpaths.
[0053] Subtractive toolpaths corresponding to internal part surfaces (e.g., toolpaths touching internal part surfaces, such as surfaces that will be encased inside a part by further additive steps) preferably include facing toolpaths (e.g., facing of temporary top surfaces, such as the exposed top surfaces of recently-deposited additive layers). Such facing can function to provide a flat surface for deposition of subsequent additive layers. These facing toolpaths are preferably fast and/ or rough, and preferably employ a large cutting tool (end mill, face mill, other facing tool such as a fly cutter, etc.) relative to other subtractive toolpaths, such as external surface finishing toolpaths.
[0054] The faced surfaces preferably include the current top of the fabricated piece, such as the top of the most recently deposited additive slice, but can additionally or alternatively include any other suitable surfaces. The faced surfaces are preferably substantially horizontal, but can additionally or alternatively include surfaces of any other suitable orientation.
[0055] Every additive layer is preferably faced, but alternatively only a subset of additive layers can be faced (e.g., every set number of layers, such as 2, 3, 4, 5, 6-10, etc.; after a threshold deposition thickness, such as 0.05, 0.1, 0.2, 0.5, 1, or 2 mm, etc.; only when facing is required and/or expected to benefit part fabrication, such as in response to determining that the surface planarity, roughness, and/or error, such as error with respect to a nominal and/or target height, is worse than a threshold value; etc.).
[0056] Although referred to as facing toolpaths, a person of skill in the art will recognize that such toolpaths can additionally or alternatively include non-planar machining of the internal surfaces (e.g., to prepare the surface for subsequent deposition). For example, such non-planar surfaces can function to compensate for subsequent deposition of non-uniform thickness. In one embodiment (e.g., in which the deposition mechanism includes a spray tool with a conical focus and a large deposition radius), in which the additive toolpaths produce thinner deposition near the edge of a layer than in the interior of the layer, the machined internal surface can deviate upward from the plane (e.g., curve upward from a substantially horizontal plane) near the edge, thereby compensating for the reduced material deposition at the edge (e.g., as shown in FIGURE 3B, such as in contrast to FIGURE 3A in which a planar facing toolpath is depicted). This deviation can include a fixed deviation (e.g., curvature) at each edge, can be determined dynamically (e.g., based on the following additive toolpath, such as by modelling the expected layer thickness from the toolpath and determining a profile accordingly, preferably to achieve a substantially flat surface after printing), and/ or can be determined in any other suitable manner. However, the subtractive toolpaths can additionally or alternatively include toolpaths for machining the internal surfaces in any other suitable manner.
[0057] Subtractive toolpaths corresponding to external part surfaces preferably include finishing toolpaths. Such toolpaths preferably function to efficiently achieve a high quality surface finish in a part with the desired part dimensions (e.g., corresponding to the target part). The toolpaths can additionally or alternatively include roughing toolpaths, but the additive process preferably yields structures (e.g., of the oversize part) that do not require roughing (e.g., for which finishing can be performed directly on the deposited material, without intervening subtractive techniques). Determining and interspersing the external surface toolpaths (e.g., finishing toolpaths) preferably includes: determining one or more cutting tools; determining subtractive volumes; determining additive and subtractive windows; within each subtractive window, grouping potential toolpath segments; for each group, selecting a cutting tool and determining toolpaths; and/or combining the toolpaths.
[0058] Determining one or more cutting tools preferably functions to determine a set of cutting tools that can or will be used to perform the subtractive toolpaths (e.g., cutting tools available in a fabrication system, cutting tools to be considered when determining subtractive toolpaths, etc.). The cutting tools can include end mills (e.g., square, radiused, ball end, etc.), keyseat cutters, face mills, fly cutters, and/or any other suitable cutting tools, preferably including multiple sizes (e.g., radiuses, lengths, etc.) of cutting tools. However, the cutting tools can additionally or alternatively include any other suitable tools.
[0059] The subtractive volumes (e.g., subtractive slices) are preferably horizontal slices and/ or slices parallel to the additive slices, but can alternatively include any other suitable slices and/or other volumes (e.g., volumes such as described above regarding S320). The subtractive volumes can be the same as or different from the additive volumes. The subtractive volumes are preferably a set of volumes that collectively span the entire part and/or the entire surface of the part (e.g., of the target part, oversize part, etc.). The subtractive volumes can be mutually non-overlapping or substantially mutually non-overlapping, can have some overlap (e.g., to provide for smooth transitions between volumes, to ensure full coverage of the fabricated part surfaces by the subtractive toolpaths, etc.). In some embodiments, all or some subtractive volumes can be interleaved into additive volumes (e.g., by employing tool avoidance techniques). The subtractive volumes can optionally be defined based on the cutting tool and/or part geometry (e.g., wherein a subtractive volumes corresponds to a single cutting tool pass of a waterline contour path), but can additionally or alternatively be determined based on any other suitable information.
[0060] Determining additive and subtractive windows preferably functions to determine groups for continuous additive and subtractive fabrication (e.g., additive windows without intervening subtractive fabrication, subtractive windows without intervening additive fabrication). The windows are preferably groups of volumes (e.g., additive volumes for additive windows, subtractive volumes for subtractive windows), more preferably adjacent volumes. Determining the windows preferably includes determining a window ordering.
[0061] The windows (and ordering thereof) are preferably determined based on one or more of the following criteria. First, a cutting tool (e.g., end mill) can preferably reach all surfaces of a subtractive window (e.g., the surfaces to be milled) without the tool crashing (e.g., into the partially-fabricated part), preferably determined based on the fabrication progress from all windows preceding the subtractive window under consideration. Tool crashes could potentially occur with the top surfaces, sides, and/or any other portions of the part. While machining high-angle regions (e.g., vertical and/ or near- vertical side-walls, features beneath overhangs, etc.), small subtractive windows may be selected, undercutting tools (e.g., undercut end mills such as ball end mills, keyseat cutters, etc.) may be used for subtractive milling within the window, and/ or any other suitable precautions maybe employed (e.g., to avoid tool crashes).
[0062] Second, subsequent additive and subtractive windows preferably do not damage portions of the part (e.g., surfaces) that have already been finished. For example, as described above, additive layers are preferably printed with material greater than the target part (e.g., corresponding to the oversize part), which enables subsequent subtractive fabrication to achieve a high-quality surface finish with the target part dimensions. However, material printed on top of (e.g., and overhanging) a surface that has already been finished may drip and/or collapse onto the finished surface, thereby damaging it. Thus, the windows and ordering thereof are preferably determined to avoid such damage. [0063] In a first variation, a subtractive window in which a set of surfaces are finished is preferably not scheduled before an additive window that includes printing onto (and/or adjacent to, such as close enough that printed material may spread onto) any of the surfaces of the set (e.g., thereby avoiding printing onto finished surfaces). In one example (e.g., in which the target part includes a tall vertical or near-vertical surface, such as a surface taller than the cutting region length of the longest cutting tool available for use finishing the surface), the surface can be fabricated over a series of alternating additive and subtractive windows, including (e.g., as shown in FIGURE 4): in a first additive window, depositing a first set of layers; in a first subtractive window, using an undercutting tool to finish the vertical surface portion of the first set of layers, except for a top portion (e.g., the top layer or layers, a top fraction of the top layer, etc.); in a second additive window, depositing a second set of layers on top of the top portion (e.g., wherein the layers are deposited onto the unfinished surface, but not onto the finished surface below); in a second subtractive window, using an undercutting tool (e.g., the same undercutting tool, a different tool, etc.) to finish the vertical surface portion of the second set of layers (along with the unfinished portion of the first set of layers); and so on, until a final subtractive window, in which the entire remaining unfinished vertical surface is preferably finished (e.g., using a standard, non undercutting tool; using the undercutting tool; etc.).
[0064] In a second variation, overhang control is preferably employed for additive fabrication onto and/or adjacent to finished surfaces. To achieve such control when depositing overhanging layers onto already-finished surfaces, each subsequent layer within the additive window can overfill (e.g., overhang the finished surface, exceed the target part dimensions, etc.) by an increasing amount (e.g., up to a maximum overfill), thereby creating a controlled overhang above the finished surface. In one example (e.g., as shown in FIGURES 5A-5C), the first deposited layer of the additive window can overhang by a first amount (e.g., less than the amount dictated by the oversize part but greater than that dictated by the target part), such as 10-25, 10-50, or 10-100 pm, and all subsequent deposited layers of the additive window can overhang by a second amount (e.g., as dictated by the oversize part), such as 25-50, 25-100, or 25-150 pm. In this example, all the overhanging layers can then be finished in a single subtractive window, and additional overhanging layers can then be deposited on top of them (e.g., using overhang control, such as described in this example) and subsequently finished. Additionally or alternatively, printing velocity can be reduced when depositing onto and/ or adjacent to the finished surfaces, which can reduce the risk of deposited material spreading onto and/or damaging the finished surfaces. However, damage to finished surfaces can additionally or alternatively be mitigated and/or prevented in any other suitable manner.
[0065] Third, the additive windows are preferably as large as possible (e.g., the most slices possible, the greatest height possible, etc.) without violating the first and second criteria. However, the additive and/or subtractive windows and their ordering can additionally or alternatively be determined in any other suitable manner.
[0066] Within each subtractive window, the potential toolpath segments (e.g., a single tool pass along a surface, a single surface portion of a volume, etc.) are preferably grouped by surface. This grouping preferably functions to determine toolpath groups (e.g., which can optionally be treated as indivisible units for subsequent toolpath determination). Each potential toolpath segment does not necessarily correspond to a segment of a real toolpath, but can additionally or alternatively refer to any suitable portion of one or more surfaces.
[0067] In some embodiments, the subtractive volumes and/or windows can be determined based on such surfaces (e.g., based on the shape, size, location, and/ or any other suitable characteristics of the surfaces). In one such embodiment, the part to be fabricated defines multiple surfaces (and/or surface features) at overlapping (e.g., staggered) heights (e.g., along a part orientation vector defined normal to a horizontal plane, normal to a support and/or deposition plane of the part, etc.), such as shown by way of example in FIGURE 6A. For such a part, if the subtractive volumes and/or windows were defined by parallel planar slices (e.g., horizontal slices), they would either separate one or more such surfaces across multiple volumes (which may be detrimental for part fabrication quality, subtractive machining efficiency, etc.), or a single subtractive volume would encompass all the surfaces of overlapping heights (which may not be feasible, may not enable a high-efficiency set of toolpaths, etc.). In contrast, by defining subtractive volumes and/or windows using non-parallel and/or non-planar boundaries, the surfaces can be each contained within single volumes and/ or windows of a feasible size (e.g., as shown in FIGURE 6C). Thus, subtractive machining for each surface (or a subset thereof) can be performed in a single window associated with the surface. Preferably, the toolpaths determined in this manner result in, for each feature associated with (e.g., defining) one of these surfaces, depositing the entire feature (via the additive toolpaths) before machining the surface associated with the feature (via the subtractive toolpaths), such as shown by way of example in FIGURES 6B-6C.
[0068] Determining the toolpath groups preferably includes classifying the potential toolpath segments by surface type. Such surface types can include, for example: surfaces indicated (e.g., in the received virtual part) as unimportant (e.g., surfaces for which poor tolerances and/or surface finish are acceptable); surfaces under an overhang (e.g., considering features present at the time the current window is executed, based on the ordering of windows as described above; not considering features deposited in subsequent windows); horizontal surfaces; and/or all other surfaces.
[0069] Some or all surfaces (e.g., expansive surfaces, such as surfaces greater than a threshold area, or greater than a threshold fraction of the total surface area; surfaces with highly non-uniform feature complexity and/or size; etc.) can optionally be further separated into sub-surfaces. For example, a surface can be separated such that each sub surface group is optimal and/or acceptable for subtractive fabrication using a single cutting tool (e.g., determined based on feature size, surface gradient, etc.).
[0070] Some (or all) toolpath groups can optionally extend across windows (e.g., segments of the same multi-window-spanning surface can be combined and treated as if they are all part of the same window). For example, a vertical surface (or, for a fabrication system with more than 3-axis control, any other suitable flat surface, such as a surface that can be oriented parallel to the cutting tool) can be grouped across subtractive windows, such as by deferring lower segments of the surface to later (higher) windows. In this example, a single finishing pass (e.g., with a long cutting tool) can be used to finish all the surface segments together, rather than using a separate pass (e.g., with a shorter cutting tool) for each segment. However, the toolpath groups can additionally or alternatively be determined in any other suitable manner.
[0071] A cutting tool is preferably selected for each toolpath group (e.g., each toolpath group within the subtractive window). The cutting tool is preferably selected based on one or more of the following criteria. First, the largest available tool that can achieve an acceptable result (e.g., acceptable surface finish; minimal deviation from specified dimensions, such as deviation below a threshold value; etc.) is preferably selected for a toolpath group. Second, the number of and/or time spent performing tool changes is preferably minimized. When these criteria conflict, one can be prioritized over the other, or an optimal balance between the two (e.g., based on an objective function) can be used. For example, the total time required to execute all the toolpaths of a subtractive window (e.g., including machining time, such as determined based on the acceptable feed rate and path length for the selected tool(s); tool change time; auxiliary toolpath time; etc.) can be minimized. Cutting tool selection can additionally or alternatively include attempting to reduce (e.g., minimize) the total number of tools used (e.g., for a part or set of parts), which can reduce the complexity of the fabrication system required to perform the method, and/or attempting to optimize any other suitable parameters.
[0072] For toolpath groups classified based on surface type, the classifications can be used to determine or help determine the cutting tool selection. In one embodiment, cutting tools can be selected based on toolpath group classifications as described below.
[0073] Unimportant groups can be ignored (e.g., no cutting tool selected, no subtractive toolpaths included). Surfaces under an overhang can be ignored (e.g., if the fabrication system is incapable of machining them as desired), or can be associated with an undercutting tool (e.g., keyseat cutter, ball end mill with a ball end greater than a hemisphere, such as a 270° ball end, etc.). In one example, lower surfaces under an overhang are contoured (e.g., by an undercutting tool), and higher surfaces (e.g., unreachable by the undercutting tool due to diminishing size of a horizontal aperture into the region of the surfaces following printing of additional overhanging layers) are ignored. Horizontal surfaces are preferably associated with a facing tool (e.g., square or square radiused end mill, face mill, fly cutter, etc.), more preferably a large diameter facing tool. Vertical surfaces are preferably associated with a long (and/or large diameter) milling tool, especially if the group spans multiple subtractive windows. In examples in which a vertical surface intersects a horizontal surface (e.g., with no fillet at the intersection), the vertical surface can be associated with a square endmill, wherein milling of the vertical surface and horizontal surface (e.g., near the intersection with the vertical surface) can optionally be performed (e.g., concurrently) by the same square endmill.
[0074] All other surfaces (e.g., surfaces requiring 3D contouring) are preferably associated with a ball end mill (e.g., hemispherical ball end mill). These surfaces are preferably associated with the largest tool compatible with the features required. In one example, tool compatibility is determined by determining (e.g., computing) the error between the generated toolpath (e.g., determined as described below) required for the tool and the desired edge of a slice. If the error exceeds a threshold value, a smaller tool is preferably selected (e.g., computing the error associated with tools in order of descending diameter, stopping once a tool that achieves acceptable error is found).
[0075] Based on the tool selections, an execution order for the toolpath groups can be determined, preferably such that tool changes and/or total execution time is minimized. However, the cutting tools and/or toolpath group ordering can additionally or alternatively be determined in any other suitable manner.
[0076] Toolpaths are preferably determined for each toolpath group within the subtractive window (e.g., following and/or concurrent with selection of the cutting tools). Determining the toolpaths preferably includes determining the feed and/or speed based on: the selected cutting tool, the desired finish quality, the structure fragility (e.g., reducing the feed rate near fragile features, such as high aspect ratio feature, sharp corners and/or edges, etc.), and/or any other suitable information. [0077] For horizontal surfaces, the toolpath is preferably a facing toolpath beginning at the perimeter of the surface and spiraling inward, but can additionally or alternatively include any suitable facing toolpath. For vertical surfaces, the toolpath is preferably a side milling toolpath, more preferably one in which the surface is milled in a single pass. For other surfaces, the toolpaths can include waterline contour toolpaths, preferably beginning at the top, but alternatively beginning at the bottom or any other suitable height; drop cutting toolpaths (e.g., toolpaths in which either of the lateral axes, such as the X or Y axis, is held constant while the other lateral axis and the vertical axis, such as the Z axis, are varied to define the desired topography, such as to follow a given surface; toolpaths in which the tool follows a predetermined lateral pattern, such as a rectilinear spiral or boustrophedon, while the vertical axis is varied to define the desired topography; copy milling toolpaths; etc.); and/or any other suitable toolpaths. In a first example, all such surfaces are milled using waterline contour toolpaths. In a second example, all such surfaces are milled using drop cutting toolpaths. In a third example, surfaces with sufficiently shallow gradients (e.g., below a threshold value) are milled using drop cutting toolpaths, and all other surfaces are milled using waterline contour toolpaths.
[0078] Some or all surfaces can optionally be reoriented and treated accordingly (e.g., when using a fabrication system with more than 3 axes of control, when employing manual part reorientation and refixturing, etc.). Such reorientation can function to enable more efficient machining techniques (e.g., facing using a large-diameter facing tool), to enable use of a smaller total number of windows and/ or tool changes, to enable cutting tool access to part regions that would otherwise be difficult and/ or impossible to reach (e.g., under overhangs), and/or can have any other suitable function(s). In one example, a planar surface can be reoriented to a horizontal orientation and then be faced, or can be reoriented to a vertical orientation and then be side milled.
[0079] Determining the toolpaths (and/or any other suitable portions of the method) can optionally include converting linear motions into arcuate motions. For example, converting linear motions into arcuate motions can include: recognizing that a series of points connected by linear segments corresponds to a desired arc in the part (e.g., based on a mathematical condition, such as that the angles between a threshold number of sequential segments define a second derivative within a threshold amount of each other); determining a smooth arcuate motion that fits the series of points; and replacing the linear motions with the arcuate motion.
[0080] The subtractive toolpaths can optionally include toolpaths for machining support material. Such support material machining toolpaths can optionally include finishing the support material surfaces (e.g., as described above regarding finishing), which can improve the quality (e.g., surface finish) of material (e.g., primary material) deposited onto the support material. Such machining can additionally or alternatively include defining molds for subsequent deposition (e.g., of primary material). These molds can, for example, facilitate deposition of fragile features, such as tall and/ or thin features (e.g., without the need for subsequent machining to define the features, in situations where the desired features are too fragile for reliable machining, etc.), and/or can enable patterning (e.g., embossing and/ or reverse embossing, etc.) of subsequently deposited materials.
[0081] The toolpaths preferably allow for drying of deposited materials (e.g., such that only dried material is milled), such as by imposing a delay time between material deposition and subsequent milling. Alternatively, the toolpaths can neglect to account for material drying, can intentionally include milling undried material, and/or can handle deposited material drying in any other suitable manner. Drying the material can optionally include a prescribed wait time, a thermal cycle, and/or a mass transfer. In one example, drying the material includes a pattern including all three (e.g. wait, heat, blow air, wait, cool). A goal of drying the material can be to remove one or more components from the deposited material, such that material changes from soft to hard, enabling facile machining while the material substantially retains its shape (e.g., within o.ooi”). In some embodiments, drying the material causes the layer thickness to decrease (e.g., due to increased material packing of the dried material).
[0082] All or some of S330 (e.g., subtractive toolpath generation) can optionally be performed using standard CAM software tools (e.g., Freesteel, MasterCAM, CAMWorks, etc.), modified versions thereof, and/or any other suitable software tools. S330 can additionally or alternatively include determining and/or interspersing the subtractive toolpaths in any other suitable manner.
[0083] S300 can optionally include determining and interspersing auxiliary toolpaths S340. Such auxiliary toolpaths can include, for example: drying and/or curing toolpaths (e.g., for drying actuators such as lamps and/or blowers; for sensors such as temperature and/or solvent sensors; etc.); tool maintenance toolpaths, such as tip cleaning, tool changing, and/or tool setting (e.g., automatic checking of nozzle-mill offsets, such as in the vertical direction and/or any other suitable directions); dust and/or debris removal toolpaths (e.g., employing a vacuum shroud, such as described above regarding the system); workpiece inspection toolpaths; temperature measurement and/or mapping toolpaths; toolpaths enabling comparison (e.g., optical comparison) to the oversize part, target part, and/or other virtual part; compaction toolpaths (e.g., including application of compaction pressure to the workpiece); and/or any other suitable toolpaths.
[0084] The drying and/or curing toolpaths can follow the deposition mechanism path, can move along a slow axis of a boustrophedonic deposition mechanism path, and/or can include any other suitable path. The drying and/or curing toolpaths can optionally include closed-loop controls, wherein drying actuator toolpaths can be modified (e.g., movement rates and/or dwell times changed, waypoints added and/or removed, etc.) in response to measurements sampled by the sensors. The dust and/or debris removal toolpaths can include, for example: following the cutting tool; activating a vacuum while the cutting tool is in use and/or deactivating the vacuum at other times; moving the shroud away from the cutting tool (e.g., opening up the shroud) in preparation for tool changes, then moving the shroud back toward the new tool after the change; and/or any other suitable toolpaths. The workpiece inspection toolpaths can include, for example, controlling one or more sensors (e.g., surface quality sensors) to sample measurements of the workpiece, and optionally automatically correcting defects (e.g., surface voids) detected by the sensors (e.g., depositing material into the void, allowing the material to dry, and then machining the deposited material to achieve the desired dimensions and/or surface finish; resetting the layer by removing the defective layer (or a portion thereof), such as by facing, and then re-fabricating the removed portion, such as by repeating the additive and/or subtractive toolpaths associated with the layer; etc.). However, S340 can additionally or alternatively include determining any other suitable auxiliary toolpaths in any suitable manner.
[0085] The determined toolpaths (e.g., from all the windows) are preferably combined into a combined toolpath. The combined toolpath preferably includes the internal surface toolpaths (e.g., facing toolpaths), the finishing toolpaths, the additive toolpaths, and any other suitable toolpaths. The toolpaths are preferably combined based on the windows, the toolpath groups, the toolpath group ordering, and/or the determined toolpaths themselves, but can additionally or alternatively be combined based on any other suitable information. However, S300 can additionally or alternatively include determining any other suitable toolpaths in any suitable manner.
4.4 Generating machine instructions.
[0086] Generating machine instructions based on the toolpaths S400 preferably functions to generate instructions that can be executed by the fabrication system (e.g., resulting in fabrication of the target part). S400 can be part of and/or performed concurrently with S300 (e.g., wherein the toolpaths are directly generated as G-Code representations and/or other machine instructions), performed after (e.g., in response to) performance of S300 (e.g., generating machine instructions, such as G-Code, based on the toolpaths determined in S300), and/or performed with any other suitable timing. However, the machine instructions can additionally or alternatively be generated in any other suitable manner.
4.5 Fabricating the part.
[0087] Fabricating the target part based on the machine instructions S500 preferably includes controlling the fabrication system based on the instructions. For example, S500 preferably includes providing the machine instructions to the fabrication system. S500 is preferably performed following S400 (e.g., in response to S400; after S400 and in response to a trigger, such as a part fabrication request; etc.) but can additionally or alternatively be performed with any other suitable timing. S500 can include fabricating one or more copies of the target part using one or more fabrication systems.
[0088] S500 can optionally include adjusting fabrication system operation based on calibration information (e.g., information determined in S600, etc.) and/or sensor measurements. For example, the vertical and/or lateral position of the deposition mechanism and/or cutting tool (e.g., relative to the workpiece) can be altered based on the calibration information and/or sensor measurements (e.g., to compensate for undesired changes arising from fabrication system imperfections). The sensor measurements can include measurements associated with fabrication system state (e.g., information associated with the calibration information, such as temperatures, loads, forces, etc.; direct calibration measurements, such as laser measurement devices and/or other sensors monitoring the position of anchor points of the fabrication system, paste deposition measurements, such as weight and/or visual measurements; etc.), part state (e.g., part quality inspection, such as described above), and/or any other suitable information. However, S500 can additionally or alternatively include fabricating the target part in any other suitable manner.
4.6 Calibrating the fabrication system.
[0089] Calibrating the fabrication system S600 preferably functions to determine calibration information associated with the fabrication system. The calibration information can include, for example, actual positions of and/or distances between elements of the fabrication system under a variety of conditions, such as different temperatures, loads, forces, controlled element positions (e.g., nominal positions, positions measured by sensors such as encoders, etc.), and/or any other suitable parameters. S600 is preferably performed before S500 (e.g., upon initial fabrication system commissioning), but can additionally or alternatively be performed substantially concurrent with S500 and/or with any other suitable timing.
[0090] In one example, calibrating the fabrication system S600 includes measuring known flat surfaces (e.g., granite blocks, thin precision metal plates, etc.), such as using contact and/or non-contact metrology tools, over a representative set of machine states (e.g., temperatures, loads, forces, controlled positions, etc.) to determine the compensation information. During part fabrication, the measured calibration information can be interpolated (and/or extrapolated) to determine calibration information for the actual (e.g., measured) fabrication system conditions. However, S6oo can additionally or alternatively include calibrating the fabrication system in any other suitable manner, and the method can additionally or alternatively include any other suitable method elements.
[0091] Although omitted for conciseness, the preferred embodiments include every combination and permutation of the various system components and the various method processes. Furthermore, various processes of the preferred method can be embodied and/or implemented at least in part as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components preferably integrated with the system. The computer-readable medium can be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a general or application specific processing subsystem, but any suitable dedicated hardware device or hardware/firmware combination device can additionally or alternatively execute the instructions.
[0092] The FIGURES illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to preferred embodiments, example configurations, and variations thereof. In this regard, each block in the flowchart or block diagrams may represent a module, segment, step, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block can occur out of the order noted in the FIGURES. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/ or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0093] As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.

Claims

We claim:
h A method for facilitating part fabrication, comprising, based on a virtual part model, determining an ordered series of toolpaths, the ordered series comprising:
• a first additive toolpath for depositing a first layer of a part;
a second additive toolpath for depositing a second layer of a part onto the first layer after depositing the first layer;
a first subtractive toolpath for removing a first portion of the first layer after depositing the second layer;
• a third additive toolpath for depositing a third layer of a part onto the second layer after removing the first portion; and
• a second subtractive toolpath for removing a second portion of the second layer after depositing the third layer
2. The method of Claim i, further comprising, based on the ordered series, generating machine instructions for a hybrid fabrication system.
3. The method of Claim 2, further comprising, at the hybrid fabrication system, fabricating a part based on the machine instructions, comprising:
• using a material deposition tool of the hybrid fabrication system, substantially following the first, second, and third additive toolpaths; and
• using a set of cutting tools of the hybrid fabrication system, substantially
following the first and second subtractive toolpaths.
4. The method of Claim 3, wherein:
• the material deposition tool is a metal paste printing tool;
• substantially following the first, second, and third additive toolpaths comprises depositing a metal paste substantially along the first, second, and third additive toolpaths;
• the method further comprises, after depositing the metal paste, drying the metal paste to form a green body; • substantially following the first and second subtractive toolpaths comprises cutting the green body substantially along the first and second subtractive toolpaths; and
• the method further comprises, after cutting the green body, sintering the green body.
5. The method of Claim 2, further comprising, at the hybrid fabrication system, fabricating a part based on the machine instructions, comprising:
• before a first time, depositing the first layer, comprising depositing a first portion of a material, wherein the material is associated with a minimum drying time interval;
• after the first time and before a second time, depositing the second layer,
comprising depositing a second portion of the material; and
• at the second time, removing material of the first portion;
wherein:
• the second time is after the first time;
• a time interval from the first time to the second time is equal to the minimum drying time interval; and
• determining the ordered series of toolpaths is performed based on the minimum drying time interval.
6. The method of Claim 1, wherein:
• the first, second, and third additive toolpaths are associated with a material deposition tool;
• the first subtractive toolpath is associated with a first milling tool; and
• the second subtractive toolpath is associated with a second milling tool different from the first milling tool.
7. The method of Claim 1, wherein:
• the first layer defines a surface, the surface defining a reference plane and an outer perimeter; • the second additive toolpath is associated with depositing the second layer onto the surface; and
• an orthogonal projection of the second layer onto the reference plane comprises a point outside the outer perimeter.
8. The method of Claim l, wherein:
• the first layer defines a first surface and an axis normal to the first surface;
• the second layer defines a second surface substantially parallel the first surface, wherein the second surface opposes the first surface across the second layer;
• the second additive toolpath is associated with depositing the second layer onto the first surface;
• the first subtractive toolpath is associated with removal of a third portion of the second layer, wherein the axis intersects the first and third portions; and
• the second subtractive toolpath is not associated with removal of material of the first layer.
9. The method of Claim 8, wherein:
• the first and third portions cooperatively define a third surface parallel to the axis; and
• the first subtractive toolpath comprises a path along the third surface for a
cutting tool defining an elongated axis parallel the axis, wherein the path is associated with cutting both the first and second layers concurrently.
10. The method of Claim 9, wherein:
• the second portion is non-planar; and
• the second subtractive toolpath is associated with a ball-end cutting tool.
11. The method of Claim 10, wherein the third surface is non-planar.
12. The method of Claim 1, wherein the first subtractive toolpath is not associated with removal of material of the second layer.
13. The method of Claim 12, wherein the second subtractive toolpath is not associated with removal of material of the first layer.
14. The method of Claim 1, further comprising:
• based on the virtual part model, determining a part orientation axis; and
• based on the virtual part model and the part orientation axis, determining an oversize part model, comprising expanding the virtual part model in all directions normal to the part orientation axis;
wherein determining the ordered series of toolpaths comprises:
• based on the oversize part, determining a set of additive windows along the part orientation axis, wherein the set of additive windows is non-overlapping and spans an entire length of the oversize part model along the part orientation axis;
• based on the set of additive windows, determining an ordered series of additive toolpaths comprising the first, second, and third additive toolpaths, wherein a respective additive volume associated with each additive toolpath of the ordered series of additive toolpaths is confined within a respective additive window of the set of additive windows;
• based on the ordered series of additive toolpaths, determining a set of subtractive windows, wherein the set of subtractive windows is different from the set of additive windows;
• determining a set of subtractive toolpaths comprising the first and second
subtractive toolpaths, wherein determining the set of subtractive toolpaths comprises, for each subtractive window of the set of subtractive windows, determining a respective subtractive toolpath associated with a respective subtractive volume confined within the subtractive window; and
• generating the ordered series of toolpaths by inserting each subtractive toolpath of the set of subtractive toolpaths into the ordered series of additive toolpaths.
15. The method of Claim 14, wherein:
• a difference between the virtual part model and the oversize part model defines a subtractive portion;
• an additive volume associated with the first additive toolpath is within a first additive window; • a subtractive volume associated with the first subtractive toolpath is within a first subtractive window; and
• the first portion is defined by the intersection of the subtractive portion, the first additive window, and the first subtractive window.
16. The method of Claim 14, wherein:
• the virtual part model defines a vertical plane parallel the part orientation axis and a horizontal plane normal to the part orientation axis;
• the set of subtractive windows comprises a first subtractive window and a second subtractive window;
• the first and second subtractive windows each intersect the horizontal plane; and
• the first subtractive window opposes the second subtractive window across the vertical plane.
17. A method for facilitating part fabrication, comprising, based on a virtual part model, determining an ordered series of toolpaths, the ordered series comprising:
• a first toolpath set associated with a first additive window, the first toolpath set comprising:
• a first additive toolpath for depositing a first layer of a part; and
• a first facing toolpath for facing a first surface of the first layer;
• after the first toolpath set, a second toolpath set associated with a second additive window disjoint from the first additive window, the second toolpath set comprising:
• a second additive toolpath for depositing a second layer of the part; and
• a second facing toolpath for facing a second surface of the second layer; and
• after the second toolpath set, a third toolpath set associated with a subtractive window, the subtractive window overlapping the first additive window and not the second additive window, the second toolpath set comprising a subtractive toolpath for removing a portion of the first layer.
18. The method of Claim 17, wherein:
• the second layer defines a central axis normal to the second surface;
• the second additive toolpath comprises:
• a first perimeter subpath encircling the central axis, the first perimeter subpath defining a first perimeter;
• after the first perimeter subpath, a second perimeter subpath encircling the central axis, the second perimeter subpath substantially following a perimeter of the second layer, the second perimeter subpath substantially parallel to the first perimeter subpath, wherein the first perimeter is arranged between the central axis and the second perimeter subpath; and
• an infill subpath inside the first perimeter, the infill subpath substantially defining at least one of a spiral and a boustrophedon; and
• the second toolpath set further comprises, before the second perimeter subpath, a drying toolpath for drying material along the first perimeter, the drying toolpath associated with at least one of a lamp and a fan.
19. The method of Claim 18, wherein the second toolpath set further comprises, after the second facing toolpath, a third additive toolpath for depositing a third layer of the part, the third additive toolpath comprising:
• a third perimeter subpath encircling the central axis;
• after the third perimeter subpath, a fourth perimeter subpath, wherein:
• the fourth perimeter subpath is substantially parallel to the third perimeter subpath;
• the third perimeter subpath is arranged between the central axis and the fourth perimeter subpath; and
• an orthogonal projection of the fourth perimeter subpath onto the second surface overlaps the first perimeter substantially along an entire length of the first perimeter; • after the fourth perimeter subpath, a fifth perimeter subpath substantially parallel to the fourth perimeter subpath, wherein the fourth perimeter subpath is arranged between the central axis and the fifth perimeter subpath; and
• a second infill subpath inside the third perimeter subpath.
20. The method of Claim 18, wherein the infill subpath is after the first perimeter subpath and before the second perimeter subpath.
21. The method of Claim 17, further comprising:
• determining a central vector of the virtual part model; and
• based on the virtual part model and the central vector, determining an oversize part model;
wherein:
• the first and second additive toolpaths are determined based on the oversize part model;
• a difference between the oversize part model and the virtual part model defines a subtractive portion; and
• the portion is defined by the intersection of the subtractive portion and the
subtractive window.
22. The method of Claim 21, wherein:
• the second layer is adjacent to the first surface;
• the second surface is displaced from the first surface in a positive direction along the central vector;
• a finished exterior surface, defined by the virtual part model, is parallel the
central vector; and
• an initial exterior surface, defined by the oversize part model, comprises:
• a first subsurface, defined by the first layer, displaced outward from the finished surface by a first distance; and
• a second subsurface, defined by the second layer, displaced outward from the finished surface by a second distance greater than the first distance.
PCT/US2019/033135 2018-05-22 2019-05-20 Method and system for automated toolpath generation WO2019226555A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980034723.4A CN112236289B (en) 2018-05-22 2019-05-20 Method and system for automatic tool path generation
EP19807937.8A EP3797026A4 (en) 2018-05-22 2019-05-20 Method and system for automated toolpath generation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862675073P 2018-05-22 2018-05-22
US62/675,073 2018-05-22

Publications (1)

Publication Number Publication Date
WO2019226555A1 true WO2019226555A1 (en) 2019-11-28

Family

ID=68614599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/033135 WO2019226555A1 (en) 2018-05-22 2019-05-20 Method and system for automated toolpath generation

Country Status (4)

Country Link
US (4) US10520923B2 (en)
EP (1) EP3797026A4 (en)
CN (1) CN112236289B (en)
WO (1) WO2019226555A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10889098B2 (en) * 2016-04-15 2021-01-12 Machine Tool Technologies Research Foundation Method, data processing device, and machine tool for generating dimensional tool paths and control signals for material dispositioning
US10359764B1 (en) * 2017-12-29 2019-07-23 Palo Alto Research Center Incorporated System and method for planning support removal in hybrid manufacturing with the aid of a digital computer
US11364543B2 (en) * 2018-04-30 2022-06-21 Hewlett-Packard Development Company, L.P. Three-dimensional printed component setter generation
US11638965B2 (en) * 2019-04-01 2023-05-02 3D Systems, Inc. Systems and methods for non-continuous deposition of a component
US20230182397A1 (en) * 2020-05-27 2023-06-15 Virginia Tech Intellectual Properties, Inc. Workflow for layer-less multi-axis material extrusion
WO2022081026A1 (en) * 2020-10-16 2022-04-21 Tida Limited Method and apparatus for controlling the position of a material deposition tool relative to a substrate surface
CN114701166A (en) * 2022-03-31 2022-07-05 苏州研拓自动化科技有限公司 Control method for deformation of large-size high polymer material 3D printing material
US20240042697A1 (en) * 2022-08-08 2024-02-08 Mantle Inc. Undesirable void identification and correction in 3d printing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5207371A (en) * 1991-07-29 1993-05-04 Prinz Fritz B Method and apparatus for fabrication of three-dimensional metal articles by weld deposition
US20040107019A1 (en) * 2002-07-18 2004-06-03 Shyam Keshavmurthy Automated rapid prototyping combining additive and subtractive processes
EP1724716A1 (en) * 2005-05-20 2006-11-22 MAGMA Giessereitechnologie GmbH Optimization process of a metal casting production process
US20140272121A1 (en) * 2013-03-14 2014-09-18 Palo Alto Research Center Incorporated Digital 3D Fabrication Using Multi-Layered Mold
US9434109B2 (en) * 2013-11-18 2016-09-06 Xyzprinting, Inc. Three-dimensional printing method
US9751260B2 (en) * 2013-07-24 2017-09-05 The Boeing Company Additive-manufacturing systems, apparatuses and methods
WO2017197361A1 (en) * 2016-05-13 2017-11-16 NanoCore Technologies Sinterable metal paste for use in additive manufacturing

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4552719A (en) 1980-12-03 1985-11-12 N.D.C. Co., Ltd. Method of sintering stainless steel powder
JPS60224704A (en) 1984-04-20 1985-11-09 Mazda Motor Corp Low-temperature sinterable powder sheet
US5398193B1 (en) * 1993-08-20 1997-09-16 Alfredo O Deangelis Method of three-dimensional rapid prototyping through controlled layerwise deposition/extraction and apparatus therefor
US5514232A (en) * 1993-11-24 1996-05-07 Burns; Marshall Method and apparatus for automatic fabrication of three-dimensional objects
SE9403165D0 (en) 1994-09-21 1994-09-21 Electrolux Ab Ways to sinter objects
FR2754630B1 (en) * 1996-10-10 2000-12-01 Electricite De France METHOD FOR MANUFACTURING A CONDUCTOR, OR ELECTRICAL CIRCUIT COMPENSATED WITH RADIOELECTRIC PARASITES SUCH AS MICRO-DISCHARGES AND CORRESPONDING CONDUCTOR OR CIRCUIT
DE19711562C2 (en) 1997-03-20 2002-08-01 Federal Mogul Sealing Sys Spa Solder paste for creating contour-accurate structures, use of the solder paste and method for producing contour-accurate geometric metal structures
US6358567B2 (en) 1998-12-23 2002-03-19 The Regents Of The University Of California Colloidal spray method for low cost thin coating deposition
US6734387B2 (en) 1999-05-27 2004-05-11 Spectra Physics Lasers, Inc. Method and apparatus for micro-machining of articles that include polymeric materials
FR2811922B1 (en) 2000-07-20 2003-01-10 Optoform Sarl Procedes De Prot METAL POWDER LOADED PASTE COMPOSITION, PROCESS FOR OBTAINING METAL PRODUCTS FROM THE SAME, AND METAL PRODUCT OBTAINED BY SAID PROCESS
DE10058748C1 (en) 2000-11-27 2002-07-25 Markus Dirscherl Method for producing a component and device for carrying out the method
US6471800B2 (en) * 2000-11-29 2002-10-29 Nanotek Instruments, Inc. Layer-additive method and apparatus for freeform fabrication of 3-D objects
US6602766B2 (en) 2000-12-07 2003-08-05 Aem, Inc. Ultraviolet/electron beam forming process for multi-layer electronic components and products thereof
US20020129485A1 (en) * 2001-03-13 2002-09-19 Milling Systems And Concepts Pte Ltd Method and apparatus for producing a prototype
US20020149137A1 (en) * 2001-04-12 2002-10-17 Bor Zeng Jang Layer manufacturing method and apparatus using full-area curing
EP1427266A4 (en) * 2001-09-11 2006-10-04 Daiken Chemical Co Ltd Method for forming image on object surface including circuit substrate
DE10157647C5 (en) 2001-11-26 2012-03-08 Cl Schutzrechtsverwaltungs Gmbh Method for producing three-dimensional workpieces in a laser material processing system or a stereolithography system
US20030204286A1 (en) * 2002-04-26 2003-10-30 Thomas Steven M. Method for modeling complex, three dimensional tool paths through a workpiece
US6746506B2 (en) 2002-07-12 2004-06-08 Extrude Hone Corporation Blended powder solid-supersolidus liquid phase sintering
US8429174B2 (en) * 2003-01-25 2013-04-23 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
DE102005055524B4 (en) * 2005-11-22 2013-02-07 BEGO Bremer Goldschlägerei Wilh. Herbst GmbH & Co. KG Method, device and system for producing a ceramic shaped body
WO2007114895A2 (en) * 2006-04-06 2007-10-11 Z Corporation Production of three-dimensional objects by use of electromagnetic radiation
US20080233416A1 (en) * 2007-01-26 2008-09-25 Kyocera Corporation Paste composition, green ceramic body, and methods for manufacturing ceramic structure
US8766972B2 (en) * 2007-10-29 2014-07-01 Moshe Itzhak MARKOWITZ Method and system for efficient transmission of rich three-dimensional geometry and animation content over narrow band communication networks
US7917243B2 (en) * 2008-01-08 2011-03-29 Stratasys, Inc. Method for building three-dimensional objects containing embedded inserts
US20100161105A1 (en) * 2008-12-22 2010-06-24 Stratasys, Inc. Combined process for building three-dimensional models
US8278866B2 (en) * 2009-02-03 2012-10-02 Objet Ltd. Method and apparatus for accurate positioning of printing units
WO2010146088A1 (en) 2009-06-17 2010-12-23 Nlab Solar Ab Dye sensitised solar cell and method of manufacture
US20110068502A1 (en) * 2009-09-21 2011-03-24 Basseas Stavros P Custom Injection Mold and Molding Process Using Rapid Prototyping Processes
DE102010006939A1 (en) * 2010-02-04 2011-08-04 Voxeljet Technology GmbH, 86167 Device for producing three-dimensional models
US8977377B2 (en) * 2010-02-25 2015-03-10 Jostens, Inc. Method for digital manufacturing of jewelry items
JP2012041581A (en) 2010-08-17 2012-03-01 Sony Corp Fine particle of core-shell structure and functional device incorporated therewith
EP2474929A1 (en) * 2010-12-30 2012-07-11 Dassault Systèmes Modeled object updating
EP2709540B1 (en) * 2011-05-11 2020-11-04 The Cleveland Clinic Foundation Generating patient specific instruments for use as surgical aids
US8838419B2 (en) * 2011-06-24 2014-09-16 Mitsubishi Electric Research Laboratories, Inc. System and method for simulating machining objects
US20130124151A1 (en) * 2011-08-26 2013-05-16 Radomir Mech Methods and Apparatus for Printability of Three-Dimensional Objects
US10225966B2 (en) 2011-10-13 2019-03-05 Philips Ip Ventures B.V. Composite metal surface
US9114571B2 (en) * 2011-10-27 2015-08-25 Solidscape, Inc. Method for reducing stress in three dimensional model
KR101411012B1 (en) 2011-11-25 2014-06-24 제일모직주식회사 Electrode paste composite for a solar battery and electrode thereof and solar cell thereof
KR101447271B1 (en) 2011-12-02 2014-10-07 제일모직주식회사 Electrode paste composition for solar cell, electrode fabricated using the same and solar cell comprising the same
DE102011089194A1 (en) * 2011-12-20 2013-06-20 BAM Bundesanstalt für Materialforschung und -prüfung Method of manufacturing a compact component and component that can be produced by the method
US8778252B2 (en) * 2012-01-20 2014-07-15 Wisconsin Alumni Research Foundation Three-dimensional printing system using dual rotation axes
US9884318B2 (en) * 2012-02-10 2018-02-06 Adam Perry Tow Multi-axis, multi-purpose robotics automation and quality adaptive additive manufacturing
TWI482699B (en) * 2012-05-21 2015-05-01 Univ Nat Taipei Technology A method for preparing inorganic green bodies with three - dimensional contours
US20130015609A1 (en) * 2012-07-18 2013-01-17 Pratt & Whitney Rocketdyne, Inc. Functionally graded additive manufacturing with in situ heat treatment
US20140060633A1 (en) 2012-08-31 2014-03-06 Primestar Solar, Inc. BACK CONTACT PASTE WITH Te ENRICHMENT CONTROL IN THIN FILM PHOTOVOLTAIC DEVICES
JP2015532858A (en) * 2012-09-21 2015-11-16 コンフォーミス・インコーポレイテッドConforMIS, Inc. Method and system for optimizing the design and manufacture of implant components using solid freeform manufacturing
JP5859949B2 (en) 2012-09-27 2016-02-16 三ツ星ベルト株式会社 Conductive composition
JP5986481B2 (en) * 2012-11-05 2016-09-06 住友ゴム工業株式会社 How to create a simulation model
WO2014146306A1 (en) 2013-03-22 2014-09-25 深圳首创光伏有限公司 Conductive slurry of positive electrode of solar cell and preparing method thereof
DE102013003795A1 (en) * 2013-03-05 2014-09-11 Liebherr-Verzahntechnik Gmbh Machining process for hard finishing of noise optimized gears on a gear cutting machine
US20160031010A1 (en) * 2013-03-05 2016-02-04 United Technologies Corporation Build platforms for additive manufacturing
EP4008521B1 (en) 2013-03-22 2024-01-03 Markforged, Inc. Three dimensional printing of reinforced filament
US20140307055A1 (en) * 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
DE102013217422A1 (en) * 2013-09-02 2015-03-05 Carl Zeiss Industrielle Messtechnik Gmbh Coordinate measuring machine and method for measuring and at least partially producing a workpiece
US9950474B2 (en) * 2013-09-13 2018-04-24 Statasys, Inc. Additive manufacturing system and process with precision substractive technique
CN105658745B (en) 2013-10-31 2019-06-04 昭和电工株式会社 Film printing conductive composition and Thin film conductive pattern forming method
KR102091678B1 (en) * 2013-11-06 2020-04-24 럿거스, 더 스테이트 유니버시티 오브 뉴저지 Production of monolithic bodies from a porous matrix using low temperature solidification in an additive manufacturing process
US10022914B2 (en) * 2013-11-12 2018-07-17 Adobe Systems Incorporated Method and apparatus for automatically adding utility holes to printable 3-dimensional models
US10434572B2 (en) * 2013-12-19 2019-10-08 Arcam Ab Method for additive manufacturing
US20150197063A1 (en) * 2014-01-12 2015-07-16 Zohar SHINAR Device, method, and system of three-dimensional printing
US20150266235A1 (en) * 2014-03-19 2015-09-24 Autodesk, Inc. Systems and methods for improved 3d printing
GB201405210D0 (en) * 2014-03-24 2014-05-07 Johnson Matthey Fuel Cells Ltd Process
US10111753B2 (en) * 2014-05-23 2018-10-30 Titan Spine, Inc. Additive and subtractive manufacturing process for producing implants with homogeneous body substantially free of pores and inclusions
US9899234B2 (en) * 2014-06-30 2018-02-20 Lam Research Corporation Liner and barrier applications for subtractive metal integration
US9757902B2 (en) * 2014-09-02 2017-09-12 Product Innovation and Engineering L.L.C. Additive layering method using improved build description
JP5878604B1 (en) 2014-10-21 2016-03-08 アドバンスト・リサーチ・フォー・マニュファクチャリング・システムズ・リミテッド・ライアビリティ・カンパニーAdvanced Research For Manufacturing Systems, Llc Manufacturing method of composite material
EP3224323B1 (en) * 2014-11-24 2020-04-08 3D Systems, Inc. Inks comprising liquid rubber for 3d printing
EP3223752A4 (en) 2014-11-24 2018-09-12 The Johns Hopkins University A cutting machine for resizing raw implants during surgery
WO2016083181A1 (en) * 2014-11-27 2016-06-02 Philips Lighting Holding B.V. Printing head, printing apparatus, printing method and printed article
EP4209291A1 (en) * 2014-12-12 2023-07-12 Materion Corporation Additive manufacturing of articles comprising beryllium
US11465357B2 (en) * 2015-03-24 2022-10-11 The Johns Hopkins University Systems and methods for conformal additive manufacturing
DE102015207158A1 (en) * 2015-04-20 2016-10-20 Eos Gmbh Electro Optical Systems Method and device for producing a three-dimensional object
NL2015381B1 (en) * 2015-09-01 2017-03-20 Stichting Energieonderzoek Centrum Nederland Additive manufacturing method and apparatus.
US10315247B2 (en) 2015-09-24 2019-06-11 Markforged, Inc. Molten metal jetting for additive manufacturing
US10350875B2 (en) * 2015-10-29 2019-07-16 Nike, Inc. Printing layer in response to substrate contour
US20180321659A1 (en) * 2015-11-06 2018-11-08 Sabic Global Technologies B.V. Systems and methods for optimization of 3-d printed objects
US10335995B2 (en) * 2015-12-16 2019-07-02 Xerox Corporation System and method for compensating for dissimilar shrinkage rates in different materials used to form a three-dimensional printed object during additive manufacturing
US10761497B2 (en) * 2016-01-14 2020-09-01 Microsoft Technology Licensing, Llc Printing 3D objects with automatic dimensional accuracy compensation
US10618111B2 (en) * 2016-01-28 2020-04-14 Lawrence Livermore National Security, Llc Heat treatment to anneal residual stresses during additive manufacturing
US20170297099A1 (en) * 2016-04-14 2017-10-19 Desktop Metal, Inc. Fused filament fabrication system configured to fabricate interface layers for breakaway support
US10259158B2 (en) * 2016-04-15 2019-04-16 The Curators Of The University Of Missouri Method and apparatus for fabricating ceramic and metal components via additive manufacturing with uniform layered radiation drying
US10726618B2 (en) * 2016-05-24 2020-07-28 Technion Research & Development Foundation Limited Systems and methods for generating volumetric models
US20190152155A1 (en) * 2016-07-27 2019-05-23 Hewlett-Packard Development Company, L.P. 3d printing
US10569522B2 (en) * 2016-09-09 2020-02-25 Formalloy, Llc Dynamic layer selection in additive manufacturing using sensor feedback
CN109982818B (en) * 2016-09-15 2021-09-07 曼特尔公司 System and method for additive metal manufacturing
JP2020513478A (en) * 2016-12-02 2020-05-14 マークフォージド,インコーポレーテッド Sintered additive manufacturing parts with densified link platform
CA3040921C (en) * 2016-12-06 2024-02-20 Markforged, Inc. Additive manufacturing with heat-flexed material feeding
CN110366486A (en) * 2016-12-16 2019-10-22 麻省理工学院 Compliant material for increasing material manufacturing deposits
US20180194076A1 (en) * 2017-01-12 2018-07-12 Voxei8, Inc. Techniques for hybrid additive and substractive manufacturing
US20180193922A1 (en) * 2017-01-12 2018-07-12 Voxel8. Inc. Techniques for hybrid additive and substractive manufacturing
US10442003B2 (en) * 2017-03-02 2019-10-15 Velo3D, Inc. Three-dimensional printing of three-dimensional objects
WO2018170395A1 (en) * 2017-03-17 2018-09-20 Deskstop Metal, Inc. Base plate in additive manufacturing
US10678959B2 (en) * 2017-03-23 2020-06-09 Autodesk, Inc. Creating gradients of different materials for three-dimensional models in computer aided design applications
EP3609679B1 (en) * 2017-04-10 2021-10-27 Signify Holding B.V. Method of 3d-printing producing a component for use in a lighting device
US10996652B2 (en) * 2017-04-21 2021-05-04 Desktop Metal, Inc. Adaptive 3D printing
WO2018194630A1 (en) * 2017-04-21 2018-10-25 Hewlett-Packard Development Company, L.P. Compensating for shrinking of objects in 3d printing
WO2018195502A1 (en) * 2017-04-21 2018-10-25 Desktop Metal, Inc. Multi-directional binder jetting in additive manufacturing
US20180304540A1 (en) * 2017-04-24 2018-10-25 Desktop Metal, Inc. System And Method For Controlling Three-Dimensional (3D) Printing Using Measured Processing Effects
US20180305266A1 (en) * 2017-04-24 2018-10-25 Desktop Metal, Inc. Additive fabrication with infiltratable structures
WO2018200590A1 (en) * 2017-04-24 2018-11-01 Desktop Metal, Inc. Additive fabrication with metallic materials
US11583930B2 (en) * 2017-04-26 2023-02-21 The University Of Manchester Apparatus for and process of additive manufacturing
US20180311891A1 (en) * 2017-04-28 2018-11-01 Ut-Battelle, Llc Z-axis improvement in additive manufacturing
CN110831711A (en) * 2017-05-01 2020-02-21 三全音科技有限公司 Moulding method and apparatus, particularly for metals and/or ceramics
US20190168300A1 (en) * 2017-05-25 2019-06-06 Daniel Gelbart Method for Making Metal Objects by 3D Printing
US20180361668A1 (en) * 2017-06-16 2018-12-20 Interlog Corporation Scalable multiple-material additive manufacturing
US10844595B2 (en) * 2017-06-30 2020-11-24 United States Gypsum Company Exterior cementitious panel with multi-layer air/water barrier membrane assembly and system and method for manufacturing same
US10518489B2 (en) * 2017-09-13 2019-12-31 Aurora Flight Sciences Corporation Composite structures incorporating additive manufactured components
US20190143587A1 (en) * 2017-11-13 2019-05-16 General Electric Company Foil part warp compensation for mobile large scale additive manufacturing using foil-based build materials
US20190160595A1 (en) * 2017-11-29 2019-05-30 Lincoln Global, Inc. Methods and compositions for making a near net shape article
US10328635B1 (en) * 2017-12-06 2019-06-25 Massivit 3D Printing Technologies Ltd. Complex shaped 3D objects fabrication
KR20200118819A (en) * 2018-01-23 2020-10-16 로컬 모터스 아이피, 엘엘씨 Additive-processed structure and method for manufacturing the same
US20190255611A1 (en) * 2018-02-20 2019-08-22 Greenheck Fan Coproration Metal-based pellet extrusion additive manufacturing system and method of using same
EP3694699A4 (en) * 2018-03-09 2021-05-05 Hewlett-Packard Development Company, L.P. Virtual object volumes
US20210138721A1 (en) * 2018-04-16 2021-05-13 Signify Holding B.V. Printed structure with metallic appearance
WO2020138174A1 (en) * 2018-12-28 2020-07-02 三井化学株式会社 Manufacturing method for resin molded body and resin molded body

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5207371A (en) * 1991-07-29 1993-05-04 Prinz Fritz B Method and apparatus for fabrication of three-dimensional metal articles by weld deposition
US20040107019A1 (en) * 2002-07-18 2004-06-03 Shyam Keshavmurthy Automated rapid prototyping combining additive and subtractive processes
EP1724716A1 (en) * 2005-05-20 2006-11-22 MAGMA Giessereitechnologie GmbH Optimization process of a metal casting production process
US20140272121A1 (en) * 2013-03-14 2014-09-18 Palo Alto Research Center Incorporated Digital 3D Fabrication Using Multi-Layered Mold
US9751260B2 (en) * 2013-07-24 2017-09-05 The Boeing Company Additive-manufacturing systems, apparatuses and methods
US9434109B2 (en) * 2013-11-18 2016-09-06 Xyzprinting, Inc. Three-dimensional printing method
WO2017197361A1 (en) * 2016-05-13 2017-11-16 NanoCore Technologies Sinterable metal paste for use in additive manufacturing

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BEHANDISH, M ET AL.: "Automated Process Planning for Hybrid Manufacturing", COMPUTER-AIDED DESIGN (CAD), vol. 102, 18 May 2018 (2018-05-18) - September 2018 (2018-09-01), pages 115 - 127, XP080879601 *
DU, W ET AL.: "A Novel Method for Additive/Subtractive Hybrid Manufacturing of Metallic Parts", PROCEDIA MANUFACTURING, vol. 5, 1 January 2016 (2016-01-01), pages 1018 - 1030, XP055657228 *
ZHU, Z ET AL.: "Application of a hybrid process for high precision manufacture of difficult to machine prismatic parts", THE INTERNATIONAL JOURNAL OF ADDITIVE MANUFACTURING TECHNOLOGY, vol. 74, no. 5-8, 21 June 2014 (2014-06-21) - 1 September 2014 (2014-09-01), pages 1115 - 1132, XP035394345 *

Also Published As

Publication number Publication date
US20190361426A1 (en) 2019-11-28
CN112236289B (en) 2023-02-21
EP3797026A1 (en) 2021-03-31
US20200096971A1 (en) 2020-03-26
EP3797026A4 (en) 2022-03-02
CN112236289A (en) 2021-01-15
US20230251626A1 (en) 2023-08-10
US20220342385A1 (en) 2022-10-27
US11422532B2 (en) 2022-08-23
US11662711B2 (en) 2023-05-30
US10520923B2 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
US11662711B2 (en) Method and system for automated toolpath generation
US10532513B2 (en) Method and arrangement for producing a workpiece by using additive manufacturing techniques
CN106273453B (en) Stereoscopic printing device and its printing error bearing calibration
CN211276515U (en) Apparatus for replacement support in additive manufacturing
CN102209941B (en) Systems and methods for machining materials
US9817393B2 (en) Adaptive machining of components
Zhu et al. The development of a novel process planning algorithm for an unconstrained hybrid manufacturing process
US20210107215A1 (en) Adaptive Closed-Loop Control of Additive Manufacturing for Producing a Workpiece
JP2018531815A (en) Improving the control of, or related to, chain control of machines, including additive manufacturing machines, in the manufacture of workpieces.
Islam et al. An experimental investigation into the dimensional error of powder-binder three-dimensional printing
EP3721305B1 (en) Methods and apparatus for optimally positioning objects for automated machining
US20200164590A1 (en) Pre-fabricated supports, a system for additive manufacturing a three-dimensional object, and a related method
Ibrahim et al. Roughness prediction for FDM produced surfaces
EP3500430B1 (en) Methods for fine feature detail for additive manufacturing
Pandey Rapid prototyping technologies, applications and part deposition planning
Taufik et al. Computer aided visualization tool for part quality analysis of additive manufacturing process
US11192208B2 (en) Apparatus for producing an object by means of additive manufacturing and method of using the apparatus
Khan et al. Development of novel hybrid manufacturing technique for manufacturing support structures free complex parts
US20230018440A1 (en) Removal apparatus for additive manufacturing build plate
JP7412533B2 (en) Apparatus and method for repairing components by additive manufacturing
JP2004298915A (en) Simulation verifying apparatus and simulation verifying method
Kaji In-situ monitoring and intermittent controller for adaptive trajectory generation during laser directed energy deposition via powder feeding
Monkova et al. Accuracy investigation of features produced by additive technology
Qi et al. Laser net shape manufacturing using an adaptive toolpath deposition method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19807937

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019807937

Country of ref document: EP

Effective date: 20201222