Apparatus and method for changing filament spool during printing of three-dimensional object

PL4357108T3Active Publication Date: 2026-07-27INNOVATIQ GMBH CO KG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PL2023202710T
Authority / Receiving Office
PL · PL
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-10-17
Filing Date
2023-10-10
Publication Date
2026-07-27
Estimated Expiration
2043-10-10

AI Technical Summary

Technical Problem

Traditional fused deposition modeling processes for 3D printing often result in surface defects such as deformation, indentation, and offset when changing filament spools, as the print head may not accurately control the spool change process, leading to increased costs due to required precision.

Method used

The method involves moving the print head to a non-visible printing area of the 3D object and pausing the printing process when the filament is nearing its end, allowing for seamless spool swapping without visible defects by detecting the remaining filament length using sensors and markers, and optionally moving another print head into the non-visible area to continue printing.

Benefits of technology

This approach effectively prevents surface defects during filament spool changes by ensuring the spool swap occurs in a non-critical area, maintaining print quality and reducing operational costs associated with high precision control.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A device (100) and a method (600) for changing a filament spool during the printing of a three-dimensional object are provided, wherein the device (100) comprises: a filament spool (102) with a filament (104); a drive device (106) for unwinding the filament (104) from the filament spool (102) and supplying it to a printhead for printing a three-dimensional object according to print data;and a control device (110) configured to: receive filament information (107) indicating whether a remaining filament (104) is less than or equal to a predefined filament threshold, and if the filament information (107) indicates that the remaining filament (104) is less than or equal to the predefined filament threshold, to generate control data, taking into account the print data, to move the print head to a non-visible print area of ​​the three-dimensional object to change the filament spool (102) and to pause the printing process there, or, if the print head is already in a non-visible print area, to pause the printing process carried out by means of the print head there.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Various embodiments generally relate to an apparatus and method for changing a filament spool during the printing of a three-dimensional object.

[0002] The printing can be an extrusion-based additive manufacturing process, such as a fused filament fabrication (FFT) or fused deposition modeling (FDM).

[0003] In fused deposition printing (3D printing) processes for printing three-dimensional objects, a filament is unwound from a filament spool and liquefied in a print head. In conventional fused deposition processes, the filament spool is replaced with another filament spool when the remaining filament material on the filament spool is running low. This can result in surface defects such as warping, indentation, offset, etc., occurring if the print head is printing a surface area of ​​the three-dimensional object during the filament spool change (also referred to in some aspects as spool swap).

[0004] It may be desirable and / or necessary to prevent such (e.g., visible) surface defects. Various printing systems, for example, attempt to control the print head so precisely during spool changes that such surface defects are prevented. However, this only leads to a reduction in the number of surface defects and does not completely prevent them. Furthermore, such printing systems result in significantly increased costs due to the required print head accuracy.

[0005] DE 601 07 569 T2 describes a three-dimensional extrusion-based modeling machine in which a controller detects the amount of filament remaining in a cassette during modeling. When the cassette runs out of filament, the modeling machine automatically switches to a replacement cassette without operator intervention.

[0006] The document "Marlin Documentation - M413 M600 - Marlin Firmware - GitHub" discloses two commands of a command set that allow moving a print head to a specific position.

[0007] US 2022 / 0288859 A1 describes a filament monitoring system in a 3D printer.

[0008] According to various embodiments, a device and a method are provided that make it possible to reduce (e.g., prevent) surface defects due to changing filament spools during 3D printing. This is made possible by moving the print head to a non-visible print area (e.g., a print area for printing an infill structure) of the three-dimensional object to change the filament spool and pausing the printing process there, or, if the print head is already in a non-visible print area of ​​the three-dimensional object, pausing the printing process there.

[0009] During 3D printing, it can be detected whether a remaining filament is running low. For this purpose, it can be determined whether the remaining filament is less than or equal to a predefined filament threshold. In one example, an end of the filament can be detected (e.g. by means of a light barrier, a sensor, etc.). Additionally or alternatively, a quantity (e.g. length) of the filament unwound from the filament spool and / or a quantity (e.g. length) of the remaining filament can be permanently (e.g. continuously) detected or determined. According to various embodiments, it can be determined in a different way whether the remaining filament is running low. For example, the filament spool or the filament can have a (e.g. optical and / or mechanical) marking which indicates that the remaining filament is equal to the predefined filament threshold.According to various embodiments, if the remaining filament is less than or equal to the predefined filament threshold, the printing process can be paused if the print head is in a non-visible printing area of ​​the three-dimensional object (e.g., after the print head has been moved to the non-visible printing area to change the filament spool, or the print head may already be in a non-visible printing area of ​​the three-dimensional object at that time). Optionally, the print head can be moved to a predetermined parking position while pausing the printing process. According to some embodiments, the filament spool can be swapped with the other filament spool while pausing the printing process (e.g., while the print head is in the non-visible printing area or while the print head is in the predetermined parking position), and the printing process can continue with the print head after swapping the filament spool.According to various embodiments, it can be determined whether another print head with filament unwound from a different filament spool is available. If it is determined that another print head with filament unwound from a different filament spool is available, the other print head can be moved into the non-visible print area of ​​the three-dimensional object (e.g., while the previously used print head is in the predetermined park position), and the printing process can be continued using the other print head. While this could potentially result in an offset in the fill structure, this offset is filled during ongoing 3D printing or is at least not visible. Consequently, surface defects due to the spool change can be prevented in this way.

[0010] Embodiments of the invention are illustrated in the figures and explained in more detail below. They show: Figur 1A bis Figur 1D each show a device for changing a filament spool during the printing of a three-dimensional object according to various embodiments; Figur 2 an exemplary detection device for permanently detecting a speed of a filament unwound from a filament spool according to various embodiments; Figur 3A and Figur 3B each illustrates a processing scheme for generating control data to move a print head to change the filament spool into a non-visible print area, according to various embodiments; Figur 4 a schematic system for printing three-dimensional objects in layers using a fused deposition process according to various embodiments; Figur 5A a front view and Figur 5B a side view of an exemplary system for printing three-dimensional objects according to various embodiments; and Figur 6 a flowchart of a method for changing a filament spool during printing of a three-dimensional object according to various embodiments.

[0011] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. Throughout the drawings, like reference characters generally refer to like parts. The drawings are not necessarily to scale, emphasis generally being placed upon illustrating the principles of the invention.

[0012] When printing three-dimensional objects (also known as 3D printing) using a fused deposition process, a filament (e.g., a filament thread) is unwound from a filament spool and liquefied in a print head. Once the filament on the filament spool is used up, the filament spool is replaced with another filament spool. This replacement process can occur during 3D printing. However, if a visible area (e.g., a visible side) of the three-dimensional object is being printed at the time of the replacement process, or if the printing process was paused after the print head has printed a visible area of ​​the three-dimensional object, replacing the filament spool can lead to visible surface defects. Various embodiments relate to a device and a method that can prevent such visible surface defects.This is achieved by detecting and / or determining during 3D printing whether the filament is running low (e.g., whether the remaining filament is less than or equal to a predefined filament threshold). If the filament on the filament spool is running low, the print head is moved to a non-visible print area of ​​the three-dimensional object to change the filament spool, and the printing process is paused there. If the print head is already in a non-visible print area of ​​the three-dimensional object, the printing process can be paused there.

[0013] FIG.1A shows a device 100 for changing a filament spool during the printing of a three-dimensional object according to various embodiments. The device 100 can have a filament spool 102. A filament (e.g., a filament thread) can be wound on the filament spool 102. The filament can be used for printing a three-dimensional object (also referred to as 3D printing). The filament can be made of any material suitable for 3D printing, such as a plastic, a metal, a metal alloy, etc. The device 100 can have a drive device 106. The drive device 106 can be configured to drive the filament 104 in such a way as to unwind the filament from the filament spool 102. For example, the drive device 106 can be configured to unwind the filament from the filament spool 102 and supply it to a print head (see, for example, print head 402 in FIG.4 ). The print head (e.g., print head 402) may be configured to heat the filament and convert it from a solid state to a viscous state in order to print the three-dimensional object (e.g., on a print bed) (e.g., according to predefined print data). Consequently, the filament may be consumed during printing of the three-dimensional object, so that at any given time, a certain amount (e.g., length) of the filament remains. This remaining filament 104 may initially comprise both an amount (e.g., length) between the print head and the filament spool 102 and an amount (e.g., length) wound on the filament spool 102. If the remaining filament 104 continues to be consumed during printing of the three-dimensional object, at a certain point in time, there may be no more filament on the filament spool 102, and the remaining filament 104 may only comprise an amount (e.g.,Length) of filament between the print head and a point (along the path of travel of the filament) between the print head and the filament spool 102. If the remaining filament 104 is then further consumed, the filament may be completely consumed at an end time (so that consequently there is no remaining filament 104).

[0014] The drive device 106 can have at least one motor, such as the motor 108. The motor 108 can be configured to drive the remaining filament 104 and thus move (e.g., transport) it at a specific speed (e.g., in the direction of the print head). In an exemplary embodiment, the drive device 106 can have at least one drive disk, which can be coupled to the filament by means of a line pressure or surface pressure. Clearly, a rotation of the at least one drive disk (e.g., induced by the motor 108) can thus induce a movement of the filament 104. FIG. 1A shows an exemplary embodiment with a first drive pulley 118 and a second drive pulley 120. It is understood that the device 100 can also have only one drive pulley or more than two drive pulleys. In this case, one motor can drive multiple drive pulleys, or each drive pulley can be driven by exactly one bijectively assigned motor, or only individual drive pulleys can be driven by an assigned motor. In the FIG.1A In the embodiment shown, the filament can be transported between the first drive pulley 118 and the second drive pulley 120. Illustratively, the first drive pulley 118 and the second drive pulley 120 can provide a counter-bearing to one another. For example, the motor 108 can have a drive shaft that is positively or non-positively coupled to the first drive pulley 118. The motor 108 can move (e.g., transport) the filament in direction 122. It is understood that the device 100 can also have a plurality of drive devices, each of which can be configured according to an embodiment of the drive device 106.

[0015] According to various embodiments, the device 100 may comprise a control device 110. The control device 110 may be configured to perform digital data processing. For this purpose, the control device 110 may, for example, comprise at least one processor. Within the scope of the digital data processing, the control device 110 may, for example, comprise a memory device 112. For data processing, the control device 110 may use various algorithms (e.g., defined by software). These algorithms (e.g., the software) may be stored in the memory device 112. If, as described herein, data and / or information are provided from a component to the control device 110, these can be transmitted directly to the control device 110 (e.g.,stored in the storage device 112 of the control device 110) or transmitted indirectly to the control device 110 by means of one or more other components.

[0016] According to various embodiments, the device 100 may include one or more detection devices 105. The one or more detection devices 105 may be configured to detect (directly or indirectly) whether the remaining filament is less than or equal to a predefined filament threshold. Clearly, the one or more detection devices 105 may detect one or more indicators that directly or indirectly provide an indication of whether the remaining filament 104 is nearing its end.

[0017] According to various embodiments, the predefined filament threshold may be selected such that when the predefined filament threshold is reached, sufficient remaining filament 104 is present to actively move the print head into a non-visible print area of ​​the three-dimensional object during printing of the three-dimensional object (e.g., by moving the print head itself and / or by moving a print bed on which the three-dimensional object is printed).

[0018] In some embodiments, the one or more detection devices 105 can detect a trigger indicating that the remaining filament is less than or equal to the predefined filament threshold. For example, the one or more detection devices 105 can comprise at least one (e.g., mechanical and / or optical) detection device configured to detect, as a trigger, whether an end 109 of the remaining filament 104 passes the at least one detection device. For this purpose, the at least one detection device can use, for example, a button, a push-button switch (e.g., with a rocker), a light barrier, etc. FIG.1B shows an exemplary embodiment in which the at least one detection device of the one or more detection devices 105 is a light barrier 115. Additionally or alternatively, the one or more detection devices 105 can have at least one (e.g., mechanical and / or optical) detection device that is configured to detect, as a trigger, whether a specific area or point of the remaining filament 104 passes the at least one detection device. For this purpose, the filament can, for example, have a marking that indicates that the remaining filament is equal to the predefined filament threshold value. Such a marking can, for example, be an optical marking and / or a mechanical marking. According to various embodiments, at least one detection device can be configured to detect this (e.g., optical and / or mechanical) marking as a trigger.In one example, the one or more detection devices 105 may be configured to detect a tensile stress threshold of a tensile stress of the remaining filament 104 and / or a compressive stress threshold of a compressive stress of the remaining filament 104 as a trigger. The one or more detection devices 105 may also be configured to detect an amount (e.g., length) of the remaining filament 104 while a portion of the remaining filament 104 is still wound on the filament spool 102. For example, at least one detection device of the one or more detection devices 105 may be configured to detect a weight threshold of a weight of the filament spool 102 as a trigger. The one or more detection devices 105 may be configured to provide the detection of at least one trigger as filament information 107 to the control device 110.

[0019] In some embodiments, at least one detection device of the one or more detection devices 105 can be configured to continuously detect one or more indicators and provide them as filament information 107 to the control device 110. For example, at least one detection device of the one or more detection devices 105 can continuously detect a weight of the filament spool 102, and the control device 110 can determine whether the detected weight is less than or equal to the weight threshold. For example, at least one detection device of the one or more detection devices 105 can continuously detect a tensile stress and / or compressive stress of the remaining filament 104, and the control device 110 can determine whether the detected tensile stress is less than or equal to the tensile stress threshold and / or whether the detected compressive stress is less than or equal to the compressive stress threshold.It is understood that the indicators described herein are exemplary and that any other indicator suitable for indicating whether the remaining filament is less than or equal to the predefined filament threshold may be used.

[0020] In an exemplary embodiment, at least one detection device of the one or more detection devices 105 can be configured to permanently detect (as an indicator) a speed of the filament unwound from the filament spool 102. The term "permanently" with respect to detecting a speed can be understood as detecting a respective speed value at a predefined rate, such as a number per predefined time interval (e.g., once per second, twice per second, every ten seconds, every twenty seconds, every thirty seconds, etc.). Consequently, permanently detecting the speed of the filament can comprise continuously detecting a speed value. Illustratively, the detected speed can comprise a plurality of speed values ​​after a time interval.The at least one detection device of the one or more detection devices 105 can be configured to provide a speed value of the speed of the filament unwound from the filament spool 102 as filament information 107 to the control device 110. The speed value can be detected as an analog signal or a digital signal. The speed value can be provided to the control device 110 as an analog signal or a digital signal. The at least one detection device can comprise any suitable type of sensor by means of which a speed of the filament can be detected or which detects information on the basis of which the speed of the filament can be determined. The control device 110 can be configured to determine a quantity (e.g., length) of the remaining filament 104 based on the continuously detected speed of the filament unwound from the filament spool 102.

[0021] FIG.1C shows the device 100 according to an exemplary embodiment, in which the one or more detection devices 105 comprise a first detection device 114 and a second detection device 116. It is understood that in some embodiments the device 100 can also comprise only one of these detection devices (i.e. the first detection device 114 or the second detection device 116). It is also understood that in some embodiments the device 100 can additionally comprise at least one detection device for detecting a trigger (e.g. the light barrier 115 for detecting whether the end 109 of the remaining filament 104) or, alternatively to the first detection device 114 and the second detection device 116, can comprise at least one detection device for detecting a trigger (e.g. the light barrier 115).Thus, in some embodiments, the device 100 may have exactly one detection device for detecting a trigger (e.g., the light barrier 115). In other embodiments, the device 100 may have multiple detection devices for detecting a trigger (e.g., multiple light barriers configured according to the light barrier 115, which are arranged at different positions along the path of the filament; and / or multiple detection devices configured to detect different triggers, such as the light barrier 115 for detecting whether the end 109 of the remaining filament 104 passes the light barrier 115, and a sensor for detecting whether a tensile stress and / or compressive stress of the remaining filament 104 reaches an associated threshold value).

[0022] The first detection device 114 can be configured to detect or determine a first speed value of the speed of the filament (at least in direction 122) in a first cycle.

[0023] The second detection device 116 can be configured to detect or determine a second speed value of the speed of the filament (at least in direction 122) in a second cycle (which can be different from or the same as the first cycle). According to an exemplary embodiment, the second detection device 116 can be configured to detect a rotational speed of the drive shaft of the motor 108 and to determine the second speed value based on the rotational speed of the drive shaft. The second detection device 116 can have an incremental encoder with a receiver. For example, the second detection device 116 can have a light source, an encoder disk, and at least one receiver (e.g., a light sensor). The encoder disk can have a plurality of recesses in the circumferential direction.The light source can be configured to radiate light onto the encoder disk so that at least a portion of the light can pass through the plurality of recesses in the encoder disk. The receiver (e.g., the light sensor) can be configured to detect the light that has passed through the plurality of recesses in the encoder disk. The signal detected by the receiver (e.g., the light sensor) depends on the rotational speed of the drive shaft of the motor 108. Consequently, the rotational speed of the drive shaft can be determined from the detected signal, and the second speed value can be determined based thereon.

[0024] FIG.1D shows the device 100 with an exemplary embodiment of the first detection device 114. The first detection device 114 may include an incremental encoder 124. The incremental encoder 124 may include a light source 126, an encoder disk 128, and a light sensor 130. In one example (as in FIG.1C shown), the light sensor 130 can be arranged behind the encoder disk 128 (in the side view shown). The encoder disk 128 can be arranged in direct physical contact with the filament. The encoder disk 128 can be configured such that the encoder disk 128 rotates when the filament is moved (e.g., transported). The light source 126 can be configured to emit light rays toward the encoder disk 128. The light sensor 130 can be configured to detect light rays emitted by the light source 126 and passed through the encoder disk 128. The detected signal based on these light rays passed through the encoder disk 128 is therefore dependent on the rotational speed of the encoder disk 128. The first detection device 114 may be configured to determine the first speed value of the speed of the filament based on this detected signal.The encoder disk 128 may include a first incremental portion 132 and a second incremental portion 134. The first incremental portion 132 and the second incremental portion 134 may provide different resolutions from each other.

[0025] FIG.2 shows an exemplary embodiment of the first detection device 114, in which the first detection device 114 has another encoder 200. The other encoder 200 can have an encoder disk, a transmitting unit 208, and a receiving unit 210. The encoder disk can have a disk 202 and a recess 204 (or a slot). Movement of the filament can induce movement of the encoder disk about the axis 208. The transmitting unit 208 and the receiving unit 210 can be coordinated such that they can detect a rotational speed of the encoder disk. For example, the transmitting unit 208 can be a light source, and the receiving unit 210 can be configured to detect light transmitted through the encoder disk or light reflected from the encoder disk. For example, the encoder disk can be a metallic material (e.g.Iron) and the receiving unit 210 can be a magnetic resonance sensor or a Hall sensor. According to various embodiments, multiple encoder disks can be used. For example, the size of the recess 204 of the multiple encoder disks can differ from one another, so that different resolutions can be detected.

[0026] As described herein, the drive device 106 may move (e.g., transport) the filament in direction 122, for example, a distance, D, (also referred to in some aspects as a path, path length, or distance).

[0027] According to various embodiments, the control device 110 can be configured to receive filament information 107. As described herein, the filament information can indicate whether the remaining filament 104 is less than or equal to a predefined filament threshold. As described, the filament information 107 can comprise data detected by the one or more detection devices 105. Therefore, the filament information 107 can comprise (e.g., permanently detected) data from which the control device 110 can determine whether the remaining filament 104 is less than or equal to a predefined filament threshold, and / or the filament information 107 can comprise data relating to one or more triggers directly indicating that the remaining filament 104 is less than or equal to a predefined filament threshold.

[0028] According to various embodiments, the control device 110 can be configured to determine, if the filament information 107 indicates that the remaining filament 104 (e.g., a quantity (e.g., length) of the remaining filament 104) is less than or equal to the predefined filament threshold value (e.g., regardless of which detection device(s) of the one or more detection devices 105 received the filament information 107), whether the print head is located in a non-visible printing area. If the print head is already located in a non-visible printing area, the control device 110 can pause the printing process to change the filament spool 102 at the time the print head is in the non-visible printing area. Optionally, the print head can be moved to a parking position (e.g.,a position outside the print area and / or outside the three-dimensional object). If the print head is not yet in a non-visible print area (i.e., in the case where the print head is in a visible area of ​​the three-dimensional object upon determining that the remaining filament 104 is less than or equal to the predefined filament threshold value), the control device 110 can move the print head into a non-visible print area of ​​the three-dimensional object and can pause the printing process there to change the filament spool 102. Consequently, the printing process can always be paused at a time when the print head is in a non-visible print area of ​​the three-dimensional object.

[0029] According to various embodiments, the control device 110 can be configured to either continue the printing process after changing the filament spool 102 using the print head in the non-visible printing area of ​​the three-dimensional object (e.g., the print head can be moved from the parked position back into the non-visible printing area of ​​the three-dimensional object after changing the filament spool 102) or can continue the printing process with another print head in the non-visible printing area of ​​the three-dimensional object (in which the print head was when the printing process was paused). For example, the control device 110 can be configured to determine whether another print head is available that draws filament from a different (not yet used up) filament spool.If another print head is available, the control device 110 can move the other print head into the non-visible printing area of ​​the three-dimensional object (in which the printing process was paused) and then continue the printing process using the other print head. If no other print head is available (e.g., because the device 100 or the system does not have another print head, or because no other print head has a filament available for printing the three-dimensional object (e.g., because the filament is used up or because the filament of a different filament spool has a different material)), the control device 110 can be configured to continue the printing process with the (previously used) print head after changing the filament spool 102 (e.g., by moving it from the parked position back into the non-visible printing area and then continuing printing in the non-visible printing area).

[0030] As described herein, the control device 110 can be configured to receive the speed values ​​detected by the at least one detection device (e.g., the first detection device 114 and / or the second detection device 116) (e.g., as a plurality of first speed values ​​or as a plurality of second speed values). In this case, the control device 110 can be configured to determine an absolute distance traveled by the filament unwound from the filament spool 102 using the detected speed values ​​(i.e., the permanently detected speed of the filament). The "absolute" distance, as used herein, can be understood as the distance since the beginning of the unwinding of the filament from the filament spool (i.e., from a "new" filament spool from which no filament had previously been unwound).Illustratively, the control device 110 can determine the length of filament already unwound from the filament spool 102 based on the speed at which the filament is unwound from the filament spool 102 (and based on the time). This determination can occur at predefined time intervals. According to various embodiments, the control device 110 can be configured to determine the remaining filament 104 (e.g., a length of the remaining filament 104) based on this length.

[0031] As described herein, the filament information may either explicitly indicate that the remaining filament is less than or equal to the predefined filament threshold (e.g., in the case of a trigger) or implicitly indicate whether the remaining filament is less than or equal to the predefined filament threshold (e.g., in the case of continuously detecting the weight of the filament spool 102, the tensile stress and / or compressive stress of the filament, and / or the speed at which the filament is unwound from the filament spool 102). In the case of the implicit indication, the control device 110 may be configured to determine, based on the filament information 107, whether the remaining filament is less than or equal to the predefined filament threshold.

[0032] As described herein, the control device 110 can be configured to move the print head to a non-visible print area of ​​the three-dimensional object for changing the filament spool 102, taking into account print data (e.g., active), and / or to determine whether the print head is already in a non-visible print area of ​​the three-dimensional object. A "visible print area," as described herein, can be understood as any area of ​​the three-dimensional object that is visible to a viewer from any perspective in the finished printed state of the three-dimensional object. This can be an external surface, but also a surface in a cavity, a through-hole, etc.A "non-visible print area," as defined herein, can be understood as any area of ​​the three-dimensional object that is not visible to a viewer (regardless of perspective) in the finished printed state of the three-dimensional object. This could be, for example, the infill structure.

[0033] In some embodiments, the control device 110 can be configured to leave the printing process unchanged. In this case, the control device 110 can be configured to determine, based on the print data, at what time which section of the three-dimensional object is printed. For example, the control device 110 can determine whether a visible area or a non-visible area (e.g., a fill structure) of the three-dimensional object is being printed at a specific time. The control device 110 can be configured to determine, based on the print data and the filament information 107, a time to change the filament spool 102. The control device 110 can be configured to determine the time such that a non-visible area of ​​the three-dimensional object is being printed at this time.If a non-visible area of ​​the three-dimensional object is being printed, the print head is in a non-visible printing area. The printing process can then be paused at this point (when the print head is in the non-visible area of ​​the three-dimensional object).

[0034] According to various embodiments, a distance between the one or more detection devices 105 (e.g., the light barrier 115) and the print head and / or a distance between different detection devices of the one or more detection devices 115 may be known to one another (e.g., stored in the storage device 112). The control device 110 may be configured to determine a quantity (e.g., length) of the remaining filament 105 based on this known distance(s). For example, the control device 110 may, as described herein, determine an end time at which the filament is completely used up based on a current speed of the filament and / or an average speed of the filament. It is understood that the control device 110 may determine a time for changing the filament spool 102 described herein such that this time is before the end time.

[0035] According to various embodiments, the device 100 may include a changing device configured to exchange the filament spool 102 with another filament spool. For example, the control device 110 may provide control data to the changing device that instructs the changing device to exchange the filament spool 102 with the other filament spool (e.g., at the determined time).

[0036] FIG.3A shows an exemplary processing scheme 300A for generating control data 310 according to various embodiments. The control data 310 may contain instructions to move the print head (e.g., print head 402) into the non-visible print area and pause there (e.g., if the print head is currently in a visible print area of ​​the three-dimensional object). The control data 310 may contain instructions to pause the printing process in the non-visible print area (e.g., if the print head is already in a non-visible print area of ​​the three-dimensional object). According to various embodiments, the controller 110 may determine from the print data 304 whether the print head is in a visible print area or a non-visible print area at a particular time.

[0037] In some embodiments, the control device 110 can move the print head itself to move it into the non-visible print area. For example, a drive unit can be configured to move the print head, and the control device 110 can provide the control data 310 to the drive unit. In some embodiments, the control device 110 can move the three-dimensional object to move the print head into the non-visible print area. For example, the print head can be configured to print the three-dimensional object on a print bed, a drive unit can be configured to move the print bed, and the control device 110 can be configured to provide the control data 310 to the drive unit to move the print bed relative to the print head.

[0038] The control data 310 may optionally include instructions to move the print head to the park position when pausing.

[0039] As described herein, the controller 110 may determine from the filament information 107 whether an amount 308 (e.g., a length) of the remaining filament 104 is less than or equal to the predefined filament threshold, L th . The control device 110 can be configured, when it is determined that the amount 308 of the remaining filament 104 is less than or equal to the predefined filament threshold value, L th , to generate the control data 310 for moving the print head into the non-visible printing area for changing the filament spool 102 (e.g., when it is not yet in a non-visible printing area and / or when the time for changing the filament spool described herein is determined) and then pausing the printing process or for directly pausing the printing process if the print head is already in a non-visible printing area of ​​the three-dimensional object.

[0040] The control device 110 may generate the control data 310 based on print data 304. The print data 304 provides information about whether a particular area of ​​the three-dimensional object is a visible area (referred to in some aspects as a visible print area) or a non-visible area (referred to in some aspects as a non-visible print area).

[0041] According to various embodiments, the control device 110 can be configured to determine whether moving the print head into the non-visible printing area is possible before the remaining filament 104 is completely consumed. The control device 110 can then generate the control data 310 for moving the print head into the non-visible printing area, provided that it determines that this is possible based on the amount 308 of the remaining filament 104. If the control device 110 determines that moving the print head into the non-visible printing area is not possible before the remaining filament 104 is consumed, it can be configured to initiate the change of the filament spool 102 in a visible area of ​​the three-dimensional object.

[0042] As described herein, the one or more detection devices 105 (e.g., the first detection device 114 and / or the second detection device 116) may be configured to continuously provide a detected speed value to the control device 110 as filament information 107. FIG.3B shows a related processing scheme 300B by way of example, where exactly one detection device (e.g., the first detection device 114 or the second detection device 116) continuously provides a speed value. It is understood that the detection device can also dynamically provide a plurality of successively detected speed values. It is also understood that the one or more detection devices 105 can also have more than one detection device (e.g., the first detection device 114 and the second detection device 116). In this case, the control device 110 can be configured to determine the control data 310 based on the respectively determined speed values ​​of the plurality of detection devices.The control device 110 can be configured to determine, based on the detected speed value, an absolute distance 306 traveled by the filament at the time at which the speed value was detected. According to various embodiments, the control device 110 can be configured to determine the quantity (e.g., length) 308 of the remaining filament 104 based on the determined absolute distance 306 traveled by the filament (e.g., using a total quantity (e.g., total length) of the filament of the filament spool 102 stored in the storage device 112).

[0043] According to various embodiments, the control data 310 may include a time at which the filament spool 102 is to be replaced with another filament spool. According to various embodiments, the control device 110 may be configured to determine the time such that a non-visible region of the three-dimensional object is being printed at this time (i.e., whether the print head is in a non-visible printing region). As described herein, the control device 110 may determine from the print data 304 whether a visible region (e.g., a surface region) or a non-visible region (e.g., the fill structure) is being printed at a particular time. The control device 110 may be configured to determine the time when the determined amount 308 of the remaining filament 104 is less than or equal to a predefined filament threshold, L th .Illustratively, the filament threshold value, L th , can indicate whether the filament is nearing its end, and if so, the control device 110 can determine the time to change the filament spool 102. For example, the control device 110 can be configured to determine an end time at which the remaining filament 104 is completely used up based on the detected speed (e.g., a currently determined speed value or an average speed value) and the quantity 308 of the remaining filament 104, and can determine the time based thereon so that it lies before the end time. According to another embodiment, the absolute distance traveled 306 can also be directly compared with a predefined threshold value (e.g., predefined based on the total quantity or total length of the filament in the filament spool 102).

[0044] As described herein, the control device 110 may be configured to determine whether the printing process can be continued with a different printhead. In this case, the control data 310 may include corresponding instructions for controlling the other printhead.

[0045] FIG.4 schematically shows a system 400 for printing three-dimensional objects in layers using a fused deposition process according to various embodiments. The system 400 may include the device 100. The system 400 may include a print head 402. As described herein, the device 100 may be configured to feed the filament to the print head 402. The system 400 may include a print bed 404. The print head 402 may be configured to heat the supplied filament (in a solid state) (and thus convert it into a viscous state) and to print the three-dimensional object (according to the predefined print data 304) with the (viscous) filament material on the print bed 404. The system 400 may include a first drive unit 406. The first drive unit 406 can be configured to move the print head 402 at least in an x-direction and / or a y-direction (i.e., for example, laterally).The first drive unit 406 can also be configured to move the print head 402 in a z-direction (i.e., for example, vertically). The system 400 can have a second drive unit 408. The second drive unit 408 can be configured to move the print bed 404 at least in a z-direction (i.e., for example, vertically). The second drive unit 408 can also be configured to move the print bed 404 in an x-direction and / or a y-direction (i.e., for example, laterally). The control device 110 of the device 100 can be configured to control the first drive unit 406 and / or the second drive unit 408 (e.g., according to the print data 304).For example, the control device 110 may be configured to provide the control data 310 to the first drive unit 406 and / or the second drive unit 408, and the control data 310 may include instructions to move the print head 402 into a non-visible print area of ​​the three-dimensional object. It is understood that the print head 402 may be moved into the non-visible print area by moving the print head 402 itself and / or by moving the print bed 404 (relative to the print head 402).

[0046] Optionally, the system 400 may include a power supply unit 410 for providing power to the other components. FIG.5A a front view and FIG.5B a side view of an exemplary spatial configuration of the system 400 according to various embodiments.

[0047] Although the printhead 402, the print bed 404, the first drive unit 406, and the second drive unit 408 are described as part of the system 400, it is understood that one or more (e.g., all) of these components may also be part of the device 100 itself. Thus, in some embodiments, the device 100 may include the printhead 402 and / or the print bed 404 and / or the first drive unit 406 and / or the second drive unit 408.

[0048] It is understood that a drive unit described herein for moving the print bed 402 and / or a print head (e.g., the print head 402 and / or the other print head) may comprise multiple units (e.g., each comprising at least one motor), wherein each unit of the multiple units may be configured to realize movement in at least one direction.

[0049] According to various embodiments, the device 100 and / or the system 400 may have more than one print head (e.g., including the other print head described herein). In this case, the device 100 and / or the system 400 may have an associated drive unit for each additional print head, which is configured to move the respective additional print head laterally (e.g., in the x-direction and / or in the y-direction) and / or vertically (e.g., in the z-direction).

[0050] FIG.6 shows a flowchart of a method 600 for changing a filament spool during printing of a three-dimensional object according to various embodiments.

[0051] The method 600 may include printing a three-dimensional object according to print data using a filament unwound from a filament spool (in 602).

[0052] The method 600 may include detecting filament information (at 604) during printing (602) of the three-dimensional object. The filament information may indicate whether a remaining filament (e.g., an amount of the remaining filament 104) is less than or equal to a predefined filament threshold.

[0053] If the filament information indicates that the remaining filament is less than or equal to the predefined filament threshold, the method 600 may include moving the print head into a non-visible area of ​​the three-dimensional object during printing (602) of the three-dimensional object and pausing the printing process to change the filament spool (in 606). This may be done taking the print data into account. If the print head is already in a non-visible printing area of ​​the three-dimensional object when the filament information indicates that the remaining filament is less than or equal to the predefined filament threshold, the method 600 may include pausing the printing process in this non-visible printing area (in 606).

[0054] According to various embodiments, method 600 may include (e.g., in 606) determining whether the print head is in a non-visible print area. If it is determined that the print head is in a non-visible print area, method 600 may include pausing the printing process in this non-visible print area. If it is determined that the print head is not in a non-visible print area (i.e., in a visible print area), method 600 may include moving the print head into a non-visible area of ​​the three-dimensional object and pausing the printing process in this non-visible area to change the filament spool.

[0055] It is understood that the acquiring of the filament information (in 604) and the moving of the print head (in 606) can be performed as described for the device 100.

[0056] Examples are described below that illustrate various aspects of the device 100, the system 400, and the method 600. It is understood that aspects described with respect to the device 100 can also characterize corresponding aspects of the method 600, or corresponding operations can be performed as a method, and vice versa (i.e., that corresponding components of the device can be configured to perform at least part of the method 600). Accordingly, it is understood that the system 400 can comprise the device 100 and can perform at least part of the method 600.

[0057] Example 1 is a device for changing a filament spool during printing of a three-dimensional object, the device comprising: a filament spool on which a filament is wound; a drive device comprising a motor configured to drive the filament to unwind the filament from the filament spool and provide it to a print head for printing a three-dimensional object according to print data;and a control device configured to: receive filament information indicating whether a remaining filament is less than or equal to a predefined filament threshold, and if the filament information indicates that the remaining filament is less than or equal to the predefined filament threshold, generate control data taking into account the print data in order to move the print head to change the filament spool into a non-visible print area of ​​the three-dimensional object and to pause the printing process there, or, if the print head is already in a non-visible print area, to pause the printing process carried out by means of the print head there.

[0058] Example 2 is configured according to Example 1, wherein the control device is further configured to move the print head to a predetermined parking position (e.g., outside the printing area and / or outside the three-dimensional object) when the printing process is paused.

[0059] Example 3 is configured according to Example 2, wherein the control device is further configured to: determine whether a filament unwound from a different filament spool (e.g., the same material as the filament of the filament spool 102) is available to another print head, and if it is determined that a filament unwound from a different filament spool is available to another print head, to move the other print head into the non-visible print area of ​​the three-dimensional object when the printing process is paused and to continue the printing process there.

[0060] Example 4 is a device according to any one of examples 1 to 3, wherein the filament information comprises a tensile stress and / or compressive stress of the remaining filament; and / or wherein the filament information indicates that an end of the filament has passed a detection device; and / or wherein the filament information indicates that an optical and / or mechanical marking of the filament has passed a detection device; and / or wherein the filament information comprises a weight of the filament spool.

[0061] Example 5 is configured according to any one of examples 1 to 4, wherein the control device is configured to: determine a length of the remaining filament based on the filament information, and to determine that the remaining filament is less than or equal to the predefined filament threshold when the length of the remaining filament is less than or equal to a predefined length threshold.

[0062] Example 6 is a device according to any one of examples 1 to 4, further comprising: one or more detection devices configured to detect the filament information and provide it to the control device.

[0063] Example 7 is configured according to Example 6, wherein at least one detection device of the one or more detection devices is configured to permanently detect a speed of the filament unwound from the filament spool and to provide it as filament information to the control device; and wherein the control device is configured to: determine a distance traveled by the filament unwound from the filament spool using the detected speed, and to determine the remaining filament based on the determined distance traveled by the filament unwound from the filament spool.

[0064] Example 8 is configured according to example 7, wherein the control device is configured to: use the filament information and a currently detected speed value and / or an average speed value determined as an average of several speed values ​​of the detected speed to determine an expected end time at which the remaining filament is completely used up, and to determine a time for moving the print head into the non-visible print area of ​​the three-dimensional object such that this time is temporally before the expected end time.

[0065] Example 9 is a device according to any one of examples 6 to 8, wherein the one or more detection devices comprise: an incremental encoder for detecting a speed of the filament unwound from the filament spool; and / or a mechanical and / or optical detection device (e.g., a button, a push-button switch with a rocker, a light barrier, etc.) for detecting an end of the filament; and / or a mechanical and / or optical detection device for detecting an optical and / or mechanical marking of the filament.

[0066] Example 10 is configured according to any one of examples 1 to 9, wherein the control device is configured to provide the generated control data to a drive unit of the print head and / or a drive unit of a print bed on which the three-dimensional object is printed, in order to move the print head into the non-visible print area of ​​the three-dimensional object to change the filament spool and to pause the printing process there, or, if the print head is already in the non-visible print area, to pause the printing process carried out by means of the print head there.

[0067] Example 11 is configured according to Example 10, wherein the control data provided to the drive unit of the print head and / or the drive unit of the print bed instructs them to move the print head to a predetermined parking position when pausing the printing process.

[0068] Example 12 is a device according to any one of examples 1 to 11, further comprising: a changing device configured to replace the filament spool with another filament spool when the printing process is paused (e.g., when the print head is in the predetermined parking position).

[0069] Example 13 is a system for printing three-dimensional objects, comprising: an apparatus according to any one of Examples 1 to 12; and the print head configured to print the three-dimensional object according to the print data using the filament unwound from the filament spool.

[0070] In Example 14, the system according to Example 13 can optionally further comprise: a print bed, wherein the print head is configured to print the three-dimensional object on the print bed; a first drive unit configured to move the print head at least in an x-direction and a y-direction; and a second drive unit configured to move the print bed at least in a z-direction; wherein the control device of the device is configured to control the first drive unit and the second drive unit.

[0071] Example 15 is a method for changing a filament spool during printing of a three-dimensional object, the method comprising: printing the three-dimensional object according to print data using a filament unwound from a filament spool; during printing of the three-dimensional object: detecting filament information indicating whether a remaining filament is less than or equal to a predefined filament threshold, and if the filament information indicates that the remaining filament is less than or equal to the predefined filament threshold, moving the print head, taking into account the print data, to change the filament spool into a non-visible print area of ​​the three-dimensional object and pause the printing process there, or, if the print head is already in a non-visible print area, pausing the printing process performed by the print head there.

[0072] In Example 16, the method according to Example 15 can optionally further comprise: when pausing the printing process, moving the print head to a predetermined parking position.

[0073] In Example 17, the method according to Example 16 can optionally further comprise: during printing of the three-dimensional object: determining whether a filament unwound from a different filament spool is available to another print head, and if the print head is in the predetermined parking position and if it is determined that a filament unwound from a different filament spool is available to another print head, moving the other print head into the non-visible print area of ​​the three-dimensional object and continuing the printing process with the other print head.

[0074] In Example 18, the method according to any one of Examples 15 to 17 can optionally further comprise: changing the filament spool with a different filament spool while the print head is in the non-visible print area of ​​the three-dimensional object.

[0075] In Example 19, the method according to Example 16 or 17 can optionally further comprise: changing the filament spool with another filament spool while the print head is in the park position.

[0076] Example 20 is the method of any one of Examples 15 to 19, wherein acquiring the filament information comprises: acquiring a tensile stress and / or a compressive stress of the filament; and / or acquiring a weight of the filament spool; and / or acquiring a mechanical and / or optical marking of the filament; and / or acquiring an end of the remaining filament.

[0077] Example 21 is the method according to any one of examples 15 to 20, wherein detecting the filament information comprises: continuously detecting a speed indicating the speed at which the filament is unwound from the filament spool; and wherein the method further comprises: determining a distance traveled by the filament unwound from the filament spool using the detected speed value, and determining the remaining filament based on the determined distance traveled by the filament unwound from the filament spool.

[0078] Throughout this description, the terms "connected," "attached," and "coupled" are used to describe both a direct and an indirect connection, a direct or indirect connection, and a direct or indirect coupling. The term "connected" can, for example, mean electrically connected. In the figures, identical or similar elements are provided with identical reference numerals where appropriate.

[0079] A "control device" as used herein can be understood as any type of entity (e.g., implementing logic) that allows the processing of data or signals. The control device can, for example, comprise circuitry and / or (at least) one processor, which can execute software stored in a storage device (in some aspects also referred to as a storage medium), in firmware, or in a combination thereof, and can issue instructions based thereon. The control device can, for example, be configured by means of code segments (e.g., software) to control the operation of a system, e.g., a 3D printer. For example, the data or signals can be processed according to at least one (i.e., one or more than one) specific function performed by the processor.A processor may include or be formed from an analog circuit, a digital circuit, a mixed-signal circuit, a logic circuit, a microprocessor, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), an integrated circuit, or any combination thereof. Any other type of implementation of the respective functions described in detail herein may also be understood as a processor or logic circuit. It is understood that one or more of the method steps described in detail herein may be performed (e.g., realized) by a processor, through one or more specific functions performed by the processor. The processor may therefore be configured to perform one of the methods described herein or its components for information processing.

[0080] A "memory device" as used herein may include one or more memories. A term "memory" may be a volatile memory (e.g., a DRAM (dynamic random access memory)) or a non-volatile memory (e.g., a PROM (programmable read-only memory), an EPROM (erasable PROM), an EEPROM (electrically erasable PROM), or a flash memory, such as a floating-gate memory device, a charge-trapping memory device, an MRAM (magnetoresistive random access memory), or a PCRAM (phase-change random access memory)).

Claims

1. A device (100) for changing a filament spool during the printing of a three-dimensional object, the device (100) comprising: • a filament spool (102) on which a filament (104) is wound; • a drive device (106) comprising a motor (108) configured to drive the filament (104) to unwind the filament (104) from the filament spool (102) and provide it to a print head for printing a three-dimensional object according to print data;and • a control device (110) which is configured to: ∘ receive filament information (107) indicating whether a remaining filament is less than or equal to a predefined filament threshold value, and ∘ if the filament information (107) indicates that the remaining filament is less than or equal to the predefined filament threshold value, to generate control data (310) taking into account the print data (304) in order to move the print head to change the filament spool (102) into a non-visible print area of ​​the three-dimensional object and to pause the printing process there or, if the print head is already in a non-visible print area, to pause the printing process carried out by means of the print head there.

2. Device (100) according to claim 1, wherein the control device (110) is further configured to move the print head into a predetermined parking position when the printing process is paused; wherein the control device (110) is preferably further configured: • to determine whether a filament unwound from a different filament spool is available to another print head, and • if it is determined that a filament unwound from a different filament spool is available to another print head, to move the other print head into the non-visible printing area of ​​the three-dimensional object when the printing process is paused and to continue the printing process there.

3. Device (100) according to claim 1 or 2, wherein the control device (110) is further configured, if the filament information (107) indicates that the remaining filament is less than or equal to the predefined filament threshold value, to generate control data (310) taking into account the print data (304) in order to move the print head, if the print head is located in a visible print area of ​​the three-dimensional object, to change the filament spool (102) during the printing of the three-dimensional object into a non-visible print area of ​​the three-dimensional object and to pause the printing process there, or, if the print head is already located in a non-visible print area, to pause the printing process carried out by means of the print head there.

4. Device (100) according to one of claims 1 to 3, • wherein the filament information (107) comprises a tensile stress and / or compressive stress of the remaining filament (104); and / or • wherein the filament information (107) indicates that an end (109) of the remaining filament (104) has passed a detection device; and / or • wherein the filament information (107) indicates that an optical and / or mechanical marking of the remaining filament has passed a detection device; and / or • wherein the filament information (107) comprises a weight of the filament spool (102).

5. Device (100) according to one of claims 1 to 4, wherein the control device (110) is configured to: • determine a quantity of the remaining filament (104) based on the filament information (107), and • determine that the remaining filament (104) is less than or equal to the predefined filament threshold value if the quantity of the remaining filament (104) is less than or equal to a predefined quantity threshold value.

6. Device (100) according to one of claims 1 to 5, further comprising: one or more detection devices (105) configured to detect the filament information (107) and provide it to the control device (110).

7. The device (100) according to claim 6, wherein at least one detection device (105, 114, 116) of the one or more detection devices (105, 114, 116) is configured to continuously detect a speed of the filament unwound from the filament spool (102) and to provide it as filament information (107) to the control device (110); and wherein the control device (110) is configured to: ∘ determine a distance traveled by the filament unwound from the filament spool (102) using the detected speed, and ∘ determine the remaining filament (104) based on the determined distance traveled by the filament unwound from the filament spool (102).

8. Device (100) according to claim 7, wherein the control device (110) is configured to: • determine an expected end time at which the remaining filament (104) is completely used up based on the filament information (107) and on a currently detected speed value and / or an average speed value determined as the average of several speed values ​​of the detected speed, and • determine a time for moving the print head into the non-visible printing area of ​​the three-dimensional object such that this time is before the expected end time.

9. Device (100) according to one of claims 6 to 8, wherein the one or more detection devices (105, 114, 116) comprise: • an incremental encoder for detecting a speed of the filament unwound from the filament spool (102); and / or • a mechanical and / or optical detection device for detecting an end (109) of the remaining filament (104); and / or • a mechanical and / or optical detection device for detecting an optical and / or mechanical marking of the remaining filament (104).

10. The device (100) according to one of claims 1 to 9, wherein the control device (110) is configured to provide the generated control data (310) to a drive unit of the print head and / or a drive unit of a print bed on which the three-dimensional object is printed, in order to move the print head into the non-visible printing area of ​​the three-dimensional object for changing the filament spool (102) and to pause the printing process there, or, if the print head is already in the non-visible printing area, to pause the printing process carried out by the print head there; wherein the control data (310) provided to the drive unit of the print head and / or the drive unit of the print bed preferably instructs them to move the print head into a predetermined parking position when pausing the printing process.

11. Device (100) according to one of claims 1 to 10, further comprising: a changing device which is configured to exchange the filament spool (102) with another filament spool when the printing process is paused.

12. A system (400) for printing three-dimensional objects, comprising: • an apparatus (100) according to any one of claims 1 to 11; and • the print head (402) configured to print the three-dimensional object according to the print data using the filament unwound from the filament spool (102).

13. The system (400) according to claim 12, further comprising: • a print bed (404), wherein the print head (402) is configured to print the three-dimensional object on the print bed (404); • a first drive unit (406) configured to move the print head (402) at least in an x-direction and a y-direction; and • a second drive unit (408) configured to move the print bed (310) at least in a z-direction; • wherein the control device (110) of the device (100) is configured to control the first drive unit (406) and the second drive unit (408).

14. A method (600) for changing a filament spool during printing of a three-dimensional object, the method comprising: • printing the three-dimensional object according to print data using a filament which is unwound from a filament spool (602);• during printing (602) of the three-dimensional object: ∘ detecting filament information indicating whether a remaining filament is less than or equal to a predefined filament threshold value (604), and ∘ if the filament information indicates that the remaining filament is less than or equal to the predefined filament threshold value, when the print head is located in a visible print area of ​​the three-dimensional object (see paragraph [0025]), moving the print head taking into account the print data during printing of the three-dimensional object (see paragraph [0050]) to change the filament spool into a non-visible print area of ​​the three-dimensional object and pausing the printing process there or, if the print head is already located in a non-visible print area, pausing the printing process carried out by means of the print head there (606); 15. The method (600) according to claim 14, further comprising: when the printing process is paused, moving the print head to a predetermined parking position; preferably the method further comprising: during printing (602) of the three-dimensional object: • determining whether a filament unwound from a different filament spool is available to another print head, and • when the print head is in the predetermined parking position and when it is determined that a filament unwound from a different filament spool is available to another print head, moving the other print head into the non-visible printing area of ​​the three-dimensional object and continuing the printing process with the other print head.