Systems and methods for 3D printing non-planar surfaces

A computer-controlled system adjusts bead sizes and flow rates of thermosetting co-reactants to overcome shape disruptions in non-planar 3D printing, achieving high-resolution and durable objects with improved structural integrity.

JP7791983B2Active Publication Date: 2025-12-24PPG INDUSTRIES OHIO INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024506467
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-03-18
Filing Date
2022-08-04
Publication Date
2025-12-24
Estimated Expiration
2042-08-04

AI Technical Summary

Technical Problem

Conventional 3D printing methods struggle to efficiently create non-planar surfaces using thermoplastics, resulting in jagged, step-like patterns and potential shape disruptions due to viscosity and reaction rate imbalances.

Method used

A computer-controlled system dynamically adjusts bead sizes and flow rates of thermosetting co-reactant materials to create smooth non-planar surfaces by calculating and generating varying bead sizes and flow rates based on geometric relationships and material properties.

Benefits of technology

This approach enables the production of high-resolution, durable non-planar objects with improved structural integrity by compensating for extrusion delays and ensuring proper bonding between layers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007791983000007
    Figure 0007791983000007
  • Figure 0007791983000008
    Figure 0007791983000008
  • Figure 0007791983000009
    Figure 0007791983000009
Patent Text Reader

Abstract

A computer system for dynamically controlling a three-dimensional printer may include one or more processors and one or more computer-readable media having executable instructions stored thereon that, when executed by the one or more processors, configure the computer system to perform various acts. The computer system may receive instructions to cause the three-dimensional printer to print a non-planar surface. Additionally, the computer system may calculate a number of different bead sizes for creating the non-planar surface using components of the three-dimensional printer. The computer system may also create commands to generate a number of different bead sizes at locations within the print area.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 269,547, entitled "SYSTEM AND METHOD FOR 3D PRINTING A NON-PLANAR SURFACE," filed March 18, 2022, and also claims priority to and the benefit of U.S. Provisional Patent Application No. 63 / 230,577, entitled "SYSTEM AND METHOD FOR 3D PRINTING A NON-PLANAR SURFACE," filed August 6, 2021. All of the foregoing applications are incorporated herein by reference in their entireties.

[0002] The present invention relates to computer control of three-dimensional printing methods using coreactant materials. [Background technology]

[0003] Three-dimensional (3D) printing, also known as additive manufacturing, has experienced an explosion of scientific and technological development over the past few years. This increased interest relates to 3D printing's ability to easily produce a wide variety of objects from common computer-aided design (CAD) files. In 3D printing, compositions are laid down in successive layers of material to build a structure. These layers can be produced, for example, from liquid, powder, paper, or sheet materials.

[0004] In a conventional configuration, a 3D printing system utilizes a thermoplastic material. The 3D printing system extrudes the thermoplastic material through a heated nozzle onto a platform. Using instructions derived from a CAD file, the system moves the nozzle relative to the platform, building successive layers of the thermoplastic material to form the 3D object. After being extruded from the nozzle, the thermoplastic material is cooled. Thus, the resulting 3D object is made of layers of thermoplastic material that have been extruded in a heated form and layered on top of each other.

[0005] There are many ways in which 3D printing can be improved. These improvements can include faster prints, higher resolution prints, and a more durable final product, among many other desired results. Summary of the Invention

[0006] A computer system for dynamically controlling a three-dimensional printer may include one or more processors and one or more computer-readable media having stored thereon executable instructions that, when executed by the one or more processors, configure the computer system to perform various actions. The computer system may receive instructions for causing a thermosetting three-dimensional printer to print a non-planar surface. Additionally, the computer system may calculate multiple different bead sizes for creating the non-planar surface using a thermosetting component. The computer system may also generate commands for generating multiple different bead size ratios at locations within the print area.

[0007] Additionally, a computer-implemented method for dynamically controlling a three-dimensional printer may be executed on another processor. The computer-implemented method may include receiving instructions to cause a thermosetting three-dimensional printer to print a non-planar surface. Additionally, the computer-implemented method may include calculating a plurality of different bead sizes for creating the non-planar surface using a thermosetting component. The computer-implemented method may also include generating commands to generate the plurality of different bead sizes at specific locations within the print area.

[0008] Additionally, the computer-readable medium may include one or more physical computer-readable storage media having stored thereon computer-executable instructions that, when executed by a processor, cause a computer system to perform a method for dynamically controlling a three-dimensional printer. The performed method may include receiving instructions to cause a thermosetting three-dimensional printer to print a non-planar surface. Additionally, the performed method may include calculating a plurality of different bead sizes for creating the non-planar surface using a thermosetting component. The performed method may also include generating commands to generate a plurality of different bead sizes at specific locations within the print area.

[0009] Additional features and advantages of the invention will be set forth in the description that follows, and in part will be obvious from the description, or may be learned by the practice of exemplary implementations thereof. The features and advantages of such implementations may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features will become more fully apparent from the following description and the appended claims, or may be learned by the practice of such implementations as set forth herein.

[0010] To explain the manner in which the above-described, and other advantages and features of the invention can be obtained, a more particular description of the principles briefly described above will be made by reference to specific embodiments thereof which are illustrated in the accompanying drawings, the invention being described and explained with added specificity and detail through the use of the accompanying drawings, with the understanding that these drawings merely depict typical embodiments of the invention and are therefore not to be considered limiting of its scope. [Brief explanation of the drawings]

[0011] [Figure 1] 1 illustrates a system for thermosetting 3D printing. [Figure 2] 1 illustrates a schematic diagram of a computer system for thermosetting 3D printing. [Figure 3] 1 illustrates a side view of different bead sizes. [Figure 4] 1 illustrates varying bead size along the tool path. [Figure 5] 1 illustrates varying bead size along multiple tool paths. [Figure 6A] 1 illustrates a side view of different bead sizes along a non-planar surface. [Figure 6B] 10 illustrates another side view of different bead sizes along a non-planar surface. [Figure 6C] 10 illustrates another side view of different bead sizes along a non-planar surface. [Figure 7] 1 illustrates a flowchart of steps for dynamically controlling a thermosetting three-dimensional (3D) printer. [Figure 8] Illustrates an example of the dimensions of a desired non-planar surface. [Figure 9] 1 illustrates an exemplary tool path along a slope (i.e., a tapered surface). [Figure 10] To compensate for the delay in extruding material, different extrusion speeds are illustrated for the downward and upward movement of the slop shown in FIG. [Figure 11] 1 illustrates an example of adjacent error diffusion and forward error diffusion. [Figure 12A] 1 illustrates an example embodiment of error diffusion in different layers. [Figure 12B] 1 illustrates an example embodiment of error diffusion in different layers. DETAILED DESCRIPTION OF THE INVENTION

[0012] The present invention extends to systems, methods, and apparatus for dynamically controlling a three-dimensional (3D) printer. The systems, methods, and apparatus operate through the deposition of material during the creation of a target object. In some embodiments, the material deposited through the three-dimensional printer is a co-reactant material, and the 3D printer is a thermosetting printer. As used herein, "target object" may refer to a physical object or a portion of an entirely physical object being additively manufactured by the systems, methods, and / or apparatus described herein. Additionally, as used herein, a co-reactant material includes a thermosetting material. While some of the embodiments described herein relate to a thermosetting 3D printer configured to extrude a co-reactant material, it is noted that the principles described herein are also applicable to any other 3D printer.

[0013] Additive manufacturing using co-reactants has several advantages over alternative additive manufacturing methods. As used herein, "additive manufacturing" refers to the use of computer-aided design (e.g., through a user-generated file or a 3D object scanner) to deposit multiple layers of material in precise geometric shapes on an additive manufacturing device. Because the materials forming successive layers can co-react to form covalent bonds between the layers, additive manufacturing using co-reactants can create stronger parts. Also, because the components have low viscosity when mixed, higher filler contents can be used. Higher filler contents can be used to modify the mechanical and / or electrical properties of the material, such as (but not limited to) density, thermal expansion, thermal conductivity, chemical resistance, glass transition temperature (Tg), elongation at break, surface energy, electrical conductivity, and the constructed target object. Co-reactants can extend the chemistry used in additively manufactured parts to provide improved properties, such as solvent and heat resistance.

[0014] Additionally, the ability to use a computer system to control the use of co-reactants within an additive manufacturing environment provides several advantages. For example, the computer system can dynamically control and adjust co-reactant flow rates, pump speeds, gantry speeds, and / or tool paths in a manner that produces desired physical attributes of the resulting material. Such adjustment and control provides unique advantages within additive manufacturing.

[0015] For purposes of the following detailed description, it should be understood that the invention may contemplate various alternative modifications and step sequences unless expressly stated to the contrary. Furthermore, other than in any operating examples, or where otherwise indicated, all numbers expressing quantities of ingredients used in the specification and claims, for example, should be understood as being modified in all instances by the term "about." Accordingly, unless indicated to the contrary, the numerical parameters set forth in the following specification and appended claims are approximations that may vary depending upon the desired properties obtained by the present invention. At the very least, and not as an attempt to limit the application of the doctrine of equivalents to the scope of the claims, each numerical parameter should at least be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the invention are approximations, the numerical values ​​set forth in the specific examples are reported as precisely as possible. However, any numerical value inherently contains certain errors necessarily resulting from the standard deviation found in their respective testing measurements.

[0016] It should also be understood that any numerical range recited herein is intended to include all subranges subsumed therein. For example, a range of "1 to 10" is intended to include all subranges from the recited minimum value of 1 to the recited maximum value of 10 (and inclusive), i.e., having a minimum value of 1 or greater and a maximum value of 10 or less.

[0017] The use of the singular includes the plural and the plural encompasses the singular unless specifically stated otherwise. Additionally, although "and / or" may be expressly used in certain instances, the use of "or" means "and / or" unless specifically stated otherwise.

[0018] The term "polymer" is meant to include prepolymers, homopolymers, copolymers, and oligomers.

[0019] Embodiments of the present disclosure are directed to the generation of structural objects using 3D printing. 3D objects can be generated by depositing at least two co-reactant components onto a substrate, followed by depositing additional portions or layers of the object on top of the previously deposited portions or layers to form successive portions or layers of the object. The layers are deposited sequentially to build the 3D printed object. The co-reactant components can be mixed and then deposited, or they can be deposited separately. When deposited separately, the components can be deposited simultaneously, sequentially, or both simultaneously and sequentially.

[0020] Deposition and like terms refer to the application of a co-reacting or co-reactant composition and / or a print material containing its reactive components onto a substrate (for a first portion of an object) or onto a previously deposited portion or layer of an object. Each co-reactant may include a monomer, prepolymer, adduct, polymer, and / or crosslinker that can chemically react with components of other co-reactants.

[0021] At least two co-reactants can be mixed together and then deposited as a mixture of co-reactants that react to form a portion of the object. For example, two co-reactants can be mixed together and deposited as a mixture of co-reactants that react to form a co-reacting composition by delivering at least two separate streams of the co-reactants to a mixing device, such as a single static or dynamic mixer, which generates a single stream that is then deposited. The co-reactants can be at least partially reacted by the time the composition comprising the reactant mixture is deposited. The deposited reaction mixture can at least partially react after deposition and can also react with previously and / or subsequently deposited portions of the object, such as an underlying or overlying layer of the object.

[0022] Alternatively, two co-reactants can be deposited separately from one another and react upon deposition to form portions of the object. For example, two co-reactants can be deposited separately, such as by using an inkjet printing system, whereby the two reactants are deposited adjacent to one another on top of one another and / or in sufficient proximity such that the two reactants can react to form portions of the object. As another example, in an extrusion, rather than being uniform, different portions of the cross-sectional profile can have one of the two co-reactants and / or the cross-sectional profile of the extrusion can be non-uniform such that it contains a mixture of the two co-reactants in different molar and / or equivalence ratios.

[0023] Additionally, throughout a 3D printed object, different portions of the object may be formed using different ratios of the two co-reactants, such that different portions of the object may be characterized by different material properties. For example, some portions of the object may be rigid, while other portions of the object may be flexible.

[0024] It will be understood that the viscosity, reaction rate, and other properties of the co-reactant can be adjusted to control the flow of the co-reactant and / or the co-reacting composition (e.g., different monomers) so that the deposited portion and / or object achieves and maintains the desired structural integrity after deposition. The viscosity of the co-reactant can be adjusted by including a solvent (including, but not limited to, a reactive diluent, a resin, a pigment, a rheology modifier, etc.), or the co-reactant can be substantially free of solvent or completely free of solvent. In some embodiments, the solvent can be a solid material such as a resin. In some embodiments, the solvent can be a liquid material. The viscosity of the co-reactant can be adjusted by including a filler, or the co-reactant can be substantially free of filler or completely free of filler. The viscosity of the co-reactant can be adjusted by using components with lower or higher molecular weights. For example, the co-reactant can include a prepolymer, a monomer, or a combination of a prepolymer and a monomer. The viscosity of the co-reactant can be adjusted by varying the deposition temperature. The co-reactant may have a viscosity and temperature profile that can be tailored to the particular deposition method used, such as mixing prior to deposition and / or inkjetting. Viscosity can be influenced by the composition of the co-reactant itself and / or controlled by the inclusion of a rheology modifier as described herein.

[0025] It may be desirable for the viscosity, yield stress, and / or reaction rate to be such that the composition retains its intended shape after deposition of the co-reactant. For example, if the viscosity is too low and / or the reaction rate is too slow, the deposited composition may flow in a manner that compromises the desired shape of the final object. Similarly, if the viscosity is too high and / or the reaction rate is too fast, the desired shape may be compromised.

[0026] Referring now to the figures, FIG. 1 illustrates a system for 3D printing using co-reactants. The depicted system comprises a 3D printer 100 in communication with a computer system 110. The computer system 110 is also depicted as a separate physical component, but may be fully integrated within the 3D printer 100, distributed among multiple different electronic devices (including cloud computing environments), or otherwise integrated with the 3D printer 100. As used herein, a "3D printer" refers to any device that enables additive manufacturing using computer-generated data files. Such computer-generated data files are referred to herein as "CAD files."

[0027] The 3D printer 100 is imaged with a target object 120 in the form of a wedge shape. The wedge shape includes a trapezoidal surface having a non-planar surface that is constructed by the 3D printer 100 at least in part using a co-reactant. The 3D printer 100 also includes a dispenser 130 attached to a movement mechanism 140. As used herein, "dispenser" may include a dynamic nozzle, a static nozzle, an injection device, an injecting device, a dispensing device, an extrusion device, a spraying device, or any other device capable of providing a controlled flow of a co-reactant.

[0028] Further, the movement mechanism 140 is depicted as including a dispenser mounted in tracks 142 that are movable along the arm in the X-axis direction, and another set of tracks 144 along which the arm can move in the Y-axis direction. However, it should be understood that this configuration is provided for purposes of example and explanation only. In additional or alternative configurations, the movement mechanism 140 may include any system capable of controlling the position of the dispenser 130 relative to the target object 120, including, but not limited to, a system that moves the target object 120 relative to the dispenser 130.

[0029] Additionally, the 3D printer 100 is connected to one or more reservoirs 152(a-e) of co-reactants. In the depicted example, the co-reactants are accessed through a selectable manifold 150 that allows a user to select a desired reservoir 152(a-e) from which to draw the co-reactant. However, it will be understood that the depicted system for 3D printing is merely exemplary. For example, in alternative cases, the system may utilize a different configuration of co-reactants and selectable manifold 150, or may not include a selectable manifold 150 at all.

[0030] 2 illustrates a schematic diagram of a computer system for thermoset 3D printing. Computer system 110 is shown in communication with 3D printer 100. Additionally, various modules or units of 3D printing design software 200 are depicted as being executed by computer system 110. In particular, 3D printing design software 200 is depicted as including a toolpath generation unit 240, a flow processing unit 242, a dispenser control unit 244, and a material database 246. Toolpath generation unit 240 is configured to generate toolpaths and modify them in terms of machine language.

[0031] The computer system depicted for thermosetting 3D printing is further shown to include first and second co-reactant containers 152a, 152b that are fed directly to the 3D printer 100. Thus, the 3D printer 100 can extract co-reactants from the first and second co-reactant containers 152a, 152b as desired. However, it will be understood that this configuration is merely exemplary, and that additional or alternative embodiments may utilize different configurations of co-reactant containers to provide co-reactants to the 3D printer 100.

[0032] As used herein, a "module" includes computer-executable code and / or computer hardware that performs a particular function. Those skilled in the art will understand that the distinction between different modules is at least partially arbitrary, and that modules may be combined and divided differently and still be within the scope of the present disclosure. Thus, description of components as being "modules" is provided for clarity and explanation only and should not be construed as indicating that any particular structure of computer-executable code and / or computer hardware is required unless expressly stated otherwise. Terms such as "unit," "component," "agent," "manager," "service," "engine," "virtual machine," and the like may also be used herein.

[0033] The computer system 110 also includes one or more processors 210 and one or more computer storage media 220 storing executable instructions that, when executed by the one or more processors 210, configure the computer system 110 to perform various actions. For example, the computer system 110 can receive instructions to cause the 3D printer 100 to print a non-planar surface. As used herein, “instructions” includes any form of input received by the computer system 110. For example, instructions may include manual input by a user, an automated action performed by the computer system 110 or another remote computer system, the execution of a software application, the selection of a user interface element in a graphical user interface, the receipt of a data file, or any other form of input that causes the computer system 110 to perform further action. Additionally, as used herein, a non-planar surface includes any surface that reduces in thickness toward a particular end, such as a sloped and / or angled surface. For example, a wedge-shaped target object 120 includes a non-planar surface. Thus, a non-planar surface includes a surface that is not planar relative to the bottom surface of the target object.

[0034] When instructions for printing a non-planar surface of target object 120 are received by computer system 110, tool path generation unit 240 generates a tool path for additively manufacturing target object 120. As used herein, "tool path" refers to the path of dispenser 130 in manufacturing target object 120. Additionally, "tool path" may also refer to the speed and / or flow rate of dispenser 130 in manufacturing target object 120. Tool path generation unit 240 generates the tool path such that co-reactant material is dispensed from dispenser 130 at a speed along a path that creates target object 120.

[0035] In some situations, the tool path may require the dispenser 130 to deposit the co-reactant materials in layers on top of themselves. The flow processing unit 242 and the dispenser control unit 244 calculate target flow rates to ensure proper bonding of the co-reactant materials between different layers. Such calculations may account for the reaction time of the co-reactant materials so that the layers are placed on top of each other before the underlying layer has time to fully cure. Thus, the generation of the first tool path may be based at least in part on the target flow rate. As discussed above, such information regarding the amount of time different co-reactant components remain reactive is provided by the materials database 246.

[0036] As used herein, “flow rate” (also referred to as “extrusion rate”) includes the rate at which one or more components of a material are dispensed from dispenser 130. The flow rate may be controllable on a component-by-component basis. For example, toolpath generation unit 240 includes a flow rate processing unit 242 that determines and controls a target flow rate for dispensing a co-reactant material to create target object 120. In some embodiments, flow rate processing unit 242 may be configured to turn on and / or off one or more valves in dispenser 130 and / or control the flow rate based on E-commands (which invoke a system editor to edit statements in a stack). In some embodiments, dispenser control unit 244 may be configured to control the linear movement of dispenser 130.

[0037] The flow rate processing unit 242 can be configured to manipulate the flow rate of the co-reactant material by modifying the properties of the co-reactant within the co-reactant material while creating the target object 120. It will be understood that the viscosity, reaction rate, and other properties of the co-reactant can be adjusted to control the flow of the co-reactant and / or thermosetting composition so that the deposited portion and / or object achieves and maintains the desired structural integrity after deposition. The viscosity of the co-reactant can be adjusted by including a solvent, or the co-reactant can be substantially free of solvent or completely free of solvent. The viscosity of the co-reactant can be adjusted by including a filler, or the co-reactant can be substantially free of filler or completely free of filler. The viscosity of the co-reactant can be adjusted by using components with lower or higher molecular weights. For example, the co-reactant can include a prepolymer, a monomer, or a combination of a prepolymer and a monomer. The viscosity of the co-reactant can be adjusted by varying the deposition temperature. The co-reactant may have a viscosity and temperature profile that can be tailored to the particular deposition method used, such as mixing prior to deposition and / or inkjetting. Viscosity can be influenced by the composition of the co-reactant itself and / or controlled by the inclusion of a rheology modifier as described herein.

[0038] It may be desirable for the viscosity and / or reaction rate to be such that the composition retains its intended shape after deposition of the co-reactant. For example, if the viscosity is too low and / or the reaction rate is too slow, the deposited composition may flow in a manner that disrupts the desired shape of the final object. Similarly, if the viscosity is too high and / or the reaction rate is too fast, the desired shape may be disrupted.

[0039] For example, the co-reactants to be deposited together may each have a viscosity at 25° C. and a 0.1 s of 5,000 centipoise (cP) to 5,000,000 cP, 50,000 cP to 4,000,000 cP, or 200,000 cP to 2,000,000 cP. -1The co-reactants to be deposited together may each have a viscosity at 25° C. and a shear rate of 1,000 s of 50 centipoise (cP) to 50,000 cP, 100 cP to 20,000 cP, or 200 to 10,000 cP. -1 The viscosity values ​​may be measured using an Anton Paar MCR301 or 302 rheometer with a gap of 1 mm to 2 mm.

[0040] Additionally, viscosity and / or reaction rate can be adjusted to control the actual bead size or layer size dispensed by dispenser 130. As used herein, "bead" includes a layer of material dispensed by dispenser 130 on a toolpath. Similarly, as used herein, "bead size" includes one or more dimensions of the layer being dispensed by dispenser 130. For example, bead size may include bead height, bead radius, bead width, or any other physical dimension of the bead. Although the term "bead" is used herein, it will be understood that the actual layer need not physically resemble a conventional bead shape.

[0041] Additionally or alternatively, dispenser control unit 250 may adjust the characteristics of 3D printer 100 to achieve a desired flow rate. For example, dispenser control unit 250 may cause dispenser 130 to move faster or slower to achieve a desired bead size, deposition rate, viscosity, and / or reaction rate. For example, if dispenser 130 is dispensing co-reactant material at a constant speed and dispenser control unit 250 moves the dispenser at a faster speed during deposition, the resulting bead size will be smaller. Similarly, dispenser control unit 250 may cause dispenser 130 to dispense co-reactant material at a higher or lower speed based on the desired flow rate and / or bead size. Accordingly, flow processing unit 242 may adjust the characteristics of the co-reactant component within the material, and / or dispenser control unit 250 may adjust the mechanical operation of 3D printer 100 to achieve the desired flow rate and / or bead size.

[0042] In some configurations, the 3D printer 100 may be capable of utilizing multiple different types of materials to manufacture the target object 120. These different materials may include different combinations of co-reactants. For example, FIG. 1 depicts one or more containers 152(a-e) of co-reactants, each of which may include a different type of co-reactant. Upon receiving the material instructions, the toolpath generation unit 240 accesses material properties from the material database 246. In some cases, the material instructions include a specific mixture of co-reactants, such as the specific mixture of co-reactants provided by the one or more containers 152(a-e) of co-reactants. The material properties include the viscosity of the material and / or various other attributes related to the reactivity of the material. Using information from the material database 246 and the processes described above, the toolpath generation unit 240 uses the material properties to determine the target flow rate and / or bead size.

[0043] Additionally, in some configurations, the co-reactant may utilize an external stimulus, such as UV light, during the reaction process. In such cases, the 3D printer 100 may include a UV light source controllable by the computer system 110. The 3D printer 100 may be configurable to dispense the co-reactant material and cure the material with the UV light source. Various other stimuli may similarly be implemented by the computer system 110, such that the stimulus is applied to the co-reactant material during and / or after dispensing.

[0044] Returning now to printing a non-planar surface of the target object 120, the 3D print design software 200 can calculate multiple different bead sizes for creating the non-planar surface using a thermosetting component. In particular, conventional methods for creating a non-planar surface using thermoplastics result in a jagged, step-like pattern of thermosetting tool paths extending across the non-planar surface. In contrast, the 3D print design software 200 can print the non-planar surface of the target object 120 using different, successively smaller bead sizes and control the viscosity of the co-reactant material to create a smooth, non-planar surface. In some embodiments, one or more attributes associated with the different, successively smaller bead sizes are determined based on the angle of the non-planar surface. In some embodiments, the attributes associated with the different, successively smaller bead sizes are determined based on the height (i.e., z-axis) configuration for the top layer and / or layer changes. The one or more attributes may include (but are not limited to) bead width, nozzle height, travel speed, and / or extrusion rate.

[0045] For example, Figure 3 illustrates a side view of different bead sizes. In the depicted example, a first set of bead sizes 310 is above a taper 300. A second bead size 320 is smaller than the first set of bead sizes. Similarly, a third bead size 330 is smaller than the second bead size 320, a fourth bead size 340 is smaller than the third bead size 330, and a fifth bead size 350 is smaller than the fourth bead size 340. The sequentially decreasing bead sizes create a natural taper.

[0046] Through the use of geometric relationships and material properties of the co-reactant material, such as viscosity, the toolpath generation unit 240 can calculate the number of bead sizes required along the toolpath. For example, the toolpath generation unit 240 can identify the angle and length of the taper. Using this information, the toolpath generation unit 240 can calculate the number and sizes of different beads needed to form the desired taper. For example, the toolpath generation unit 240 may identify both the largest and smallest bead sizes that the dispenser 130 can create using a particular co-reactant material while maintaining the desired material attributes. Using these two data points, the toolpath generation unit 240 can segment the length of the taper into slightly smaller bead sizes.

[0047] For example, the toolpath generation unit 240 may determine the length of a non-planar surface, determine at least one angle of a taper associated with the non-planar surface, and calculate a geometric ratio of bead size differences between adjacent thermosetting print lines based on the length of the non-planar surface and the at least one angle of the taper. The ratio is selected to achieve a desired angle of the surface. For example, the toolpath generation unit 240 may utilize the tangent of the taper angle to identify the desired height of each successive bead size. Using this concept, the toolpath generation unit 240 may create commands to generate multiple different bead sizes at specific locations within the print area. As used herein, a print area includes a physical area in which the 3D printer 100 can dispense a co-reactant material.

[0048] 4 illustrates varying bead sizes 410(a-d) along a tool path 400. In particular, the tool path generation unit 240 calculates the bead sizes 410(a-d) needed to achieve a desired taper. The tool path generation unit 240 generates a tool path 400 configured to sequentially distribute the desired bead sizes 410(a-d) along the tool path 400.

[0049] For example, the toolpath generation unit 240 may generate a toolpath 400 that dispenses a coreactant at a constant velocity and then varies that velocity. Thus, the toolpath generation unit 240 may create commands to change the velocity of the dispenser 130 in the three-dimensional printer 100, with the change in velocity corresponding to the desired bead size. For example, while creating bead size 410a, the dispenser 130 may move at a first velocity, and then while creating bead size 410b, the dispenser 130 may move at a faster velocity such that the smaller bead size 410b is created. Thus, typically, an increase in velocity correlates to a smaller bead size. The dispenser 130 may move at a faster velocity for each successive bead size 410(a-d) such that the bead sizes sequentially decrease down the non-planar surface of the target object 120.

[0050] Additionally or alternatively, toolpath generation unit 240 may generate commands to modify the flow rate of thermosetting material from three-dimensional printer 100, the modification of the flow rate corresponding to a desired bead size. For example, toolpath generation unit 240 may adjust the flow of co-reactant material along toolpath 400 such that a relatively high flow rate is used to create bead size 410a, while a relatively low flow rate is used to create bead size 410b. Thus, a higher flow rate may correlate to a larger bead size, while a relatively low flow rate may correlate to a relatively small bead size. It will be appreciated that several different methods may be used, alone or in combination, to manipulate the bead size of the co-reactant material dispensed from dispenser 130.

[0051] FIG. 5 illustrates an alternative configuration for varying bead size along multiple tool paths 500(a-h). In this depicted example, the tool path generation unit 240 generates tool paths 500(a-h) that run parallel to a taper with continuously decreasing bead sizes along the taper. In the example of FIG. 4, the bead sizes 410(a-d) are substantially distinct in that each line running perpendicular to the taper is a substantially consistent bead size 410(a-d). In contrast, in FIG. 5, the bead size continuously decreases along the length of a particular tool path 500(a-h). Thus, in light of the present disclosure, it will be understood that bead size may be adjusted in several different ways to create non-planar surfaces.

[0052] FIG. 6A illustrates a side view of different bead sizes along a non-planar surface 600 of a target object 120. The side view depicts an exemplary bead size that is perfectly round. Those skilled in the art will understand that the coreactant material will not maintain a perfectly round shape once dispensed. Nevertheless, sequential bead sizes are depicted for purposes of illustration and explanation. FIG. 6B illustrates another side view of different bead sizes along the non-planar surface 600. In this depicted example, the coreactant beads have begun to settle as determined by the viscosity of the coreactant material. FIG. 6C illustrates another side view of different bead sizes along the non-planar surface 600. FIG. 6C depicts the coreactant material after individual beads have settled onto the smooth, non-planar surface 600.

[0053] In some embodiments, based on the dimensions of the desired non-planar surface, computer system 110 is configured to determine a bead width, nozzle height, travel speed, and / or extrusion rate, and based on the determined bead width, nozzle height, travel speed, and / or extrusion rate, computer system 110 generates commands to cause printer 100 to dispense beads according to the commands to create the desired tapered shape. Figure 8 illustrates an example of the dimensions of the desired non-planar surface. Based on the dimensions of the desired non-planar surface, the bead width, nozzle height, travel speed, and / or extrusion rate may be computed to cause the printer to create the desired non-planar surface. In some embodiments, the bead width W may be calculated using the following equation: n , nozzle height h n , moving speed f x , and / or the extrusion rate E can be calculated, where n is the current iteration and N is the total iterations.

number

number

number

number

[0054] 7 illustrates a flowchart of steps for a method 700 of dynamically controlling a thermosetting three-dimensional (3D) printer. The depicted method includes act 710 of receiving instructions to print a non-planar surface. Act 710 includes receiving instructions to cause the thermosetting three-dimensional printer 100 to print the non-planar surface. For example, as depicted and described with respect to FIG. 1 , the computer system 110 may include commands to cause the 3D printer 100 to print a target object 120 that includes a non-planar surface 600.

[0055] Additionally, method 700 may include act 720 of calculating bead sizes. Act 720 includes calculating a plurality of different bead sizes for creating non-planar surface 600 using a thermosetting composition. For example, as depicted and described in FIGS. 1 and 4, toolpath generation unit 240 may identify angles and lengths associated with tapers. Using this information, toolpath generation unit 240 may calculate different bead locations and bead sizes using conventional geometric ratios.

[0056] Method 700 may also include act 730 of generating commands to generate the calculated bead size. Act 730 may include generating commands to generate a plurality of different bead sizes at locations within the print area. For example, as depicted in Figures 6A-6C, computer system 110 may cause 3D printer 100 to print a non-planar surface 600.

[0057] Although the figures illustrate tapered surfaces, it is noted that a taper is merely a special case of any non-planar surface, and therefore any non-planar surface can be produced based on the principles described herein.

[0058] Furthermore, during the experimental process, the inventors noted that certain extrusion errors may occur repeatedly under certain circumstances. In some embodiments, extrusion error segments are identified and parameterized so that the 3D printer can be configured to adapt these parameters to what the rheology dictates.

[0059] Due to the segmentation of the process by gCode execution, the extrusion rate is divided into quality segments. However, different extrusion materials may experience different natural delays, i.e., the actual extrusion rate is slower than the intended extrusion rate indicated by the machine-readable commands. To mitigate the delay of the extrusion material, in some embodiments, a heavier extrusion rate is implemented for the downward movement of the ramp compared to the extrusion rate implemented for the upward movement of the ramp. Such embodiments also provide a means of averaging two adjacent extrusion rates so that an effective intermediate extrusion rate between the two adjacent extrusion rates is achieved.

[0060] 9-10 illustrate an exemplary embodiment for implementing a heavier extrusion rate for the downward movement of the ramp compared to the extrusion rate for the upward movement of the ramp. FIG. 9 illustrates an exemplary tool path 900 along a ramp (i.e., a tapered surface). The tool path is divided into multiple segments A-B, B-C, C-D, D-E, E-F, F-G, G-H, H-I, etc. The multiple segments A-B, B-C, C-D, D-E, E-F, F-G, G-H, H-I, corresponding to different extrusion rates indicated by the command(s), are shown as different patterns. For example, the extrusion rate indicated by the command(s) for segments A-B is 8.0 shown as teal, the extrusion rate indicated by the command(s) for segments B-C and H-I is 6.0 shown as green, the extrusion rate indicated by the command(s) for segments C-D and G-H is 4.0 shown as yellow, the extrusion rate for segments D-E and F-G is 2.0 shown as light orange, and the extrusion rate for segment EF is 0.0 shown as orange.

[0061] Note that in practice, the extrusion speed is only changed by a predetermined minimum discrete unit. As shown in Figures 9-10, if the minimum discrete unit is 2.0, the extrusion speed is always double 2.0. In some cases, the minimum discrete unit limitation may result in errors and / or imperfections in the printed 3D object.

[0062] Furthermore, natural delays in extrusion material can also cause errors and / or imperfections in the printed 3D object. In particular, natural delays slow the actual extrusion rate compared to the command. FIG. 10 illustrates different extrusion rates for the downward and upward movements of the slop shown in FIG. 9 to compensate for the delay in extrusion material. The top section of FIG. 10 illustrates the extrusion rate indicated by the command(s) and the actual extrusion rate due to the delay in the downward movement of the ramp in FIG. 9. The bottom section of FIG. 10 illustrates the extrusion rate provided by the command(s) and the actual extrusion rate due to the delay in the upward movement of the ramp in FIG. 9. As illustrated, the extrusion rates indicated by the command(s) for the downward movement of the ramp are 8.0 (in sections A-B), 6.0 (in sections B-C), 4.0 (in sections C-D), and 2.0 (in sections D-E), while the extrusion rates indicated by the command(s) for the upward movement of the ramp are 0 (in sections E'-F), 2.0 (in sections F-G), 4.0 (in sections G-H), and 6.0 (in sections H-I). Thus, the set of extrusion rates indicated by the command(s) for the upward movement of the ramp (e.g., 8.0, 6.0, 4.0, 2.0) is greater than the set of extrusion rates indicated by the command(s) for the downward movement of the ramp (e.g., 0, 2.0, 4.0, 6.0).

[0063] Furthermore, due to delays in the extrusion material, the actual extrusion rate lags compared to the extrusion rate indicated by the command(s). As illustrated in FIG. 10, in the downward movement of the ramp, point S is a point before point A, which may be before point A in time and / or physical space. A command for an extrusion rate of 8.0 is initiated at point S. However, due to delays, the actual extrusion rate at point S is 0.00 and does not reach 8.0 until point A. Similarly, at point B, the command changes the extrusion rate from 8.0 to 6.0; however, the actual extrusion rate at point B remains at 8.0 and does not reach 6.0 until point B' (the point between B and C). Again, at point C, the command changes the extrusion rate from 6.0 to 4.0; however, the actual extrusion rate at point C remains at 6.0 and does not reach 4.0 until point C' (the point between C and D). Again, at point D, the command changes the extrusion speed from 4.0 to 2.0, but the actual extrusion speed at point D remains at 4.0, and it is not until point D' (the point between D and E) that the actual extrusion speed reaches 2.0.

[0064] The same delay occurs moving up the slope, so that the actual extrusion rate is 0 at point E', 0 at point F' (the point between E' and F), 0 at point F, 2.0 at point G' (the point between F and G), 2.0 at point G, 4.0 at point H' (the point between G and H), 4.0 at point H, 6.0 at point I' (the point between H and I), and 6.0 at point I.

[0065] Referring back to FIG. 9, points A and I are adjacent on the slope (or on the non-planar surface); similarly, points B and H are adjacent, points C and G are adjacent, points E and E' are adjacent, points A' and I' are adjacent, points B' and H' are adjacent, points C' and G' are adjacent, and points D' and F' are adjacent. Referring again to FIG. 10, since the extrusion speeds formed by the downward and upward movements of the slope are different, the effective average actual extrusion speed at points A and I is 7.0 = (8.0 + 6.0) / 2, the effective average actual extrusion speed at points A' and I' is 7.0 = (8.0 + 6.0) / 2, the effective average natural extrusion speed at points B and H is 6.0 = (8.0 + 4.0) / 2, the effective average natural extrusion speed at points B' and H' is 5.0 = (6.0 + 4.0) / 2, and the effective average natural extrusion speed at points The effective average actual extrusion rate at points C and G is 4.0 = (6.0 + 2.0) / 2, the effective average actual extrusion rate at points C' and G' is 3.0 = (4.0 + 2.0) / 2, the effective average actual extrusion rate at points D and F is 2.0 = (4.0 + 0.0) / 2, the effective average actual extrusion rate at points D' and F' is 1.0 = (2.0 + 0.0) / 2, and the extrusion rate at points E and E' is 2.0 = (2.0 + 0.0) / 2. Thus, although the extrusion rate is only changed in discrete increments of 2.0, effective averages of adjacent extrusion rates (e.g., 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, and 1.0) provide finer resolution.

[0066] It is noted that the numbers 8.0, 6.0, 4.0, 2.0 used to represent the extrusion rate are merely examples. Regardless of the exact number of smallest discrete units of the extrusion rate, the same principles explained above are applicable; the effective average extrusion rate provides finer resolution than the smallest discrete units of the extrusion rate.

[0067] Increasing the extrusion rate on the downward slope movement relative to the upward slope movement is just one example of an embodiment that can mitigate or diffuse errors or imperfections in adjacent tool paths on a tapered surface. The principles described herein can also be implemented to mitigate and / or diffuse errors and / or imperfections generated in adjacent tool paths or caused by delays in extrusion material within the same tool path on any non-planar surface.

[0068] FIG. 11 illustrates an example of two adjacent toolpaths 1110 and 1120. The extrusion speed at a current position 1122 is computed based on both parameters associated with the adjacent toolpath 1110 and parameters associated with its own toolpath 1120. In some embodiments, the diffusion is based on a three-dimensional (three spatial dimensions: x, y, and z) or four-dimensional (three spatial dimensions: x, y, and z and a temporal dimension: t) Floyd-Steinberg filter, which adds the residual quantization error of a point to its neighbors. In some embodiments, the computing associated with diffusing errors and / or imperfections with respect to parameters of the adjacent toolpath 1110 is referred to as adjacent error diffusion, and the computing associated with diffusing errors and / or imperfections with respect to parameters of its own toolpath 1120 is referred to as forward error diffusion.

[0069] As shown in FIG. 11, adjacent error diffusion and forward error diffusion occur in the same layer of the tool path, but the same principles described herein can also be implemented in different layers to adjust the extrusion rate of a first point in a first layer to diffuse an error generated at a second point in a second layer adjacent to the first layer.

[0070] 12A and 12B illustrate an example of an embodiment of error diffusion in different layers. FIG. 12A illustrates that when printing a tapered surface, the bottom layer often creates small gaps due to the smallest discrete units of extrusion speed. In some embodiments, the extrusion speed along the tool path can be adjusted to reduce or even eliminate such gaps. FIG. 12B illustrates the results using an adjusted extrusion speed. As illustrated in FIG. 12B, with the adjusted extrusion speed, most of the gaps are eliminated (except for the gap at the far right).

[0071] Furthermore, in particular, each point in the tool path has four dimensions, including three dimensions in physical space and a time dimension (not shown). The timing of extrusion changes (including the extruder movement speed) can also be adjusted depending on the actual speed. Therefore, the calculation of the extrusion speed is not only related to parameters associated with the three physical space dimensions, but also to parameters associated with the time dimension.

[0072] These parameters associated with different dimensions may be different for different extrusion materials. In some embodiments, a separate set of values ​​is compiled for each type of material and stored in a computer-readable storage device. For example, a separate table may be generated for each type of material. The 3D printer or a computing system coupled to the 3D printer is configured to retrieve different sets of values ​​based on the materials used in different print jobs and generate gCode that implements the various error diffusion techniques described above.

[0073] In some embodiments, extrusion error diffusion is based on an error function that measures the difference between the desired extrusion rate and the actual extrusion rate, as shown in equations (5) and (6) below.

number

[0074] where E is the error function at a particular location (x, y, z), D is the desired extrusion rate, and A is the actual extrusion rate.

[0075] As briefly discussed above, in some embodiments, time t is another parameter that can be considered in error diffusion. When time t is considered, the error function is shown in Equation (1) below:

number

[0076] where E is the error function at a particular position (x, y, z) at a particular time t, D is the desired extrusion rate, and A is the actual extrusion rate.

[0077] Using the error function of Equation (5) and / or Equation (6) described above, the total volume is equal to the current error, and no additional material is unnecessarily added or removed, achieving a sharpening effect on the resolution of part details. The error function for error diffusion can be implemented in a computing system connected to the 3D printer or in the printer itself.

[0078] Although the present subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above or to the order of acts described above. Rather, the described features and acts are disclosed as example forms for implementing the claims.

[0079] The present invention may comprise or utilize special-purpose or general-purpose computer systems, including, for example, computer hardware such as one or more processors and system memory, as discussed in more detail below. Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Such computer-readable media may be any available media that can be accessed by a general-purpose or special-purpose computer system. Computer-readable media that store computer-executable instructions and / or data structures are computer storage media. Computer-readable media that carry computer-executable instructions and / or data structures are transmission media. Thus, by way of example, and not limitation, embodiments of the present invention may comprise at least two distinctly different types of computer-readable media: computer storage media and transmission media.

[0080] A computer storage medium is a physical storage medium that stores computer-executable instructions and / or data structures. Physical storage media include computer hardware such as RAM, ROM, EEPROM, solid-state drives (“SSD”), flash memory, phase-change memory (“PCM”), optical disk storage, magnetic disk storage or other magnetic storage devices, or any other hardware storage device(s) that can be used to store program code in the form of computer-executable instructions or data structures that can be accessed and executed by a general-purpose or special-purpose computer system to implement the disclosed functions of the present invention.

[0081] Transmission media may be used to carry program code in the form of computer-executable instructions or data structures and may include networks and / or data links that can be accessed by a general-purpose or special-purpose computer system. A "network" is defined as one or more data links that enable the transfer of electronic data between computer systems and / or modules and / or other electronic devices. When information is transferred or provided to a computer system over a network or another communications connection (either wired, wireless, or a combination of wired or wireless), the computer system may view the connection as a transmission medium. Combinations of the above should also be included within the scope of computer-readable media.

[0082] Furthermore, upon reaching the various computer system components, program code in the form of computer-executable instructions or data structures may be automatically transferred from transmission media to computer storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link may be buffered in RAM within a network interface module (e.g., a "NIC") and then eventually transferred to computer system RAM and / or less-volatile computer storage media within the computer system. Thus, it should be understood that computer storage media may be included in computer system components that also (or primarily) utilize transmission media.

[0083] Computer-executable instructions comprise, for example, instructions and data that, when executed by one or more processors, cause a general-purpose computer system, special-purpose computer system, or special-purpose processing device to perform a certain function or group of functions. The computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.

[0084] Those skilled in the art will appreciate that the present invention may be practiced in networked computing environments having many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, cellular phones, PDAs, tablets, pagers, routers, switches, etc. The present invention may also be practiced in distributed system environments where tasks are performed by both local and remote computer systems that are linked through a network (by hardwired data links, wireless data links, or a combination of hardwired and wireless data links). Thus, in a distributed system environment, a computer system may include multiple constituent computer systems. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

[0085] Those skilled in the art will also understand that the present invention can be implemented in a cloud computing environment. A cloud computing environment can be distributed, but this is not required. When distributed, a cloud computing environment can have components distributed internationally within an organization and / or owned across multiple organizations. For purposes of this specification and the claims that follow, "cloud computing" is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of "cloud computing" is not limited to any of the many other benefits that can be obtained from such a model when properly deployed.

[0086] Cloud computing models may be configured with various characteristics, such as on-demand self-service, pervasive network access, resource pooling, rapid elasticity, measured service, etc. Cloud computing models may also be offered in the form of various service models, such as, for example, Software as a Service ("SaaS"), Platform as a Service ("PaaS"), and Infrastructure as a Service ("IaaS"). Cloud computing models may also be deployed using different deployment models, such as private cloud, community cloud, public cloud, hybrid cloud, etc.

[0087] Some embodiments, such as a cloud computing environment, may comprise a system including one or more hosts, each capable of running one or more virtual machines. During operation, the virtual machines emulate a working computing system that supports an operating system and possibly one or more other applications as well. In some embodiments, each host includes a hypervisor that emulates the virtual machine's virtual resources using physical resources abstracted from the virtual machine's view. The hypervisor also provides appropriate isolation between the virtual machines. Thus, from the perspective of any given virtual machine, the hypervisor provides the illusion that the virtual machine is interfacing with physical resources, even though the virtual machine only interfaces with the appearance of physical resources (e.g., virtual resources). Examples of physical resources include processing power, memory, disk space, network bandwidth, media drives, etc.

[0088] The present invention is further illustrated by the following aspects.

[0089] According to a first aspect, there is provided a computer system for dynamically controlling a three dimensional printer, the computer system comprising: one or more processors; and one or more computer readable media having executable instructions stored thereon, wherein the executable instructions, when executed by the one or more processors, preferably configure the computer system to perform the method according to any one of aspects 16 to 24: receive instructions to cause the three dimensional printer to print a non-planar surface of a three dimensional object having a particular shape; calculate, using components of the three dimensional printer, a plurality of different bead sizes for creating the non-planar surface; and generate commands to generate the plurality of different bead sizes or ratios at locations within the print area.

[0090] Aspect 2 relates to the computer system of aspect 1, wherein creating commands to generate multiple different bead sizes or ratios at specific locations within the print area includes creating commands to modify the extrusion rate of material from the three-dimensional printer, the modification of the extrusion rate being consistent with a desired bead size or location having a specific height at which one or more beads are deposited.

[0091] Aspect 3 relates to the computer system of aspect 1 or 2, wherein calculating a plurality of different bead sizes for creating a non-planar surface using components of the three-dimensional printer further includes identifying a plurality of parameters related to errors that may be caused by a plurality of limitations of the three-dimensional printer, the plurality of limitations including at least one of (1) a minimum bead size the three-dimensional printer can produce or (2) a natural delay in the extruded material forming the beads, and calculating the plurality of different bead sizes based on the plurality of parameters.

[0092] Aspect 4 relates to the computer system of any one of aspects 1 to 3, wherein calculating a plurality of different bead sizes for creating a non-planar surface using components of a three-dimensional printer further comprises computing a difference between a desired extrusion rate and an actual extrusion rate.

[0093] Aspect 5 relates to a computer system of any one of aspects 1 to 4, wherein calculating multiple different bead sizes based on multiple parameters includes computing bead sizes to (1) diffuse a first error caused by natural delay of the extruded material, (2) diffuse a second error occurring on adjacent tool paths on the same layer, or (3) diffuse a third error occurring on adjacent tool paths on different layers.

[0094] Aspect 6 relates to a computer system described in any one of aspects 1 to 5, wherein a first tool path moving down the slope has a first set of bead sizes, and a second tool path moving up the slope has a second set of bead sizes, and the average size of the first set of bead sizes is larger than the average size of the second set of bead sizes.

[0095] Aspect 7 relates to the computer system described in aspect 6, wherein the first tool path and the second tool path are adjacent on an incline and the average effective bead size of the first tool path and the second tool path has a resolution finer than the resolution of the three-dimensional printer.

[0096] Aspect 8 relates to a computer system described in any one of aspects 1 to 7, wherein creating commands for generating multiple different bead sizes at specific locations within the print area includes interpolating specific coordinates within the print area.

[0097] Aspect 9 relates to the computer system of aspect 8, wherein interpolating specific coordinates within the print area includes determining at least one of a bead width, a nozzle height, a movement speed, or an extrusion volume based on a specific shape of the three-dimensional object.

[0098] A tenth aspect relates to the computer system according to any one of the first to ninth aspects, in which the three-dimensional printer is a thermosetting printer.

[0099] An eleventh aspect relates to the computer system according to any one of the first to tenth aspects, wherein the system includes a three-dimensional printer.

[0100] Example 12 relates to the computer system of any one of Examples 1 to 11, wherein calculating the plurality of different bead sizes is obtained by adapting viscosity, reaction rate, and / or composition of co-reactants.

[0101] Example 13 relates to the computer system of any one of Examples 1 to 12, wherein calculating the plurality of different bead sizes includes identifying an angle and / or length of a taper (or slope) of the surface and calculating the number and sizes of different beads needed to form the desired taper (slope).

[0102] Example 14 relates to the computer system of any one of Examples 1 to 13, wherein calculating the plurality of different bead sizes includes a tool path running parallel to the taper with successively decreasing bead sizes along the taper and / or tool path, each line running perpendicular to the taper, and each line having a different bead size.

[0103] Example 15 relates to the computer system of any one of Examples 1 to 14, wherein calculating the plurality of different bead sizes preferably includes calculating the different bead positions and bead sizes using geometric ratios of the tapers.

[0104] According to a sixteenth aspect, there is provided a computer-implemented method for dynamically controlling a three dimensional printer, the computer-implemented method running on another processor, preferably as defined in any one of aspects 1 to 15, comprising receiving instructions to cause the three dimensional printer to print a non-planar surface; calculating a plurality of different bead sizes for creating the non-planar surface; and generating commands to generate the plurality of different bead sizes at specific locations within the print area.

[0105] Aspect 17 relates to the computer system of aspect 16, wherein creating commands to generate multiple different bead sizes at specific locations within the print area includes creating commands to modify the extrusion rate of material from the three-dimensional printer, the modification of the extrusion rate being consistent with the desired bead size.

[0106] Example 18 relates to the computer system of example 16 or example 17, wherein a higher extrusion rate correlates with a larger bead size.

[0107] Example 19 relates to a computer system according to example 16 or 17, which can dynamically control and adjust co-reactant flow rates, pump speeds, gantry speeds, and / or tool paths to generate multiple different bead sizes at specific locations within a print area.

[0108] Aspect 20 relates to a computer system described in any one of aspects 16 to 19, wherein creating commands to generate multiple different bead sizes at specific locations within the print area includes creating commands to change the speed of a dispenser within the three-dimensional printer, the change in speed being consistent with the desired bead size.

[0109] Example 21 relates to the computer system of any one of Examples 16 to 20, wherein the increased speed correlates with smaller bead size.

[0110] Aspect 22 relates to the computer system of any one of aspects 16 to 21, further comprising causing the three-dimensional printer to dispense a plurality of different bead sizes at specific locations within the print area.

[0111] Example 23 relates to a computer system of any one of Examples 16 to 22, wherein the non-planar surface is a non-planar surface, and calculating multiple different bead sizes for creating the non-planar surface using three-dimensional components includes determining a length of the non-planar surface, determining at least one angle of taper associated with the non-planar surface, and calculating a geometric ratio of bead size differences between adjacent print lines based on the length of the non-planar surface and the at least one angle of taper.

[0112] Example 24 relates to a computer system described in any one of Examples 16 to 23, wherein creating commands for generating multiple different bead sizes at specific locations within the print area includes interpolating specific coordinates within the print area.

[0113] Aspect 25 relates to the computer system of aspect 24, wherein interpolating specific coordinates within the print area includes calculating at least one of a bead width, a nozzle height, a movement speed, or an extrusion volume, and creating commands to cause the three-dimensional printer to print based on the calculated bead width, nozzle height, movement speed, or extrusion volume.

[0114] According to aspect 26, a computer-readable medium comprising one or more physical computer-readable storage media having computer-executable instructions stored thereon, the executable instructions, when executed by a processor, cause a computer system to perform a method for dynamically controlling a three-dimensional printer, preferably a method defined in any one of aspects 16 to 24, the method including receiving instructions to cause the three-dimensional printer to print a non-planar surface; calculating, using components of the three-dimensional printer, a plurality of different bead sizes for creating the non-planar surface; and creating commands to generate the plurality of different bead sizes at specific locations within the print area.

[0115] The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are considered in all respects to be merely illustrative and not restrictive. The scope of the present invention is therefore indicated by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are intended to be embraced within their scope.

Claims

1. 1. A computer system for dynamically controlling a three-dimensional printer, comprising: one or more processors; one or more computer-readable media having executable instructions stored thereon, the executable instructions, when executed by the one or more processors, causing the computer system to: receiving instructions to a three-dimensional printer to print a non-planar surface of a three-dimensional object having a particular shape; calculating a plurality of different bead sizes or ratios using components of the three-dimensional printer to create the non-planar surface; generating commands to generate the plurality of different bead sizes or ratios at a plurality of locations within a print area; A computer system, wherein a first tool path traversing down a slope has a first set of bead sizes and a second tool path traversing up the slope has a second set of bead sizes, wherein an average size of the first set of bead sizes is greater than an average size of the second set of bead sizes.

2. generating commands to generate the plurality of different bead sizes or ratios at specific locations within the print area; 10. The computer system of claim 1, further comprising generating commands to modify an extrusion rate of material from the three dimensional printer, the modification of the extrusion rate being consistent with a desired bead size or location having a particular height at which one or more beads are deposited.

3. calculating a plurality of different bead sizes or ratios using components of the three-dimensional printer to create the non-planar surface; Identifying a plurality of parameters related to errors that may be caused by a plurality of limitations of the three dimensional printer, the plurality of limitations including at least one of (1) a minimum bead size that the three dimensional printer can produce, or (2) a natural delay of extruded material forming a bead; 10. The computer system of claim 1, further comprising: calculating a plurality of different bead sizes or ratios based on the plurality of parameters.

4. 4. The computer system of claim 3, wherein using components of the three dimensional printer to calculate a plurality of different bead sizes or ratios to create the non-planar surface further comprises computing a difference between a desired extrusion rate and an actual extrusion rate.

5. 5. The computer system of claim 3 or 4, wherein calculating a plurality of different bead sizes or ratios based on the plurality of parameters comprises computing bead sizes to (1) diffuse a first error caused by the natural delay of the extruded material, (2) diffuse a second error occurring on adjacent tool paths on the same layer, or (3) diffuse a third error occurring on adjacent tool paths on different layers.

6. 4. The computer system of claim 3, wherein the first tool path and the second tool path are adjacent on the slope, and an average effective bead size of the first tool path and the second tool path has a finer resolution than a resolution of the three-dimensional printer.

7. 2. The computer system of claim 1, wherein generating commands to generate the plurality of different bead sizes at specific locations within the print area includes interpolating specific coordinates within the print area.

8. 8. The computer system of claim 7, wherein interpolating specific coordinates within the print area includes determining at least one of a bead width, a nozzle height, a travel speed, or an extrusion rate based on the specific shape of the three-dimensional object.

9. The computer system of claim 1 , wherein the three-dimensional printer is a thermoset printer.

10. 1. A computer-implemented method for dynamically controlling a three dimensional printer, the computer-implemented method running on another processor, the computer-implemented method comprising: receiving instructions to cause a three-dimensional printer to print a non-planar surface of a three-dimensional object having a particular shape; calculating a plurality of different bead sizes or ratios to create the non-planar surface; generating commands to generate the plurality of different bead sizes or ratios at a plurality of locations within a print area; 1. A computer-implemented method, wherein a first tool path traversing down a slope has a first set of bead sizes, and a second tool path traversing up the slope has a second set of bead sizes, wherein an average size of the first set of bead sizes is greater than an average size of the second set of bead sizes.

11. generating commands to generate the plurality of different bead sizes or ratios at specific locations within the print area; 11. The computer-implemented method of claim 10, comprising generating commands to modify an extrusion rate of material from the three dimensional printer, the modification of the extrusion rate corresponding to a desired bead size.

12. The computer-implemented method of claim 11 , wherein a higher extrusion rate correlates to a larger bead size.

13. generating commands to generate the plurality of different bead sizes at specific locations within the print area; 13. The computer-implemented method of claim 12, comprising generating commands to change a speed of a dispenser in the three dimensional printer, the speed change being consistent with a desired bead size.

14. 14. The computer-implemented method of claim 13, wherein increased speed correlates with smaller bead size.

15. The computer-implemented method of claim 10 , further comprising causing the three dimensional printer to dispense the plurality of different bead sizes at specific locations within the print area.

16. using three-dimensional components to calculate a plurality of different bead sizes or ratios to create said non-planar surface; determining a length of the non-planar surface; determining at least one angle of taper associated with the non-planar surface; and calculating a geometric ratio of a bead size difference between adjacent print lines based on a length of the non-planar surface and at least one angle of the taper.

17. 11. The computer-implemented method of claim 10, wherein generating commands to generate the plurality of different bead sizes at specific locations within the print area comprises interpolating specific coordinates within the print area.

18. 20. The computer-implemented method of claim 17, wherein interpolating specific coordinates within the print area includes computing at least one of a bead width, a nozzle height, a movement speed, or an extrusion rate, and creating commands to cause the three dimensional printer to print based on the computed bead width, nozzle height, movement speed, or extrusion rate.

19. 1. A computer-readable medium comprising one or more physical computer-readable storage media having computer-executable instructions stored thereon, the executable instructions, when executed by a processor, causing a computer system to perform a method for dynamically controlling a three-dimensional printer, the method comprising: receiving instructions to a three-dimensional printer to print a non-planar surface of a three-dimensional object having a particular shape; calculating a plurality of different bead sizes or ratios using components of the three-dimensional printer to create the non-planar surface; generating commands to generate the plurality of different bead sizes or ratios at a plurality of locations within a print area; A computer-readable medium, wherein a first tool path traversing down a slope has a first set of bead sizes, and a second tool path traversing up the slope has a second set of bead sizes, wherein an average size of the first set of bead sizes is greater than an average size of the second set of bead sizes.

Citation Information

Patent Citations

  • Three-dimensional molding method and three-dimensional molding apparatus

    JP2016055603A

  • Three-dimensional molding apparatus, manufacturing method and computer program

    JP2016185616A

  • Method for molding three-dimensional molded article, apparatus for molding three-dimensional molded article, program therefor

    JP2018126912A

  • Molding apparatus and method of manufacturing molded object

    JP2020011474A

  • Three-dimensional fabrication method and three-dimensional fabrication apparatus

    WO2015198706A1