Program, method for producing three-dimensional fabricated object, and three-dimensional fabricated object
Patent Information
- Application Number
- PCT/JP2024/034639
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-29
- Filing Date
- 2024-09-27
- Publication Date
- 2025-04-03
AI Technical Summary
The prior art is difficult to improve the accuracy of the three-dimensional object shapes manufactured by building 3D printers.
By using a program in a 3D printer, the program causes the computer to perform steps of obtaining, segmenting three-dimensional shape data, and generating tool paths. Specifically, the program obtains three-dimensional shape data of the target shape, divides the data into multi-layer sheet data, and generates and adjusts the tool path based on this data to ensure the accuracy of the printed three-dimensional object shape.
Through this method, the accuracy of the shape of three-dimensional objects manufactured by the architectural 3D printer is significantly improved, and the problem of inaccurate shapes caused by printing errors is avoided.
Smart Images

Figure JP2024034639_03042025_PF_FP_ABST
Abstract
Description
Program, method for manufacturing three-dimensional object, and three-dimensional object
[0001] The present invention relates to a program, a method for manufacturing a three-dimensional object, and a three-dimensional object.
[0002] Patent Document 1 discloses a method for constructing a structure using a construction 3D printer.
[0003] This construction method will be explained. When a construction 3D printer extrudes mortar from a nozzle and layers it to build a structure, flexible continuous reinforcement material is inserted instead of rebar. Specifically, the continuous reinforcement material is continuously supplied along with the mortar. This results in the continuous reinforcement material being embedded in the mortar extruded from the nozzle.
[0004] Furthermore, Patent Documents 2 to 4 disclose treatments for improving the quality of structures formed from layered mortar.
[0005] JP 2022-184275 A JP 2023-064588 A JP 2023-084452 A JP 2023-107506 A
[0006] However, with the methods and processes disclosed in Patent Documents 1 to 4, it was difficult to improve the accuracy of the shape of a three-dimensional object produced by a construction 3D printer.
[0007] In view of the above circumstances, the present invention provides a program etc. that can improve the accuracy of the shape of a three-dimensional object created by a construction 3D printer compared to the conventional method.
[0008] According to one aspect of the present invention, there is provided a program for use in a construction 3D printer, the program being configured to cause a computer to execute an acquisition step, a division step, and a generation step, wherein the acquisition step acquires three-dimensional shape data representing a target shape of a three-dimensional object to be formed by the construction 3D printer, the division step divides some or all of the three-dimensional shape data into a plurality of slice data, the slice data being data having an arbitrary thickness in the forming direction of the three-dimensional object and having an external contour corresponding to the outer surface of the three-dimensional object, and the generation step generates a tool path which is the movement path of a nozzle used in the construction 3D printer, and the process of generating the tool path includes an adjustment process for adjusting the target shape of the three-dimensional object based on the slice data.
[0009] According to this aspect, it is possible to improve the accuracy of the shape of a three-dimensional object produced by a construction 3D printer compared to conventional methods.
[0010] 1 is a configuration diagram showing a system 100. FIG. 1 is a block diagram showing the hardware configuration of an information processing device 200. FIG. 2 is a block diagram showing the hardware configuration of a construction 3D printer 300. FIG. 3 is a block diagram showing functions realized by the information processing device 200 (control unit 210). FIG. 4 is a block diagram showing functions realized by the construction 3D printer 300 (control unit 310). FIG. 5 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 6 is a diagram showing the processing of activities A150 to A160. FIG. 7 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 8 is an example of the processing of each activity in FIG. 8. FIG. 9 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 10 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 11 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 12 is a diagram showing an example of the processing of the activity in FIG. 13. FIG. 13 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 15 is a diagram showing an example of the processing of the activity in FIG. 15. FIG. 16 is an activity diagram showing the flow of information processing executed by the construction 3D printer 300.
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below with reference to the accompanying drawings. Various features shown in the following embodiments can be combined with each other.
[0012] Incidentally, a program for realizing the software appearing in one embodiment may be provided as a non-transitory computer-readable recording medium, or may be provided so as to be downloadable from an external server, or may be provided so that the program is started on an external computer and its functions are realized on a client terminal (so-called cloud computing).
[0013] Furthermore, various information processing according to an embodiment may realize input and output corresponding to the input. Here, the form of information referenced in such information processing (hereinafter referred to as reference information) is not limited as long as an output is obtained as a result of the input. The reference information may be, for example, rule-based information such as a database, a lookup table, or a predetermined function (including a decision formula such as a regression formula constructed using a statistical method), a trained model that has previously trained the correlation between input and output, or a large-scale language model that can output a desired result by inputting a prompt.
[0014] In one embodiment, the term "unit" may include, for example, a combination of hardware resources implemented by a circuit in the broad sense and software information processing that can be specifically realized by these hardware resources. In one embodiment, various information is handled, and this information is represented, for example, by physical values of signal values representing voltage or current, high or low signal values as a binary bit set consisting of 0 or 1, or quantum superposition (so-called quantum bits), and communication and calculations can be performed on the circuit in the broad sense.
[0015] Furthermore, a circuit in a broad sense is a circuit realized by at least an appropriate combination of a circuit, circuitry, a processor, a memory, etc. The processor may be a general-purpose processor or a dedicated circuit. That is, it includes application specific integrated circuits (ASICs), programmable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)), etc.
[0016] 1. Hardware Configuration In Section 1, the hardware configuration of this embodiment will be described.
[0017] 1-1. System 100 FIG. 1 is a configuration diagram illustrating the system 100. The system 100 comprises an information processing device 200 and a construction 3D printer 300, which are connected via a network. These components will be further described. Here, a system exemplified as the system 100 is one that is made up of one or more devices or components. Therefore, for example, even the information processing device 200 alone can become a system exemplified as the system 100.
[0018] 2 is a block diagram showing the hardware configuration of the information processing device 200. The information processing device 200 has a control unit 210, a storage unit 220, a display unit 230, an input unit 240, and a communication unit 250, and these components are electrically connected via a communication bus 260 inside the information processing device 200. Each component will be further described below.
[0019] The control unit 210 processes and controls the overall operations related to the information processing device 200. The control unit 210 is, for example, a central processing unit (CPU) (not shown). The control unit 210 realizes various functions related to the information processing device 200 by reading out predetermined programs stored in the storage unit 220. In other words, information processing by software stored in the storage unit 220 is specifically realized by the control unit 210, which is an example of hardware, and can be executed as each functional unit included in the control unit 210. This will be described further in Section 2. Note that the control unit 210 is not limited to being a single unit, and multiple control units 210 may be provided for each function. A combination of these may also be used.
[0020] The storage unit 220 stores various information necessary for information processing of the information processing device 200. This may be implemented, for example, as a storage device such as a solid state drive (SSD) that stores various programs related to the information processing device 200 executed by the control unit 210, or as a memory such as a random access memory (RAM) that stores temporarily required information related to program calculations (arguments, arrays, etc.), or may be a combination of these.
[0021] The display unit 230 may be included in the housing of the information processing device 200 or may be externally attached. The display unit 230 displays a graphical user interface (GUI) screen that can be operated by a user. This is preferably implemented by selectively using display devices such as a CRT display, a liquid crystal display, an organic EL display, and a plasma display depending on the type of information processing device 200. In the following description, the display unit 230 is described as being included in the housing of the information processing device 200.
[0022] The input unit 240 may be included in the housing of the information processing device 200 or may be externally attached. For example, the input unit 240 may be implemented as a touch panel integrated with the display unit 230. A touch panel allows a user to input tapping, swiping, and the like. Of course, a switch button, a mouse, a QWERT keyboard, or the like may be used instead of a touch panel. That is, the input unit 240 accepts an operation input made by the user. The input is transferred as a command signal to the control unit 210 via the communication bus 260. The control unit 210 can then execute predetermined control and calculation as necessary.
[0023] The communication unit 250 is preferably a wired communication means such as USB, IEEE 1394, Thunderbolt (registered trademark), or wired LAN network communication, but may also include wireless LAN network communication, mobile communication such as 5G / LTE / 3G, Bluetooth (registered trademark), or the like, as needed. In other words, it is more preferable to implement it as a collection of multiple communication means. In other words, the information processing device 200 communicates various information with the construction 3D printer 300 via the communication unit 250 over a network.
[0024] 3 is a block diagram showing the hardware configuration of the construction 3D printer 300. The construction 3D printer 300 has a control unit 310, a memory unit 320, a communication unit 350, and a nozzle 370, and these components are electrically connected inside the construction 3D printer 300 via a communication bus 360. The explanation of the control unit 310, the memory unit 320, and the communication unit 350 is omitted because they are substantially the same as the explanation of the control unit 210, the memory unit 220, and the communication unit 250 in the information processing device 200.
[0025] The nozzle 370 is attached to the tip of a robot arm (not shown). The nozzle 370 discharges the modeling material supplied from a supply pump (not shown). That is, the nozzle 370 is positioned according to the movement of the robot arm, and discharges the modeling material at the positioned position.
[0026] 2. Functional Configuration In Section 2, the functional configuration of this embodiment will be described.
[0027] 2-1. Functional configuration of information processing device 200 As described above, information processing by software stored in storage unit 220 is specifically realized by control unit 210, which is an example of hardware, and can be executed as each functional unit included in control unit 210.
[0028] 4 is a block diagram showing functions realized by the information processing device 200 (control unit 210). As described above, the information processing device 200 includes the control unit 210. Specifically, the information processing device 200 (control unit 210) is configured to be able to execute each step of the program of this embodiment. The information processing device 200 (control unit 210) includes an acquisition unit 211, a division unit 212, a processing unit 213, a generation unit 214, an arrangement unit 215, a measurement unit 216, an identification unit 217, a correction unit 218, and a calculation unit 219, corresponding to each step of the program of this embodiment.
[0029] Here, the program of this embodiment is a program used in the construction 3D printer 300. The program of this embodiment is configured to cause a computer such as the information processing device 200 to execute an acquisition step, a division step, a generation step, an arrangement step, a measurement step, an identification step, a correction step, and a calculation step.
[0030] The acquisition unit 211 is configured to acquire various types of information. The acquisition unit 211 is configured to execute an acquisition step. For example, the acquisition unit 211 acquires three-dimensional shape data that represents a target shape of a three-dimensional object to be formed by the construction 3D printer 300.
[0031] The dividing unit 212 is configured to divide various pieces of information. The dividing unit 212 is configured to execute a dividing step. For example, the dividing unit 212 divides part or all of the acquired three-dimensional shape data into a plurality of slice data. Here, the slice data is data having an arbitrary thickness in the forming direction of the three-dimensional object. The slice data has an outer contour corresponding to the outer surface of the three-dimensional object.
[0032] The generation unit 214 is configured to generate various types of information. The generation unit 214 is configured to execute a generation step. For example, the generation unit 214 generates a tool path, which is a movement path of the nozzle 370 used in the construction 3D printer 300. The process of generating the tool path includes an adjustment process of adjusting the target shape of the three-dimensional object based on one or more slice data.
[0033] The arrangement unit 215 is configured to arrange various pieces of information. The arrangement unit 215 is configured to execute an arrangement step. For example, the arrangement unit 215 arranges the determination data at predetermined intervals on the outer contour of the slice data.
[0034] The identifying unit 217 is configured to identify various information. The identifying unit 217 is configured to execute an identifying step. For example, the identifying unit 217 identifies, on the slice data, an area where the filling rate of the modeling material discharged from the nozzle 370 moving along the tool path is insufficient.
[0035] The correction unit 218 is configured to correct various information. The correction unit 218 is configured to perform a correction step. For example, the correction unit 218 performs at least one of a tool path position correction, a movement speed correction of the nozzle 370, and a diameter correction of the nozzle 370 for the identified region.
[0036] The calculation unit 219 is configured to calculate various types of information. The calculation unit 219 is configured to execute calculation steps. For example, the calculation unit 219 executes structural calculation of a three-dimensional object based on the acquired three-dimensional shape data and reference information. The reference information is information that indicates the relationship between the three-dimensional shape data and the results of structural calculation of a three-dimensional object to be formed using the three-dimensional shape data.
[0037] 2-2. Functional Configuration of the Construction 3D Printer 300 As described above, information processing by the software stored in the storage unit 320 is specifically realized by the control unit 310, which is an example of hardware, and can be executed as each functional unit included in the control unit 310.
[0038] 5 is a block diagram showing the functions realized by the construction 3D printer 300 (controller 310). As described above, the construction 3D printer 300 includes the controller 310. Specifically, the construction 3D printer 300 (controller 310) is configured to be able to execute each step of the manufacturing method of this embodiment. The construction 3D printer 300 (controller 310) includes an acquisition unit 311 and a nozzle controller 312 in accordance with the manufacturing method of this embodiment.
[0039] Here, the manufacturing method of this embodiment is a method for manufacturing a three-dimensional object, which is executed by the construction 3D printer 300. The manufacturing method of this embodiment includes an acquisition step and a nozzle control step, and is configured to be executed by the construction 3D printer 300.
[0040] The acquisition unit 311 is configured to acquire various information. The acquisition unit 311 is configured to execute an acquisition step. For example, the acquisition unit 311 acquires a tool path generated by the program of this embodiment.
[0041] The nozzle control unit 312 is configured to control the operation of the nozzle 370. The nozzle control unit 312 is configured to execute a nozzle control step. For example, the nozzle control unit 312 ejects a modeling material from the nozzle 370 in the construction 3D printer 300 and moves the nozzle 370 according to the acquired tool path. In other words, the nozzle control unit 312 controls the operation of the nozzle 370 according to the acquired tool path.
[0042] 3. Information Processing Method In Section 3, the flow of information processing by the information processing device 200 and the construction 3D printer 300 described above will be explained.
[0043] 6 is an activity diagram showing the flow of information processing executed by the information processing device 200. The following description will be given along with each activity in this activity diagram.
[0044] First, the control unit 210 in the information processing device 200 acquires three-dimensional shape data representing the target shape of a three-dimensional object to be formed by the construction 3D printer 300 (activity A110). The three-dimensional shape data may be read (acquired) from the storage unit 220, received (acquired) from another information processing device, or transferred (acquired) from a recording medium such as a USB memory. Rephrasing this activity as a step, in the acquisition step, three-dimensional shape data representing the target shape of a three-dimensional object to be formed by the construction 3D printer 300 is acquired.
[0045] In activity A110, for example, the following two-stage information processing is executed: (1) the communication unit 250 receives three-dimensional shape data transmitted from another information processing device, and (2) the control unit 210 stores the received three-dimensional shape data in the storage unit 220.
[0046] Next, the control unit 210 of the information processing device 200 divides part or all of the acquired three-dimensional shape data into multiple slice data (activity A120). That is, when a three-dimensional object is to be formed by dividing it into multiple parts, only part of the three-dimensional shape data may be divided. Here, the slice data is data having an arbitrary thickness in the forming direction of the three-dimensional object. The slice data also has an external contour corresponding to the outer surface of the three-dimensional object. The slice data may have a thickness that includes only a first forming layer, which is a layer formed corresponding to a first height of the nozzle 370, or may have a thickness that includes, in addition to the first forming layer, a second forming layer, which is a layer formed corresponding to a second height of the nozzle 370 that is different from the first height. In other words, this activity can be expressed as a step. In the dividing step, part or all of the three-dimensional shape data is divided into multiple slice data.
[0047] In this embodiment, the terms "three-dimensional shape data," "slice data," and "external contour" are used, and definitions of each term are provided below. Three-dimensional shape data is data that three-dimensionally represents the target shape of a three-dimensional object. Slice data is data obtained by slicing (dividing) the three-dimensional shape data at an arbitrary thickness. Therefore, three-dimensional shape data can be represented by overlapping multiple slice data. The external contour may be synonymous with slice data. When an external contour 511 and an external contour 512 exist as shown in FIG. 9A, each of the external contour 511 and the external contour 512 becomes an external contour, and the external contour 511 and the external contour 512 are collectively referred to as slice data.
[0048] Activity A120 can also adjust the thickness of the slice data. For example, the control unit 210 in the information processing device 200 varies the thickness of the slice data depending on the dimensions of each part constituting the three-dimensional object. In other words, this activity can be expressed as a step. In the division step, the three-dimensional object is divided so that the thickness of the plurality of slice data is reduced depending on the dimensions of the parts constituting part or all of the three-dimensional object. For example, if the three-dimensional object is a catchment area, the connection hole (a hole connecting a gutter to a drainage pipe) in the catchment area must be able to reliably drain water from the gutter to the drainage pipe, and therefore requires high dimensional accuracy. Dividing the three-dimensional shape data of the catchment area into slice data with a specified thickness (e.g., 10 mm) can result in dimensional discrepancies of several millimeters. Therefore, by reducing the thickness of the plurality of slice data (some or all of the slice data) to a thickness thinner than the specified thickness (e.g., 4 mm), it is possible to match the dimensions of the connection hole and further reduce the impact of variations in the thickness of the slice data on the accuracy of the shape of the connection hole. According to this aspect, by adjusting the height direction for a plurality of layers, it is possible to express the final height dimension of a three-dimensional object, which is difficult to express with a specified height.
[0049] In activity A120, for example, the following three-stage information processing is performed: (1) The control unit 210 reads the received three-dimensional shape data (and height information) from the storage unit 220. (2) The control unit 210 performs a division process to divide the three-dimensional shape data into a plurality of slice data. (3) The control unit 210 stores the divided plurality of slice data in the storage unit 220.
[0050] Next, the control unit 210 of the information processing device 200 executes an adjustment process (activity A130) that adjusts the target shape of the 3D object based on the divided slice data of one or more slices. The adjustment process is executed during the process of generating the tool path in activity A140, and may be various processes, details of which will be described later. As an example, in the adjustment process, it is preferable to apply fillets to corners of the tool path. According to this aspect, it is possible to reduce the acceleration and deceleration of nozzle movement at corners. Therefore, it is possible to smooth the movement of the nozzle at corners.
[0051] In activity A130, for example, the following three-stage information processing is performed: (1) The control unit 210 reads out multiple slice data from the storage unit 220. (2) The control unit 210 performs an adjustment process on the multiple slice data. (3) The control unit 210 stores the slice data after the adjustment process in the storage unit 220.
[0052] Next, the control unit 210 of the information processing device 200 generates a tool path, which is the movement path of the nozzle 370 used in the construction 3D printer 300, based on the adjustment process (activity A140). In other words, in the generation step, the tool path, which is the movement path of the nozzle 370 used in the construction 3D printer 300, is generated based on the adjustment process. Here, in the generation step, it is preferable to generate a tool path that avoids the positions of objects to be placed on the three-dimensional object. Here, the objects are objects other than the molding material used to form the three-dimensional object and are placed on the three-dimensional object. In other words, when reinforcing the three-dimensional object with rebar, support material, or the like, avoiding the reinforced areas can prevent distortion of the three-dimensional object. Therefore, according to this aspect, dimensional errors in the three-dimensional object can be avoided by using a tool path that takes into account the volume and position of the objects to be mounted in advance.
[0053] In activity A140, for example, the following three stages of information processing are executed: (1) The control unit 210 reads the slice data after the adjustment process from the storage unit 220. (2) The control unit 210 executes a generation process to generate a tool path. (3) The control unit 210 stores the generated tool path in the storage unit 220.
[0054] Next, the control unit 210 in the information processing device 200 identifies an area where the filling rate of the modeling material dispensed from the nozzle 370 is insufficient (activity A150). The nozzle 370 dispenses the modeling material while moving along the tool path, but depending on the positional relationship between the outer contour and the tool path, an area in which the modeling material cannot be sufficiently filled may occur in the slice data. Activity A150 executes a process for identifying such an area. In other words, this activity can be expressed as a step, and in the identification step, an area where the filling rate of the modeling material dispensed from the nozzle 370 moving along the tool path is insufficient is identified.
[0055] In activity A150, for example, the following three-stage information processing is performed: (1) The control unit 210 reads the generated tool path from the storage unit 220. (2) The control unit 210 performs identification processing to identify an area where the filling rate of the modeling material is insufficient. (3) The control unit 210 stores information about the identified area in the storage unit 220.
[0056] Next, the control unit 210 in the information processing device 200 executes a correction process for the identified region (activity A160). This correction represents at least one of correction of the position of the tool path, correction of the movement speed of the nozzle 370, and correction of the diameter of the nozzle 370. Details of this correction will be described later with reference to FIG. 7. In other words, this activity can be expressed as a step, and in the correction step, at least one of correction of the position of the tool path, correction of the movement speed of the nozzle 370, and correction of the diameter of the nozzle 370 is executed for the identified region.
[0057] In activity A160, for example, the following four stages of information processing are performed: (1) The control unit 210 reads out the tool path and information on the identified area from the storage unit 220. (2) The control unit 210 performs correction processing on the area. (3) The control unit 210 applies the information on the area after the correction processing to the tool path. (4) The control unit 210 stores the corrected tool path in the storage unit 220.
[0058] According to the activities A150 to A160, a tool path that can be drawn in one stroke can be generated more reliably even for a shape that is difficult to draw in one stroke.
[0059] Next, the control unit 210 in the information processing device 200 creates a G-code based on the corrected tool path and sends the G-code to the construction 3D printer 300 (activity A170).
[0060] In activity A170, for example, the following three stages of information processing are executed: (1) The control unit 210 reads the corrected tool path from the storage unit 220. (2) The control unit 210 executes a creation process and creates a G-code based on the corrected tool path. (3) The control unit 210 transmits the created G-code to the construction 3D printer 300 via the communication unit 250.
[0061] 7 is a diagram showing the processing of activities A150 to A160. The slice data 400 includes an outer contour 410 and an outer contour 440.
[0062] The outer contour 440 does not include a region identified as a region where the tool path 450 is generated and the filling rate of the modeling material discharged from the nozzle 370 is insufficient. On the other hand, the outer contour 410 includes a region 430 identified as a region where the tool path 420 is generated and the filling rate of the modeling material discharged from the nozzle 370 is insufficient. In other words, the distance between the path 421 and the path 422 in the region 430 is too wide, making it difficult to sufficiently fill the region 430 with the modeling material when normal control is applied to the nozzle 370. Therefore, at least one of the following corrections is performed on the region 430: a position correction of the tool path 420, a movement speed correction of the nozzle 370, and a diameter correction of the nozzle 370. These corrections are performed in an appropriate combination.
[0063] The position correction of the tool path 420 will be described. Here, at least one of the paths 421 and 422 adjacent to the region 430 is moved so as to narrow the region 430, or at least one of the paths 421 and 422 is made into an acute shape (zigzag shape) by sharp turns in alternating directions. This correction improves the filling rate of the modeling material in the region 430.
[0064] Correction of the movement speed of the nozzle 370 will now be described. Here, the movement speed of the nozzle 370 is made slower in at least one of the passes 421 and 422 adjacent to the region 430 than in the pass 423, thereby discharging a larger amount of modeling material per unit area. This correction improves the filling rate of the modeling material in the region 430.
[0065] Correction of the diameter of the nozzle 370 will now be described. Here, a simulation is performed using multiple candidate nozzle diameters, and the nozzle diameter with the highest filling rate is selected. More specifically, the width W of the region 430 in the tool path 420 is calculated, and if reciprocation through the region 430 is possible, W / 2 is selected as the nozzle diameter, and if reciprocation through the region 430 is not possible, W is selected as the nozzle diameter. This correction improves the filling rate of the modeling material across the entire outer contour 410.
[0066] Here, in various prior arts such as those disclosed in Patent Documents 3 and 4, there is no concept of more reliably improving the filling rate of a specified region (hereinafter also referred to as a "specific region") where the filling rate of the build material is insufficient. For example, Patent Document 3 discloses forming a structure with the designed thickness, but does not consider improving the filling rate of the build material in the specific region. Furthermore, Patent Document 4 discloses setting a new path by moving a position toward an adjacent path section from the original path position, but does not consider appropriately combining various corrections. In contrast, in the present embodiment, various corrections are appropriately combined for the specific region, thereby more reliably improving the filling rate. Therefore, the present embodiment is advantageous in that it easily improves the quality of the three-dimensional object.
[0067] 3-2. Information Processing Method 2 FIG. 8 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 9 is a diagram showing an example of the processing of each activity in FIG. 8. Each activity in FIG. 8 indicates the processing defined in activity A130. That is, each processing described in section 3-2 is included in the process of generating a tool path. Note that, for convenience of explanation, each activity in FIG. 8 may include the processing of activity A140. The following explanation will be given along with each activity in this activity diagram.
[0068] First, the control unit 210 of the information processing device 200 arranges judgment data at a predetermined interval on an external contour 510 corresponding to the outer surface of the three-dimensional object (activity A210). In this embodiment, the external contour 510 is assumed to be composed of an external contour 511 and an external contour 512, as shown in FIG. 9A . Here, the judgment data is data for determining contact with the search data 520. The arrangement interval (predetermined interval) of the search data 520 may be smaller than the diameter of the search data 520. The judgment data is represented by discrete points and is used for collision detection so that the search data 520 does not penetrate the external contour 510. The arrangement interval of the search data 520 may be set appropriately. A wider arrangement interval enables faster execution of the search process described below, while a narrower arrangement interval improves the accuracy of the generated tool path. The search data 520 will be described later. In other words, this activity can be expressed as steps. In the arrangement step, judgment data is arranged at a predetermined interval on the external contour 510 and a trajectory 530 described below.
[0069] In activity A210, for example, the following three-stage information processing is performed. (1) The control unit 210 reads out the divided slice data from the storage unit 220. (2) The control unit 210 performs an arrangement process to arrange the determination data at predetermined intervals on the external contour 510 corresponding to the outer surface of the three-dimensional object. (3) The control unit 210 stores the slice data in which the determination data has been arranged (hereinafter also referred to as "slice data after the arrangement process") in the storage unit 220.
[0070] Next, the control unit 210 of the information processing device 200 executes a search process (activity A230) to move the search data 520 from the identified movement start position inside the outer contour 510. Here, the search data 520 is defined to have a diameter twice the diameter of the nozzle 370. This makes it possible to generate a round-trip path (described later) for the trajectory 530 of the search data 520.
[0071] The search process is a process of moving the search data 520 so as not to overlap the trajectory 530 of the search data 520, and more specifically includes a process of moving the search data 520 so as to follow the inner surface of the outer contour 510, and a process of moving the search data 520 so as to follow the inner surface of the trajectory 530 of the search data 520. The process in activity A230 is an example of an adjustment process.
[0072] Furthermore, in activity A230, when the search data 520 comes into contact with the judgment data arranged in activity A210, a process is executed to change the direction of travel of the search data 520 and move the search data 520. According to this aspect, the search data 520 can be moved so as not to penetrate the outer contour of the slice data.
[0073] 9B shows an example of activity A230. Search data 521 moves along a trajectory 533 along the inner surface of outer contour 511, and becomes unable to move at a point where it changes direction to avoid overlapping with trajectory 533. Next, search data 522 moves from a different position along a trajectory 534 along the inner surface of outer contour 511.
[0074] In activity A230, for example, the following three-stage information processing is executed. (1) The control unit 210 reads out the slice data after the placement processing from the storage unit 220. (2) The control unit 210 executes a search processing, and moves the search data 520 from the identified movement start position so as to follow the inner surface of the outer contour 510 and the inner surface of the trajectory 530 and not overlap the trajectory 530. (3) The control unit 210 stores the slice data linked to the trajectory 530 of the search data 520 (hereinafter also referred to as "slice data after the search processing") in the storage unit 220.
[0075] According to the aspect of activity A230, it is possible to generate a tool path drawn in one stroke while preferentially filling in the area around the outer contour 510 for three-dimensional objects of various shapes or three-dimensional objects having remote islands.
[0076] Next, the control unit 210 in the information processing device 200 determines whether the search data 520 can be moved (activity A240). The search data 520 is moved so as not to overlap with the trajectory 530, and therefore will eventually become unmovable. The control unit 210 may determine that the search data 520 cannot be moved, for example, if a new trajectory 530 is not drawn even after five seconds have passed since the drawing of the trajectory 530 stopped. The threshold for the determination is specifically, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, or 30 seconds, or may be within a range between any two of the values exemplified here.
[0077] If the search data 520 can be moved, the control unit 210 continues processing activity A230 (YES in activity A240). If the search data 520 cannot be moved, the control unit 210 proceeds to processing activity A250 (NO in activity A240). In other words, in the adjustment process, the search process is executed until the search data 520 cannot be moved.
[0078] In activity A240, for example, the following four stages of information processing are executed. (1) The control unit 210 reads out the slice data after the search process from the storage unit 220. (2) The control unit 210 continues the search process and moves the search data 520. (3) If a new trajectory 530 is not drawn even after the threshold value is exceeded, the control unit 210 determines that movement is impossible. (4) The control unit 210 stores in the storage unit 220 the slice data linked to the trajectory 530 up until it is determined that movement is impossible (hereinafter also referred to as "slice data before determination").
[0079] Next, the control unit 210 in the information processing device 200 determines whether the search data 520 can be moved within the slice data (within each outer contour 510) (activity A250). If there is an area where the search data 520 can be moved, the control unit 210 proceeds to processing activity A210 (YES in activity A250). If the result of activity A250 is YES, the control unit 210 moves the search data 520 from a new position in activity A230. In other words, in the adjustment process of activity A230, if the search data 520 cannot be moved, the search process is again performed from a different position.
[0080] If there is no area in which the search data 520 can be moved, the control unit 210 proceeds to processing of activity A260 (NO in activity A250). For example, when the search data 520 has finished moving within the outer contour 511, even if there is no area in which the search data 520 can be moved within the outer contour 511, if there is an area in which the search data 520 can be moved within the outer contour 512, the result is YES in activity A250.
[0081] 9C shows an example of the NO of activity A 250. The search data 520 depicts a trajectory 533, a trajectory 534, and a trajectory 535, and the movable area is exhausted.
[0082] Next, the control unit 210 in the information processing device 200 generates a round-trip path 540, which is a path along which the nozzle 370 can travel back and forth, for each trajectory 530 of the search data 520 (activity A260). As described above, the search data 520 is defined to have a diameter twice the diameter of the nozzle 370, so it is possible to generate a round-trip path 540 for each trajectory 530. In other words, in the generation step, when there is no more area in the slice data through which the search data 520 can move, a round-trip path 540, which is a path along which the nozzle 370 can travel back and forth, is generated for each trajectory 530.
[0083] 9(D) shows an example of activity A260. A round-trip path 543 is generated in trajectory 533. A round-trip path 544 is generated in trajectory 534. A round-trip path 545 is generated in trajectory 535. That is, in activity A260, two paths parallel to the longitudinal direction of trajectory 530 are generated within trajectory 530.
[0084] In activity A260, for example, the following three-stage information processing is performed. (1) The control unit 210 reads out pre-determination slice data from the storage unit 220. (2) The control unit 210 performs a generation process to generate, for each trajectory 530, a round-trip path 540 along which the nozzle 370 can travel. (3) The control unit 210 stores each of the generated round-trip paths 540 in the storage unit 220.
[0085] Next, the control unit 210 in the information processing device 200 integrates the respective round-trip paths 540 (activity A270). Taking the round-trip paths 543 and 544 as an example, the control unit 210 executes the following process. First, the control unit 210 cuts each of the round-trip paths 540 at an arbitrary position. Next, the control unit 210 rotates at least one of the round-trip paths 543 and 544 so that a third end, which is one end of the round-trip path 543, and a fourth end, which is one end of the round-trip path 544, are brought close to each other. Next, the control unit 210 connects and integrates the third end and the fourth end.
[0086] 9(E) to 9(G) show an example of activity A270. As shown in FIG. 9(E), round trip paths 543 and 544 are integrated in an integrated portion 551. As shown in FIG. 9(F), the integrated round trip paths are integrated in an integrated portion 552. Furthermore, round trip paths within the outer contour 512 are integrated in an integrated portion 553. As shown in FIG. 9(G), round trip paths within the outer contour 511 and the outer contour 512 are integrated in an integrated portion 554. In this way, round trip paths 540 within the slice data (within each outer contour 510) are integrated.
[0087] In other words, in the adjustment process, for each reciprocating path 540 (path), at least one of the reciprocating path 543 and the reciprocating path 544 (path) is rotated so that, for example, a third end, which is one end of the reciprocating path 543 (path), and a fourth end, which is one end of the reciprocating path 544 (another path), are brought closer together. In the generation step, the reciprocating path 543 and the reciprocating path 544 (each path) are integrated by connecting the third end and the fourth end, and a tool path is generated in activity A140.
[0088] 9(H) shows an example of activity A140 after activity A270. The integrated round-trip path (tool path) is assigned a start point 561 and an end point 562 for the movement of the nozzle 370. In this case, the tool path, based on the start point 561 and the end point 562, may be a path that moves the nozzle 370 in the infill printing direction when moving the nozzle 370 from the third printing layer, which is a layer printed corresponding to the third height of the nozzle 370, to the fourth printing layer, which is a layer printed corresponding to a fourth height of the nozzle 370 different from the third height. The tool path may also be a path that moves the nozzle so that the outer contour 510 is printed before the infill in the same layer.
[0089] According to this aspect, when modeling of a certain layer is completed and the nozzle 370 is moved to the next layer, the nozzle 370 is Z-hopped starting from the infill. That is, when the nozzle 370 Z-hops, clumps of modeling material are prevented from forming on the outer contour 510, and the aesthetic appearance of the three-dimensional model can be improved compared to conventional methods.
[0090] Furthermore, when the nozzle 370 is Z-hopped from one layer to the next, it is preferable to move the nozzle 370 so as to vary its coordinates in the XY plane. That is, the tool path is preferably a path that moves the nozzle 370 in the modeling direction so as to vary its coordinates parallel to the modeling layer. The shape of the tool path is not particularly limited as long as it varies the coordinates in the XY plane when the nozzle 370 is Z-hopped. For example, it may be linear, arc-shaped, or S-shaped. According to this aspect, it is possible to reduce the change in the speed of the nozzle 370 in the XY plane (the coordinate plane parallel to the modeling layer) even when the nozzle 370 Z-hops. Therefore, it is possible to prevent the local formation of clumps, which tend to occur when the nozzle 370 Z-hops.
[0091] Furthermore, it is preferable that the tool path is a path in which the nozzle 370 moves from the infill as a starting point in the same layer. In this embodiment, since the starting point is not the outer contour, overfilling during Z-hopping can be avoided. Also, it is possible to avoid the impact on the modeling quality due to variations in the nozzle movement during Z-hopping.
[0092] Furthermore, in the adjustment process, it is preferable to adjust the movement path of the nozzle 370 so as to prioritize conditions favorable for ensuring the accuracy of the shape of the three-dimensional object for a specified location on the outer contour. In other words, in the adjustment process, it is preferable to adjust the tool path so as to assign favorable conditions for ensuring the required conditions to locations on the outer contour of the three-dimensional object where high accuracy in the finished dimensions is required or where aesthetics are particularly important (locations where the effects of pattern distortion, shrinkage and cracking due to drying, wrinkles and dragging that occur during the modeling process, etc., need to be suppressed). Here, advantageous conditions include, for example, placing the modeling order earlier in the same modeling layer, but may also be selected appropriately depending on the shape of the three-dimensional object, the working environment, and the like. According to this aspect, it is possible to specify locations where it is necessary to prioritize ensuring the finished dimensions.
[0093] Furthermore, in the adjustment process, it is preferable to adjust the connection points between the infill and the outer contour, so that the location of wrinkles that occur at the connection points can be adjusted.
[0094] In activity A270, for example, the following three-stage information processing is performed: (1) The control unit 210 reads each round-trip path 540 from the storage unit 220. (2) The control unit 210 executes a merging process to merge each round-trip path 540. (3) The control unit 210 stores the merged round-trip path 540 in the storage unit 220.
[0095] According to the aspect of the information processing method 2, a complex tool path can be generated while ensuring a single-stroke drawing.
[0096] 3-3. Information Processing Method 3 FIG. 10 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 11 is a diagram showing an example of the processing of each activity in FIG. 10. Each activity in FIG. 10 indicates the processing defined in activity A130. That is, each processing described in section 3-3 is included in the process of generating a tool path. Note that, for convenience of explanation, each activity in FIG. 10 may include the processing of activity A140. The following explanation will be given along with each activity in this activity diagram.
[0097] First, the control unit 210 in the information processing device 200 generates a parallel path 620 parallel to the path seed 610 (external contour) at a position spaced apart from the path seed 610 (external contour) by the diameter of the nozzle 370 (activity A310). As shown in FIG. 11A , the path seeds 611 and 612 may be synonymous with the external contour. The generated parallel path 620 is generated at a position spaced apart from the path seed 610 by the diameter of the nozzle 370, and thus can serve as a movement path for the nozzle 370.
[0098] 11B , a parallel path 620 is generated, which is a path parallel to the path seeds 611 and 612. The parallel paths 621 and 622 are generated so as to sandwich the path seed 611. The parallel paths 623 and 624 are generated so as to sandwich the path seed 612. In other words, in the adjustment process, the parallel path 620, which is a path parallel to the path seed 610 (external contour), is generated at a position spaced apart from the path seed 610 (external contour) by the diameter of the nozzle 370.
[0099] Here, "generating at a position 10 cm away from the diameter of the nozzle 370" will be explained. For example, if the diameter of the nozzle 370 is 10 cm, this means that a parallel path 620 centered at a position 10 cm away from the path seed 610 is generated. Therefore, when the nozzle 370 moves along the parallel path 620, the modeling material is filled within a range of 5 cm from the center of the parallel path 620. Since the outer contour ultimately becomes the tool path, when the nozzle 370 moves along the outer contour, the modeling material is filled within a range of 5 cm from the center of the outer contour. Therefore, when the nozzle 370 moves along the outer contour and the parallel path 620, the filling rate of the modeling material in the region from the outer contour to the parallel path 620 is constant.
[0100] In activity A310, for example, the following three-stage information processing is executed. (1) The control unit 210 reads the divided slice data from the storage unit 220. (2) The control unit 210 executes a generation process to generate a parallel path 620 that is parallel to the path seed 610 at a position spaced apart from the path seed 610 by the diameter of the nozzle 370. (3) The control unit 210 stores the generated parallel path 620 in the storage unit 220.
[0101] Next, the control unit 210 in the information processing device 200 cuts the parallel path 620 at a point where the parallel path 620 intersects with the parallel path 620 or the path seed 610, or at a point where the parallel path 620 shows a bend of a predetermined angle or more (activity A320). As shown in Fig. 11C, the parallel path 620 is divided into a longest path 631, a cut path 632, a cut path 633, a cut path 634, a cut path 635, and a cut path 636 as cut paths 630 by the cutting process.
[0102] The predetermined angle may be set according to the specifications of the construction 3D printer 300, and may be, for example, 30°, preferably 45°, and more preferably 60°. Specifically, the predetermined angle may be, for example, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, or 90°, or may be within a range between any two of the values exemplified here.
[0103] Here, the parallel paths 621 and 624 are deleted because they are paths generated outside the outer contour. In other words, in the adjustment process for activity A320, the parallel path 620 is cut at the point where it intersects with the parallel path 620 or the path seed 610 (outer contour), or at the point where it shows a bend of a predetermined angle or more.
[0104] In activity A320, for example, the following three-stage information processing is executed: (1) The control unit 210 reads the parallel path 620 from the storage unit 220. (2) The control unit 210 executes a cutting process to cut the parallel path 620 into a cut path 630. (3) The control unit 210 stores the cut path 630 in the storage unit 220.
[0105] Next, the control unit 210 in the information processing device 200 leaves the longest path 631, which is the longest path among the cutting paths 630, and deletes the cutting paths 632, 633, 634, 635, and 636 (other paths) (activity A330). Figure 11 (D) shows a state in which the longest path 631 is left. In other words, in the adjustment process, of the cutting paths 630 arranged inside the outer contour, the longest path 631, which is the longest cutting path 630, is left, and deletes the cutting paths 632, 633, 634, 635, and 636.
[0106] In activity A330, for example, the following three-stage information processing is executed. (1) The control unit 210 reads out the cutting path 630 from the storage unit 220. (2) The control unit 210 executes a deletion process, leaving only the longest path 631, which is the longest path among the cutting paths 630, and deleting the cutting paths 632, 633, 634, 635, and 636. (3) The control unit 210 erases the cutting paths 632, 633, 634, 635, and 636 from the storage unit 220, and stores the longest path 631 in the storage unit 220.
[0107] Next, the control unit 210 in the information processing device 200 determines whether a new path can be generated using the path seed 610 (activity A340). If a new path can be generated, the control unit 210 proceeds to the processing of activity A350 (YES in activity A340).
[0108] Next, the control unit 210 in the information processing device 200 further generates a parallel path 640 parallel to the path seed 610 at a position away from the path seed 610 by the diameter of the nozzle 370 (activity A350). As shown in FIG. 11E, the path seed 610 is composed of path seeds 611, 612, and 613, including the longest path 631. Then, as shown in FIG. 11F, a parallel path 640 is further generated, which is a path parallel to the path seed 610. In other words, in the adjustment process, a parallel path 640 is further generated, which is a path parallel to the path seeds 611 and 612 (external contours), at a position away from the path seeds 611 and 612 (external contours) by the diameter of the nozzle 370, and a parallel path 640 is further generated, which is a path parallel to the path seed 613 (longest path), at a position away from the path seed 613 (longest path) by the diameter of the nozzle 370.
[0109] In activity A350, for example, the following three-stage information processing is performed: (1) The control unit 210 reads the path seed 610 from the storage unit 220. (2) The control unit 210 performs a generation process to generate a parallel path 640 that is a path parallel to the path seed 610. (3) The control unit 210 stores the parallel path 640 in the storage unit 220.
[0110] The control unit 210 repeats the processing of activities A320 to A350 until it becomes impossible to generate a new path. If it becomes impossible to generate a new path, the control unit 210 proceeds to the processing of activity A360 (NO in activity A340). As shown in Figure 11 (G), a path seed 650 is generated in the slice data, and no more paths can be generated. In other words, this activity continues the adjustment processing until it becomes impossible to generate a new path.
[0111] Next, the control unit 210 in the information processing device 200 integrates the respective path seeds 650 (activity A360). As shown in FIG. 11(H), the respective path seeds 650 are integrated to generate a tool path 660. Each path seed 650 is a concept that includes an external contour and its respective longest path. If this activity is expressed in terms of steps, in the generation step, the external contour and its respective longest path are integrated to generate a tool path.
[0112] In activity A360, for example, the following three-stage information processing is performed: (1) The control unit 210 reads each path seed 650 from the storage unit 220. (2) The control unit 210 executes integration processing to generate a tool path 660. (3) The control unit 210 stores the tool path 660 in the storage unit 220.
[0113] According to the third aspect of the information processing method, a tool path with fewer corners can be generated by cutting the parallel path 620 at a point where the parallel path 620 intersects with the parallel path 620 or the path seed 610 (external contour), or at a point where the parallel path 620 has a corner of a predetermined angle or more. This reduces the acceleration and deceleration of the nozzle 370, thereby preventing a decrease in the accuracy of the shape of the three-dimensional object due to the acceleration and deceleration of the nozzle 370.
[0114] 3-4. Information Processing Method 4 FIG. 12 is an activity diagram showing the flow of information processing executed by the information processing device 200. Each activity in FIG. 12 represents a process defined in activity A130. That is, each process described in section 3-4 is included in the process of generating a tool path. For convenience of explanation, each activity in FIG. 12 may include the process of activity A140. The following explanation will be given along with each activity in this activity diagram.
[0115] First, the control unit 210 in the information processing device 200 generates, inside the outer contour of the slice data, multiple paths that are part of the movement path of the nozzle 370 (activity A410). In other words, in the adjustment process, multiple paths that are part of the movement path of the nozzle 370 are generated in the slice data.
[0116] In activity A410, for example, the following three-stage information processing is performed: (1) The control unit 210 reads the divided slice data from the storage unit 220. (2) The control unit 210 executes a generation process to generate multiple paths inside the outer contour of the slice data. (3) The control unit 210 stores the generated multiple paths in the storage unit 220.
[0117] Next, the control unit 210 in the information processing device 200 cuts each of the generated paths at the point showing the largest angle among them (activity A420). In other words, in the adjustment process, each of the paths is cut at the point showing the largest angle among them.
[0118] In activity A420, for example, the following three-stage information processing is performed: (1) The control unit 210 reads the generated paths from the storage unit 220. (2) The control unit 210 executes a cutting process and cuts each path at the point showing the largest angle among the paths. (3) The control unit 210 stores each cut path in the storage unit 220.
[0119] Next, the control unit 210 of the information processing device 200 integrates the multiple cut paths by connecting a first end, which is one end of one of the cut paths, to a second end, which is one end of another of the cut paths (activity A430). In other words, in the generation step, the multiple paths are integrated by connecting a first end, which is one end of one of the cut paths, to a second end, which is one end of another of the cut paths, thereby generating a tool path.
[0120] In activity A430, for example, the following three-stage information processing is executed: (1) The control unit 210 reads each disconnected path from the storage unit 220. (2) The control unit 210 executes a consolidation process to consolidate the multiple disconnected paths. (3) The control unit 210 stores the consolidated paths in the storage unit 220.
[0121] According to the fourth aspect of the information processing method, the cutting portions are connected at the point in the path that has the largest angle, thereby making the angle of the corner in the tool path gentler. This reduces the acceleration and deceleration of the nozzle 370 at the corner, thereby improving the aesthetic appearance of the three-dimensional model.
[0122] 3-5. Information Processing Method 5 FIG. 13 is an activity diagram showing the flow of information processing executed by the information processing device 200. FIG. 14 is a diagram showing an example of the activity processing in FIG. 13. Each activity in FIG. 13 indicates processing defined in activity A130. That is, each processing described in section 3-5 is included in the process of generating a tool path. Note that, for convenience of explanation, each activity in FIG. 13 may include processing of activity A140. The following explanation will be given along with each activity in this activity diagram.
[0123] First, the control unit 210 in the information processing device 200 uses a polar coordinate system in which the center of the slice data is the origin 720 to generate multiple paths 730 that are part of the movement path of the nozzle 370 so that concentric circles centered on the origin 720 overlap (activity A510). As shown in Fig. 14, the origin 720 is set at the center of the slice data (the center of the outer contour 710), and multiple paths 730 are created by overlapping multiple concentric circles centered on the origin 720. In other words, in the adjustment process, the control unit 210 uses a polar coordinate system in which the center of the slice data is the origin 720 to generate multiple paths 730 that are part of the movement path of the nozzle 370 so that concentric circles centered on the origin 720 overlap.
[0124] In activity A510, for example, the following three-stage information processing is executed: (1) The control unit 210 reads the divided slice data from the storage unit 220. (2) The control unit 210 executes a generation process to generate a plurality of concentric paths 730. (3) The control unit 210 stores the generated plurality of paths 730 in the storage unit 220.
[0125] Next, the control unit 210 in the information processing device 200 integrates the generated multiple paths 730 (activity A520). The multiple paths 730 are, for example, cut at arbitrary locations, and the cut portions are integrated to form a tool path. In other words, in the generation step, the multiple paths 730 are integrated to generate a tool path.
[0126] In activity A520, for example, the following three-stage information processing is executed: (1) The control unit 210 reads the generated paths 730 from the storage unit 220. (2) The control unit 210 executes a merging process to merge the paths 730. (3) The control unit 210 stores the merged paths 730 in the storage unit 220.
[0127] According to the fifth aspect of the information processing method, it can be suitably used for a circular three-dimensional object.
[0128] 3-6. Information Processing Method 6 Fig. 15 is an activity diagram showing the flow of information processing executed by the information processing device 200. Fig. 16 is a diagram showing an example of the activity processing in Fig. 15. Each process described in Section 3-6 is included in the process of generating a tool path. The following will be explained along with each activity in this activity diagram.
[0129] First, the control unit 210 in the information processing device 200 acquires three-dimensional shape data 800 representing the target shape of a three-dimensional object to be formed by the construction 3D printer 300 (activity A610). The three-dimensional shape data 800 may be read (acquired) from the storage unit 220, received (acquired) from another information processing device, or transferred (acquired) from a recording medium such as a USB memory. Rephrasing this activity as a step, in the acquisition step, the three-dimensional shape data 800 representing the target shape of a three-dimensional object to be formed by the construction 3D printer 300 is acquired.
[0130] In activity A610, for example, the following two-stage information processing is executed: (1) The communication unit 250 acquires the three-dimensional shape data 800 transmitted from another information processing device. (2) The control unit 210 stores the acquired three-dimensional shape data 800 in the storage unit 220.
[0131] Next, the control unit 210 in the information processing device 200 performs structural calculation of the three-dimensional object based on the three-dimensional shape data 800 and the reference information (activity A620). Here, the reference information is information indicating the relationship between the three-dimensional shape data and the results of the structural calculation. The reference information may be a trained model that has been trained using the relationship between the three-dimensional shape data and the results of the structural calculation as training data. In other words, this activity is a step, and in the calculation step, structural calculation of the three-dimensional object is performed based on the three-dimensional shape data 800 and the trained model (reference information).
[0132] In activity A620, for example, the following three-stage information processing is performed: (1) The control unit 210 reads the acquired three-dimensional shape data 800 from the storage unit 220. (2) The control unit 210 executes arithmetic processing and performs structural calculations of a three-dimensional object with the three-dimensional shape data 800 as the target shape. (3) The control unit 210 stores the results of the structural calculations in the storage unit 220.
[0133] Next, the control unit 210 in the information processing device 200 generates display information 810 suggesting modifications to the three-dimensional shape data 800 based on the results of the structural calculations (activity A630). If the structural strength of the three-dimensional structure whose target shape is the three-dimensional shape data 800 is low, display information 810 stating "The structural strength appears to be low. Please increase the wall thickness by 5 cm" is displayed, as shown in FIG. 16. The display information 810 may be in an intuitively understandable form, such as letters, symbols, signs, or designs, or may be in a more specialized form, such as a compiler warning. In other words, this activity can be expressed as steps. In the generation step, display information 810 suggesting modifications to the three-dimensional shape data 800 is generated based on the results of the structural calculations.
[0134] According to the sixth aspect of the information processing method, even a user who is unfamiliar with creating three-dimensional shape data can reduce the burden of creating three-dimensional shape data through appropriate feedback. This leads to an easier improvement than ever before in the accuracy of the shape of a three-dimensional object created by the construction 3D printer 300.
[0135] 17 is an activity diagram showing the flow of information processing executed by the construction 3D printer 300. This information processing shows a method for manufacturing a three-dimensional object executed by the construction 3D printer 300. The following will be explained along with each activity in this activity diagram.
[0136] First, the control unit 310 of the construction 3D printer 300 acquires the G-code transmitted in activity A170 (activity A710). This G-code corresponds to the tool path generated in activity A140. If this activity is expressed as a step, the acquisition step acquires the tool path generated by the program of this embodiment.
[0137] In activity A710, for example, the following two-stage information processing is executed: (1) The communication unit 350 receives the G-code transmitted from the information processing device 200. (2) The control unit 310 stores the received G-code in the storage unit 320.
[0138] Next, the control unit 310 of the construction 3D printer 300 ejects the modeling material from the nozzle 370 (activity A720). The modeling material may be a powder or paste material that mineralizes through a hydration reaction, a polymerization reaction, or firing, and may be, for example, mortar, concrete, or a ceramic material. In other words, this activity is expressed as a step, and in the nozzle control step, the modeling material is ejected from the nozzle 370 of the construction 3D printer 300.
[0139] In activity A720, for example, the following four stages of information processing are executed: (1) The control unit 310 sends an open signal to the nozzle 370 via the communication bus 360. (2) The nozzle 370 opens its tip. (3) The control unit 310 sends a supply signal to a supply pump (not shown) via the communication bus 360. (4) The nozzle 370 ejects the modeling material supplied from the supply pump from its tip.
[0140] Next, the control unit 310 in the construction 3D printer 300 controls the operation of the nozzle 370 according to the tool path and moves the nozzle 370 (activity A730). In other words, this activity can be expressed as a step, in the nozzle control step, the nozzle 370 is moved according to the tool path. That is, in the nozzle control step, the operation of the nozzle 370 is controlled according to the tool path.
[0141] In activity A730, for example, the following two-stage information processing is performed: (1) The control unit 310 reads the received G-code from the storage unit 320. (2) The control unit 310 performs a movement process to move the nozzle 370 according to the tool path. The control unit 310 also performs a control process to control the operation of the nozzle 370 according to the tool path.
[0142] Next, the control unit 310 of the construction 3D printer 300 determines whether the nozzle 370 has been moved along all of the tool paths (activity A740). If the nozzle 370 has been moved along all of the tool paths, the control unit 310 determines that the three-dimensional object has been formed and ends the processing of activity A740. If the nozzle 370 is moving along the tool paths, the control unit 310 continues to move the nozzle 370.
[0143] In this way, the three-dimensional object is manufactured by the manufacturing method shown in activities A710 to A740.
[0144] According to the information processing method 7, since the tool path generated by the program of this embodiment is used, it is possible to provide a three-dimensional object with a more aesthetic appearance than ever before, and also a three-dimensional object with a higher structural strength than ever before.
[0145] 3-8. Summary Construction 3D printers are subject to various constraints due to the nature of the modeling materials they handle. The nozzles used in construction 3D printers have difficulty opening and closing their tips frequently due to the nature of the modeling materials they dispense. Therefore, when using construction 3D printers to create 3D objects, it is desirable to minimize the impact on the appearance of the nozzles due to local clumps caused by nozzle travel and acceleration / deceleration.
[0146] With this knowledge of construction 3D printers in mind, the inventors have come to the realization that in order to fully utilize the performance of a construction 3D printer, it is preferable to satisfy the following four conditions as much as possible: (1) The interior of the 3D object must be sufficiently filled with the modeling material. (2) A tool path must be generated that is drawn in one stroke. (3) The number of turning points in the tool path must be reduced. (4) The tool path must be adaptable to 3D objects of various shapes. By satisfying these four conditions, it is possible to improve the accuracy of the shape of the 3D object compared to conventional methods. After extensive research, the inventors have come up with the aspect of this embodiment.
[0147] The above conditions (1) to (4) are executed in the adjustment process of activity A130. Condition (1) is satisfied by executing a process to increase the internal filling rate of the three-dimensional object. Condition (1) ensures that the interior of the three-dimensional object is sufficiently filled with modeling material, thereby suppressing a decrease in structural strength due to voids inside the three-dimensional object. Condition (2) reduces nozzle travel, thereby eliminating the impact of local clumps on the appearance. Condition (3) reduces nozzle acceleration and deceleration, thereby eliminating the impact of local clumps on the appearance.
[0148] According to this aspect of the present embodiment, the accuracy of the shape of a 3D object produced by the construction 3D printer 300 can be improved compared to conventional techniques. Therefore, this aspect of the present embodiment improves the technical field of construction 3D printers. Furthermore, this aspect of the present embodiment does not require the preparation of special equipment to satisfy the above conditions, and therefore can improve the functionality of a computer with a simple configuration. That is, this aspect of the present embodiment can improve the functionality of a computer to achieve at least one of the following (1) to (4): (1) It is possible to increase the speed of computer processing. (2) It is possible to achieve power savings for the computer. (3) It is possible to increase the communication speed of the computer. (4) The resources saved in the computer can be used for other core functions.
[0149] Here, in the various prior art technologies disclosed in Patent Documents 2 and 3, there is no idea of resolving the various constraints that arise in construction 3D printers due to the properties of the modeling materials used. For example, Patent Document 2 discloses generating a single-stroke path, but does not consider resolving other constraints. Patent Document 3 discloses taking into account the design thickness and the actual thickness of the structure, but does not consider resolving issues specific to construction 3D printers. In contrast, the present embodiment is advantageous in that it can fully utilize the performance of construction 3D printers by satisfying the above four conditions.
[0150] Although the embodiment of the present invention has been described above, the present invention is not limited to this and can be modified as appropriate within the scope of the technical idea of the invention.
[0151] 4. Modifications Modifications of this embodiment will be described in Section 4. The following modifications can be combined as appropriate.
[0152] The control unit 210 performs writing (storing) and reading processes for various data and information in the memory unit 220, but this is not limited to this, and for example, the information processing for each activity may be performed using a register or cache memory within the control unit 210.
[0153] The processing order of activities A130 and A140 may be variously executed, and processing may alternate between activities A130 and A140, for example, activities A130, A140, A130, A140.
[0154] Activity A270 may be any process that integrates the respective round-trip paths 540. For example, the tool path may be generated by integrating the outer contour and the respective round-trip paths. According to this aspect, a single-stroke tool path can be generated for three-dimensional objects of various shapes and for three-dimensional objects having isolated islands.
[0155] The reference information in activity A620 may be any information that indicates the relationship between the three-dimensional shape data and the results of structural calculations, and may be a database that stores lookup tables, a function that represents the correspondence of values that depend on certain variables, a mathematical model that mathematically relates multiple pieces of information, etc.
[0156] The trained model used in activity A620 may be retrained as appropriate.
[0157] It may be difficult to generate a tool path that can be drawn in one stroke using a single modeling layer. In this case, a tool path may be generated using two or more modeling layers. In other words, in the generation step, a tool path may be generated that spans a first modeling layer, which is a layer that is formed corresponding to a first height of the nozzle 370, and a second modeling layer, which is a layer that is formed corresponding to a second height different from the first height of the nozzle 370. Here, the tool path is a movement path along which the nozzle 370 moves in the order of the first modeling layer, the second modeling layer, and the first modeling layer. According to this aspect, a tool path that can be drawn in one stroke can be generated more reliably.
[0158] If it is difficult to generate a tool path that follows a single stroke, the nozzle 370 may be made to travel. In this case, the tool path may include a path that starts from the outer contour and moves the nozzle 370 to a distant position in the slice data so as to detour around the outside of the outer contour. In other words, such a tool path can avoid the impact of clumps on the three-dimensional object caused by the continuous ejection of the modeling material when the nozzle 370 travels. Therefore, according to this embodiment, the impact of the traveling nozzle 370 on the aesthetic appearance of the three-dimensional object can be reduced.
[0159] As another mode of traveling the nozzle 370, the tool path may include a path that starts from the infill and moves the nozzle to a distant position within the slice data. This mode makes it possible to avoid impacts on the aesthetics of the three-dimensional object, such as cuts and stringiness caused by lag when the nozzle opens and closes.
[0160] In the information processing method 6 of this embodiment, an example has been described in which display information suggesting modification of three-dimensional shape data is generated based on the results of structural calculations, but the present invention is not limited to this. In the generating step, information for modifying the three-dimensional shape data may be generated based on the results of structural calculations. This aspect can assist in the creation of three-dimensional shape data from the perspective of the structural strength of the three-dimensional object. For example, in the generating step, new three-dimensional shape data in which ribs are added to the three-dimensional shape data may be generated based on the results of structural calculations. This aspect reinforces each part of the three-dimensional object during modeling, thereby preventing distortion or collapse of each part during modeling and providing a countermeasure against water pressure when pouring ready-mixed concrete.
[0161] In the adjustment process, the tool paths in adjacent layers in the modeling direction may be adjusted so that they have a relative angle greater than 0. According to this aspect, the tool paths in adjacent layers do not overlap, which improves adhesion between layers and peel strength.
[0162] The aspects of activities A150 to A160 are not limited to the aspects described in this embodiment. For example, in the correction step, a tool path may be generated for the region by changing the direction of the tool path. That is, the tool path generated by default may be retained, and a new tool path having a different direction from the tool path may be generated. According to this aspect, it is possible to increase the filling rate of the non-discharge width multiple region by a simple path, rather than adjusting the filling using the F value or E value.
[0163] In the generating step, a tool path incorporating ribs may be generated. According to this aspect, the structural strength of the three-dimensional object during the manufacturing process can be improved.
[0164] Here, the rib may be configured to contact two parts that constitute a part or the whole of the three-dimensional object. As a result, the two parts may be configured with four surfaces by the rib. According to this aspect, the strength of the parts during transportation can be improved.
[0165] In the above case, in the generating step, ribs may be provided in a location other than the vicinity of the top surface of the three-dimensional object. According to such an embodiment, it is possible to improve the efficiency of pouring ready-mixed concrete, save materials, and improve the integrity of the top surface.
[0166] 5. Others The present invention may be provided in the following forms.
[0167] (1) A program used in a construction 3D printer, the program being configured to cause a computer to execute an acquisition step, a division step, and a generation step, wherein in the acquisition step, three-dimensional shape data representing a target shape of a three-dimensional object to be formed by the construction 3D printer is acquired, and in the division step, a part or all of the three-dimensional shape data is divided into a plurality of slice data, the slice data being data having an arbitrary thickness in the forming direction of the three-dimensional object, and the slice data having an external contour corresponding to the outer surface of the three-dimensional object, and in the generation step, a tool path being a movement path of a nozzle used in the construction 3D printer is generated, and the process of generating the tool path includes an adjustment process of adjusting the target shape of the three-dimensional object based on the slice data.
[0168] According to this aspect, it is possible to improve the accuracy of the shape of a 3D object produced by a construction 3D printer compared to conventional methods. In addition, because of the simple configuration, the saved resources can be used for other core functions.
[0169] (2) In the program described in (1) above, the adjustment process executes at least one of a process for increasing the internal filling rate of the three-dimensional object, a process for generating the tool path in a single stroke, and a process for reducing the number of corners in the tool path.
[0170] According to this aspect, it is possible to improve the accuracy of the shape of a three-dimensional object produced by a construction 3D printer compared to conventional methods.
[0171] (3) In the program described in (1) or (2) above, the adjustment process executes a search process that moves search data inside the external contour, the search data is defined to have a diameter twice the diameter of the nozzle, the search process is a process that moves the search data so as not to overlap the trajectory of the search data, the adjustment process executes the search process until the search data becomes impossible to move, and when the search data becomes impossible to move, the adjustment process executes the search process again from another position, and in the generation step, when there is no area in the slice data in which the search data can move, a round-trip path that is a path that the nozzle can move back and forth on for each of the trajectories is generated, and in the generation step, the external contour and each of the round-trip paths are integrated to generate the tool path.
[0172] According to this aspect, a tool path can be generated in one stroke for three-dimensional objects of various shapes and for three-dimensional objects having remote islands.
[0173] (4) In the program described in (3) above, the search process includes a process of moving the search data so as to follow the inner surface of the external contour, and a process of moving the search data so as to follow the inner surface of the trajectory.
[0174] According to this aspect, it is possible to generate a tool path that can be drawn in one stroke while preferentially filling in the periphery of the outer wall.
[0175] (5) The program described in (3) or (4) above is further configured to cause a computer to execute a placement step, in which judgment data is placed on the external contour and the trajectory at a predetermined interval, the judgment data is data for determining contact with the search data, the predetermined interval is an interval smaller than the diameter of the search data, and in the adjustment process, when the search data and the judgment data come into contact, the direction of travel of the search data is changed to move the search data.
[0176] According to this aspect, the search data can be moved so as not to penetrate the outer contour of the slice data.
[0177] (6) In the program described in (1) or (2) above, the adjustment process generates a parallel path that is a path parallel to the external contour at a position away from the external contour by the diameter of the nozzle, cuts the parallel path at points where it intersects with the parallel path or the external contour, or at points where it shows a bend of a predetermined angle or more, leaves a longest path that is the longest of the cut parallel paths that are located inside the external contour, and deletes the other cut parallel paths, generates a further parallel path at a position away from the external contour by the diameter of the nozzle, and generates a further parallel path that is a path parallel to the longest path at a position away from the longest path by the diameter of the nozzle, the adjustment process is performed until it becomes impossible to generate a new parallel path, and the generation step integrates the external contour and each of the longest paths to generate the tool path.
[0178] According to this aspect, it is possible to generate a tool path with fewer turning angles, which reduces the acceleration and deceleration of the nozzle, thereby preventing a decrease in the accuracy of the shape of the three-dimensional object due to the acceleration and deceleration of the nozzle.
[0179] (7) In the program described in (1) or (2) above, in the adjustment process, a plurality of paths that are part of the movement path of the nozzle are generated in the slice data, and in the adjustment process, each of the paths is cut at a point that shows the largest angle among the paths, and in the generation step, a first end that is one end of the path is connected to a second end that is one end of another of the paths, thereby integrating the plurality of paths and generating the tool path.
[0180] According to this aspect, the aesthetic appearance of the three-dimensional object can be improved by reducing the number of tool path corners that come on flat surfaces.
[0181] (8) In the program described in (1) or (2) above, in the adjustment process, a polar coordinate system with the center of the slice data as the origin is used to generate multiple paths that are part of the nozzle movement path so as to overlap concentric circles centered on the origin, and in the generation step, the multiple paths are integrated to generate the tool path.
[0182] According to this aspect, the present invention can be suitably used for a circular three-dimensional object.
[0183] (9) A program according to any one of (1) to (8) above, wherein in the adjustment process, for each path generated in the process of generating the tool path, the path is rotated so that a third end, which is one end of the path, and a fourth end, which is one end of another of the path, are brought close to each other, and in the generation step, the third end and the fourth end are connected to integrate the respective paths and generate the tool path.
[0184] According to this aspect, a complex tool path can be generated while ensuring a single stroke.
[0185] (10) In the program described in (1) or (2) above, in the generation step, the tool path is generated across a first modeling layer, which is a layer modeled corresponding to a first height of the nozzle, and a second modeling layer, which is a layer modeled corresponding to a second height different from the first height of the nozzle, and the tool path is a movement path for moving the nozzle in the order of the first modeling layer, the second modeling layer, and the first modeling layer.
[0186] According to this aspect, a tool path can be generated in one stroke more reliably.
[0187] (11) In the program described in any one of (1) to (10) above, the tool path is a path that moves the nozzle in the infill in the modeling direction when moving the nozzle from a third modeling layer, which is a layer that is modeled corresponding to the third height of the nozzle, to a fourth modeling layer, which is a layer that is modeled corresponding to a fourth height of the nozzle that is different from the third height.
[0188] According to this aspect, it is possible to reduce the influence of clumps that tend to occur when the nozzle Z-hops.
[0189] (12) In the program described in (11) above, the tool path is a path that moves the nozzle so as to vary the coordinates parallel to the forming layer when moving the nozzle in the forming direction.
[0190] According to this aspect, it is possible to prevent clumps from forming locally, which tend to occur when the nozzle Z-hops.
[0191] (13) A program according to (11) or (12) above, wherein the tool path is a path that moves the nozzle so as to form the external contour before the infill in the same layer.
[0192] According to this aspect, the occurrence of clumps in the outer wall portion can be reduced, thereby improving the aesthetic appearance of the three-dimensional model compared to conventional methods.
[0193] (14) In the program described in (13) above, the tool path is a path along which the nozzle moves starting from the infill.
[0194] According to this aspect, since the external contour is not used as the starting point, it is possible to avoid overfilling during Z-hop. Also, it is possible to avoid the influence on the modeling quality due to fluctuations in the nozzle movement during Z-hop.
[0195] (15) In the program described in (13) or (14) above, the adjustment process adjusts the movement path of the nozzle so as to preferentially assign conditions that are advantageous for ensuring the accuracy of the shape of the three-dimensional object to a location specified in the outer contour.
[0196] According to this aspect, it is possible to assign advantageous conditions to a location where it is necessary to prioritize the finished dimensions and aesthetic appearance.
[0197] (16) In the program described in any one of (11) to (15) above, the adjustment process adjusts the connection point between the infill and the external contour.
[0198] According to this aspect, it is possible to adjust the location of wrinkles that occur at the connection points.
[0199] (17) In the program described in any one of (1) to (16) above, in the division step, the thickness of the plurality of slice data is reduced according to the dimensions of each part that constitutes part or all of the three-dimensional object.
[0200] According to this aspect, by adjusting the height direction for a plurality of layers, it is possible to express the final height dimension of a three-dimensional object, which is difficult to express with a specified height.
[0201] (18) A program described in any one of (1) to (17) above, wherein the adjustment process adjusts each tool path in adjacent layers in the building direction so that they have an angle greater than 0 degrees relative to each other.
[0202] According to this aspect, the tool paths in adjacent layers do not overlap, which improves adhesion between layers and peel strength.
[0203] (19) A program according to any one of (1) to (18) above, further configured to cause a computer to execute a determination step and a correction step, wherein the determination step determines an area where the filling rate of the modeling material ejected from the nozzle moving along the tool path is insufficient, and the correction step performs at least one of the following corrections for the area: position correction of the tool path, correction of the moving speed of the nozzle, and correction of the diameter of the nozzle.
[0204] According to this aspect, a tool path that can be drawn in one stroke can be generated more reliably even for a shape that is difficult to draw in one stroke.
[0205] (20) A program according to any one of (1) to (19) above, further configured to cause a computer to execute a determination step and a correction step, wherein the determination step determines an area where the filling rate of the modeling material ejected from the nozzle moving along the tool path is insufficient, and the correction step further generates a tool path for the area by changing the direction of the tool path.
[0206] According to this aspect, it is possible to increase the filling rate of the non-multiple discharge width region by a simple pass, rather than adjusting the filling rate by the F value or E value.
[0207] (21) A program according to any one of (1) to (20) above, wherein the tool path includes a path that starts from the external contour and moves the nozzle to a distant position within the slice data so as to bypass the outside of the external contour.
[0208] According to this aspect, even when nozzle traveling is required, it is possible to reduce the impact of clumps on the aesthetic appearance of the three-dimensionally shaped object.
[0209] (22) A program according to any one of (1) to (20) above, wherein the tool path includes a path that moves the nozzle from an infill as a starting point to a distant position within the slice data.
[0210] According to this aspect, it is possible to avoid the effects on the aesthetic appearance of the three-dimensional object caused by cuts or stringiness due to the lag caused by opening and closing the nozzle.
[0211] (23) A program according to any one of (1) to (22) above, wherein the adjustment process applies a fillet to a corner of the tool path.
[0212] According to this aspect, it is possible to reduce the acceleration and deceleration of the nozzle movement when going around a corner, thereby making the nozzle movement when going around a corner smoother.
[0213] (24) A program according to any one of (1) to (23) above, wherein the generation step generates the tool path so as to avoid the position of an object to be placed on the three-dimensional object, and the object is an object other than a molding material used in forming the three-dimensional object, and is an object to be placed on the three-dimensional object.
[0214] According to this aspect, dimensional errors in the three-dimensional object can be avoided by using a tool path that takes into consideration the volume and position of the object to be mounted in advance.
[0215] (25) A program according to any one of (1) to (24) above, wherein the generation step generates the tool path incorporating a rib, the rib being configured to contact two parts that constitute part or all of the three-dimensional object, and the two parts being configured by four surfaces due to the rib.
[0216] According to this aspect, the strength of the parts during transportation can be improved.
[0217] (26) A program used in a construction 3D printer, the program being configured to cause a computer to execute an acquisition step, a calculation step, and a generation step, wherein the acquisition step acquires three-dimensional shape data representing a target shape of a three-dimensional object to be formed by the construction 3D printer, the calculation step performs structural calculation of the three-dimensional object based on the three-dimensional shape data and reference information, the reference information being information indicating the relationship between the three-dimensional shape data and the results of the structural calculation, and the generation step generates information for modifying the three-dimensional shape data based on the results of the structural calculation.
[0218] According to this aspect, it is possible to assist in creating three-dimensional shape data from the viewpoint of the structural strength of the three-dimensional object.
[0219] (27) In the program described in (26) above, the generating step generates display information suggesting correction of the three-dimensional shape data based on the results of the structural calculation.
[0220] According to this aspect, even a user who is unfamiliar with creating 3D shape data can reduce the burden of creating 3D shape data through appropriate feedback, thereby improving the accuracy of the shape of a 3D object created by a construction 3D printer compared to conventional methods.
[0221] (28) In the program described in (26) or (27) above, in the generation step, new three-dimensional shape data is generated by adding ribs to the three-dimensional shape data based on the results of the structural calculation.
[0222] According to this aspect, each part of the three-dimensional object is reinforced during its creation, which prevents distortion or collapse of each part during the creation process and also serves as a countermeasure against water pressure when pouring the ready-mixed concrete.
[0223] (29) The program according to (28) above, wherein the generating step adds the ribs to a location other than near the top surface of the three-dimensional object.
[0224] According to this embodiment, it is possible to improve the efficiency of pouring ready-mixed concrete, save on materials, and improve the integrity of the ceiling surface.
[0225] (30) A manufacturing method for a three-dimensional object, executed by a construction 3D printer, comprising an acquisition step and a nozzle control step, wherein the acquisition step acquires a tool path generated by a program described in any one of (1) to (26) above, the nozzle control step ejects a modeling material from a nozzle in the construction 3D printer, the modeling material being a powder or paste material that mineralizes via a hydration reaction, a polymerization reaction, or firing, and the nozzle control step controls the operation of the nozzle according to the tool path.
[0226] According to this aspect, it is possible to improve the accuracy of the shape of a 3D object produced by a construction 3D printer compared to conventional methods. In addition, because of the simple configuration, the saved resources can be used for other core functions.
[0227] (31) A three-dimensional object manufactured by the manufacturing method according to (30) above.
[0228] According to this aspect, it is possible to provide a three-dimensional object that has a more aesthetic appearance than conventional three-dimensional objects. It is also possible to provide a three-dimensional object that has a higher structural strength than conventional three-dimensional objects. Of course, this is not a limitation.
[0229] 100: System, 200: Information processing device, 210: Control unit, 211: Acquisition unit, 212: Division unit, 213: Processing unit, 214: Generation unit, 215: Placement unit, 216: Measurement unit, 217: Identification unit, 218: Correction unit, 219: Calculation unit, 220: Storage unit, 230: Display unit, 240: Input unit, 250: Communication unit, 260: Communication bus, 300: Construction 3D printer, 310: Control unit, 311: Acquisition unit, 312: Nozzle control unit, 320: Memory unit, 350: Communication unit, 360: Communication bus, 370: Nozzle, 400: Slice data, 410: External contour, 420: Tool path, 421: Path, 422: Path, 423: Path, 430: Area, 440: External contour, 450: Tool path, 510: External contour, 511: External contour, 512: External contour, 520: Search data, 521: Search data, 522 : Search data, 530: Trajectory, 533: Trajectory, 534: Trajectory, 535: Trajectory, 540: Round trip path, 543: Round trip path, 544: Round trip path, 545: Round trip path, 551: Integrated part, 552: Integrated part, 553: Integrated part, 554: Integrated part, 561: Start point, 562: End point, 610: Path seed, 611: Path seed, 612: Path seed, 613: Path seed, 620: Parallel path, 621: Parallel path, 622: Parallel path, 623: Parallel path, 624: Parallel path, 630: Cutting path, 631: Longest path, 632: Cutting path, 633: Cutting path, 634: Cutting path, 635: Cutting path, 636: Cutting path, 640: Parallel path, 650: Path seed, 660: Tool path, 710: External contour, 720: Origin, 730: Path, 800: Three-dimensional shape data, 810: Display information
Claims
1. A program used in a construction 3D printer, the program being configured to cause a computer to execute an acquisition step, a division step, and a generation step, wherein in the acquisition step, three-dimensional shape data representing a target shape of a three-dimensional object to be produced by the construction 3D printer is acquired, in the division step, a part or all of the three-dimensional shape data is divided into a plurality of slice data, the slice data being data having an arbitrary thickness in the production direction of the three-dimensional object, the slice data having an external contour corresponding to the outer surface of the three-dimensional object, in the generation step, a tool path being generated which is a movement path of a nozzle used in the construction 3D printer, and the process of generating the tool path includes an adjustment process for adjusting the target shape of the three-dimensional object based on the slice data.
2. A program according to claim 1, wherein the adjustment process executes at least one of a process for increasing the internal filling rate of the three-dimensional object, a process for generating the tool path in a single stroke, and a process for reducing corners in the tool path.
3. A program according to claim 1 or 2, wherein the adjustment process executes a search process which is a process of moving search data inside the external contour, the search data is defined to have a diameter twice the diameter of the nozzle, the search process is a process of moving the search data so as not to overlap a trajectory of the search data, the adjustment process executes the search process until the search data becomes unmovable, and when the search data becomes unmovable, the adjustment process further executes the search process from another position, and when there is no more area in the slice data where the search data can move, the generation step generates a round trip path which is a path the nozzle can travel back and forth for each of the trajectories, and the generation step integrates the external contour and each of the round trip paths to generate the tool path.
4. A program according to claim 3, wherein the search process includes a process of moving the search data so as to follow the inner surface of the external contour, and a process of moving the search data so as to follow the inner surface of the locus.
5. A program as claimed in claim 3 or 4, further configured to cause a computer to execute a placement step, in which judgment data is placed on the external contour and the trajectory at a predetermined interval, the judgment data being data for determining contact with the search data, the predetermined interval being smaller than a diameter of the search data, and in which, in the adjustment process, if the search data and the judgment data come into contact with each other, the direction of travel of the search data is changed to move the search data.
6. A program according to claim 1 or 2, wherein the adjustment process generates a parallel path that is a path parallel to the external contour at a position away from the external contour by the diameter of the nozzle; the adjustment process cuts the parallel path at a point where it intersects with the parallel path or the external contour, or at a point showing a bend of a predetermined angle or more; the adjustment process leaves a longest path that is the longest of the cut parallel paths and deletes the other cut parallel paths among the cut parallel paths that are located inside the external contour; the adjustment process further generates a parallel path at a position away from the external contour by the diameter of the nozzle, and further generates a parallel path that is parallel to the longest path at a position away from the longest path by the diameter of the nozzle; the adjustment process is executed until it becomes impossible to generate a new parallel path; and the generation step generates the tool path by integrating the external contour and each of the longest paths.
7. A program as claimed in claim 1 or 2, wherein the adjustment process generates a plurality of paths in the slice data which are part of the movement path of the nozzle, the adjustment process cuts each of the paths at a point which shows the largest angle among the paths, and the generation step integrates the plurality of paths by connecting a first end which is one end of one of the paths to a second end which is one end of another of the paths, thereby generating the tool path.
8. A program as claimed in claim 1 or 2, wherein the adjustment process uses a polar coordinate system with the centre of the slice data as its origin to generate a plurality of paths which are part of the nozzle's movement path so as to overlap concentric circles centred on the origin, and the generation step integrates the plurality of paths to generate the tool path.
9. A program as claimed in any one of claims 1 to 8, wherein in the adjustment process, for each path generated in the process of generating the tool path, the path is rotated so that a third end, which is one end of the path, and a fourth end, which is one end of another of the paths, are brought close to each other; and in the generation step, the third end and the fourth end are connected to integrate the respective paths and generate the tool path.
10. A program as described in claim 1 or 2, wherein in the generation step, the tool path is generated across a first modeling layer, which is a layer that is modeled corresponding to a first height of the nozzle, and a second modeling layer, which is a layer that is modeled corresponding to a second height different from the first height of the nozzle, and the tool path is a movement path for moving the nozzle in the order of the first modeling layer, the second modeling layer, and the first modeling layer.
11. A program according to any one of claims 1 to 10, wherein the tool path is a path that moves the nozzle in the printing direction in infill when moving the nozzle from a third printing layer, which is a layer printed corresponding to the third height of the nozzle, to a fourth printing layer, which is a layer printed corresponding to a fourth height of the nozzle different from the third height.
12. A program according to claim 11, wherein the tool path is a path that moves the nozzle so as to vary a coordinate parallel to the modeling layer when the nozzle is moved in the modeling direction.
13. A program according to claim 11 or 12, wherein the tool path is a path for moving the nozzle so as to form the external contour before the infill in the same layer.
14. The program according to claim 13, wherein the tool path is a path along which the nozzle moves starting from the infill.
15. A program according to claim 13 or 14, wherein the adjustment process adjusts the movement path of the nozzle so as to preferentially assign conditions that are advantageous for ensuring the accuracy of the shape of the three-dimensional object to a location specified in the external contour.
16. The program according to any one of claims 11 to 15, wherein the adjustment process adjusts a connection point between the infill and the external contour.
17. A program according to any one of claims 1 to 16, wherein in the dividing step, the plurality of slice data are divided so as to reduce thicknesses according to dimensions of each part constituting a part or the entirety of the three-dimensional object.
18. A program according to any one of claims 1 to 17, wherein the adjustment process adjusts each of the tool paths in adjacent layers in the modeling direction so that they have an angle greater than 0 degrees relative to each other.
19. A program as claimed in any one of claims 1 to 18, further configured to cause the computer to execute a determination step and a correction step, in which the determination step determines an area in which the filling rate of the modeling material ejected from the nozzle moving along the tool path is insufficient, and the correction step performs at least one of the following corrections for the area: position correction of the tool path, correction of the moving speed of the nozzle, and correction of the diameter of the nozzle.
20. A program according to any one of claims 1 to 19, further configured to cause the computer to execute a determination step and a correction step, in which the determination step determines an area in which the filling rate of the modeling material ejected from the nozzle moving along the tool path is insufficient, and the correction step further generates a tool path for the area in which the direction of the tool path is changed.
21. A program according to any one of claims 1 to 20, wherein the tool path includes a path that starts at the outer contour and moves the nozzle to a distant position within the slice data so as to detour around the outside of the outer contour.
22. A program according to any one of claims 1 to 20, wherein the tool path includes a path that moves the nozzle from an infill to a remote position within the slice data.
23. The program according to any one of claims 1 to 22, wherein the adjustment process applies a fillet to a corner of the tool path.
24. A program as claimed in any one of claims 1 to 23, wherein in the generation step, the tool path is generated so as to avoid the position of an object to be placed on the three-dimensional object, the object being an object other than a modeling material used in forming the three-dimensional object, and being an object to be placed on the three-dimensional object.
25. A program according to any one of claims 1 to 24, wherein in the generation step, the tool path incorporating a rib is generated, the rib being configured to be in contact with two parts that constitute a part or all of the three-dimensional object, and the two parts are configured by four surfaces due to the rib.
26. A program used in a construction 3D printer, configured to cause a computer to execute an acquisition step, a calculation step, and a generation step, wherein in the acquisition step, three-dimensional shape data representing a target shape of a three-dimensional object to be produced by the construction 3D printer is acquired, in the calculation step, a structural calculation of the three-dimensional object is performed based on the three-dimensional shape data and reference information, the reference information being information indicating the relationship between the three-dimensional shape data and a result of the structural calculation, and in the generation step, information for modifying the three-dimensional shape data is generated based on the result of the structural calculation.
27. A program according to claim 26, wherein said generating step generates display information suggesting correction of said three-dimensional shape data based on the result of said structural calculation.
28. A program as claimed in claim 26 or 27, wherein said generating step generates new three-dimensional shape data by adding ribs to said three-dimensional shape data based on the results of said structural calculation.
29. A program according to claim 28, wherein in the generating step, the ribs are provided in a location other than near the top surface of the three-dimensional object.
30. A manufacturing method for a three-dimensional object executed by a construction 3D printer, comprising: an acquisition step; and a nozzle control step, wherein in the acquisition step, a tool path generated by a program according to any one of claims 1 to 26 is acquired; in the nozzle control step, a modeling material is ejected from a nozzle in the construction 3D printer, the modeling material being a powder or paste material that is mineralized via a hydration reaction, a polymerization reaction, or sintering; and in the nozzle control step, the operation of the nozzle is controlled in accordance with the tool path.
31. A three-dimensional object produced by the method according to claim 30.
Citation Information
Patent Citations
Information processing device, 3D printer system, information processing method, and computer program
JP2017109320A
Design system of structure, design method of structure and design program of structure
JP2017227977A
Mold form design device, mold form, concrete molding, mold form design system, and mold form design method
JP2018060361A
How to determine the toolpath for controlling the printing tool
JP2022542974A
Systems and methods for the construction of structures utilizing additive manufacturing techniques
US20200199862A1