This application claims priority pursuant to 35 U.S.C. §119(a) to Japanese Patent Application Nos. 2015-243409, filed on Dec. 14, 2015 and 2016-210974, filed on Oct. 27, 2016 in the Japan Patent Office, the disclosure of which are incorporated by reference herein in its entirety.
Technical Field
This disclosure relates to an information processing apparatus for an additive manufacturing system, an information processing method for the additive manufacturing system, and a storage medium of program.
Background Art
Three-dimensional (3D) printers can employ various methods, such as a fused deposition modeling (FDM) method, a stereolithography (STL) method, a selective laser sintering method, an inkjet method, and a projection method. For example, the fused deposition modeling (FDM) method is used as one example of an additive manufacturing method, in which a resin filament such as acrylonitrile butadiene styrene (ABS) and polylactic acid (PLA) is melted, and the melted filament is dispensed on a base plate based on data of each of layers to be added one to another. When the melted filament is dispensed on the base plate, the filament is cooled and becomes solid, forming one layer. Then, the melted filament is further dispensed on the already-formed layer to form another layer. The sequence of dispensing and solidifying the filament is performed repeatedly to form the layers one atop another.
When the FDM method is employed, thermal contraction occurs when the melted filament is cooled and becomes solid. Therefore, by adding the layers one atop another, the thermal contraction force caused by the upper layer pulls the lower layer upward, which is known as “warping.” If the warping force becomes greater than the adsorption force between the base plate and the lower layer, the lower layer warps upward as well, which is known as “deformation.”
JP-2001-328175-A discloses a technology to suppress warping, in which an adhesive layer is formed on a base plate and an optically formable object is formed on the adhesive layer. The adhesive layer is formed on the base plate by applying transparent resin to the base plate and curing the transparent resin. Then, an object is formed on the transparent adhesive layer, with which the base plate and the optically formable object formed on the base plate can be bonded firmly, so that warping can be reduced.
As to the 3D printers employing the FDM method, an adhesive tape can be pasted onto the base plate to suppress warping, in which the adhesive force that occurs from the adhesive tape is used to cancel the warping force so that warping is suppressed.
The adhesive force obtained by the adhesive layer or the adhesive tape varies depending on a contact area of a three dimensional (3D) model that contacts the adhesive layer or the adhesive tape. If the contact area is small, the adhesive force cannot be obtained effectively, and the adhesive force becomes smaller than the warping force, so that warping occurs in the optically formable object.
As a result, an orientation of the 3D model must be adjusted to a desirable orientation so that the adhesive force obtained by the adhesive layer or the adhesive tape becomes greater than the warping force caused by the thermal contraction. However, since many factors affect a process of identifying an orientation that does not cause the warping, users of 3D printers cannot review these factors easily, and further are required to rotate a 3D model to the identified orientation manually, which is time-consuming process.
As one aspect of the present disclosure, an information processing apparatus used for an additive manufacturing system is devised. The information processing apparatus includes a processor configured to calculate a contact area of a contact face of a three dimensional (3D) model that contacts a base member of an additive manufacturing apparatus, calculate an adhesive force that is to occur to the contact face of the 3D model and the base member, rotate the 3D model by changing an angle of the 3D model with respect to a 3D modeling area, calculate a warping force that is to occur to the 3D model when the 3D model is to be formed into a 3D object under each orientation set for the 3D model by rotating the 3D model by changing the angle of the 3D model with respect to the 3D modeling area, and search for a target orientation of the 3D model where the warping force becomes smaller than the adhesive force.
As another aspect of the present disclosure, a method of processing information for an additive manufacturing system is devised. The method includes calculating a contact area of a contact face of a three dimensional (3D) model that contacts a base member of an additive manufacturing apparatus, calculating an adhesive force that is to occur to the contact face of the 3D model and the base member, rotating the 3D model by changing an angle of the 3D model with respect to a 3D modeling area, calculating a warping force that is to occur to the 3D model when the 3D model is to be formed into a 3D object under each orientation set for the 3D model by rotating the 3D model by changing the angle of the 3D model with respect to the 3D modeling area, and searching for a target orientation of the 3D model where the warping force becomes smaller than the adhesive force.
As another aspect of the present disclosure, a non-transitory storage medium storing a program that, when executed by a computer, causes the computer to execute a method of processing information for an additive manufacturing system is devised. The method includes calculating a contact area of a contact face of a three dimensional (3D) model that contacts a base member of an additive manufacturing apparatus, calculating an adhesive force that is to occur to the contact face of the 3D model and the base member, rotating the 3D model by changing an angle of the 3D model with respect to a 3D modeling area, calculating a warping force that is to occur to the 3D model when the 3D model is to be formed into a 3D object under each orientation set for the 3D model by rotating the 3D model by changing the angle of the 3D model with respect to the 3D modeling area, and searching for a target orientation of the 3D model where the warping force becomes smaller than the adhesive force.
A more complete appreciation of the disclosure and many of the attendant advantages and features thereof can be readily obtained and understood from the following detailed description with reference to the accompanying drawings, wherein:
The accompanying drawings are intended to depict exemplary embodiments of the present disclosure and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted, and identical or similar reference numerals designate identical or similar components throughout the several views.
A description is now given of exemplary embodiments of the present disclosure. It should be noted that although such terms as first, second, etc. may be used herein to describe various elements, components, regions, layers and/or sections, it should be understood that such elements, components, regions, layers and/or sections are not limited thereby because such terms are relative, that is, used only to distinguish one element, component, region, layer or section from another region, layer or section. Thus, for example, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the present disclosure.
In addition, it should be noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. Thus, for example, as used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Moreover, the terms “includes” and/or “including”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Furthermore, although in describing views illustrated in the drawings, specific terminology is employed for the sake of clarity, the present disclosure is not limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner and achieve a similar result. Referring now to the drawings, a description is given one or more apparatuses or systems of one embodiment of the present disclosure.
A description is given of an additive manufacturing system of a first embodiment with reference to drawings. The additive manufacturing system includes, for example, an additive manufacturing apparatus such as a three dimensional (3D) printer and an information processing apparatus such as a personal computer (PC). The PC analyzes 3D data such as computer aided design (CAD) data of a three dimensional (3D) object, converts the 3D data, and transmits the converted 3D data (e.g., 3D modeling data such as tool path data) to the 3D printer. When the 3D printer receives the converted 3D data (e.g., 3D modeling data such as tool path data), the 3D printer adds layers of filament used for forming the 3D object based on the 3D modeling data. The PC performs data processing for generating the 3D modeling data to be transmitted to the 3D printer.
Further, when determining a position of the 3D model used for 3D modeling in the FDM method, the 3D model is rotated through all angles for each of x-axis, y-axis, and z-axis directions to calculate warping force caused by thermal contraction at the current orientation, and adhesive force obtained from the base plate. Then, an orientation of the 3D model where the warping force becomes smaller than the adhesive force (=warping force<adhesive force) is searched, and the 3D model is automatically rotated to the orientation that the warping force becomes smaller than the adhesive force. The orientation of the 3D model where the warping force becomes smaller than the adhesive force can be also referred to as a target orientation of the 3D model.
A description is given of a hardware configuration of the PC 1 with reference to
As illustrated in
The CPU 10 is a computing unit such as circuitry or a processor that controls the entire operation of the PC 1. The RAM 20 is a volatile memory, to and from which information can be read and written with a high speed, and the CPU 10 uses the RAM 20 as a working area when processing information or data. The ROM 30 is a non-volatile memory used as a read-only memory, in which various programs such as firmware can be stored. The HDD 40 is a non-volatile memory, to which information can be read and written. For example, the HDD 40 stores an operating system (OS), various control programs, and application programs.
The I/F 50 is connected or coupled to the bus 80, various units and networks, and controls the connection or coupling. The LCD 60 is a user interface that a user can check the status of the PC 1 visually. The operation unit 70 is a user interface such as a key board and a mouse that the user can input information to the PC 1. The operation unit 70 can be used as an input device in this description.
As to the above described hardware configuration of the PC 1, the CPU 10 performs computing by loading programs stored in the ROM 30, the HDD 40, and/or an external memory such as an optical disk on the RAM 20 to configure a software control unit or software controller. With a combination of the software control unit and the hardware, functional blocks required for the PC 1 can be devised.
A description is given of a configuration of the 3D printer 2 with reference to
The 3D printer 2 forms a 3D object by adding layers of filament based on 3D modeling data input from the PC1. Specifically, the PC1 generates so-called “slice data” of a cross-sectional shape of a 3D model of a 3D object by slicing 3D data of the 3D model. Then, the PC1 transmits the slice data to the 3D printer 2. Based on one slice data input from the PC1, the dispenser head 201 dispenses the filament for one layer, and then the dispenser head 201 dispenses the filament for another layers based on another slice data input from the PC1 to add layers of the filament, with which the 3D printer 2 forms the 3D object by adding the layers. More specifically, the dispenser head 201 dispenses the filament to positions corresponding to slice data, with which portions dispensed with the filament has a shape corresponding to the slice data. Therefore, the dispenser head 201 and the arm 202 can be collectively used as a filament dispensing unit that selectively dispenses the filament at positions determined by information of 3D object to be formed.
When the one filament layer is formed, another filament layer is further formed on the preceding filament layer. By repeating the process of forming the filament layers one by one, the plurality of filament layers are laminated on the base plate 211, and then the 3D object is formed on the base plate 211. The base plate 211 is used as a stage for dispensing the filament.
Further, the 3D printer 2 can also have information processing capability equivalent to the configuration of
A description is given of a block diagram of a controller of the 3D printer 2 with reference to
The printer controller 220 includes, for example, a main controller 221, a network controller 222, and a dispenser head driver 224. The main controller 221 controls the overall operation of the printer controller 220. The main controller 221 can be implemented when the CPU 10 executes computing based on an operating system (OS) and application programs. The network controller 222 is an interface used for communicating information between the 3D printer 2 and other apparatuses such as the PC 1. The network controller 222 employs, for example, Ethernet (registered trademark) and universal serial bus (USB) interfaces. The dispenser head driver 224 is driver software that controls a driving of the dispenser head 201. The dispenser head driver 224 controls the driving of the dispenser head 201 under the control of the main controller 221.
A description is given of a functional block diagram of the PC 1 with reference to
The PC controller 100 can be implemented by combining a software and a hardware, and the PC controller 100 controls the PC 1 entirely. As illustrated in
The 3D data application 110 is a software application such as a computer aided design (CAD) software that processes 3D data that defines a 3D shape of a 3D object. The 3D data converter 120 is used as 3D information processing unit that acquires the 3D data and converts the 3D data. Therefore, a program to implement the 3D data converter 120 is used as an information processing program.
The 3D data can be input to the 3D data converter 120 when the 3D data converter 120 acquires the 3D data input to the PC 1 via a network, or when the 3D data application 110 instructs the 3D data converter 120 to process the 3D data. Further, the 3D data converter 120 can acquire a file path data designated by the operation unit 70, in which a user may input the file path data.
The 3D data converter 120 analyzes the acquired 3D data, and performs data processing to convert the 3D data to 3D modeling data such as tool path data. The 3D data converter 120 generates the 3D modeling data that can reduce the gap between the filaments used for forming a 3D object when the 3D object defined by the input 3D data is formed on the base plate 211. Therefore, the PC1 having the 3D data converter 120 can be used as the information processing apparatus to be described later in detail.
The 3D printer driver 130 is a software module to operate the 3D printer 2 from the PC 1. The 3D printer driver 130 has a capability similar to typical 3D printer driver software. For example, the 3D printer driver 130 has a capability similar to a printer driver of a sheet printer. The 3D printer driver 130 generates data of cross-sectional shape of each layer of the 3D data of the 3D object as the slice data and transmits the slice data and control-use information to the 3D printer 2
A description is given of capabilities of the 3D data converter 120 with reference to
The movement control unit 121 controls a movement operation to move the 3D model to any position. Further, the movement control unit 121 controls a movement operation to move the 3D model to a position where the 3D model can fit within the 3D modeling area 45. Specifically, when the rotated 3D model extends beyond or exceeds from the 3D modeling area 45 while searching for an orientation of the 3D model that does not cause the warping, the movement control unit 121 moves the 3D model to a position where the 3D model can fit within the 3D modeling area 45 while maintaining the current orientation of the 3D model.
The position control unit 122 is used to detect whether the 3D model extends beyond the 3D modeling area 45. The position searching unit 123 is used to search for a position where the 3D model does not extend beyond the 3D modeling area 45. Based on a detection result of the position control unit 122 and a search result of the position searching unit 123, the movement control unit 121 moves the 3D model to any position.
The position control unit 122 controls an operation of correcting a position and orientation of the 3D model so that the 3D model does not extend beyond the 3D modeling area 45. Specifically, the position control unit 122 detects whether the 3D model extends beyond the 3D modeling area 45 based on polygon data of the 3D model at the current orientation, and maximum modeling size information of the 3D printer 2 corresponding to a size of the 3D modeling area 45.
The position searching unit 123 searches for a position of the 3D model that does not extend beyond the 3D modeling area 45 based on a reference position such as designated coordinate data used for searching for a position of the 3D model that does not extend beyond the 3D modeling area 45. Specifically, the position searching unit 123 executes an algorithm to instruct the position control unit 122 to move the 3D model, and the position searching unit 123 detects any excess at the position where the 3D model is moved thereto. Then, the position searching unit 123 searches for a position of the 3D model that does not extend beyond the 3D modeling area 45.
The maximum modeling size information of the 3D printer 2 can be prepared using any appropriate method. For example, the maximum modeling size information of the 3D printer 2 can be pre-set in the software 4 as a fixed parameter or the maximum modeling size information of the 3D printer 2 can be input manually
The orientation searching unit 124 searches for an orientation of the 3D model where the warping force that is to occur to the 3D model becomes smaller than the adhesive force that is to occur to the contact face of the 3D model.
The contact area calculation unit 125 calculates a contact area of a contact face of the 3D model that contacts the base plate 211 based on polygon data configuring the 3D model when the 3D model is set at the current orientation. Hereinafter, the contact area of the contact face of the 3D model that contacts the base plate 211 may be simply referred to as the contact area of the 3D model.
The adhesive force calculation unit 126 calculates the adhesive force that is to occur at the contact face of the 3D model. The adhesive force calculation unit 126 calculates the adhesive force based on the contact area of the 3D model, physical property of an adhesive tape set on the base plate 211 of the 3D printer 2, and temperature inside the 3D printer 2.
Since the adhesive force of the adhesive tape changes depending on temperature, information on the temperature inside the 3D printer 2 is required for calculating the adhesive force. The physical property information of the adhesive tape can be prepared using any appropriate method. For example, the physical property information of the adhesive tape can be pre-set in the software 4 as a fixed parameter, or the physical property information of the adhesive tape can be input manually when the process is to be performed.
The temperature information in the 3D printer 2 includes, for example, temperature information such as temperature of the base plate 211, temperature inside the 3D printer 2, and temperature of a device that melts the filament (i.e., temperature of dispensed filament). Since values of these three temperature are respectively maintained at constant values when the 3D printer 2 is forming a 3D object, the values of these three temperatures are respectively required to be prepared as parameters using any appropriate method. For example, the values of these three temperatures can be pre-set in the software 4 as a fixed parameter or the values of these three temperatures can be input manually.
The rotation control unit 127 rotates the polygon data configuring the 3D model with any angles to change the orientation of the 3D model.
The warping force calculation unit 128 calculates the warping force that is to occur to the 3D model when the 3D model is to be formed into a 3D object by setting one orientation. The warping force occurs due to thermal contraction of the filament. The warping force caused by thermal contraction varies depending on parameters such as physical property information of the filament such as contraction rate of the filament, information of temperature inside the 3D printer 2 when the 3D model is to be formed into a 3D object, and a shape of the 3D model. Therefore, the warping force calculation unit 128 calculates the warping force based on these parameters.
The physical property information of the filament can be prepared using any appropriate method. For example, the physical property information of the filament can be pre-set in the software 4 as a fixed parameter or the physical property information of the filament can be input manually.
The maximum object size that the 3D printer 2 can form an actual 3D object is limited by the dimensions of the 3D printer 2. Therefore, a three dimensional area such as the 3D modeling area 45 (see
As described above, the 3D data converter 120 calculates the contact area of the contact face of the 3D model and the warping force, rotates the 3D model, detects whether the 3D model extends beyond the 3D modeling area 45, and moves the 3D model so that the 3D can be fit within the 3D modeling area 45. When the 3D data converter 120 performs these processes, the results of these processes are applied to the 3D model data to be transmitted to the 3D printer driver 130.
Then, the 3D model is rotated with an angle corresponding to the rotation angle (θx, θy, θz) (step S101), and the warping prediction process is performed for the rotated 3D model (step S102). If the prediction result of the warping prediction process (step S102) is “warping” (step S103: YES), the rotation angle is changed to search for another orientation, and the 3D model is rotated by using the changed rotation angle, and then the warping prediction process (step S102) is performed again.
Specifically, the 3D model is rotated through 360 degrees for each of x-axis, y-axis, and z-axis to find an orientation that does not cause the warping. For example, each of the axes is fixed in the order of x→y→z, and the 3D model is rotated by incrementing the angle θz for z-axis by adding the increment of the rotation angle Δz (step S104: YES→S105→S101).
When the sequence from steps S101, S102, S103, S104 to S105 is repeated and the 3D model is rotated through 360 degrees about the z-axis (step S104: NO), the 3D model is rotated by incrementing the angle θy and setting zero for the angle θz (step S106: YES→S107→S108→S101). Then, when the sequence from steps S101, S102, S103, S104, S105, S106, S107 to S108 is repeated and the 3D model is rotated through 360 degrees about the y-axis (step S106: NO), the 3D model is rotated by incrementing the angle θx and setting zero for the angle θy and the angle θz (S109: YES→S110→S111→S112→S101). By performing the sequence from steps S101, S102, S103, S104, S105, S106, S109, S110, S111 to S112, an orientation of the 3D model that does not cause the warping is searched for the 3D model in the space defined by the x, y, and z axes.
If an orientation that does not cause the warping is not found after the 3D model is rotated through 360 degrees for the x-axis, y-axis, and z-axis, a feedback message indicating that an orientation not causing the warping is not found is reported out (step S113), wherein step S113 can be omitted. By performing steps S101 to S113, the automatic rotation of the 3D model is completed.
By contrast, if the prediction result of the warping prediction process (step S102) is “not warping” (step S103: NO), the 3D model is moved to contact the 3D model to the base plate 211 (step S114), in which the minimum value of z-axis is set zero. Further, when an orientation of the 3D model is automatically corrected to fit the 3D model within the 3D modeling area 45, the process of fitting the 3D model within the 3D modeling area 45 is performed (step S115), and then it is checked whether the 3D model fits within the 3D modeling area 45 (step S116).
If the 3D model fits within the 3D modeling area 45 (step S116: YES), it is determined that the 3D model is to be formed into a 3D object at the current orientation and position (step S117), with which the automatic rotation of the 3D model to set the orientation that does not cause the warping is completed.
If the orientation and position where the 3D model fits within the 3D modeling area 45 is not found (step S116: NO), it is determined that the 3D model cannot be formed into the 3D object at the current orientation and position, the sequence shifts to step S104 to search for another orientation, and then the above described sequence used for a case in which the prediction result is “warping” is performed. As described above, the orientation of the 3D model that does not cause the warping can be searched with enhanced precision.
As to the process of predicting the warping, an area size of the lowest layer of the 3D model, parallel to the x-y plane, is calculated as the contact area based on a 3D model data 51 set with the current orientation (step S201). Then, the adhesive force obtained for the contact area of the contact face of the 3D model is calculated based on the contact area 52, property of the adhesive tape, and the internal temperature of the 3D printer 2 (step S202).
Then, the “warping force” that is to occur to the contact face of the 3D model when the 3D model is formed as a 3D object under the current orientation is calculated (step S203). When one filament layer is formed on the base plate 211, and other filament layer is formed on the one filament layer already formed on the base plate 211, the warping force occurs by thermal contraction of the other filament layer. Therefore, information of the shape of the 3D model such as 3D model data, information of thermal contraction property of the filament, and information of the internal temperature of the 3D printer 2 that affects thermal contraction are required.
Then, the adhesive force calculated at step S202 and the warping force calculated at step S203 are compared (step S204). If the adhesive force is greater than the warping force (step S204: YES), it can be predicted that the warping will not occur, and a result of “not warping” is transmitted to the processing unit such as the CPU 10 (step S205), so that warping prediction process is completed. By contrast, if the adhesive force is smaller than the warping force (step S204: NO), it can be predicted that the warping will occur, and a result of “warping” is transmitted to the processing unit such as the CPU 10 (step S206), so that warping prediction process is completed.
As to the process of fitting the 3D model within the 3D modeling area 45, the 3D modeling area 45 that simulates the maximum modeling size information of the 3D printer 2 is generated based on the maximum modeling size information of the 3D printer 2. Specifically, the maximum and minimum coordinates data of polygon data configuring the 3D model data set with the current orientation are acquired for the x-axis, y-axis, and z-axis (step S301), and then it is determined whether these coordinates fit within the 3D modeling area 45 (step S302).
If it is determined that these coordinates fit within the 3D modeling area 45 (step S302: NO), a result of “not exceeding” is detected, and then a result that “3D model is fit in the 3D modeling area 45” is reported to the processing unit such as the CPU 10 (step S303), with which the fitting process is completed.
If these coordinates are not within the 3D modeling area 45, a result of “exceeding” is detected (step S302: YES). In this case, the searching process is performed to find a position where the 3D model does not extend beyond the 3D modeling area 45 so that the 3D model can fit within the 3D modeling area 45 (step S304). If the position where the 3D model does not extend beyond the 3D modeling area 45 is found, and the 3D model is moved to the concerned position (step S304: YES), a result of “coordinates are within the 3D modeling area 45” is reported to the processing unit such as the CPU 10 (step S306), with which the fitting process is completed. By contrast, if the position where the 3D model does not extend beyond the 3D modeling area 45 is not found (step S305: NO), a result of “coordinates are not within the 3D modeling area 45” is reported to the processing unit such as the CPU 10 (step S307), with which the fitting process is completed.
As to the searching process, the 3D model is moved to contact the 3D model on the base plate 211, in which z=0 is set (step S401). Then, it is checked whether the 3D model extends beyond the 3D modeling area 45 in the z-axis direction (steps S402, S403), in which coordinates of polygon data of the 3D model and z-axis coordinates of the 3D modeling area 45 are compared similar to the above described exceeding detection.
If it is checked that the 3D model extends beyond the 3D modeling area 45 in the z-axis direction (step S403: YES), even if the 3D model is moved to any position, a position where the 3D model does not extend beyond the 3D modeling area 45 does not exist. Therefore, a result of “a position where the 3D model does not exceed does not exist” is reported to the processing unit such as the CPU 10 (step S404), with which the searching process is completed.
By contrast, if it is checked that the 3D model does not extend beyond the 3D modeling area 45 in the z-axis direction (step S403: NO), the coordinates of the corner of the 3D modeling area 45 are extracted based on the maximum modeling size information (step S405). The coordinates of the corner means, for example, the minimum value in the x-axis and the minimum value in the y-axis. Since the 3D modeling area 45 may have four corners (e.g., one corner having the maximum value in the x-axis and the maximum value in the y-axis), any one of the four corners can be used to extract the coordinates of the corner of the 3D modeling area 45.
Then, the 3D model is moved to contact the 3D model to the extracted corner (step S406). Then, it is checked whether the 3D model extends beyond the 3D modeling area 45 when set at the concerned position corresponding to the extracted corner (steps S407 and S408). If the 3D model extends beyond the 3D modeling area 45 (step S408: YES), the 3D model set with the current orientation is not fit within the 3D modeling area 45, a result of “a position where the 3D model does not extend beyond the 3D modeling area 45 does not exist” is reported to the processing unit (step S409), with which the searching process is completed. By contrast, if the 3D model does not extend beyond the 3D modeling area 45 (step S408: NO), it means that the 3D model can be formed into a 3D object at the current position with the current orientation. Therefore, a result of “a position where the 3D model does not extend beyond the 3D modeling area 45 is found and the 3D model is moved” is reported to the processing unit such as the CPU 10 (step S410), with which the searching process is completed. As described above, the corner of the 3D modeling area 45 can be used as a reference when automatically searching for a position of the 3D model that does not extend beyond the 3D modeling area 45.
A description is given of another searching process as a second embodiment, in which a position designated by a user is used as a reference position to search for a position where the 3D model does not extend beyond the 3D modeling area 45, in which the reference position is used as a start position of the searching process. Specifically, a position where the 3D model does not extend beyond the 3D modeling area 45 is searched near the reference position designated by a user. The above-described
As to the searching process of
Then, the 3D model set at the reference position is moved for the calculated exceeding length, with which the 3D model is set at a new position shifted from the reference position (step S412), and then it is determined whether the 3D model extends beyond the 3D model area 45 again (steps S413 and S414). If the 3D model set at the new position does not extend beyond the 3D model area 45 (step S414: NO), the 3D model can be formed into a 3D object at the current orientation and position, and a result of “a position where the 3D model does not exceed is found and the 3D model is moved” is reported to the processing unit such as the CPU 10 (step S415), with which the searching process is completed.
By contrast, if the 3D model set at the new position extends beyond the 3D model area 45 (step S414: YES), a result of “a position where the 3D model does not exceed is not found” is reported to the processing unit such as the CPU 10 (step S409), with which the searching process is completed.
A description is given of another searching process as a third embodiment, in which an orientation that the 3D model does not exceed is searched by rotating the 3D model by setting a preliminary angle at first to estimate a preliminary orientation that may not cause the warping, and then a precision enhanced orientation that does not cause the warping is further searched near the preliminary orientation set with a preliminary angle. The searching process of the third embodiment is performed instead of the searching process of the first embodiment of
As to the third embodiment, the preliminary orientation that the 3D model does not extend beyond the 3D modeling area 45 is estimated at first, and then the precision enhanced orientation that does not cause the warping is further searched near the preliminary orientation, in which the searching orientation is narrowed down from the preliminary orientation to the precision enhanced orientation. The above-described
As to the third embodiment, the increment of the rotation angle (Δx, Δy, Δz) is set with the preliminary angle having a relatively greater value such as 5 degrees to 10 degrees. The increment of the rotation angle (Δx, Δy, Δz) can be set with any value by a user. Then, while rotating the 3D model by using the increment of the rotation angle (Δx, Δy, Δz) (step S501), the warping prediction process is performed (step S502) and a gap value of the adhesive force and the warping force (i.e., gap value=adhesive force−warping force) at the current orientation is stored in a memory as gap data (step S502). The gap data is stored in the memory by combining, for example, the set rotation angle and the gap value as one data. If an orientation that does not cause the warping is found (step S503: YES), it is determined that the 3D model fits within the 3D modeling area 45 (step S515: YES), and the orientation of the 3D model is set (steps S513→S516).
The searching process of the third embodiment of
When the 3D model is rotated through 360 degrees for each of the x-axis, y-axis, and z-axis, and the first part of the searching process (
As to the search range, the increment of the rotation angle (Δx, Δy, Δz) is set with an angle having higher precision such as less than one degree, which can be set by a user as any value, and the searching process that searches for an orientation that does not cause the warping is performed repeatedly (steps S605 to S621).
When the searching process is performed for the 3D model set with an orientation having a corresponding greatest gap value extracted at step S603, and “an orientation that does not cause the warping is not found,” the searching process is performed again for the 3D model by setting the rotation angle having the next greatest gap value (step S617). At step S617, the searching process of
In the searching process of
Then, the 3D model is rotated with an angle corresponding to the rotation angle (θx, θy, θz) (step S605), and the warping prediction is performed (steps S606 and S607). Until an orientation that does not cause the warping is found (S607: NO), the rotation angle (θx, θy, θz) respectively added with the increment of the rotation angle (Δx, Δy, Δz) in the x-axis, y-axis, and z-axis direction, and the rotation angle (θxn, θyn, θzn) of each of the top “N” points of the gap values added with the increment Δw of the rotation angle set by a user are compared (steps S608, S610, S613).
If the rotation angle (θxn, θyn, θzn) of each of top “N” points of the gap values added with the increment Δw of the rotation angle is greater than the rotation angle (θx, θy, θz) respectively added with the increment of the rotation angle (Δx, Δy, Δz), the angle (θx, θy, θz) is respectively added with the increment of the rotation angle (Δx, Δy, Δz) (steps S609, S611, S614), and the 3D model is rotated (step S605) with the angle (θx, θy, θz) respectively reduced the increment of the rotation angle Δw (step S612, S615, S616), and the angle that does not cause the warping is obtained by repeating the process.
If the angle that does not cause the warping is found for the gap value (step S607: NO), the 3D model is moved to contact to the base plate 211 (step S618). Further, when the position of the 3D model is automatically corrected so that the 3D model does not extend beyond the 3D modeling area 45, the process to fit the 3D model within the 3D modeling area 45 is performed (step S619), and it is checked whether the 3D model is fit in the 3D modeling area 45 (step S620).
If the 3D model fits within the 3D modeling area 45 (step S620: YES), the narrowing-down searching process is completed (step S621).
Further, depending on a target speed of the searching process, the process of
As to the above-described embodiments, when the 3D modeling is performed for the additive manufacturing such as the fused deposition modeling (FDM) method, the 3D model can be automatically rotated to an orientation that does not cause the warping without requiring a user to operate the 3D model and compute a complex computing. Specifically, the 3D model can be automatically rotated to the orientation that the adhesive force obtained from the base plate 211 becomes greater than the warping force caused by thermal contraction of the filament at the current orientation
Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA), and conventional circuit components arranged to perform the recited functions. Further, the above described image processing method performable in the image processing apparatus can be described as a computer-executable program, and the computer-executable program can be stored in a ROM or the like in the image processing apparatus and executed by the image processing apparatus. Further, the computer-executable program can be stored in a storage medium or a carrier such as compact disc-read-only memory (CD-ROM), digital versatile disc-read-only memory (DVD-ROM) or the like for distribution, or can be stored on a storage on a network and downloaded as required.
Numerous additional modifications and variations for the communication terminal, information processing system, and information processing method, a program to execute the information processing method by a computer, and a storage or carrier medium of the program are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of the present disclosure may be practiced otherwise than as specifically described herein. For example, elements and/or features of different examples and illustrative embodiments may be combined each other and/or substituted for each other within the scope of this disclosure and appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2015-243409 | Dec 2015 | JP | national |
2016210974 | Oct 2016 | JP | national |