Process-aware additive computer-aided manufacturing
Patent Information
- Application Number
- CN202311533937.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-18
- Filing Date
- 2023-11-17
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-11-17
AI Technical Summary
[0007] Specific implementations of the subject matter described in this specification can be implemented to achieve one or more of the following advantages. In some implementations, the modeling system generates a print path that depends on different process parameter values for a given process parameter at different layers and/or portions of layers, and the process parameter values are adjusted according to geometric features overlapping or near these layers and/or portions. In this way, the printing process can be adjusted according to the specific geometry of the object, and undesirable print quality problems can be mitigated. Modifications to the print instructions at specific layers can be performed based on information about one or more geometric features of the 3D model of the object. Therefore, modifications can be efficiently determined while generating the print path to generate the print instructions. In some cases, modified print instructions can be sent to perform the printing process at an extrusion-based 3D printer. In some cases, the determined modifications can be determined and applied during the printing process to flexibly address the details of complex structures used for printing with an extrusion-based 3D printer. In some implementations, the print path (including modifications determined to take into account one or more geometric features of the 3D model) can be generated partially or entirely, and the corresponding print instructions can correspond to a portion of the print path or can have other granularities. In some implementations, only a portion of the print path can be generated to include modified parameters adjusted based on the geometric features identified in the object's 3D model. By applying these modifications and generating print instructions that include them, the printing process can be correlated with a reduced likelihood of low-quality print results, which can ultimately reduce production costs and/or the costs of subsequent rework of the printed object.
Smart Images

Figure CN118056668B_ABST
Abstract
Description
Background Technology
[0001] This specification relates to the use of additive manufacturing systems and techniques to manufacture physical structures.
[0002] Computer-aided design (CAD) software has been developed and used to generate three-dimensional (3D) representations of objects, and computer-aided manufacturing (CAM) software has been developed and used to evaluate, plan, and control the manufacturing of the physical structure of those objects (e.g., using computer numerical control (CNC) manufacturing technology). Furthermore, additive manufacturing (also known as solid freeform manufacturing or 3D printing) refers to any manufacturing process that builds 3D parts from raw materials (typically powders, liquids, suspensions, or molten solids) across a series of two-dimensional layers or cross-sections. 3D printing manufacturing systems enable companies to manufacture products on demand, reduce or eliminate processing costs, rapidly launch new products, accelerate product evolution, reduce product inventory, streamline supply chains and save costs, simplify design and assembly by reducing part counts, manufacture locally, reduce transportation and waste, and increase local recycling and material reuse.
[0003] An example of additive manufacturing is fused filament fabrication (FFF). 3D extruders typically use FFF to lay up layers of material (such as plastic filaments or metal wires) unraveled from coils to produce 3D printed parts. Summary of the Invention
[0004] This specification relates to additive printing of physical structures by modifying process parameters based on the geometric features present in the 3D model of the physical structure.
[0005] Specifically, this specification describes a system for generating printing instructions having process parameters tailored to geometric features identified in a model. The system includes one or more computers and one or more storage devices storing instructions operable, when executed by the one or more computers, to cause the computers to perform operations including: obtaining, via a computer-aided manufacturing environment, i) information about one or more geometric features of a 3D model of an object to be printed by an extrusion-based 3D printer, and ii) process parameters for use when printing the 3D object by the extrusion-based 3D printer; generating, via the computer-aided manufacturing environment, printing instructions for printing the 3D object in a series of multiple layers by the extrusion-based 3D printer, wherein modified process parameters are generated as part of the printing instructions by modifying the obtained process parameters based on information about one or more geometric features of the 3D model of the object, on an appropriate subset of the layers; and providing, via the computer-aided manufacturing environment, printing instructions including the modified process parameters to operate the extrusion-based 3D printer to print the object.
[0006] Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform actions of the method. A system of one or more computers may be configured to perform specific operations or actions by means of software, firmware, hardware, or combinations thereof installed on the system, which, in operation, cause the system to perform actions. One or more computer programs may be configured to perform specific operations or actions by including instructions that, when executed by a data processing device, cause the device to perform actions.
[0007] Specific implementations of the subject matter described in this specification can be implemented to achieve one or more of the following advantages. In some implementations, the modeling system generates a print path that depends on different process parameter values for a given process parameter at different layers and / or portions of layers, and the process parameter values are adjusted according to geometric features overlapping or near these layers and / or portions. In this way, the printing process can be adjusted according to the specific geometry of the object, and undesirable print quality problems can be mitigated. Modifications to the print instructions at specific layers can be performed based on information about one or more geometric features of the 3D model of the object. Therefore, modifications can be efficiently determined while generating the print path to generate the print instructions. In some cases, modified print instructions can be sent to perform the printing process at an extrusion-based 3D printer. In some cases, the determined modifications can be determined and applied during the printing process to flexibly address the details of complex structures used for printing with an extrusion-based 3D printer. In some implementations, the print path (including modifications determined to take into account one or more geometric features of the 3D model) can be generated partially or entirely, and the corresponding print instructions can correspond to a portion of the print path or can have other granularities. In some implementations, only a portion of the print path can be generated to include modified parameters adjusted based on the geometric features identified in the object's 3D model. By applying these modifications and generating print instructions that include them, the printing process can be correlated with a reduced likelihood of low-quality print results, which can ultimately reduce production costs and / or the costs of subsequent rework of the printed object.
[0008] Therefore, the systems and / or methods described herein are inevitably linked to manufacturing techniques to overcome practical technical problems that arise when designing, analyzing, and manufacturing objects based on their geometric models.
[0009] Details of one or more implementations of the subject matter described herein are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of this subject matter will become apparent from the description, drawings, and claims. Attached Figure Description
[0010] Figure 1 This is an example of an environment in which printing instructions can be generated for printing an object based on modifications to at least one process parameter of at least a portion of a series of layers for printing by an extrusion-based 3D printer.
[0011] Figure 2 It is a flowchart for providing printing instructions based on process parameters customized according to the geometric features in the 3D model of the object.
[0012] Figure 3A It is a flowchart of a process for processing information obtained about the geometry of an object to be printed by an extrusion-based 3D printer to define modifications to the obtained process parameters for printing.
[0013] Figure 3B It is a flowchart of the process for generating modified process parameters for printing objects, adjusting the parameters based on one or more geometric features that identify the expected quality failure.
[0014] Figure 3C It is a block diagram of rules for modifying process parameters applied during the printing of objects with overhanging areas or elliptical holes by a 3D extruder, to customize the process parameters based on the geometric features identified in the object at different parts of the generated print path.
[0015] Figure 3D It is a block diagram of rules for modifying process parameters applied during the printing of objects that are expected to have elephant foot problems or warping at the bottom layer when printed by a 3D extruder.
[0016] Figure 4 This is a block diagram of a computing system that can be used in conjunction with the computer-implemented methods described in this paper. Detailed Implementation
[0017] Figure 1 This is an example of environment 100, in which printing instructions can be generated for printing an object based on modifications to at least one process parameter of at least a portion of a series of layers for printing by an extrusion-based 3D printer.
[0018] In the example of environment 100, modeling system 102 may receive 3D model 104. Modeling system 102 may be a 3D modeling system that receives 3D model 104 from client device 116 or from another service or device. 3D model 104 may be defined within modeling system 102 based on modeling tools provided by modeling system 102. In some examples, modeling system 102 may receive 3D model 104 as part of a request from client device 116 to cause extrusion-based 3D printer 118 to create an object represented by 3D model 104. In some examples, 3D printer 118 may be an FFF printer. In some examples, 3D model 104 may be provided (from client device 116 or via another computing device) for evaluating and generating printing instructions that take into account the details of the geometry of the 3D model (e.g., via a slicer program included in modeling system 102). Printing instructions may include (or modify) process parameters tailored to these details to produce manufactured objects of improved quality and / or at least associated with a lower likelihood of quality degradation due to the complexity of the object's geometry and related printing issues, as discussed in further detail below.
[0019] In some implementations, the modeling system 102 can be directly connected to the 3D printer 118 to send requests for printed objects based on print instructions generated at the path generation module 110 (e.g., a slicer program) of the modeling system 102. A module is a program, logic, and / or component that specifies instructions for operating a data processing device or computer. Such modules (such as the path generation module or other modules) can be standalone or included in another module. The path generation module 110 of the modeling system 102 can generate print instructions based on print process parameters such as print process parameters 112 without modification. The path generation module 110 can generate print instructions by dividing the 3D model 104 into layers, determining the toolpath for each layer (i.e., the position where the nozzle moves in each layer), and setting parameter values (e.g., the speed of tool head movement, temperature, and extrusion rate, etc.) for each toolpath. In some implementations, while the modeling system 102 may integrate the path generation module 110, it may also include another path generation module and / or be communicatively coupled to the path generation module 110 (e.g., included in the print instruction generation module 108, as shown), which can generate different print instructions that include modifications to parameter values, which, according to implementations of this disclosure, are set to adjust based on the geometric details of the 3D model 104. In some implementations, the modeling system 102 is communicatively coupled to the path generation module 110 (e.g., a slicer program) integrated into a 3D printer (e.g., 3D printer 118). In any case, all these various implementations constitute a computer-aided manufacturing environment, regardless of the location of the path generation module 110.
[0020] The modeling system 102 can receive information from the output results of the executed printout based on a sent request to collect historical data externally or internally.
[0021] In some implementations, historical data collected from object printing based on process parameters defined for printing an object at 3D printer 118 or other 3D printers can be stored and used to evaluate the printing results to determine the root cause of any quality degradation experienced. Based on the evaluation of at least some of the historical data, material parameters, printing process parameters, and geometric features, anticipated problems with the object to be printed can be predicted. Such predictions can be used to evaluate the printing process and adjust process parameters. In some implementations, adjustments to process parameters can be performed to reduce the likelihood of experiencing quality degradation at the final printing result, based on disclosed modifications to process parameters and the generation of printing instructions, and printing instructions can be generated to include such modified process parameters at one or more layers of a series of layers defined for the printed object.
[0022] Modeling system 102 may include information about one or more materials that can be used or will be used to create the object represented by 3D model 104. In some implementations, modeling system 102 may determine the materials to be used to create the object represented by 3D model 104. In some implementations, the material for printing the object may be selected based on user input, such as selecting a specific material or defining the desired properties of the material to be used. In some implementations, modeling system 102 may select a specific type of 3D printer to be used to print the object. For example, the printer selection may be based on the material or on the properties of the material used to create the object.
[0023] In some implementations, a material property database 114 may be maintained at the modeling system 102 to store data on the material properties of different materials. In some implementations, the material property database 114 may store information and be linked to external information providing mappings of different printing materials / material properties and compatible and / or available 3D printers for performing printing. In some examples, such mappings may be maintained for 3D printers of available types with a current connection to the modeling system 102 itself, or may generally be used for the type of 3D printer that can receive printing instructions based on logic implemented at the modeling system 102 and / or indirectly received through an intermediate entity. In some implementations, printing instructions may depend on process parameters determined from the modeling system 102 without considering the geometric features identified in the 3D model, or may be based on modified process parameters of at least some portions / regions of the object according to the implementation of this disclosure (generated at the generation module 108 according to the implementation of this disclosure and further described below).
[0024] In some implementations, modeling system 102 may receive 3D model 104 and a request to provide the 3D model for printing based on the use of one or more materials or material properties (e.g., specially defined or defined with specific material properties). For example, when the object represented by 3D model 304 will be formed using a material or multiple materials with a high coefficient of thermal expansion, modeling system 102 may determine to provide 3D model 104 to an FFF printer.
[0025] In some implementations, modeling system 102 may include tools, such as user interaction tools, displayed on a user interface provided on a computer (e.g., client device 116 or another computing device), which may allow a user (e.g., a user of computing device 116) to provide selections of materials and / or material properties. In some implementations, the modeling system may receive selections of material properties for determining the material to be used for printing, wherein options may be provided for materials having the selected material properties. Alternatively or additionally, modeling system 102 may include user interaction tools to support selection of a specific type of 3D printer 118 to be used for printing a given object. In some implementations, based on the selection of a particular material or material property, the 3D modeling system may also provide options for selecting one or more compatible and / or available 3D printers that can be used to create a particular object based on 3D model 104.
[0026] In some implementations, the modeling system 102 may also support the selection of a specific type of 3D printer 118. The feature identification module 106 included in the modeling system 102 can generate information about one or more geometric features of the 3D model 104. In some implementations, the feature identification module 106 may be part of the print instruction generation module 108, the path generation module 110, or a stand-alone component running in an external environment such as a cloud environment. In some implementations, the feature identification module 106 may include the ability to perform accessibility analysis on the 3D model 104 to determine whether the 3D model includes overhangs or undercut regions. An overhang region may be defined as an area of material included above an undercut region. In some implementations, the feature identification module 106 may receive information about identified overhangs or undercut regions from an external component that implements logic for performing accessibility analysis outside the feature identification module 106. Such an external component may be a component running on the modeling system 102 or in a separate remote environment outside the modeling system 102. In some implementations, accessibility analysis that can be performed over the 3D model 104 can be used to identify portions of one or more layers from a series of layers defined for additive printing of an object, where these portions are associated with overhanging regions identified in the 3D model.
[0027] In some implementations, identifying overhanging areas in a 3D model can be associated with identifying corresponding support structures that facilitate additive printing. However, in some cases, using support structures during printing may be associated with quality considerations that might be desired to avoid. Generally, different types of support structures can be provided to facilitate the printing of complex structures. In some implementations, the support structure may collapse or move, which could leave cracks in the extruded part, making it appear uneven, and other quality defects in the extruded part may exist, among other examples. Therefore, even if a support structure can be used to print an object, modifications to the process parameters can allow printing the object without a support structure or a portion thereof, thus overcoming the anticipated quality problems of potentially broken support elements.
[0028] In some implementations, the modeling system 102 can provide information about process parameters (e.g., extrusion temperature, printing speed, print pause, etc.) applicable to creating objects using specific materials and based on a specific type of extrusion-based 3D printer 118. Such process parameters can be generated at least in part based on one or more of the 3D model 104, the material or material properties defined for printing, or the type of 3D printer used to perform the printing (e.g., an FFF printer).
[0029] In some implementations, the modeling system 102 may be communicatively coupled to the print instruction generation module 108. In some implementations, the print instruction generation module 108 may be implemented as part of the modeling system 102, may be implemented to run on a network-connected computer, may run as a standalone service that can receive input from a modeling system (such as modeling system 102) or a user device (such as client device 116), or may be implemented as a program running on a 3D printer such as 3D printer 118. In some implementations, the print instruction generation module 108 may execute in a cloud computing environment and may provide services that can be consumed externally by the modeling system 102, wherein the modeling system 102 may be directly connected to the extrusion-based 3D printer 118 and / or the computing device 116.
[0030] In some implementations, the print instruction generation module 108 may receive a request from a user (e.g., a user of computing device 116) at input / output interface code 122 to print an object based on a 3D model. The 3D model may be provided to the print instruction generation module 108 via modeling system 102 (as 3D model 104), wherein 3D model 104 may be evaluated at feature identification module 106 to determine information about identified geometric features of 3D model 104, as well as information from process parameters 112 related to the requested print, wherein this information may be provided to the print instruction generation module 108. In some implementations, the determination of information about identified geometric features may be performed as part of the logic of the implementation of print instruction generation module 108, since feature identification module 106 may be performed as part of print instruction generation module 108 (as a service called internally or externally).
[0031] In some implementations, the print instruction generation module 108 includes a path generation module 110 for generating paths for a toolhead included in an extrusion-based 3D printer 118 to print the structure of an object represented by a 3D model 104. The path generation module 110 can generate paths that are process-aware and tailored to the geometric details of features identified in the 3D model of the object to be printed. The path generation module 110 can generate paths for slices / layers in the 3D model 104, or for sequences / series of slices / layers covering a portion or the entire object. In some examples, the path generation module 110 can generate paths for each slice in the 3D model 104. In some implementations, the path generation module 110 can be configured to generate paths for the toolhead that can be tailored to the geometric features identified in the 3D model 104, such that one or more process parameters defined for printing are modified for at least one set of layers (or slices) defined in the generated path. In some implementations, the print instruction generation module 108, including the path generation module 110, can use reference... Figure 2 and / or Figure 3A and Figure 3B One or more of the operations described are used to generate a path for the tool head of the 3D printer 118.
[0032] In some implementations, the path generation module 110 can generate paths for printing objects in a series of layers based on the 3D model 104, wherein the generated paths may include modified process parameters for at least a portion of the layers, which are modified to address identified features at the region corresponding to at least that portion of the layer. The following is about... Figure 2 , Figures 3A to 3CExamples of such modifications to the parameters corresponding to different identified geometric features in the 3D model are described in further detail.
[0033] In some examples, the path generation module 110 can generate paths for printing the 3D model 104 in layers where a support structure may or may not be used. For example, based on information about features identified at the feature identification module 106 of the 3D model 104, information about features related to the use of a support structure and the type of such support structure can be provided.
[0034] The print instruction generation module 108 can directly receive requests to print objects based on 3D models provided directly to module 108, referenced by external entities (e.g., modeling system 102), or obtained from external entities. When generating paths for a series of layers to print an object based on 3D model 104, the print instruction generation module 108 can use the material property database 114. The print instruction generation module can obtain information from the material property database 114 based on the received request for the printed object, which defines the requested material for the printed object. For example, the print instruction generation module 108 can determine the cooling time of a specific material to be deposited in a given layer (or slice) by retrieving property data of a specific material from the material property database 114. In some implementations, based on information about the material properties of the material to be used to print the object, process parameters for at least one set of layers used for printing can also be adjusted to address potential quality problems when printing objects with one or more geometric features. For example, among other examples, quality problems are expected to occur when the object has a specific shape, contact area with the printing platform, positioning in the printing space within the 3D printer, or dependence on a support structure (e.g., a certain type of support structure).
[0035] In some examples, the print instruction generation module 108 can obtain the initial configuration characteristics of the printing process to be performed by the extrusion-based 3D printer 118. Printing can be performed based on the generated path for slicing the printed object. The path generation module 110 may include a process parameter evaluator 124, which can obtain information about the process configuration parameters of 3D printing via the 3D printer 118, as well as information about the existing geometric features of the 3D model. The path generation module 110 can obtain this information about process parameters and geometric features from the modeling system 102, for example, correspondingly from the process parameters 112 and the feature identification module 106. The process parameter evaluator 124 can obtain the information and evaluate whether the printing process parameters should be modified based on the identification of a particular geometric feature. For example, the process parameter evaluator 124 can implement logic to evaluate information about the geometric features of the 3D model 104, such as about Figure 3A , Figure 3B and Figure 3C Detailed description.
[0036] In some implementations, different geometric features can be identified at different regions of the 3D model, and these features can be associated with different modifications to process parameters at or near these regions. In some implementations, the process parameter evaluator has already implemented the logic of mapping existing geometric features in the 3D model with relevant process parameters. If the object is printed based on process parameters defined for a 3D printer, it may be necessary to modify the relevant process parameters to overcome potential quality issues in the printed object.
[0037] In some implementations, different 3D printers can be associated with a corresponding set of default process parameters for printing 3D objects based on a defined 3D model and an identified material for printing.
[0038] In some implementations, based on the processing of information at the process parameter evaluator 124, the obtained characteristics can be identified as relating to possible or potential requirements for modifying the characteristics to improve the print quality of the object. In some implementations, the identified features of the 3D model 104 can be associated with specific process parameters that can be modified to overcome anticipated quality defects due to the complexity or specificity of object features or print process parameters. For example, if the 3D model 104 is identified as including overhang regions based on an accessibility analysis performed at the feature generation module, the process parameter evaluator 124 can receive information about the overhang features and can identify relevant process parameters that can be mapped to such features. The feature-to-process parameter mapping and the corresponding modification of the process parameters can be implemented at the parameter modifier 126 component. In some implementations, the logic of the process parameter evaluator 124 and the parameter modifier 126 can be combined in a single component, where rules can be defined for modifications to process parameter values and / or types based on the identified specific geometric features. In some implementations, the logic for identifying, evaluating, and determining modifications to process parameters based on geometric feature identifiers can be as follows: Figure 3B and Figure 3C The described procedure will be executed.
[0039] In some implementations, parameter modifier 126 can be configured to determine the modified value of the process parameter based on rules for modifications defined for different process parameters based on one or more identified features. The modified parameter value may apply to a portion of a defined layer of the object sliced and printed by 3D extruder 118, or the modified parameter value may apply to the entire layer or may be switched between layers. Areas in the 3D model outside the identified features can be printed based on process parameter configurations received, such as from a process parameter 112 database at modeling system 102.
[0040] In some implementations, parameter modifier 126 can obtain information about geometric features identified at process parameter evaluator 124, which can be related to the modification requirements. The identifier of the modification requirement and the modification value calculated by parameter modifier 126 can be provided to instruction generator 128 to define a print path for printing objects based on 3D model 104. The modified values can be associated with specific portions within or between print layers. This locational information for applying modified parameter values instead of the initially obtained process parameters can be generated at parameter modifier 126 and can be the result of predefined modification rules implemented at path generation module 110. For example, print generation module 110 accesses 3D printer configuration database 112, which includes process parameters, to determine the temperature at which the 3D extruder 118 will deposit material, the temperature of the atmosphere at which the material will be deposited, or both.
[0041] Instruction generator 128 can generate multiple layers of 3D model 104 and can depend on different parameter values (or the type or activation state of process parameters) of the same parameter at different parts of one or more layers. Differences in parameter values can be dynamically calculated and / or provided to instruction generator 128 by parameter modifier 126 during the path generation process, or can be integrated into paths already generated by the instruction generator that no longer depend on logic used to modify parameters (such as logic at parameter modifier 126). Each slice in a slice can include data on multiple structures of the object represented by the corresponding slice. Instruction generator 128 can generate tool path data for each slice in a slice, indicating the path used to create a toolhead for the structure represented by the slice. Instruction generator 128 can reference different process parameters for different parts of each slice, where the process parameters used can depend on modifications to the process parameters of a subset of slices based on evaluation information based on the geometry of 3D model 104.
[0042] The print instruction generation module 108 can provide the 3D extruder 118 with data for each layer of the object to be printed based on the 3D model 104 (as determined by the implemented process parameter modification logic) to enable the 3D printer 118 to generate the object (or a corresponding part of the object). For example, the print instruction generation module 108 can provide the 3D printer 118 with information for each layer in a series of layers defined for the object to be printed. The print instruction generation module 108 can provide the 3D extruder 118 with a first layer. The 3D extruder 118 can use the first layer to print the structure represented by the first layer. The print instruction generation module 108 can sequentially provide subsequent slices to the 3D extruder 118 so that the 3D extruder uses the subsequent slices to create the corresponding structure of the object. For example, the 3D extruder 118 can use each subsequent slice to add another layer to the printed portion of the object until the object is complete.
[0043] In some implementations, the modeling system 102 and the print instruction generation module 108 may be included in or as part of the 3D extruder 118. For example, the 3D extruder 118 may receive a 3D model 104 from a client device 116 and store the 3D model 104 in memory. The 3D extruder 118 may use the feature identification module 106 and the print instruction generation module, or a combination thereof, to analyze the 3D model 104 and generate a path customized according to the geometry of the object to be printed. The 3D extruder 118 may use the data from the analyzed 3D model 104 to create an object represented by the 3D model 104.
[0044] Modeling system 102 and print instruction generation module 108 may be examples of systems and modules implemented as computer programs on one or more computers in one or more locations, wherein the systems, components and techniques described herein are implemented. Client device 116 may include a personal computer, a mobile communication device, and other devices that can send and receive data via network 120. Network 120, such as a local area network (LAN), wide area network (WAN), Internet, or a combination thereof, connects client device 116, modeling system 102 and 3D extruder 118. Modeling system 102 may use a single server computer or multiple server computers operating collaboratively with each other, including, for example, a group of remote computers deployed for cloud computing services.
[0045] In some examples, environment 100 does not include a separate print instruction generation module and client device 116. Print instruction generation module 108 may include input / output interface code module 122 to receive 3D model 104 from modeling system 102, or to receive instructions to generate a 3D model, for example, based on a model generation service provided by modeling system 102, and to provide that model directly to 3D printer 118 without receiving interaction from client device 116. For example, print instruction generation module 108 may provide 3D model 104 directly to 3D printer 118 without receiving it from a separate device, such as client device 116, for example, via input / output interface code 122. In these examples, modeling system 102 may be directly connected to 3D extruder 118, or may be connected to 3D extruder 118 via any suitable type of network, such as a LAN.
[0046] Figure 2 This is a flowchart of process 200, used to provide printing instructions based on process parameters customized according to the geometric features in the 3D model of the object. Process 200 can... Figure 1 Execution in 100 environments, and can be based on the provided 3D model-based systems such as Figure 1 The process 200 executes the instructions for printing the object from the 3D model 104. The path generation module generates printing instructions for printing the object across a series of multiple layers (or slices). For example, the path generation module can be substantially similar to... Figure 1 The path generation module 110.
[0047] In some implementations, process 200 can be executed in a CAM or CAD environment or another computer-aided engineering software environment. Process 200 can be executed to instruct a connected 3D printer (e.g., network- or cable-connected) to perform printing based on provided instructions, including path instructions adjusted according to the geometric details of the 3D model of the object to be printed, to reduce the possibility of quality degradation of the printed result due to the geometric details of the 3D model.
[0048] At point 202, information about one or more geometric features of the 3D model of the object to be printed by an extrusion-based 3D printer, and information on process parameters to be used when printing the 3D object by the extrusion-based 3D printer, is obtained. Information about one or more geometric features of the 3D model may include identifiers such as: the 3D model includes overhanging areas, elliptical holes, dependence on support structures, high weight, thin and tall shape, large contact area with the printing platform while being heavy, having infill areas, having infill areas surrounding blank spaces, and / or having a top layer. In some implementations, obtaining information at point 202 involves, for example, from a modeling system such as... Figure 1The modeling system 102 receives information. In some implementations, obtaining information 202 involves generating information.
[0049] In some implementations, printing process parameters are available during printing based on a request to print an object at the 3D printer and on a 3D model based on a specific material. In some implementations, process parameters can be provided by a modeling system such as... Figure 1 The modeling system 102 is determined, or can be manually selected by the user, for printing objects based on the 3D model at the modeling system, and / or the process parameters can be determined by the print instruction generation module 108. In some implementations, those obtained print process parameters can be standardized or default parameters to be used by the 3D printer, and can be independent of the specific model to be printed, at least initially.
[0050] In some implementations, process parameters can be obtained from an external entity, where these parameters are defined without taking into account the specific shape and / or other geometric features of the 3D model. In some implementations, complex 3D shapes printed using specific materials at an extrusion-based 3D printer may be associated with the expectation of experiencing quality defects, which can lead to unevenness, cracking, or tangling of the printed object, as well as other exemplary quality deterioration. Process parameters can be default printing parameters that can be used by the selected 3D printer and can generally be applied to any object that can be requested to be printed by the 3D printer.
[0051] In some implementations, when printing an object with geometric features predicted to experience quality failure, the process parameters obtained at 202 for printing the object based on the 3D model can be associated with the probability of quality failure in the printed result. In some implementations, the obtained information for one or more geometric features includes information about at least one feature that can be associated with the prediction of experiencing quality failure. For example, if the obtained information identifies the object as having a specific weight and a specific shape that defines the object (such as a tall cylinder), then associating the tall shape as a geometric feature with the prediction of experiencing quality problems (such as side cracks) can be expected to result in a high probability of quality failure in the final result unless the process parameters are adjusted.
[0052] In some implementations, based on information about the geometric features at a specific region of a 3D model that is identified as being associated with the expected quality failure, it is possible to determine whether to modify one or more process parameters, such as those obtained at 202.
[0053] In some implementations, information about geometric features may include information such as Figure 3A and Figure 3BInformation about one or more geometric features described in the diagram. In some implementations, the identified geometric features (e.g., overhanging areas, elliptical holes, relatively heavy structures in extensive contact with the printing platform, and other examples, and discussed in detail below) that are part of the 3D model 104 can be mapped to one or more process parameters that can be adjusted to address expected quality variations in the printed result. (See also: Regarding...) Figure 3A , Figure 3B and Figure 3C In further detail, this identification can be used to perform a mapping between geometric features and process parameters, and corresponding rules can be implemented to modify the process parameters to customize them based on the geometric features identified in the 3D model.
[0054] For example, process parameters may include settings for the printhead included in the 3D printer, settings for the 3D printer itself, or both, which will be used to create objects using 3D model 104. Some examples of settings for extrusion-based 3D printers include cooling fan speed, whether the printer's print bed is heated and its temperature setting, extrusion temperature of the printer's deposition chamber and / or printhead, diameter of the extruder nozzles in the printhead, print speed, bead diameter, and layer height, as well as other parameters such as those related to... Figure 3A , Figure 3B and Figure 3C Other examples will be discussed in further detail.
[0055] At point 203, printing instructions are generated for printing a 3D object in a series of multiple layers by an extrusion-based 3D printer. Modified process parameters are generated as part of the printing instructions by modifying the obtained process parameters of an appropriate subset of the layers based on information about one or more geometric features of the object's 3D model.
[0056] At position 204, print instructions are generated for printing a 3D object in a series of multiple layers by an extrusion-based 3D printer. These print instructions can be generated by... Figure 1 The path generation module 110 generates the path. The print instruction can define instructions for printing objects in a layer, wherein, for a portion of the layer, modified process parameters, different from those obtained at 202, can be used to address potential defects in the print quality. In some implementations, the modified process parameters are generated as part of the print instruction generation. The modified process parameters are generated by modifying at least one of the obtained process parameters of an appropriate subset of the layer based on information about one or more geometric features of the object's 3D model. In some implementations, only a portion of a single layer can be identified as an area where the modified parameters can be applied to the print (as a sub-region associated with the geometric features identified in the 3D model).
[0057] In some examples, if the object is determined to have a large and tall structure with a relatively small contact area with the printing platform, cracks can be expected on the sides. This expectation of deterioration in print quality can be addressed by adjusting one or more process parameters. For example, one or more parameters obtained from 202 can be adapted (or modified) to accommodate the specific case of a tall structure with lower adhesion in the upper layers. In tall structures, the material in the higher layers cools faster due to the greater distance from the heated printing platform bed, which can lead to undesirable cracks in the print result. To meet the expectation that the upper layers can cool faster, but this may sacrifice print quality, the extrusion temperature, fan direction, or fan speed can be adjusted based on the specific layer and location to address the problems associated with such expected cracks. This can be implemented only for or substantially for areas of the 3D model that may overlap with one or more layers to be printed, for example, for a portion of the print path at a certain layer, or for one or more complete layers. In some implementations, based on an evaluation of the 3D model, the determination of regions associated with geometric features can be provided. For example, for tall and thin structures, the determination of a set of subsequent layers of a defined height of the printed object can be provided. For example, a tall and thin structure can be a heavy object with a small contact area with the print bed, which may be related to anticipated problems during printing and the final quality degradation due to uneven cooling of all layers during printing. Such cooling problems can be addressed, for example, by adjusting printing process parameters, such as adjusting the print platform temperature, adjusting the cooling fan speed, or other adjustments. Analysis can be based on observational data (e.g., based on data stored such as...). Figure 1 The historical data from the modeling system under discussion, or other predictive logic including machine learning techniques, are used to determine the relevant process parameters to be modified when printing objects and at specific locations / parts of the objects.
[0058] In some implementations, (204) print instructions can be provided to operate an extrusion-based 3D printer to print an object, including modified process parameters. Print instructions can be provided for each layer of the 3D model determined for printing, and depend on corresponding process parameters as part of the print instructions. The provided process parameters include modified process parameters that can be identified for each location within the path of one and / or multiple layers (e.g., extrusion temperature, cooling fan speed, etc.) and / or for application between layers (e.g., print pause). Based on the provided print instructions, the 3D printer (e.g., Figure 1A 3D printer (118) can generate at least a portion of an object. For example, printing instructions can be provided to the 3D printer in sections (e.g., per layer). A 3D extruder can use the instructions for the first layer to print the structure represented by the first layer. Printing instructions can be provided sequentially through a CAD or CAM environment, where the 3D extruder can use instructions for subsequent layers to create corresponding structures of the object. For example, the 3D extruder can use each of the subsequent instructions for subsequent layers to add another layer to the printed portion of the object until the object is complete.
[0059] Based on the provided printing instructions, a 3D printer can use defined materials, such as plastic, metal, or other suitable materials that are compatible with the 3D printer and can provide printing instructions, to print objects.
[0060] In some implementations, process 200 may include additional operations, or some operations within an operation may be divided into multiple operations. For example, a CAD or CAM environment may be used to execute operations 202, 204, and 206, where the modification of process parameters at 204 can be performed in a series of sub-operations, such as processing logic based on information obtained from geometric features and process parameters, as in operation 310 or... Figure 3A Further details are provided below.
[0061] Figure 3A This is a flowchart of process 300, which processes information obtained for the geometric features of an object to be printed by an extrusion-based 3D printer to define modifications to the obtained process parameters used for printing. Process 300 can... Figure 1 The environment is 100 places to execute, and can be based on the provided 3D model 304, such as Figure 1 The process 300 executes the instructions for printing the 3D model 104 object. The process 300 can be executed at the path generation module, which generates printing instructions for printing the object in a series of multiple layers (or slices).
[0062] In some implementations, process 300 can be implemented in a CAM or CAD environment, or another computer-aided engineering software environment, or a modeling system such as Figure 1 The process 300 can be executed in a modeling system 102, etc., to instruct a connected 3D printer (e.g., network or cable connected) to perform printing based on provided instructions, including path instructions adjusted according to the geometric details of the 3D model of the object to be printed, to reduce the possibility of quality degradation of the printed result due to the geometric details of the 3D model.
[0063] At 310, the acquired information for geometric feature 308 and process parameters 302 for printing the object based on the 3D model 304 are processed. Process parameters 302 can be settings defined for printing an object of a given material at a 3D extrusion-based printer. The acquired process parameters can correspond to... Figure 2 The process parameters obtained at point 202 may include parameters such as extrusion temperature, interlayer printing pause, printing speed, printing platform temperature, cooling fan speed, infill density, infill printing speed, infill overlap, top layer speed, and printing support type.
[0064] The geometric feature information processed at 310 includes information on geometric features such as overhangs (positive and negative), elliptical holes, weight, the ratio of model area to print area, volume, and contact area with the print platform, outer walls, infill, horizontal height, and / or top portion. Geometric features can be identified by an evaluator 306 that performs an evaluation based on the 3D model 304 of the object. The evaluator 306 can be substantially similar to... Figure 1 Feature identification module 106. The evaluator can perform accessibility analysis to determine existing overhangs or undercut areas or negative overhangs in the 3D model. The evaluator can perform measurement evaluation to determine weight, volume, height, contact area between the model and the print platform bed, the ratio of the volume of the object to be printed to the volume of the print space in the 3D printer, or other geometric features based on the quantitative characteristics of the object.
[0065] During the processing of the acquired information, at point 312, the geometric features of the 3D model are evaluated, where the evaluated geometric features are those predicted to undergo quality failure, such as side cracks, tilted printed shapes, elephant feet, etc. In some implementations, the 3D model may have multiple geometric features, where a subset of these features can be the geometric features being evaluated, as these features are determined to be associated with the predicted probability of undergoing quality failure. In some implementations, the logic for feature evaluation at point 312 can be connected to an external or internal module that performs iterative evaluations on printed results of objects from different 3D printers and identifies the correspondence or relationship between the geometric features of the 3D model and the probability of undergoing quality failure.
[0066] At point 312, the geometric features associated with the anticipated quality failure are evaluated to determine whether process parameters need to be adjusted. A geometric feature can be mapped to one or more process parameters that can be modified to address the anticipated quality defects in the printed output. For example, the mapping between geometric features and process parameters can be combined as follows: Figure 3BDefined as described. In some implementations, some or all of the process parameters 302 obtained at 310 may be adjustable, for example, based on user input and / or analysis of the geometry of the 3D model. In some implementations, modifications to one or more parameters are performed based on implemented logic to modify the process parameter values, either by turning them on or off, or by using process configurations defined according to one or more identified geometric features 308 (e.g., starting a cooling fan, using a support structure, etc.).
[0067] At 314, one or more regions of the 3D model 304 are identified. These regions are correspondingly associated with one or more features (from geometric features 308) that are predicted to experience quality degradation during printing based on the obtained process parameters.
[0068] At 316, modified process parameters are generated for each identified region. For example, if an overhang feature is identified in the 3D model, the corresponding overhang region in the 3D model is identified. The identified overhang region may be associated with one or more layers to be printed by a 3D extruder. In some implementations, more than one region in the 3D model may be identified, one of which may be associated with one or more geometric features, and / or multiple regions may be located at different locations around the 3D model and may be associated with modified parameters at different regions, while regions outside the identified regions may have process parameters obtained from 302 applied. The modified parameters can be used to print the corresponding portions of one or more layers for printing an object (or a portion thereof) in a series of multiple layers by an extrusion-based 3D printer. Modified process parameters based on the presence of geometric features in the 3D model may be generated for use only within a portion of the region (e.g., within a predefined range of the height of a tall structural object) and / or only within a portion of the layers generated for printing the object as a series of paths to create the object.
[0069] In some implementations, the generation of modified parameters can be performed based on the evaluation, identification, and modification rules of the mapping between geometric features and process parameters, as shown below. Figure 3B As described.
[0070] At 318, provide (e.g., to be consistent with) Figure 2 204 places and Figure 1The print instructions generated at the print instruction generation module 108 are similar to those generated in the print instruction generation module to be used for printing based on: i) process parameters of the 3D object obtained from 302 for the region outside the region identified in 314, and ii) modified parameters (as generated in 316) from the modified process parameters of the identified region of the 3D model with geometric features (evaluated at 312).
[0071] In some implementations, printing instructions can be dynamically provided during the printing of an object by an extrusion-based 3D printer by providing the obtained process parameters (for the region of the 3D object outside the identified region within the layer associated with the modified process parameters) or the modified parameters of the corresponding identified region of the 3D model with geometric features predicted to undergo quality failure.
[0072] Figure 3B This is a block diagram of the process for generating modified process parameters at 317 for printing the object, adjusting the parameters based on one or more geometric features that identify the expected quality failure. In some implementations, the generation of the modified process parameters at 317 can be part of operation 316 of process 300 in Figure 3 or as... Figure 2 It is executed as part of operation 204 of process 200. In some implementations, it can be based on the provided method for... Figure 3A 3D model 304, such as Figure 1 The 3D model 104 is used to execute instructions for printing the object, which is then used to generate 317. The generated modified process parameters for one or more identified regions can be sequentially provided to a path generation module, which generates print instructions for printing the object in a series of multiple layers (or slices). The logic for modifying the process parameters (as defined in 317) can be executed as an external service that processes information on geometric features and process parameters obtained from an external environment, such as a CAM or CAD environment, used to generate the 3D model of the object and for use by a 3D extrusion-based printer, such as... Figure 1 The 3D printer 118 generates printing instructions for the object.
[0073] In some implementations, modified process parameters can be directly input into the 3D printer (e.g., a network- or cable-connected extrusion-based 3D printer) to instruct the 3D printer to perform printing based on provided instructions, including path instructions adjusted to the modified parameters generated at 317, to print the object based on the adjustment of process parameters, thereby reducing the possibility of quality degradation of the printed result due to the geometric details of the 3D model.
[0074] At 322, determine whether the 3D model includes one or more geometric features from a set of geometric features defined as being associated with the expected quality defect, and their respective quantitative measurements (if applicable) (e.g., weight, contact area ratio, etc.).
[0075] At position 322, information about the geometric features of the object's 3D model may include one or more of the following:
[0076] ● Overhang area (positive or negative overhang);
[0077] ● Oval holes (e.g., circular or nearly circular holes, partially elliptical circular holes);
[0078] ●Supporting structure requirements;
[0079] ●The heavy object to be printed on the heated printing platform;
[0080] ● The contact area between the object and the printing platform;
[0081] ● The ratio of the contact area between the object and the printing platform to the area of the printing platform;
[0082] ● The size of the object;
[0083] ●Outer wall;
[0084] ● Filled structure; and / or
[0085] ● Horizontal height.
[0086] For example, regarding Figure 3A As described in 312, information on geometric features can be evaluated by referring to one or more thresholds that can be provided during the generation of the modified process parameter 317.
[0087] These geometric features are mapped to process parameters that need to be adjusted to address predicted quality degradation outcomes. In some implementations, when defining modifications to those mapped process parameters, features or combinations of features conforming to a certain criterion can be used in the mapping to one or more process parameters. For example, if a feature conforms to a criterion, a first process parameter can be modified, such as increasing the print platform temperature for objects with a high contact area with the print platform, and decreasing the print platform temperature when the contact area is low.
[0088] In some implementations, a set of rules can be defined for each mapping from a feature to one or more process parameters to modify 326, applying one or more modified process parameters at locations within the print path (e.g., within a layer at a location associated with the identified geometric feature, for the entire layer, or between layers, etc.). These rules can be used to evaluate the geometric feature identified from the feature defined at 322 to determine which modification rules should be applied to the process parameters of the one or more mappings from 324. For example, Figure 3C Rule 350 performs a check for the presence of overhanging geometry in the 3D model and provides modifications to those mapping parameters based on the determined mapping between the overhanging geometry and the extrusion temperature and print pause. Furthermore, the locations where modifications are applied can be further defined in the rule (or alternatively, at the general level used to generate print instructions). In exemplary rule 350, a modification to the extrusion temperature can be applied to a region within the layer corresponding to an overhanging area overlapping the layer, and a print pause can also be added at that portion of the layer, for example, before a feature within the layer.
[0089] In some implementations, when an object comprises multiple geometric features 322 and modifications are defined for different regions in the 3D model, multiple modification rules 326 can be combined to print a single object. For example, based on the use of modification rule 326, at one layer, a print pause can be added based on the generated modified parameters, while at another layer (unrelated to the geometric features identified at 322), the print pause parameters can be used directly without modification, for example, as input from the modeling system (e.g., in...). Figure 2 In operation 202, the modeling system 102 in the figure, or from... Figure 3A Process parameter 302).
[0090] For example, different mappings can be defined between the geometric features of 322 and one or more process parameters in process parameter 324. For example, the mappings could include:
[0091] ● The overhang feature or negative overhang can be mapped to extrusion temperature parameters and print pause parameters.
[0092] ● The elliptical orifice feature can be mapped to at least one of the extrusion temperature parameter, printing speed parameter, and printing pause parameter.
[0093] ●The printing of heavy objects on a heated printing platform can be mapped to the printing platform temperature and cooling fan speed.
[0094] ● The overhanging characteristics that require support can be mapped to support type process parameters.
[0095] ● The weight of an object can be mapped to the printing platform temperature and cooling fan speed.
[0096] ● The contact area of an object can be mapped to the printing platform temperature and cooling fan speed.
[0097] Overhang area
[0098] For example, overhanging areas can be identified in the 3D model of an object (e.g., based on accessibility analysis performed in a CAM environment). Overhanging areas can be identified by analyzing the 3D model layer by layer while generating print instructions for additive printing. In some cases, it may be possible to print such overhanging areas without adding support structures. There may be different considerations for why support structures might not be ideal. For example, support structures might sacrifice the quality of the result, lead to costly post-processing of the printed object, be unsuitable for construction and printing, or be related to high costs or other issues.
[0099] In some implementations, to address the issue of overhanging regions in a 3D model without added support structures, one or more printing parameters can be adjusted (modified) to support the printing of such overhanging regions (without undesirable sagging or dripping) by allowing more cooling time in these areas. For example, the extrusion temperature heated to during printing can be reduced to support faster curing of the extruded material, thus preventing dripping at the overhanging regions. The time between one or more subsequent passes of the extruder over such areas of the overhanging feature can be increased to provide more time for cooling and curing the overhanging feature in previously printed layers. This increase in pause can be performed by modifying the print pause handling characteristics of the 3D printer. The pause can be modified within a portion of the layer near the overhanging region within the layer to be printed to support the desired effect only on the feature-related portion within the layer, or it can be adjusted to apply between subsets of layers to be printed that overlap with the overhanging region.
[0100] In some implementations, when overhang areas are identified in the 3D model of an object and print instructions for that object are generated layer by layer, the extrusion temperature can be reduced by 5% and print pauses can be increased by 20% for all layers or portions of layers that include the overhang features. Figure 3C At point 350, an exemplary rule is provided for modifying the extrusion temperature and print pause parameters based on the identified overhang characteristics.
[0101] negative suspension
[0102] For example, a negative overhang region can be identified as a geometric feature of the 3D model of the object to be printed. A negative overhang region can be a concave area with a steeper portion that extends into the underlying layer to form a narrower recessed gap at each higher layer. In those cases of negative overhang regions, printing problems can occur during part printing when the surface area of the underlying material in contact with the print bed is much larger than the total surface area of the part's cross-section. The underlying layer becomes hotter, and the area of the underlying layer surrounding one or more subsequent layers—which can be referred to as the area surrounding the underlying layer (e.g., the area defined within a predetermined perimeter around the concave gap formed by the negative overhang region)—can be smaller because the width of the part's total cross-sectional surface area is smaller. This difference between the underlying layer and the total surface area of the part's cross-section can lead to printing problems such as a "hot pool." The total surface area of the part's cross-section can include the area around the recess formed by the negative overhang region. In some cases, 3D printing performed using metallic materials is more likely to experience such a "hot pool" problem compared to 3D printing using other materials such as plastics.
[0103] For example, a threshold width can be empirically determined, which can be considered as a small width associated with experiencing quality failure due to uneven cooling of the underlying layer. In some implementations, the surface area of the model of the part in contact with the (heated) print bed can be calculated, and the surface of subsequent layers can be iteratively calculated to determine the ratio between the width of the surface at the bottom and the total surface area. The determined ratio can be associated with the expected quality failure, and the expected quality failure can be identified when at least one of the ratios meets a specific threshold width difference criterion associated with a high probability of experiencing a hot pool problem. In some implementations, the definition of the threshold can be empirically identified based on observations of historical data of executed print jobs with different part shapes and geometric considerations of part width along their height, to define different ratios between the surface area of the print in contact with the print bed and the total surface area of the corresponding part's cross-section. In some implementations, the threshold can be determined as a probability threshold corresponding to experiencing quality failure (e.g., associated with a probability of experiencing quality failure that is higher than the threshold, such as based on 95% of observations performed on a representative historical dataset).
[0104] In some cases, print bed temperature and the height of the currently printed layer (above the underlayer or above a layer on the print bed) can be configured as parameters to be considered during empirical determination of the threshold for quality degradation due to thermal pool issues. For example, the printing of negative overhang areas can be observed and evaluated to identify criteria used to determine which negative overhang areas and the width of the area surrounding the underlayer are associated with quality degradation of the final printed object at those negative overhang areas.
[0105] When negative overhang areas are identified in the 3D model of an object to be printed, one or more process parameters can be modified to support proper cooling of the areas associated with such "hot pools." For example, when negative overhang areas are identified, the extrusion temperature can be reduced or the print pause can be increased. In many other examples, the extrusion temperature and print pause parameters can be modified to lower the temperature and provide more cooling time, which can help address the expected quality degradation in negative overhang areas.
[0106] For example, based on the identification of negative overhang features, the extrusion temperature can be reduced by 5%, and the print pause (before a layer that includes a portion of the negative overhang area or within a layer at a location that includes the negative overhang feature) can be increased by 20% (or if no pause is specified within the layer).
[0107] In some implementations, Figure 3C At point 350, an exemplary rule is provided for modifying the extrusion temperature and print pause parameters based on the identified negative overhang characteristics.
[0108] In some implementations, process parameters can be modified for one or more layers in a multilayer to continuously print objects that include regions with negative overhangs, or process parameters can be modified only for a portion of a layer (or multilayer) that overlaps with the negative overhang, rather than for the entire layer.
[0109] oval hole
[0110] For example, an elliptical hole can be a geometric feature of the 3D model of the object to be printed. In some examples, an elliptical hole can be a hole in the 3D model that can be substantially (or completely) circular or partially elliptical. In some examples, the hole can have an elliptical shape and can be formed at a cross-section of the 3D object, where the plane of the cross-section can be parallel to the printing direction (therefore, "hole" includes blank space with a spherical shape that is entirely inside the object to be printed). In some examples, the 3D model can include a hole that can be seen as in Example 370 when viewed in the cross-section of the object. In some cases, when printing an object based on a model with such a hole, the printed result may have an elongated elliptical hole instead of a more rounded hole. In some cases, changing the printing parameters in the hole region can avoid elongation or other shape distortion of the hole to provide a printed result that is substantially similar to the hole design in the 3D model (e.g., defined in a CAD or CAM environment).
[0111] In some implementations, when regions including elliptical holes (or circular or substantially circular holes) are identified in the 3D model of an object and print instructions for that object are generated layer by layer, the extrusion temperature can be reduced by 5%, the print speed by 10%, and the print pause time increased by 20% for all layers or portions of layers containing the hole feature. In some examples, only a subset of these parameters can be changed, and different combinations of the proposed modifications can be applied. Figure 3C At point 355, an example of a rule is provided that modifies the extrusion temperature, print speed, and print pause parameters based on the identified orifice features.
[0112] The object requires one or more supporting structures.
[0113] Printing complex models may require a support structure (or more) to deliver the desired print result. A support structure can facilitate the printing of portions of an object by providing support layers that act as overhangs or bridging structures defined when cutting the 3D model into a series of layers for printing. However, in the same case, supports can be separated, leaving at least a portion of the printed object unsupported. Based on this collapse of the support structure at a specific location on the object, the quality degradation at that location can be significant. For example, even if the print can still be extruded from the portion intended for the support due to its collapse, it may have an uneven or broken appearance, or appear filamentous. The support structure can be defined when generating print instructions for the 3D model of the object, and multiple options can be provided for selecting the type of support structure. In some implementations, a default support type structure can be provided as part of the printing process parameters to be used during the printing of the object.
[0114] In some implementations, to reduce the likelihood of quality failure due to potential collapse of the support structure, the support structure components can be modified to select different support types associated with a higher probability of non-collapse (e.g., using different support types for different sizes of overhanging areas based on observation and evaluation of historical data) and successfully support the printing of the overhanging areas. In some implementations, the extrusion temperature, speed, and feed during printing can be modified (or customized) to support improved rigidity and adhesion of the printed part to the selected support.
[0115] In some implementations, when the contact area between the overhanging region and the printing platform (e.g., the overhanging region is relatively large compared to a threshold size and has a contact area above a specific area threshold) is very high, and printing instructions are generated layer by layer for objects, the printing instructions may include instructions to use a line or zigzag support structure type for all layers or portions of those layers that include the overhanging feature. In some implementations, when the contact area between the overhanging region and the printing platform is determined to be below a threshold size, instructions may be provided to use a mesh or triangular support structure type for the support structure.
[0116] Elephant feet
[0117] In some implementations, the information obtained regarding one or more geometric features may include information about the model's volume and the contact area between the model and the printing platform. Based on the model's volume and the specific material used to print the object, the model's weight can be determined. Based on the contact area with the printing platform, the ratio of the model's area to the platform's area can be determined. The object's weight and the contact area ratio can be evaluated to determine whether the object can be classified as heavy (e.g., compared to the object's weight based on predefined criteria or thresholds) and whether the object's contact area with the printing platform is low. The determined ratio can be compared to a threshold ratio to determine whether the contact is low or high. For example, if the contact area is 20% (or less) of the printing platform area, the object can be classified as having a low contact area.
[0118] In some cases, 3D models can cause the base of the printed object to bulge slightly outwards (an effect also known as "elephant feet") when the weight during printing presses down on it before the lower layers have fully cooled to solidify. This problem can specifically occur when the printer has a heated print bed. The mass issue that causes the object's edges to bulge outwards is also referred to as "elephant feet." To prevent "elephant feet" in 3D printing, the base layers of the model should be allowed sufficient time to cool properly during printing so that they can function as supports for the structure built on top, preventing them from shifting due to the weight of the higher parts of the object. However, if the lower part of the object cools too much while the higher parts are being printed, the printed result may risk warping of the base layers.
[0119] In some implementations, when the object to be printed is determined to have a large weight based on the defined printing material and the dimensions of the 3D model (e.g., the volume of the model) and the small contact area with the printing platform, the printing instructions for the layer-by-layer generated object may include modified parameters for all layers or portions of layers of the heavy object. The modified parameters can be customized to help balance cooling and / or heating during printing to avoid "elephant feet" without the risk of warping of the base layers. In some implementations, modifications to parameters can be provided for one or more layers that are the first set of layers of an object printed by an extrusion-based 3D printer. For example, the number of layers that can be affected by the modification can be determined to overlap with a specific height of the object provided as a threshold to the process modifier.
[0120] In some implementations, to provide such cooling time during printing without the risk of base layer warping, certain process parameters associated with the layer temperature during printing can be modified. In some implementations, these modified process parameters may include at least one of the following: extruder temperature, print platform (or print bed) temperature, and cooling fan settings (e.g., activating the cooling fan at lower or higher printing heights and / or increasing or decreasing the cooling fan speed to support faster cooling).
[0121] In some implementations, the extrusion temperature and / or print platform temperature can be reduced to support faster cooling of lower layers and thus avoid "elephant feet" in the print. In some implementations, the temperature reduction allows lower layers to cool to a predefined level that is not correlated with a higher probability of warping the base layer. In some implementations, the extrusion temperature and / or print platform temperature can be reduced for at least a portion of the printing process associated with the printing area near the lowest part of the object on the print platform. In some cases, these parameters can be customized according to the geometry of the part and can be adjusted in combination or individually to allow sufficient cooling of the lower portion of a heavy object with a small contact area with the print platform before extruding hot and dependent on the lower portion as a support structure for other subsequent layers. Such modifications can reduce the risk of encountering "elephant feet" and help avoid quality defects in the final print result.
[0122] In some implementations, the cooling fan start point (e.g., the height of the print when the cooling fan is activated) and / or speed (e.g., the speed of a cooling fan configured for the entire printing process or at least for the lower portion of the print) can be adjusted to help balance cooling and heating, thereby avoiding “elephant feet” or “warping” in heavy objects with a small contact area with the print platform.
[0123] In some implementations, when a print job begins for a heavy object (e.g., based on a reference threshold weight value) with less contact with the print platform (e.g., based on a reference contact ratio), the cooling fan settings can be modified to reduce the risk of experiencing the "elephant foot" problem in the final print result by providing cooling at a lower height of the printed material. In some implementations, the cooling fan can be activated at a lower height of the printed material to support faster cooling at lower layers, thus avoiding the "elephant foot" problem. For example, the cooling fan may have a default print setting that activates at a specific height of the printed material, and these settings can be modified by lowering the default height to a new lower height (e.g., 50% lower than the default height). In some implementations, the cooling fan speed can be adjusted by configuring the cooling fan to activate and provide cooling due to an increase in fan speed, for example, by 50%. For example, the cooling fan can be configured to operate as a default print configuration that does not consider the geometric details of the printed object for part or all of the printing process. In this example, the cooling fan speed can be modified by setting the cooling fan speed to a higher (e.g., higher than 50%) than the default speed set. This allows the fan to cool down faster at lower levels, thus helping to avoid "elephant feet".
[0124] In some implementations, based on considerations of the geometry of the section and the printing configuration at the printer, the cooling fan speed can remain stable during modification and requires no intermediate adjustments during the printing process. In some implementations, modifications to the cooling fan, such as fan speed or cooling fan start-up height, can be applied to all or part of the printing process.
[0125] For example, when the object is determined to be heavy and has a small contact area with the print platform, the print platform temperature can be reduced, for example, by 10%, and the cooling fan can be configured to start at a lower height during printing compared to the default higher height configured for the cooling fan in the obtained process parameters. Furthermore, or alternatively, for at least the lower portion of the print associated with the lower height, the cooling fan speed can be increased from the default fan speed by, for example, 50%. In some examples, the cooling fan can be configured by default to start at height 2, and when the object is determined to be heavy and has a small contact area with the print platform, height 2 can be modified and defined as height 1 (below height 2), for example, 50% of height 2. Modifying the triggering of the cooling fan start point (i.e., at a lower height) can support faster cooling of the extruded filament because it will be initiated earlier during printing. By activating the cooling fan at a lower height (and / or at least at a higher speed for the lower layers where the print is expected to experience quality degradation associated with "elephant feet" and / or warping), the filaments extruded in the lower layers during model printing can cool more quickly because the fan is now on, a situation that would not occur if the fan activation height were not adjusted to a lower level. Figure 3D At point 360, exemplary rules are provided for modifying extrusion temperature, print platform temperature, and / or cooling fan settings (starting height and / or speed) based on the identified heavy object with a smaller contact area with the print platform.
[0126] The printed edges are curved (warped).
[0127] When an object is printed and has a large contact area with the print bed (e.g., the ratio between the area of the object's bottom and the area of the print bed is above a threshold), the base of the printed object can warp upwards, causing it to no longer be flush with the print bed surface. This warping at the bottom of the printed object can also cause horizontal cracks in the upper portion, making the printed object appear unattached to the print bed. Similar to "elephant feet," a customized balance between cooling and heating during printing can be applied to avoid such warping and cracking quality defects. This predicted quality loss can be avoided by adjusting certain process parameters.
[0128] For example, the print platform temperature can be increased, and the cooling provided by the 3D printer's cooling fan can be reduced. For instance, the print platform temperature could be increased by 10%, the cooling fan speed at the 3D printer could be reduced by 50%, and / or the cooling fan activation height could be defined as 50% higher than the default height defined for activating the cooling fan in the default printing parameters. In some cases, the cooling fan speed can be adjusted based on an assessment of whether some modifications already exist to adjust the speed, which may indicate that further changes to the speed (e.g., further reductions) are unnecessary or undesirable.
[0129] In some implementations, the slicer program can be configured with settings for the cooling fan (speed and / or start-up height) and / or modifications to the cooling fan settings based on predefined rules or criteria to address the risk of warping. In this way, the cooling fan can be set to switch to full power at higher parts of the print, while being unused (or essentially unused) at lower parts, allowing the already printed base layer more time to cool naturally without fan cooling. In some implementations, the slicer program can be configured to modify the cooling fan speed by reducing its speed, thereby reducing the cooling effect from the fan and allowing the base layer more time to cool naturally. Figure 3D At point 365, an exemplary rule is provided for modifying the print platform temperature and cooling fan speed based on the larger, identified contact area with the print platform.
[0130] Filling structure
[0131] In some implementations, the path generator can define the internal structure of a 3D model of an object to be printed by an extrusion-based 3D printer within a series of print paths. The internal structure can be infill material with varying densities. This infill material can provide support for the upper and / or top layers. The density to be applied to the infill setting can depend on factors such as the required strength of the printed result, upper layer support requirements, or quality standards. Generally, different patterns can be set for the infill material. Furthermore, different infill patterns can be applied to provide specific infill densities.
[0132] In some implementations, the instructions for printing an object include process parameters such as the speed and density of printing paths within the infill structure. In some cases, the speed at which the infill structure is printed can affect the quality of the printed object, based on incorrect settings within the path instructions. If the printing speed and / or density are set incorrectly, the infill structure may appear messy or incomplete. This anticipated quality degradation of a model with an infill structure is addressed when it is determined that an infill structure needs to be printed for an object with a volume that can be identified as being associated with predicted quality degradation. The volume of the object can be a geometric feature obtained for the model and compared to a threshold to determine whether such an object is expected to experience quality degradation. The volume size of an object that encounters quality problems can be determined empirically and used to define rules for modifying process parameters. In some implementations, the volume of the object can be compared to a threshold defining an expected volume size, exceeding which will affect quality. When the volume increases by the threshold, the object can be considered to have a sufficiently large volume, which can lead to quality degradation when printing the infill structure.
[0133] Such predicted quality degradation can be avoided by adjusting certain process parameters, such as infill density and infill print speed. For example, the infill density can be set to no less than 20%, and the infill print speed can be reduced by 10%.
[0134] Outer wall inside the object
[0135] Some 3D models of objects have outer walls and infill structures. Different infill settings can be defined for the infill density. When generating print instructions for such objects, the path generation program (or slicer program) can define one or more tool paths for each sliced layer to define the infill material of the object and one or more tool paths to define the perimeter area of the outer walls. During printing, the infill tool paths of each layer can reach the outer tool paths covering the perimeter of the 3D model, where the infill intersects with the outer walls. Based on the settings and / or materials used to print the object, the infill tool paths can have different overlaps with the inner edges of the perimeter of the outer walls of the 3D model. For example, an object can be a cube with a cylindrical hole passing through a cubic structure. Therefore, such objects have outer walls surrounding the hole inside the object, and the object has an infill structure extending to the outer walls.
[0136] When printing objects that include an outer wall and infill, potential quality degradation can be associated with poor print quality at the top layer. For example, minute gaps may be noticeable between the infill and the outer wall. In some cases, these gaps may be due to incomplete bonding of the filaments used for the infill and outer wall, and poor adhesion at the adjacent areas between the infill and outer wall. In other cases, the overlap between the infill and outer wall may be insufficient to prevent them from meeting and bonding.
[0137] In some cases, this problem may be more prevalent when the object is printed from a particular material. These materials may have poor diffusion due to the carbon fibers that form part of their structure. In some implementations, customizing the hot-end temperature can prevent this type of quality degradation when printing with advanced materials.
[0138] In some implementations, to avoid quality defects caused by gaps between the infill and outer wall due to poor bonding at the top of the printed object, process parameters can be modified for at least some of the multiple layers defined for the printed object. In some implementations, the infill pattern type and infill density and / or print speed parameters can be modified to adjust infill overlap and reduce or completely eliminate the occurrence of such gap quality defects between the infill path and the outer path (e.g., at the top layer assembly).
[0139] For example, the filler overlap can be set to be no less than 30% and no more than 50%, and the top layer speed of the printhead can be reduced by 20%.
[0140] High objects
[0141] In some implementations, cracks may appear on the sides when printing tall objects. This quality deterioration can be explained by the fact that the material cools faster when printing higher layers, heat from the printing platform does not reach the higher layers, and the adhesion in the upper layers is lower.
[0142] In some implementations, to avoid quality damage from cracks, especially in tall objects, process parameters can be modified for at least some of the multiple layers defined for the printed object. In some implementations, the geometric features of the object can be evaluated to determine whether the object can be classified as tall. For example, the horizontal height of the object can be obtained as information about the height geometry of the model. Furthermore, the contact area between the model and the printing platform can be determined.
[0143] Based on the determined horizontal height and contact area of a given 3D model of the object to be printed, print instructions can be generated that include modified parameters. These modified parameters will be used for a subset of layers in a multi-layered system defined for continuous printing of the object. The modified parameters may include modified extrusion temperature parameters and cooling fan speed and / or starting height, where these parameters can be modified to customize their values according to the geometry of the printed object, thereby mitigating final print quality issues for tall objects.
[0144] For example, for objects classified as high (with a height above the threshold) and with a small contact area (area below the threshold area value), the extrusion temperature can be increased by 5% and the cooling fan start-up height can be reduced by 50%.
[0145] Objects with a top surface covered by a filling structure
[0146] In some cases, when printing objects with a top surface, the top surface of the print may exhibit unsightly bumps or even holes (or gaps). This can be a situation where the top surface is flat or substantially flat and requires an infill structure as support. The most common cause of this quality defect is improper cooling of the top layer. This can occur when each successive layer of molten plastic is applied. Objects can be printed with an infill structure having a specific infill density and density pattern defined in the infill tool path. During printing, the top layer will cover the infill material, which acts as an internal support structure. Therefore, when the layers of the infill structure are printed sequentially, they need to be cooled rapidly to prevent newly printed material from falling into the holes defined in the infill structure in subsequent higher layers (and ultimately in the top layer). The size of the holes within the infill structure depends on the defined infill density and pattern.
[0147] In some implementations, to avoid quality degradation when printing objects with a top surface as a geometric feature, modifications to at least one process parameter, such as the cooling fan speed at the 3D printer, can be defined and used during one or more top layers of the print path. In some implementations, modifications can be used at the top layer and / or n layers at the top of the print path, where n can be a predefined number of layers that can be configured and adjusted for different models, printer types, user preferences, or other performance considerations. In some cases, the modified parameter can be applied only to portions of one or more top layers. The cooling fan speed can be customized based on the geometry of the object (i.e., including the top surface) to avoid quality degradation due to pits and voids at the top layers of the printed object. For example, the fan speed can be adjusted to increase to a maximum value of 100% capacity at the top layers.
[0148] Figure 3C This is a block diagram of rules for modifying process parameters applied during the printing of an object by a 3D extruder to customize the process parameters based on the geometric features identified in the object at different parts of the generated print path. In some implementations, modifications to process parameters can be generated in parallel or substantially parallel with the printing process. In some implementations, modifications to process parameters can be generated during slicing of the model, for example, in a modeling system such as... Figure 1 In the slicer program of the modeling system 102, a model of the portion to be printed is prepared in accordance with the implementation of this disclosure.
[0149] At 350, exemplary modification rules are provided for modifying extrusion temperature parameters and print pause parameters based on the identified overhang or negative overhang geometry. Rule 350 also identifies configurations for applying modifications to process parameters within layers before and after layers that include a portion of the identified overhang geometry.
[0150] At rule 355, exemplary rules are provided for modifying extrusion temperature parameters, print speed, and print pause parameters based on the identified orifice features. Similar to rule 350, rule 355 identifies the configuration for applying modifications to process parameters at one or more subsets of layers. Generally, the configuration for applying modified parameters can be for a layer as a whole, or the modification to the parameter change can be activated within layers before and after a portion of a layer that exactly covers the overhang feature.
[0151] Figure 3D This is a block diagram of rules for modifying process parameters applied during the printing of objects that are expected to exhibit elephant foot problems or warping at the underlying layer when printed by a 3D extruder. In some implementations, the modification of process parameters can be generated in parallel or substantially in parallel with the printing process.
[0152] In some implementations, the generation of modifications can be performed in stages, with each stage potentially executing differently. Some stages may include modifications performed during printing, while others may include defining modifications to a set of layers before sending the printing instruction. In some implementations, it is possible to generate multiple options (with or without modified parameters) for the print path of a stage or the entire object, and to determine the selection of these options and apply them to printing. This determination may be based on user selection, or on instructions received from another service or application, and other examples of determination logic that can be implemented and applied to that selection. As discussed, Rules 360 and 365 define corresponding parameters to be modified for heavier objects with small or large contact areas with the print platform to reduce the likelihood of elephant foot and underlayer warping issues when printing objects using a 3D printer with a heated print platform bed.
[0153] In some implementations, based on the determination of possible modifications to one or more process parameters, a set of options can be provided for modifying the geometric features included in the 3D model of the object corresponding to different combinations of mapped process parameters.
[0154] For example, when an elliptical hole exists in the identification model, based on the logic of rule 355, corresponding modified values can be provided for one or more options that modify combinations of parameters, including extrusion temperature, print speed, and / or print pause. Based on the provided modification options, a selection of specific modifications to a specific set of one or more parameters can be defined. The selection of options can be based on predetermined selection rules, which can be defined based on printer type, user identifier, and account associated with the user request (e.g., customer account, subscription account, etc.). In some other cases, the selection can be a user selection, where it can be made in the print instruction module that generates the print instruction (e.g., such as...). Figure 1 Options are provided at the user interface (e.g., graphical user interface) of the path generation module 110 of the print instruction generation module 108.
[0155] The embodiments of the subject matter and functional operation described in this specification can be implemented in digital electronic circuits, in tangibly embodied computer software or firmware, in computer hardware including the structures disclosed in this specification and their equivalents, or in a combination of one or more of these. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier for execution by or control of the operation of a data processing device. Alternatively or additionally, program instructions can be encoded on artificially generated propagation signals (e.g., machine-generated electrical, optical, or electromagnetic signals), which are generated to encode information for transmission to a suitable receiver device for execution by the data processing device. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access storage device, or a combination of one or more of these.
[0156] The term "data processing device" refers to data processing hardware and includes all kinds of devices, apparatuses, and machines for processing data, including, for example, programmable processors, computers, or multiple processors or computers. The device may also be or include special-purpose logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the device may optionally include code that creates an execution environment for computer programs, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, or combinations thereof.
[0157] Computer programs (also referred to or described as programs, software, software applications, modules, software modules, scripts, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. A computer program may, but does not necessarily, correspond to a file in a file system. A program may be stored as a portion of a file that holds other programs or data, for example, as one or more scripts stored in a markup language document, a single file dedicated to the program in question, or as a collection of files, for example, a file storing one or more modules, subroutines, or portions of code. A computer program may be deployed to execute on a single computer, or on multiple computers located in one location or distributed across multiple locations and interconnected via a communication network.
[0158] The processes and logic flows described in this specification can be executed by one or more programmable computers, which execute one or more computer programs to perform functions by manipulating input data and generating output. The processing and logic flows can also be executed by dedicated logic circuitry, and the device can be implemented as dedicated logic circuitry, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).
[0159] For example, a computer suitable for executing computer programs includes a general-purpose microprocessor or a special-purpose microprocessor or both, or any other type of central processing unit. Generally, the central processing unit receives instructions and data from read-only memory or random access memory or both. The basic components of a computer are the central processing unit for running or executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include one or more mass storage devices for storing data, such as disks, magneto-optical disks, or optical disks, or operatively coupled to one or more mass storage devices to receive data from or transfer data to or both. However, a computer does not need to have such devices. Furthermore, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
[0160] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by dedicated logic circuitry, or the processor and memory may be incorporated into dedicated logic circuitry.
[0161] To provide interaction with the user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device for displaying information to the user, such as an LCD (liquid crystal display), OLED (organic light-emitting diode), or other monitor, and a keyboard and pointing device, such as a mouse or trackball, that the user can use to provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; and input from the user can be received in any form, including sound, speech, or tactile input. Furthermore, the computer can interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a webpage to a web browser on the user's device in response to a request received from a web browser.
[0162] Implementations of the subjects described in this specification can be implemented in a computing system that includes back-end components (e.g., as a data server), or middleware components (e.g., an application server), or front-end components (e.g., a client computer with a graphical user interface or web browser through which a user can interact with the implementation of the subjects described in this specification), or any combination of one or more such back-end, middleware, or front-end components. Components of the system can be interconnected via digital data communication (e.g., a communication network) of any form or medium. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.
[0163] A computing system may include clients and servers. Clients and servers are generally geographically separated and typically interact via a communication network. The client-server relationship arises from computer programs running on their respective computers and having a client-server relationship with each other. In some implementations, the server transmits data to a user device, such as Hypertext Markup Language (HTML) pages, for example, to display data to a user interacting with the user device acting as a client, and receives user input from the user. Data generated at the user device, such as the results of user interactions, may be received at the server from the user device.
[0164] Figure 4 An example of such a computer is shown, illustrating a schematic diagram of a computer system 400. Depending on some implementations, system 400 can be used for operations described in association with any of the previously described computer implementations. System 400 includes a processor 410, memory 420, storage device 430, and input / output device 440. Each of components 410, 420, 430, and 440 is interconnected using a system bus 450. Processor 410 is capable of processing instructions for execution within system 400. In some implementations, processor 410 is a single-threaded processor. In other implementations, processor 410 is a multi-threaded processor. Processor 410 is capable of processing instructions stored in memory 420 or storage device 430 to display graphical information of a user interface on input / output device 440.
[0165] Memory 420 stores information within system 400. In some implementations, memory 420 is a non-transitory computer-readable medium. In some implementations, memory 420 is a volatile memory cell. In other implementations, memory 420 is a non-volatile memory cell.
[0166] Storage device 430 provides large-capacity storage for system 400. In some implementations, storage device 430 is a non-transitory computer-readable medium. In various implementations, storage device 430 may be a floppy disk device, hard disk device, optical disk device, magnetic tape device, or solid-state storage device.
[0167] Input / output device 440 provides input / output operations for system 400. In some implementations, input / output device 440 includes a keyboard and / or pointing device. In other implementations, input / output device 440 includes a display unit for displaying a graphical user interface.
[0168] While this specification contains many specific implementation details, these should not be construed as limiting the scope of the claims, but rather as descriptions of features that may be specific to particular embodiments. Certain features described in this specification within the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually in multiple embodiments or in any suitable sub-combination. Furthermore, although features may be described above as functioning in certain combinations and even initially protected by the claims, one or more features from a claimed combination may, in some cases, be separable from said combination, and a claimed combination may involve sub-combinations or variations thereof.
[0169] Similarly, although operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring such operations to be performed in the specific order shown or in a sequential order, or requiring all shown operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0170] Specific embodiments of this subject matter have been described. Other embodiments are also within the scope of the appended claims. For example, the actions described in the claims can be performed in different orders and still achieve the desired result. As an example, the processes described in the figures do not necessarily require the specific order or sequential order shown to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous.
[0171] Example
[0172] Although this application is defined in the appended claims, it should be understood that the invention may also be defined (alternatively or alternatively) according to the following examples:
[0173] Example 1: A method that includes:
[0174] The computer-aided manufacturing environment obtains i) information about one or more geometric features of a three-dimensional 3D model of an object to be printed by an extrusion-based 3D printer, and ii) process parameters for use when printing the 3D object by the extrusion-based 3D printer.
[0175] The computer-aided manufacturing environment generates printing instructions for printing the 3D object in a series of multiple layers by the extrusion-based 3D printer, wherein modified process parameters are generated as part of the printing instructions by modifying appropriate subsets of the obtained process parameters based on information about one or more geometric features of the 3D model of the object; and
[0176] The computer-aided manufacturing environment provides printing instructions, including the modified process parameters, to operate the extrusion-based 3D printer to print the object.
[0177] Example 2: As described in Example 1,
[0178] The acquisition includes identifying regions of the 3D model with geometric features predicted to experience quality degradation when printing the object based on the acquired process parameters, the one or more geometric features including the geometric features, and wherein the modified process parameters of the geometric features are generated only within a portion of the regions and only within a suitable subset of the layers.
[0179] Example 3: The method as described in Example 2, wherein the provisioning includes dynamically providing the printing instructions during printing of the object by the extrusion-based 3D printer, depending on: i) obtained process parameters of the 3D object in regions outside an appropriate subset of the layers and ii) modified parameters from the 3D model of the identified regions having the geometry predicted to undergo the quality degradation.
[0180] Example 4: A method as described in any of the preceding examples, comprising:
[0181] Receive the 3D model of the object to be printed by the extrusion-based 3D printer, wherein the extrusion-based 3D printer is a fused filament manufacturing printer.
[0182] Example 5: The method as described in any of the preceding examples, wherein
[0183] A) Where the information includes information about the overhang geometry of the 3D model of the object,
[0184] The modification includes modifying i) the extrusion temperature at a portion of a layer within a suitable subset of the layers, wherein the portion is associated with the overhang geometry, or ii) a print pause parameter between at least two layers within a suitable subset of the layers, wherein the modified extrusion temperature or the modified print pause parameter is applied by the extrusion-based 3D printer to at least two layers within the suitable subset of the layers including the overhang geometry, wherein the extrusion temperature or the print pause parameter is modified to allow cooling of at least two layers within the suitable subset of the layers during printing.
[0185] Optionally, the modification includes reducing the extrusion temperature by 5% of the temperature defined in the obtained process parameters to determine the modified extrusion temperature to be used during printing, and increasing the print pause parameter defined in the obtained process parameters by 20% to define the modified print pause parameter, wherein...
[0186] If the extrusion-based 3D printer mentioned in i) is an extrusion-based 3D printer (e.g., an FFF printer, a metal printer, or other type of 3D printer), and
[0187] ii) The information includes information about the negative overhang region, wherein obtaining the information includes:
[0188] The negative overhang region is identified as the overhang geometry of the 3D model of the object, and
[0189] Perform an inverted overhang analysis in a 3D space with an inverted third dimension to identify one or more regions of the 3D model that include the negative overhang region; and
[0190] The modified extrusion temperature is applied to a portion of the appropriate set of layers associated with the identified negative overhang region, or the modified print pause parameter is applied when moving from one layer to another during at least a portion of the appropriate set of layers of the 3D model being printed, wherein the one or more regions of the 3D model cover the portion of the appropriate set of layers;
[0191] B) In the case where obtaining information about the elliptical hole is included as a geometric feature among the one or more geometric features of the 3D model, and
[0192] The modification includes modifying the extrusion temperature, printing speed, and pause of at least two layers in an appropriate subset of the layers, wherein the modified extrusion temperature, modified printing speed, and modified pause are applied by the extrusion-based 3D printer to the at least two layers in the appropriate subset of the layers, the at least two layers including the elliptical orifice, and
[0193] Optionally, modifying the extrusion temperature, printing speed, and pause of at least two layers within an appropriate subset of the layers includes:
[0194] The extrusion temperature defined in the obtained process parameters will be reduced by 5%.
[0195] The print pause between layers defined in the obtained process parameters will be increased by 20%, and
[0196] Reduce the printing speed defined in the obtained process parameters by 10%;
[0197] C) Based on information obtained regarding the one or more geometric features, determine that the weight is above a first threshold and the coverage ratio is below a second threshold, wherein the weight of the 3D model and the coverage ratio of the area of the 3D model relative to the area of the printing platform of the extrusion-based 3D printer are identified, wherein the weight is identified based on the volume of the 3D model and the printing material used to print the object, and wherein the coverage ratio is determined based on the contact area between the 3D model and the printing platform of the extrusion-based 3D printer, the volume of the 3D model and the contact area being information about the geometric features obtained from the acquired information, and
[0198] The modification includes reducing the print platform temperature and cooling fan start-up height configuration based on determining that the weight is higher than the first threshold and the coverage ratio is lower than the second threshold. The modified print platform temperature and cooling fan start-up height configuration are then applied by the extrusion-based 3D printer to one or more layers within an appropriate subset of the layers to balance cooling and heating during layer-by-layer printing of the object. The one or more layers are the first set of layers of the object printed by the extrusion-based 3D printer.
[0199] Optionally, modifying the printing platform temperature and the cooling fan speed includes:
[0200] Reduce the printing platform temperature defined in the obtained process parameters by 10%; and
[0201] The cooling fan start-up height configuration is modified to reduce the height of the cooling fan when it starts by 50%, thereby reducing the temperature during the printing of an appropriate subset of the layers by the extrusion-based 3D printer, wherein the information of the obtained process parameters includes the cooling fan start-up height configuration;
[0202] D) Where the information includes information about i) the volume of the 3D model and ii) the contact area between the 3D model and the printing platform of the extrusion-based 3D printer;
[0203] The generation of the print instruction includes:
[0204] It is determined that the contact area is substantially larger than the area of the printing platform that does not contact the object during printing; and
[0205] The modifications include adjusting the print platform temperature and cooling fan speed, wherein the extrusion-based 3D printer applies the modified print platform temperature and cooling fan speed to an appropriate subset of the layers to balance cooling and heating during layer-by-layer printing of the object.
[0206] The modification of the printing platform temperature and the cooling fan speed includes:
[0207] Increase the temperature of the printing platform, and
[0208] Reduce the speed of the cooling fan.
[0209] Optionally, modifying the printing platform temperature and the cooling fan speed includes:
[0210] Increase the printing platform temperature defined in the obtained process parameters by 10%; and
[0211] The cooling fan speed of the extrusion-based 3D printer is reduced by 50%, wherein the cooling fan speed is defined in the information obtained from the process parameters;
[0212] E) Where the information includes information about volume as a geometric feature of the 3D model;
[0213] The generation of the print instruction includes:
[0214] The volume is determined to be substantially higher than the volume of the printing area of the extrusion-based 3D printer; and
[0215] The modifications include adjusting the infill density and infill print speed, wherein the extrusion-based 3D printer applies the modified set of process parameters to an appropriate subset of the layers to adjust the infill print speed and the infill density for each layer in the appropriate subset during printing, in order to avoid the loss or breakage of the internal structure of the object during layer-by-layer printing of the object by the extrusion-based 3D printer.
[0216] Optionally, modifying the infill density and the infill printing speed includes:
[0217] Modify the fill density to a new fill density value that is not less than 20% of the density; and
[0218] The filling and printing speed, which is included in the information obtained from the process parameters, is reduced by 10%.
[0219] F) In the case where the information includes information about the outer walls and infill as corresponding geometric features of the 3D model and the modified process parameters include infill overlap and top layer speed, wherein the modified infill overlap and modified top layer speed are applied by the extrusion-based 3D printer to an appropriate subset of the layers,
[0220] The modifications include:
[0221] Modify i) the infill overlap value to the modified infill overlap value, wherein the modified infill overlap value is not less than 30% and less than 50% for each layer in the appropriate subset during printing, and ii) reduce the top layer speed by 20% to set the modified top layer speed, thereby avoiding gaps between the infill and the outer wall during the printing of the object by the extrusion-based 3D printer;
[0222] G) When the information includes information about the horizontal height of the 3D model and the contact area between the 3D model and the printing platform of the extrusion-based 3D printer, the height of the 3D model is determined to be above a threshold and the contact area of the 3D model is determined to be below a threshold, thereby forming a 3D model whose height is significantly greater than its width within the printing area provided by the extrusion-based 3D printer.
[0223] The modifications include:
[0224] The modified extrusion temperature was determined by increasing the obtained process parameters by 5%; and
[0225] The modified fan speed was determined by modifying the obtained process parameters by reducing the fan speed by 50%.
[0226] H) In the case where the obtained process parameters include a first type of support structure for printing the object by the extrusion-based 3D printer, wherein the information includes information about the overhang characteristics of the 3D model of the object;
[0227] The generation of the print instruction includes:
[0228] Evaluate the information regarding the overhang features of the 3D model of the object.
[0229] Determine whether the support structure of the first type for the overhang feature has a contact area greater than the threshold area size of the printing platform of the extrusion-based 3D printer, and
[0230] Based on the determination of whether the contact area is higher than the threshold area size of the printing platform of the extrusion-based 3D printer, a second type of support structure required for printing the object by the extrusion-based 3D printer is identified; and
[0231] The generated printing instructions include instructions for using the second type of support structure identified by the overhang feature.
[0232] Optionally, the provided printing instructions include:
[0233] When the contact area is greater than the threshold area size, an instruction is given to use a linear or zigzag support structure type for the support structure; and
[0234] When the contact area is lower than the threshold area size, the instruction to use a grid or triangular support structure type for the support structure is given.
[0235] I) Where one or more geometric features include the top portion of the 3D model, wherein the top portion of the 3D model is included in the top layer of the plurality of layers defined for printing the object by the extrusion-based 3D printer, and wherein the process parameters include cooling fan speed,
[0236] The modification includes changing the cooling fan speed by increasing the cooling fan speed of the top layer during printing the object.
[0237] Operations and processes similar to those described in Examples 1 to 5 can be performed in a system comprising at least one process and a memory communicatively coupled to the at least one processor, wherein the memory stores instructions that, when executed, cause the at least one processor to perform the operations. Furthermore, a non-transitory computer-readable medium storing instructions that, when executed, cause the at least one processor to perform the operations as described in any one of Examples 1 to 20 can also be implemented.
Claims
1. A system for generating print instructions, the system comprising one or more computers and one or more storage devices storing instructions, the instructions being operable, when executed by the one or more computers, to cause the one or more computers to perform an operation, the operation comprising: Obtain i) information about one or more geometric features of a 3D model of an object to be printed by an extrusion-based 3D printer, and ii) process parameters for use by the extrusion-based 3D printer when printing the multiple layers using a tool path determined for the multiple layers into which the object is sliced; A printing instruction for printing the object by the extrusion-based 3D printer is generated, wherein modified process parameters are generated as part of the printing instruction by modifying obtained process parameters for printing a subset of the plurality of layers using a subset of the tool path based on information about one or more geometric features of the 3D model of the object; as well as The printing instructions, including the modified process parameters, are provided to operate the extrusion-based 3D printer to print the object.
2. The system of claim 1, wherein The information includes information about the overhang geometry of the 3D model of the object; and The modification includes modifying i) the extrusion temperature at a portion of a layer in a subset of the plurality of layers, wherein the portion is associated with the overhang geometry, or ii) a print pause parameter between at least two layers in a subset of the plurality of layers, wherein the modified extrusion temperature or the modified print pause parameter is applied by the extrusion-based 3D printer to at least two layers in the subset of the plurality of layers that include the overhang geometry, wherein the extrusion temperature or the print pause parameter is modified to allow cooling of at least two layers in the subset of the plurality of layers during printing.
3. The system of claim 2, wherein the modification includes reducing the extrusion temperature by 5% of the temperature defined in the obtained process parameters to determine the modified extrusion temperature to be used during printing, and increasing the print pause parameter defined in the obtained process parameters by 20% to define the modified print pause parameter.
4. The system of claim 3, wherein obtaining comprises: The negative overhang region is identified as the overhang geometry of the 3D model of the object, and Perform an inverted overhang analysis in a 3D space with an inverted third dimension to identify one or more regions of the 3D model that include the negative overhang region; and During printing at least a subset of the plurality of layers of the 3D model, the modified extrusion temperature is applied to a portion of the layers in the subset of the plurality of layers associated with the identified negative overhang region, or the modified print pause parameter is applied when moving from one layer to another, wherein the one or more regions of the 3D model cover the portion of the subset of the plurality of layers.
5. The system of claim 1, wherein obtaining includes obtaining information about the elliptical hole as a geometric feature among the one or more geometric features of the 3D model, and The modifications include modifying the extrusion temperature, printing speed, and pause of at least two layers in a subset of the plurality of layers, wherein the modified extrusion temperature, modified printing speed, and modified pause are applied by the extrusion-based 3D printer to the at least two layers in the subset of the plurality of layers, the at least two layers including the elliptical orifice, and The modification of the extrusion temperature, the printing speed, and the pause in at least two layers of a subset of the plurality of layers includes: Reduce the extrusion temperature defined in the obtained process parameters by 5%. Increase the pauses between layers defined in the obtained process parameters by 20%, and Reduce the printing speed defined in the obtained process parameters by 10%.
6. The system as described in claim 1, The acquisition includes identifying regions of the 3D model with geometric features predicted to experience quality degradation when printing the object based on the acquired process parameters, the one or more geometric features including the geometric features, and wherein the modified process parameters of the geometric features are generated only within a portion of the regions and only within a subset of the plurality of layers.
7. The system of claim 6, wherein the providing includes dynamically providing the printing instructions during printing of the object by the extrusion-based 3D printer, depending on: i) obtained process parameters of the object in regions outside the subset of the plurality of layers and ii) modified process parameters from the 3D model of identified regions having the geometry predicted to undergo the quality failure.
8. The system of claim 1, wherein the operation includes: Receive the 3D model of the object to be printed by the extrusion-based 3D printer, wherein the extrusion-based 3D printer is a fused filament manufacturing (FFF) printer.
9. The system of claim 1, wherein obtaining the information about the one or more geometric features includes receiving the results of an accessibility analysis performed on the 3D model of the object.
10. The system of claim 1, wherein the generation of the print instruction comprises: Based on information obtained regarding the one or more geometric features, the weight of the 3D model and the coverage ratio of the 3D model's area to the area of the extrusion-based 3D printer's printing platform are identified, wherein the weight is identified based on the volume of the 3D model and the printing material used to print the object, and wherein the coverage ratio is determined based on the contact area between the 3D model and the printing platform of the extrusion-based 3D printer, wherein the volume of the 3D model and the contact area are information about the geometric features obtained from the acquired information, and It is determined that the weight is higher than a first threshold and the coverage ratio is lower than a second threshold; and The modification includes reducing the print platform temperature and lowering the cooling fan start-up height configuration based on determining that the weight is higher than the first threshold and the coverage ratio is lower than the second threshold. The modified print platform temperature and cooling fan start-up height configuration are applied by the extrusion-based 3D printer to one or more layers in a subset of the plurality of layers to balance cooling and heating during layer-by-layer printing of the object, wherein the one or more layers are the first set of layers of the object printed by the extrusion-based 3D printer.
11. The system of claim 10, wherein reducing the temperature of the printing platform and reducing the starting height of the cooling fan are configured as follows: Reduce the printing platform temperature defined in the obtained process parameters by 10%; as well as The cooling fan start-up height configuration is modified to reduce the cooling fan start-up height by 50%, thereby reducing the temperature during the printing of a subset of the multiple layers by the extrusion-based 3D printer, wherein the information of the obtained process parameters includes the cooling fan start-up height configuration.
12. The system of claim 1, wherein the information includes information about: i) the volume of the 3D model and ii) the contact area between the 3D model and the printing platform of the extrusion-based 3D printer; The generation of the print instruction includes: The contact area is determined to be greater than the area of the printing platform that does not contact the object during printing; and The modifications include adjusting the print platform temperature and cooling fan speed, wherein the extrusion-based 3D printer applies the modified print platform temperature and cooling fan speed to a subset of the multiple layers to balance cooling and heating during layer-by-layer printing of the object. The modification of the printing platform temperature and the cooling fan speed includes: Increase the temperature of the printing platform, and Reduce the speed of the cooling fan.
13. The system of claim 12, wherein modifying the printing platform temperature and the cooling fan speed comprises: Increase the printing platform temperature defined in the obtained process parameters by 10%; as well as The cooling fan speed of the extrusion-based 3D printer is reduced by 50%, wherein the cooling fan speed is defined in the information obtained from the process parameters.
14. The system of claim 1, wherein the information includes information about volume as a geometric feature of the 3D model; The generation of the print instruction includes: The volume is determined to be higher than the volume of the printing area of the extrusion-based 3D printer; and The modifications include modifying the infill density and infill print speed, wherein the modified set of process parameters is applied by the extrusion-based 3D printer to a subset of the plurality of layers to adjust the infill print speed and infill density of each layer in the subset during printing to avoid loss or damage to the internal structure of the object during the layer-by-layer printing of the object by the extrusion-based 3D printer.
15. The system of claim 14, wherein modifying the infill density and the infill printing speed comprises: The fill density is modified to a new fill density value of not less than 20% density; as well as The information obtained from the process parameters includes a 10% reduction in the fill printing speed.
16. The system of claim 1, wherein the information includes information about the outer walls and infill as corresponding geometric features of the 3D model; The modified process parameters include infill overlap and top layer speed, wherein the modified infill overlap and modified top layer speed are applied by the extrusion-based 3D printer to a subset of the plurality of layers, and wherein the modification includes: i) Modify the infill overlap value to a modified infill overlap value that is not less than 30% and less than 50% for each layer in the subset during printing, and ii) Modify the top layer speed to reduce it by 20% to set the modified top layer speed, thereby avoiding gaps between the infill and the outer wall during the printing of the object by the extrusion-based 3D printer.
17. The system of claim 1, wherein the information includes information about the horizontal height of the 3D model and the contact area between the 3D model and the printing platform of the extrusion-based 3D printer. The height of the 3D model is determined to be above a threshold, and the contact area of the 3D model is determined to be below a threshold, thereby forming a 3D model with a height greater than its width within the printing area provided by the extrusion-based 3D printer. The modifications mentioned above include: The modified extrusion temperature was determined by increasing the extrusion temperature by 5% to modify the obtained process parameters. as well as The fan speed of the obtained process parameters is modified by reducing the fan speed by 50% to determine the modified fan speed.
18. The system of claim 1, wherein the obtained process parameters include a first type of support structure for printing the object by the extrusion-based 3D printer, wherein the information includes information about the overhang characteristics of the 3D model of the object; The generation of the print instruction includes: Evaluate the information regarding the overhang features of the 3D model of the object. Determine whether the support structure of the first type for the overhang feature has a contact area greater than the threshold area size of the printing platform of the extrusion-based 3D printer, and The second type of support structure required for printing the object by the extrusion-based 3D printer is identified based on the determination of whether the contact area is higher than the threshold area size of the printing platform of the extrusion-based 3D printer; and The generated printing instructions include instructions for using the second type of support structure identified by the overhang feature.
19. The system of claim 18, wherein the provided printing instructions include: When the contact area is greater than the threshold area size, an instruction is given to use a linear or zigzag support structure type for the support structure. as well as When the contact area is less than the threshold area, the instruction to use a grid or triangular support structure type is given to the support structure.
20. The system of claim 1, wherein the one or more geometric features include a top portion of the 3D model, wherein the top portion of the 3D model is included in the top layer of the plurality of layers defined for printing the object by the extrusion-based 3D printer, and wherein the process parameters include cooling fan speed, and The modification includes changing the cooling fan speed by increasing the cooling fan speed of the top layer during the printing of the object.
21. A computer-implemented method, comprising: Obtain i) information about one or more geometric features of a 3D model of an object to be printed by an extrusion-based 3D printer, and ii) process parameters for use by the extrusion-based 3D printer when printing the multiple layers using a tool path determined for the multiple layers into which the object is sliced; A printing instruction for printing the object by the extrusion-based 3D printer is generated, wherein modified process parameters are generated as part of the printing instruction by modifying obtained process parameters for printing a subset of the plurality of layers using a subset of the tool path based on information about one or more geometric features of the 3D model of the object; as well as The printing instructions, including the modified process parameters, are provided to operate the extrusion-based 3D printer to print the object.
22. The method as described in claim 21, The acquisition includes identifying regions of the 3D model with geometric features predicted to experience quality degradation when printing the object based on the acquired process parameters, the one or more geometric features including the geometric features, and wherein the modified process parameters of the geometric features are generated only within a portion of the regions and only within a subset of the plurality of layers.
23. The method of claim 22, wherein the providing includes dynamically providing the printing instructions during printing of the object by the extrusion-based 3D printer depending on: i) obtained process parameters of the object in regions outside the subset of the plurality of layers and ii) modified process parameters from the 3D model of identified regions having the geometry predicted to undergo the quality failure.
24. The method of claim 21, further comprising: Receive the 3D model of the object to be printed by the extrusion-based 3D printer, wherein the extrusion-based 3D printer is a fused filament manufacturing printer.
25. The method of claim 21, wherein The information includes information about the overhang geometry of the 3D model of the object; and The modification includes modifying i) the extrusion temperature at a portion of a layer in a subset of the plurality of layers, wherein the portion is associated with the overhang geometry, or ii) a print pause parameter between at least two layers in a subset of the plurality of layers, wherein the modified extrusion temperature or the modified print pause parameter is applied by the extrusion-based 3D printer to at least two layers in the subset of the plurality of layers that include the overhang geometry, wherein the extrusion temperature or the print pause parameter is modified to allow cooling of at least two layers in the subset of the plurality of layers during printing.
26. The method of claim 25, wherein the modification comprises reducing the extrusion temperature by 5% of the temperature defined in the obtained process parameters to determine a modified extrusion temperature to be used during printing, and increasing the print pause parameter defined in the obtained process parameters by 20% to define the modified print pause parameter.
27. The method of claim 26, wherein obtaining comprises: The negative overhang region is identified as the overhang geometry of the 3D model of the object, and Perform an inverted overhang analysis in a 3D space with an inverted third dimension to identify one or more regions of the 3D model that include the negative overhang region; and During printing at least a subset of the plurality of layers of the 3D model, the modified extrusion temperature is applied to a portion of the layers in the subset of the plurality of layers associated with the identified negative overhang region, or the modified print pause parameter is applied when moving from one layer to another, wherein the one or more regions of the 3D model cover the portion of the subset of the plurality of layers.
28. The method of claim 21, wherein obtaining includes obtaining information about the elliptical hole as a geometric feature among the one or more geometric features of the 3D model, and The modifications include modifying the extrusion temperature, printing speed, and pause of at least two layers in a subset of the plurality of layers, wherein the modified extrusion temperature, modified printing speed, and modified pause are applied by the extrusion-based 3D printer to the at least two layers in the subset of the plurality of layers, the at least two layers including the elliptical orifice, and The modification of the extrusion temperature, the printing speed, and the pause in at least two layers of a subset of the plurality of layers includes: Reduce the extrusion temperature defined in the obtained process parameters by 5%. Increase the pauses between layers defined in the obtained process parameters by 20%, and Reduce the printing speed defined in the obtained process parameters by 10%.
29. The method of claim 21, wherein obtaining the information about the one or more geometric features includes receiving the results of an accessibility analysis performed on the 3D model of the object.
30. The method of claim 21, wherein the generation of the print instruction comprises: Based on information obtained regarding the one or more geometric features, the weight of the 3D model and the coverage ratio of the 3D model's area to the area of the extrusion-based 3D printer's printing platform are identified, wherein the weight is identified based on the volume of the 3D model and the printing material used to print the object, and wherein the coverage ratio is determined based on the contact area between the 3D model and the printing platform of the extrusion-based 3D printer, wherein the volume of the 3D model and the contact area are information about the geometric features obtained from the acquired information, and It is determined that the weight is higher than a first threshold and the coverage ratio is lower than a second threshold; and The modification includes reducing the print platform temperature and lowering the cooling fan start-up height configuration based on determining that the weight is higher than the first threshold and the coverage ratio is lower than the second threshold. The modified print platform temperature and cooling fan start-up height configuration are applied by the extrusion-based 3D printer to one or more layers in a subset of the plurality of layers to balance cooling and heating during layer-by-layer printing of the object, wherein the one or more layers are the first set of layers of the object printed by the extrusion-based 3D printer.
31. The method of claim 30, wherein reducing the printing platform temperature and reducing the cooling fan start-up height configuration includes: Reduce the printing platform temperature defined in the obtained process parameters by 10%; as well as The cooling fan start-up height configuration is modified to reduce the cooling fan start-up height by 50%, thereby reducing the temperature during the printing of a subset of the multiple layers by the extrusion-based 3D printer, wherein the information of the obtained process parameters includes the cooling fan start-up height configuration.
32. The method of claim 21, wherein the information includes information about: i) the volume of the 3D model and ii) the contact area between the 3D model and the printing platform of the extrusion-based 3D printer; The generation of the print instruction includes: The contact area is determined to be greater than the area of the printing platform that does not contact the object during printing; and The modifications include adjusting the print platform temperature and cooling fan speed, wherein the extrusion-based 3D printer applies the modified print platform temperature and cooling fan speed to a subset of the multiple layers to balance cooling and heating during layer-by-layer printing of the object. The modification of the printing platform temperature and the cooling fan speed includes: Increase the temperature of the printing platform, and Reduce the speed of the cooling fan.
33. The method of claim 32, wherein modifying the printing platform temperature and the cooling fan speed comprises: Increase the printing platform temperature defined in the obtained process parameters by 10%; as well as The cooling fan speed of the extrusion-based 3D printer is reduced by 50%, wherein the cooling fan speed is defined in the information obtained from the process parameters.
34. The method of claim 21, wherein the information includes information about volume as a geometric feature of the 3D model; The generation of the print instruction includes: The volume is determined to be higher than the volume of the printing area of the extrusion-based 3D printer; and The modifications include modifying the infill density and infill print speed, wherein the modified set of process parameters is applied by the extrusion-based 3D printer to a subset of the plurality of layers to adjust the infill print speed and infill density of each layer in the subset during printing to avoid loss or damage to the internal structure of the object during the layer-by-layer printing of the object by the extrusion-based 3D printer.
35. The method of claim 34, wherein modifying the infill density and the infill printing speed comprises: The fill density is modified to a new fill density value of not less than 20% density; as well as The information obtained from the process parameters includes a 10% reduction in the fill printing speed.
36. The method of claim 21, wherein the information includes information about the outer walls and infill as corresponding geometric features of the 3D model; The modified process parameters include infill overlap and top layer speed, wherein the modified infill overlap and modified top layer speed are applied by the extrusion-based 3D printer to a subset of the plurality of layers, and wherein the modification includes: i) Modify the infill overlap value to a modified infill overlap value that is not less than 30% and less than 50% for each layer in the subset during printing, and ii) Modify the top layer speed to reduce it by 20% to set the modified top layer speed, thereby avoiding gaps between the infill and the outer wall during the printing of the object by the extrusion-based 3D printer.
37. The method of claim 21, wherein the information includes information about the horizontal height of the 3D model and the contact area between the 3D model and the printing platform of the extrusion-based 3D printer. The height of the 3D model is determined to be above a threshold, and the contact area of the 3D model is determined to be below a threshold, thereby forming a 3D model with a height greater than its width within the printing area provided by the extrusion-based 3D printer. The modifications mentioned above include: The modified extrusion temperature was determined by increasing the extrusion temperature by 5% to modify the obtained process parameters. as well as The fan speed of the obtained process parameters is modified by reducing the fan speed by 50% to determine the modified fan speed.
38. The method of claim 21, wherein the obtained process parameters include a first type of support structure for printing the object by the extrusion-based 3D printer, wherein the information includes information about the overhang characteristics of the 3D model of the object; The generation of the print instruction includes: Evaluate the information regarding the overhang features of the 3D model of the object. Determine whether the support structure of the first type for the overhang feature has a contact area greater than the threshold area size of the printing platform of the extrusion-based 3D printer, and The second type of support structure required for printing the object by the extrusion-based 3D printer is identified based on the determination of whether the contact area is higher than the threshold area size of the printing platform of the extrusion-based 3D printer; and The generated printing instructions include instructions for using the second type of support structure identified by the overhang feature.
39. The method of claim 38, wherein the provided printing instructions include: When the contact area is greater than the threshold area size, an instruction is given to use a linear or zigzag support structure type for the support structure. as well as When the contact area is less than the threshold area, the instruction to use a grid or triangular support structure type is given to the support structure.
40. The method of claim 21, wherein the one or more geometric features include a top portion of the 3D model, wherein the top portion of the 3D model is included in the top layer of the plurality of layers defined for printing the object by the extrusion-based 3D printer, and wherein the process parameters include cooling fan speed, and The modification includes changing the cooling fan speed by increasing the cooling fan speed of the top layer during the printing of the object.
41. A non-transitory computer-readable medium storing instructions operable to cause one or more computers to perform operations including: Obtain i) information about one or more geometric features of a 3D model of an object to be printed by an extrusion-based 3D printer, and ii) process parameters for use by the extrusion-based 3D printer when printing the multiple layers using a tool path determined for the multiple layers into which the object is sliced; A printing instruction for printing the object by the extrusion-based 3D printer is generated, wherein modified process parameters are generated as part of the printing instruction by modifying obtained process parameters for printing a subset of the plurality of layers using a subset of the tool path based on information about one or more geometric features of the 3D model of the object; as well as The printing instructions, including the modified process parameters, are provided to operate the extrusion-based 3D printer to print the object.
42. The non-transitory computer-readable medium of claim 41, wherein... The information includes information about the overhang geometry of the 3D model of the object; and The modification includes modifying i) the extrusion temperature at a portion of a layer in a subset of the plurality of layers, wherein the portion is associated with the overhang geometry, or ii) a print pause parameter between at least two layers in a subset of the plurality of layers, wherein the modified extrusion temperature or the modified print pause parameter is applied by the extrusion-based 3D printer to at least two layers in the subset of the plurality of layers that include the overhang geometry, wherein the extrusion temperature or the print pause parameter is modified to allow cooling of at least two layers in the subset of the plurality of layers during printing.
43. The non-transitory computer-readable medium of claim 42, wherein the modification comprises reducing the extrusion temperature by 5% of the temperature defined in the obtained process parameters to determine a modified extrusion temperature to be used during printing, and increasing the print pause parameter defined in the obtained process parameters by 20% to define a modified print pause parameter.
44. The non-transitory computer-readable medium of claim 43, wherein obtaining comprises: The negative overhang region is identified as the overhang geometry of the 3D model of the object, and Perform an inverted overhang analysis in a 3D space with an inverted third dimension to identify one or more regions of the 3D model that include the negative overhang region; and During printing at least a subset of the plurality of layers of the 3D model, the modified extrusion temperature is applied to a portion of the layers in the subset of the plurality of layers associated with the identified negative overhang region, or the modified print pause parameter is applied when moving from one layer to another, wherein the one or more regions of the 3D model cover the portion of the subset of the plurality of layers.
45. The non-transitory computer-readable medium of claim 41, wherein obtaining includes obtaining information about the elliptical hole as a geometric feature among the one or more geometric features of the 3D model, and The modifications include modifying the extrusion temperature, printing speed, and pause of at least two layers in a subset of the plurality of layers, wherein the modified extrusion temperature, modified printing speed, and modified pause are applied by the extrusion-based 3D printer to the at least two layers in the subset of the plurality of layers, the at least two layers including the elliptical orifice, and The modification of the extrusion temperature, the printing speed, and the pause in at least two layers of a subset of the plurality of layers includes: Reduce the extrusion temperature defined in the obtained process parameters by 5%. Increase the pauses between layers defined in the obtained process parameters by 20%, and Reduce the printing speed defined in the obtained process parameters by 10%.
46. The non-transitory computer-readable medium as described in claim 41, The acquisition includes identifying regions of the 3D model with geometric features predicted to experience quality degradation when printing the object based on the acquired process parameters, the one or more geometric features including the geometric features, and wherein the modified process parameters of the geometric features are generated only within a portion of the regions and only within a subset of the plurality of layers.
47. The non-transitory computer-readable medium of claim 46, wherein the provision includes dynamically providing the printing instructions during printing of the object by the extrusion-based 3D printer depending on: i) obtained process parameters of the object in regions outside the subset of the plurality of layers and ii) modified process parameters from the 3D model of the identified regions having the geometry predicted to undergo the quality degradation.
48. The non-transitory computer-readable medium of claim 41, wherein the operation comprises: Receive the 3D model of the object to be printed by the extrusion-based 3D printer, wherein the extrusion-based 3D printer is a fused filament manufacturing (FFF) printer.
49. The non-transitory computer-readable medium of claim 41, wherein obtaining the information about the one or more geometric features includes receiving the results of an accessibility analysis performed on the 3D model of the object.
50. The non-transitory computer-readable medium of claim 41, wherein the generation of the print instructions comprises: Based on information obtained regarding the one or more geometric features, the weight of the 3D model and the coverage ratio of the 3D model's area to the area of the extrusion-based 3D printer's printing platform are identified, wherein the weight is identified based on the volume of the 3D model and the printing material used to print the object, and wherein the coverage ratio is determined based on the contact area between the 3D model and the printing platform of the extrusion-based 3D printer, wherein the volume of the 3D model and the contact area are information about the geometric features obtained from the acquired information, and It is determined that the weight is higher than a first threshold and the coverage ratio is lower than a second threshold; and The modification includes reducing the print platform temperature and lowering the cooling fan start-up height configuration based on determining that the weight is higher than the first threshold and the coverage ratio is lower than the second threshold. The modified print platform temperature and cooling fan start-up height configuration are applied by the extrusion-based 3D printer to one or more layers in a subset of the plurality of layers to balance cooling and heating during layer-by-layer printing of the object, wherein the one or more layers are the first set of layers of the object printed by the extrusion-based 3D printer.
51. The non-transitory computer-readable medium of claim 50, wherein reducing the printing platform temperature and reducing the cooling fan start-up height configuration includes: Reduce the printing platform temperature defined in the obtained process parameters by 10%; as well as The cooling fan start-up height configuration is modified to reduce the cooling fan start-up height by 50%, thereby reducing the temperature during the printing of a subset of the multiple layers by the extrusion-based 3D printer, wherein the information of the obtained process parameters includes the cooling fan start-up height configuration.
52. The non-transitory computer-readable medium of claim 41, wherein the information includes information about: i) the volume of the 3D model and ii) the contact area between the 3D model and the printing platform of the extrusion-based 3D printer; The generation of the print instruction includes: The contact area is determined to be greater than the area of the printing platform that does not contact the object during printing; and The modifications include adjusting the print platform temperature and cooling fan speed, wherein the extrusion-based 3D printer applies the modified print platform temperature and cooling fan speed to a subset of the multiple layers to balance cooling and heating during layer-by-layer printing of the object. The modification of the printing platform temperature and the cooling fan speed includes: Increase the temperature of the printing platform, and Reduce the speed of the cooling fan.
53. The non-transitory computer-readable medium of claim 52, wherein modifying the printing platform temperature and the cooling fan speed comprises: Increase the printing platform temperature defined in the obtained process parameters by 10%; as well as The cooling fan speed of the extrusion-based 3D printer is reduced by 50%, wherein the cooling fan speed is defined in the information obtained from the process parameters.
54. The non-transitory computer-readable medium of claim 41, wherein the information includes information about volume as a geometric feature of the 3D model; The generation of the print instruction includes: The volume is determined to be higher than the volume of the printing area of the extrusion-based 3D printer; and The modifications include modifying the infill density and infill print speed, wherein the modified set of process parameters is applied by the extrusion-based 3D printer to a subset of the plurality of layers to adjust the infill print speed and infill density of each layer in the subset during printing to avoid loss or damage to the internal structure of the object during the layer-by-layer printing of the object by the extrusion-based 3D printer.
55. The non-transitory computer-readable medium of claim 54, wherein modifying the infill density and the infill printing speed comprises: The fill density is modified to a new fill density value of not less than 20% density; as well as The information obtained from the process parameters includes a 10% reduction in the fill printing speed.
56. The non-transitory computer-readable medium of claim 41, wherein the information includes information about the outer walls and infill as corresponding geometric features of the 3D model; The modified process parameters include infill overlap and top layer speed, wherein the modified infill overlap and modified top layer speed are applied by the extrusion-based 3D printer to a subset of the plurality of layers, and wherein the modification includes: i) Modify the infill overlap value to a modified infill overlap value that is not less than 30% and less than 50% for each layer in the subset during printing, and ii) Modify the top layer speed to reduce it by 20% to set the modified top layer speed, thereby avoiding gaps between the infill and the outer wall during the printing of the object by the extrusion-based 3D printer.
57. The non-transitory computer-readable medium of claim 41, wherein the information includes information about the horizontal height of the 3D model and the contact area between the 3D model and the printing platform of the extrusion-based 3D printer. The height of the 3D model is determined to be above a threshold, and the contact area of the 3D model is determined to be below a threshold, thereby forming a 3D model with a height greater than its width within the printing area provided by the extrusion-based 3D printer. The modifications mentioned above include: The modified extrusion temperature was determined by increasing the extrusion temperature by 5% to modify the obtained process parameters. as well as The fan speed of the obtained process parameters is modified by reducing the fan speed by 50% to determine the modified fan speed.
58. The non-transitory computer-readable medium of claim 41, wherein the obtained process parameters include a first type of support structure for printing the object by the extrusion-based 3D printer, wherein the information includes information about the overhang characteristics of the 3D model of the object; The generation of the print instruction includes: Evaluate the information regarding the overhang features of the 3D model of the object. Determine whether the support structure of the first type for the overhang feature has a contact area greater than the threshold area size of the printing platform of the extrusion-based 3D printer, and The second type of support structure required for printing the object by the extrusion-based 3D printer is identified based on the determination of whether the contact area is higher than the threshold area size of the printing platform of the extrusion-based 3D printer; and The generated printing instructions include instructions for using the second type of support structure identified by the overhang feature.
59. The non-transitory computer-readable medium of claim 58, wherein the provided printing instructions include: When the contact area is greater than the threshold area size, an instruction is given to use a linear or zigzag support structure type for the support structure. as well as When the contact area is less than the threshold area, the instruction to use a grid or triangular support structure type is given to the support structure.
60. The non-transitory computer-readable medium of claim 41, wherein the one or more geometric features include a top portion of the 3D model, wherein the top portion of the 3D model is included in the top layer of the plurality of layers defined for printing the object by the extrusion-based 3D printer, and wherein the process parameters include cooling fan speed, and The modification includes changing the cooling fan speed by increasing the cooling fan speed of the top layer during the printing of the object.
Citation Information
Patent Citations
Method and system for automated toolpath generation
US20190361426A1