3D printing methods, apparatus, storage media and computer equipment
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-08
- Publication Date
- 2026-08-14
AI Technical Summary
然而,在这种打印方式中由于切片和打印采用串行操作的方式,因此会造成用户从下达打印指令到打印机实际开始打印等待很长时间,从而导致整体的打印时间较长,打印效率不高
[0020]本发明提供的一种三维打印方法、装置、存储介质及计算机设备,与目前将切片和打印串行处理的方式相比,本发明能够接收用户发送的三维打印请求,并根据所述三维打印请求获取待打印的三维模型,将所述三维模型靠近打印平台的一端作为切片起始端并进行切片处理,得到所述三维模型对应的至少一层切片数据;最终基于所述至少一层切片数据,向三维打印设备发送打印指令,同时继续对所述三维模型进行切片处理。由于本发明未等到整个切片过程完成,便向三维打印设备发送打印指令,在三维打印设备进行打印的同时,继续进行切片处理,从而能够将切片和打印并行操作,缩短了整体的打印时间,提高了打印效率,避免用户从下达指令开始到打印机实际开始打印等待较长时间,增强了用户体验。
Smart Images

Figure CN116922774B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of 3D printing technology, and in particular to a 3D printing method, apparatus, storage medium, and computer equipment. Background Technology
[0002] 3D printing, also known as additive manufacturing, is a technology that uses digital model files as a basis and employs 3D printing materials such as powder materials and / or liquid jettable materials to construct objects by printing layer by layer.
[0003] Currently, 3D printing typically involves slicing the paper first, then transmitting the slice data to the printing device before printing. However, because slicing and printing are performed sequentially, this method results in a long wait between the user issuing the print command and the printer actually starting to print, leading to a long overall printing time and low efficiency. Summary of the Invention
[0004] This invention provides a three-dimensional printing method, apparatus, storage medium, and computer equipment, which mainly shortens the overall printing time and improves printing efficiency by performing slicing and printing in parallel.
[0005] According to a first aspect of the present invention, a three-dimensional printing method is provided, comprising:
[0006] Receive 3D printing requests from users;
[0007] The three-dimensional model to be printed is obtained according to the three-dimensional printing request. The end of the three-dimensional model closest to the printing platform is used as the slicing start end and slicing is performed to obtain at least one layer of slice data corresponding to the three-dimensional model. Based on the at least one layer of slice data, a printing command is sent to the three-dimensional printing device, while the slicing process of the three-dimensional model continues.
[0008] According to a second aspect of the present invention, a three-dimensional printing apparatus is provided, comprising:
[0009] The receiving unit is used to receive 3D printing requests sent by users.
[0010] The slicing unit is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model; based on the at least one layer of slice data, send a printing command to the 3D printing device, and continue to perform slicing processing on the 3D model.
[0011] According to a third aspect of the present invention, a three-dimensional printing system is provided, including a user terminal and a three-dimensional printing device, characterized in that it further includes a cloud platform, the cloud platform including a model cloud platform, a storage platform, a business cloud platform and an MQTT cloud platform;
[0012] The user terminal is used to obtain a 3D model from the model cloud platform and send a print request to the business cloud platform;
[0013] The business cloud platform is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model, and send a printing command to the MQTT cloud platform based on the at least one layer of slice data. After the printing device listens for the printing command from the MQTT cloud platform, it obtains the slice data from the storage platform for 3D printing. At the same time, the business cloud platform continues to perform slicing processing on the 3D model, repeating the above slicing and printing process until the slicing processing of the 3D model is completed, and receives a printing completion message from the 3D printing device.
[0014] According to a fourth aspect of the present invention, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0015] Receive 3D printing requests from users;
[0016] The three-dimensional model to be printed is obtained according to the three-dimensional printing request. The end of the three-dimensional model closest to the printing platform is used as the slicing start end and slicing is performed to obtain at least one layer of slice data corresponding to the three-dimensional model. Based on the at least one layer of slice data, a printing command is sent to the three-dimensional printing device, while the slicing process of the three-dimensional model continues.
[0017] According to a fifth aspect of the present invention, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to perform the following steps:
[0018] Receive 3D printing requests from users;
[0019] The three-dimensional model to be printed is obtained according to the three-dimensional printing request. The end of the three-dimensional model closest to the printing platform is used as the slicing start end and slicing is performed to obtain at least one layer of slice data corresponding to the three-dimensional model. Based on the at least one layer of slice data, a printing command is sent to the three-dimensional printing device, while the slicing process of the three-dimensional model continues.
[0020] This invention provides a 3D printing method, apparatus, storage medium, and computer device. Compared to current methods that process slicing and printing sequentially, this invention can receive a 3D printing request from a user, obtain the 3D model to be printed based on the request, use the end of the 3D model closest to the printing platform as the starting point for slicing, and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model. Finally, based on the at least one layer of slice data, a printing command is sent to the 3D printing device, while simultaneously continuing to slice the 3D model. Because this invention sends the printing command to the 3D printing device before the entire slicing process is completed, and continues slicing processing while the 3D printing device is printing, it can perform slicing and printing in parallel, shortening the overall printing time, improving printing efficiency, and avoiding a long waiting time from when the user issues the command to when the printer actually starts printing, thus enhancing the user experience. Attached Figure Description
[0021] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0022] Figure 1 A flowchart of a three-dimensional printing method provided by an embodiment of the present invention is shown;
[0023] Figure 2 A flowchart of another 3D printing method provided by an embodiment of the present invention is shown;
[0024] Figure 3 A schematic diagram of the overall printing process provided by an embodiment of the present invention is shown;
[0025] Figure 4 A schematic diagram of the structure of a three-dimensional printing device provided in an embodiment of the present invention is shown;
[0026] Figure 5 This invention provides a schematic diagram of the structure of another three-dimensional printing apparatus according to an embodiment of the invention.
[0027] Figure 6 A schematic diagram of the physical structure of a computer device provided in an embodiment of the present invention is shown. Detailed Implementation
[0028] The present invention will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the present application can be combined with each other.
[0029] Currently, the serial processing of slicing and printing causes a long wait from when the user issues a print command to when the printer actually starts printing, resulting in a long overall printing time and low printing efficiency.
[0030] To address the aforementioned problems, embodiments of the present invention provide a 3D printing method applied to a business cloud platform, such as... Figure 1 As shown, the method includes:
[0031] 101. Receive 3D printing requests sent by users.
[0032] The 3D printing request includes the 3D model to be printed.
[0033] The embodiments of this invention are primarily applicable to scenarios where slicing and printing are performed in parallel. The executing entity of these embodiments is a device or equipment capable of parallel processing of slicing and printing, such as a cloud platform.
[0034] In this embodiment of the invention, the cloud platform includes a business cloud platform and a model cloud platform. The parallel processing of slicing and printing can be executed in the business cloud platform, while the model cloud platform is used to store 3D models. Users can select 3D models to be printed in the model cloud platform. Regarding the specific process of the business cloud platform receiving a 3D printing request, as an optional implementation, step 101 specifically includes: receiving a 3D printing request sent by the model cloud platform, wherein the model cloud platform generates and sends the 3D printing request based on the 3D model selected by the user. Specifically, the model cloud platform stores various 3D models. When a user needs to print, they can log in to the model cloud platform, select the 3D model to be printed in the model cloud platform interface, and click "OK". The model cloud platform generates a 3D printing request based on the 3D model selected by the user and sends the 3D printing request to the business cloud platform, so that the business cloud platform can execute the model slicing and printing instruction issuance operations based on the 3D printing request.
[0035] 102. Obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model; based on the at least one layer of slice data, send a printing command to the 3D printing device, and continue to perform slicing processing on the 3D model.
[0036] Since 3D printers start printing from the side closest to the printing platform, this embodiment of the invention uses the end of the 3D model closest to the printing platform as the slicing starting point. The business cloud platform slices the 3D model from this starting point, obtaining at least one layer of slice data. This slicing process does not acquire all slices of the 3D model; the number of slices in this process can be one, two, or more. Further, after acquiring at least one layer of slice data, the business cloud platform sends a print command to the 3D printing device, enabling the device to print based on this slice data. Simultaneously, the business cloud platform continues slicing the 3D model until it completes the slicing process and receives printing completion information from the 3D printing device, thus achieving parallel processing of slicing and printing.
[0037] It's important to note that the number of slices processed per cycle is related to the 3D printer's memory size. A smaller memory results in fewer slices per cycle, while a larger memory results in more slices per cycle. Furthermore, since a larger number of slices means a longer waiting time before printing begins, the number of slices processed per cycle is also related to the user's acceptable waiting time.
[0038] For example, if the 3D printer has limited memory or the user's acceptable waiting time is short, the number of slices processed in each slice operation is determined to be one layer. During the parallel processing of slicing and printing, the business cloud platform first slices the 3D model from the starting point, obtaining one layer of slice data corresponding to the 3D model. Then, it sends a 3D printing request to the 3D printing device. When the 3D printing device prints based on this layer of slice data, the business cloud platform continues to slice the 3D model, obtaining another layer of slice data corresponding to the 3D model, until all slice data of the 3D model is obtained, and the 3D printing device completes the final printing.
[0039] For example, if the 3D printer has a large memory capacity or the user's acceptable waiting time is long, the number of slices processed in each slice operation is determined to be 5 layers. During the parallel processing of slicing and printing, the business cloud platform starts slicing the 3D model from the beginning of the slicing process, obtaining slice data for layers 1 to 5. Then, it sends a 3D printing request to the 3D printing device. While the 3D printing device prints based on the slice data from layers 1 to 5, the business cloud platform continues slicing the 3D model, obtaining slice data for layers 6 to 10, until all slice data of the 3D model is obtained, at which point the 3D printing device completes the final printing. This enables parallel processing of slicing and printing, reducing the waiting time from when the user issues the command to when the printer starts printing.
[0040] In specific application scenarios, the cloud platform also includes a storage platform and an MQTT cloud platform. The storage platform stores sliced data, while MQTT is a client-server message publish / subscribe protocol. The cloud platform using this protocol is called the MQTT cloud platform. The 3D printing device and the business cloud platform can listen to messages on the MQTT cloud platform. After each slice processing, the business cloud platform encapsulates at least one layer of sliced data and stores it on the storage platform. Then, the business cloud platform sends a print command to the MQTT cloud platform. Since the 3D printing device can listen to messages on the MQTT cloud platform, when the business cloud platform sends a print command, the 3D printing device can hear the command from the MQTT server. Based on this command, the 3D printing device retrieves at least one layer of sliced data from the storage platform and prints it. Simultaneously, the business cloud platform continues to slice the 3D model. This enables parallel processing of slicing and printing, thereby improving printing efficiency.
[0041] Furthermore, this embodiment of the invention uses two 3D printing methods, photopolymer 3D printer and FDM printer, as examples to describe in detail the process of slicing a 3D model by the business cloud platform. For the 3D printing methods of photopolymer 3D printer and FDM printer, step 102 specifically includes: determining at least one target cross-section based on the number of slices corresponding to this slicing process starting from the starting end; slicing the 3D model sequentially based on the at least one target cross-section to obtain multiple intersection points between the at least one target cross-section and the corresponding triangular facets in the 3D model; determining the polygonal contour composed of the multiple intersection points, and determining at least one layer of slice data corresponding to the 3D model based on the polygonal contour.
[0042] Specifically, since the 3D model is composed of a large number of triangular facets, the slices can be determined based on the intersection points of the corresponding cross-sections with the triangular facets. For example, this slicing process corresponds to two layers of slices. First, two target cross-sections at the corresponding positions are determined. Then, based on these two target cross-sections, the 3D model is sliced sequentially to obtain the intersection points of the two target cross-sections with the triangular facets in the 3D model. Then, based on the intersection points corresponding to these two target cross-sections, two polygonal contours corresponding to the two target cross-sections are determined, and these two polygonal contours are determined as the first layer of slice data and the second layer of slice data corresponding to this slicing process.
[0043] In specific application scenarios, the number of slices corresponding to this slicing process is related to the current memory size of the 3D printing device. Therefore, the method includes: obtaining the current memory size of the 3D printing device; and determining the number of slices corresponding to this slicing process based on the memory size of the 3D printing device. Specifically, if the current memory of the 3D printing device is large, the number of slices corresponding to this slicing process is determined to be large; conversely, if the current memory of the 3D printing device is small, the number of slices corresponding to this slicing process is determined to be small.
[0044] Furthermore, the 3D printing method of a photopolymer 3D printer requires printing based on rendered slice data. Therefore, in this embodiment of the invention, it is also necessary to render at least one layer of slice data so that the 3D printing device can print based on the rendered slice data. As an optional implementation, the method for rendering the slice data includes: determining the size of the image containing the polygonal outline corresponding to the at least one layer of slice data; and, based on the size of the image and the start and end coordinates of the polygonal outline on the x and y axes respectively, filling the pixels inside and outside the polygonal outline in the image with white and black respectively, to obtain the rendered at least one layer of slice data. The size of the image containing the polygonal outline is determined according to the screen resolution corresponding to the photopolymer 3D printer.
[0045] For example, after obtaining the slice data corresponding to this slice processing layer, based on the screen resolution of the photopolymer 3D printer, the size of the image containing the polygon outline corresponding to this slice data layer is determined to be 1024*1024. Simultaneously, it is known that the starting coordinates of the polygon outline corresponding to this slice data layer on the x-axis and y-axis are -112 and -112 respectively, and the ending coordinates on the x-axis and y-axis are 912 and 912 respectively. Based on the image size and the starting and ending coordinates of the polygon outline, pixels in the image whose x-axis coordinates belong to [-112, 912] and y-axis coordinates belong to [-112, 912], i.e., pixels within the polygon outline, are filled with white. At the same time, pixels in the image that do not belong to the above range, i.e., pixels not within the polygon outline, are filled with black. Thus, the rendering process of the slice data can be completed in the above manner.
[0046] It should be noted that when rendering slice data, you can render it once for each layer of slice data, or you can render it all at once after obtaining all the slice data corresponding to this slice processing.
[0047] In specific application scenarios, for the printing method of photopolymer 3D printers, the business cloud platform also stores the rendered slice data, and then issues a print command. After receiving the print command, the 3D printing device retrieves the stored rendered slice data and performs printing based on the rendered slice data. Therefore, sending a print command to the 3D printing device based on the at least one layer of slice data includes: sending a print command to the 3D printing device based on the rendered at least one layer of slice data.
[0048] It should be noted that starting from the next slice processing corresponding to this slice processing, the operation of slicing and printing will be implemented in parallel.
[0049] In specific application scenarios, after the 3D printing device finally completes printing, the business cloud platform will obtain the printing completion information fed back by the 3D printing device. As an optional implementation method, the method for obtaining the printing completion information includes: responding to the detection of a printing completion message in the MQTT cloud platform, feeding back the printing completion information to the user, wherein the MQTT cloud platform is used to receive the printing completion information fed back by the 3D printing device.
[0050] Specifically, after the 3D printing device finishes printing, it will report the printing completion information to the MQTT cloud platform. Since the business cloud platform can listen to the messages in the MQTT cloud platform, after the 3D printing device reports the printing completion information to the MQTT server, the business cloud platform can listen to the printing completion message and feed back the printing completion information to the user.
[0051] In specific application scenarios, if services such as storage platforms, model cloud platforms, business cloud platforms, MQTT cloud platforms, databases, or message queues are deployed on a single server, an anomaly in one service can consume resources from other services, creating a single point of failure and resulting in unstable service operation. To overcome these shortcomings, in this embodiment of the invention, the business cloud platform can run independently in a Kubernetes cluster, or the business cloud platform and at least one of the MQTT cloud platform, model cloud platform, and storage platform can run in a Kubernetes cluster. Here, Kubernetes refers to Kubernetes, an open-source system for automatically deploying, scaling, and managing containerized applications. After containerization, services are centrally orchestrated and managed by Kubernetes, enabling multiple functions such as load balancing, service healing, service discovery, canary releases, monitoring and alerting, and traffic control, thus ensuring stable cloud platform services from various dimensions.
[0052] This invention provides a 3D printing method that, compared to current methods that process slicing and printing sequentially, receives a 3D printing request from a user, obtains the 3D model to be printed based on the request, uses the end of the 3D model closest to the printing platform as the starting point for slicing, and performs slicing processing to obtain at least one layer of slice data corresponding to the 3D model. Finally, based on the at least one layer of slice data, a printing command is sent to the 3D printing device, while simultaneously continuing to slice the 3D model. Because this invention sends the printing command to the 3D printing device before the entire slicing process is completed, and continues slicing processing while the 3D printing device is printing, it can perform slicing and printing in parallel, shortening the overall printing time, improving printing efficiency, and avoiding a long waiting time from when the user issues the command to when the printer actually starts printing, thus enhancing the user experience.
[0053] Furthermore, to better illustrate the parallel processing of slicing and printing described above, and as a refinement and extension of the above embodiments, this invention provides another 3D printing method, such as... Figure 2 As shown, the method includes:
[0054] 201. Receive 3D printing requests sent by users.
[0055] The 3D printing request includes a 3D model to be printed. In this embodiment of the invention, a first connection needs to be established between the MQTT cloud platform and the business cloud platform before the user sends the printing request. Based on this, the method includes: sending a connection establishment request to the MQTT cloud platform via the MQTT protocol, so that the MQTT cloud platform establishes a first connection with the business cloud platform after authenticating it; and listening for messages from the MQTT cloud platform based on the first connection.
[0056] Specifically, the business cloud platform can send a request to the MQTT cloud platform to establish a super user connection via the MQTT protocol. After receiving the connection request, the MQTT cloud platform will verify the super administrator privileges of the business cloud platform. If the business cloud platform has super administrator privileges, the MQTT cloud platform will establish a first connection with the business cloud platform. Based on this first connection, the business cloud platform can subscribe to all messages in the MQTT cloud platform.
[0057] Furthermore, before the user sends a print request, a second connection needs to be established between the MQTT cloud platform and the 3D printing device. Based on this, the method includes: receiving a device identity verification request sent by the MQTT cloud platform, the device identity verification request including device identity information corresponding to the 3D printing device; if the business cloud platform determines that the 3D printing device passes verification based on the device identity information, it sends verification success information back to the MQTT cloud platform, wherein the MQTT cloud platform is used to establish a second connection with the 3D printing device based on the verification success information, so that the 3D printing device can listen for messages from the MQTT cloud platform based on the second connection.
[0058] Specifically, after the 3D printing device is powered on, it sends a connection establishment request to the MQTT cloud platform via the MQTT protocol. This connection establishment request includes the device identity information corresponding to the 3D printing device, which can specifically be device triple information (ProductKey, DeviceName, DeviceSecret). After obtaining the device identity information, the MQTT cloud platform sends a device identity verification request to the business cloud platform based on this device identity information. After receiving the request, the business cloud platform verifies the device identity information. If the 3D printing device passes the verification, the business cloud platform will send verification success information back to the MQTT cloud platform. After receiving the verification success information, the MQTT cloud platform establishes a second connection with the 3D printing device. Through this second connection, the 3D printing device can subscribe to relevant messages from the MQTT cloud platform, but unauthorized subscriptions will be blocked by the MQTT cloud platform.
[0059] 202. Obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model.
[0060] This invention uses photopolymer 3D printers and FDM printers as examples to illustrate the slicing process. The method includes: determining at least one target cross-section based on the number of slices corresponding to the current slicing process starting from the initial end; sequentially slicing the 3D model based on the at least one target cross-section to obtain multiple intersection points between the at least one target cross-section and corresponding triangular facets in the 3D model; determining a polygonal contour composed of the multiple intersection points, and based on the polygonal contour, determining at least one layer of slice data corresponding to the 3D model; and determining the internal support corresponding to the at least one layer of slice data.
[0061] Specifically, the process of obtaining at least one layer of slice data in the FDM printing method is the same as that in the photopolymer 3D printing method, and will not be repeated here. It should be noted that in the FDM 3D printing method, it is also necessary to determine the internal support corresponding to each layer of slice data.
[0062] In specific application scenarios, the sliced data in the business cloud platform is ultimately transmitted to the 3D printing equipment. However, the sliced data may contain errors. The reasons for these errors are as follows: the 3D model itself may have problems, leading to errors in the sliced data; or the entire slicing process may be problem-free, but errors may occur during the transmission of the sliced data from the business cloud platform to the 3D printing equipment using the TCP / IP protocol, resulting in errors in the sliced data received by the 3D printing equipment. Therefore, error detection of the sliced data is necessary. If errors are detected, the user needs to be notified to prevent the user from using incorrect sliced data for printing and wasting printing materials. Based on this, the method includes: determining whether there are errors in the at least one layer of sliced data; if errors are found, providing the user with a slice error notification.
[0063] In specific application scenarios, multi-core processors can also be used to perform parallel slicing processing on the 3D model. Based on this, the method includes: dividing the 3D model into multiple sub-models; taking the end of each of the multiple sub-models closest to the printing platform as the slicing start end; simultaneously slicing the multiple sub-models based on their respective slicing start ends to obtain a layer of slice data corresponding to each of the multiple sub-models; sending a printing command to the 3D printing device based on the layer of slice data corresponding to the sub-model closest to the printing platform, while continuing to perform slicing processing on the multiple sub-models.
[0064] For example, a business cloud platform with a quad-core processor can divide a 3D model into four sub-models. Each processor core slices one sub-model. Specifically, the end of each sub-model closest to the printing platform can be used as the slicing start point. Based on the slicing start point corresponding to each sub-model, the quad-core processor simultaneously performs slicing processing on all four sub-models, obtaining one layer of slice data for each sub-model. Because of the quad-core processor, this slicing process can obtain four layers of slice data. Therefore, following the slicing method described above using a multi-core processor, it is also possible to achieve the goal of obtaining multiple layers of slice data with a single slicing process.
[0065] In specific application scenarios, before slicing a 3D model, the business cloud platform can configure the slicing task corresponding to the 3D model into slicing tasks of different levels. Since some 3D models have many components with varying structural complexity, for simpler components, a single slicing task can obtain multiple layers of slice data. However, for more complex components, if a single slicing task involves too many layers, it will cause the printer to pause printing for a long time, meaning the user will have to wait a long time before the printer can resume printing. Therefore, for more complex components, the number of slice layers in a single slicing task should be as small as possible to ensure a good user experience. Based on this, the method includes: configuring the slicing task of the 3D model into slicing tasks of different levels based on the structural complexity of each component in the 3D model, wherein the number of slices corresponding to the different levels of slicing tasks is different; and slicing the 3D model based on the highest-level slicing task among the different levels of slicing tasks to obtain at least one layer of slice data corresponding to the highest-level slicing task.
[0066] For example, the 3D model is specifically an arm model, which includes a hand and a forearm. The forearm can be approximated as a cylinder with a relatively simple structure, while the hand, which includes five fingers, is more complex than the forearm. Therefore, when configuring different levels of slicing tasks for the arm model, we can determine that different levels of slicing tasks for the forearm correspond to 6 slices, while different levels of slicing tasks for the hand correspond to 1 slice. Based on the size of the arm, the slice thickness, and the 6 slices, the forearm in the arm model is configured with 5 levels of slicing tasks. At the same time, based on the size of the hand, the slice thickness, and the 1 slice, the hand in the arm model is configured with 20 levels of slicing tasks, that is, a total of 25 levels of slicing tasks are configured for the arm model. In practice, the process begins with the initial layer of the forearm. Based on the first-level slicing task, the forearm is sliced to obtain the 5-layer slice data corresponding to the first-level slicing task. A printing command is then sent to the 3D printing device. The parallel slicing and printing process is repeated until the 5-level slicing task is completed. When the 6th-level slicing task is executed, the hand is sliced to obtain the 1-layer slice data corresponding to the 6th-level slicing task. The parallel slicing and printing process continues until the 25th-level slicing task is completed, and the printing result of the 3D printed model is obtained.
[0067] It should be noted that, since the density of triangular facets is higher for components with more complex structures in a 3D model, and lower for components with simpler structures, the structural complexity in this embodiment can be determined based on the surface area of each component and the number of triangular facets that make up each component. That is, the number of triangular facets of each component is divided by the surface area to obtain the density of triangular facets of each component. When the density is greater than the preset density, it indicates that the component has a complex structure, and the number of slices corresponding to different levels of slicing tasks of the component cannot exceed the preset number of slices.
[0068] 203. Save the at least one layer of slice data to the storage platform and send a print command to the MQTT cloud platform so that the 3D printing device can download the at least one layer of slice data from the storage platform based on the print command listened to from the MQTT cloud platform and perform 3D printing based on the at least one layer of slice data.
[0069] In specific application scenarios, printing instructions are sent to the 3D printing device based on the at least one layer of slice file and its corresponding internal support. Specifically, after determining the at least one layer of slice file corresponding to the highest-level slice task, and the internal support corresponding to the at least one layer of slice file, the slice data corresponding to the at least one layer of slice file and the support data corresponding to the internal support are encapsulated, and the encapsulated data is saved to the storage platform. Then, the business cloud platform sends printing instructions to the MQTT cloud platform. After the 3D printing device listens for the printing instructions from the MQTT cloud platform, it downloads the data from the storage platform and performs 3D printing based on the slice data corresponding to the at least one layer of slice file and the support data corresponding to the internal support.
[0070] 204. At the same time, continue to slice the three-dimensional model.
[0071] In this embodiment of the invention, while the business cloud platform sends a printing command to the MQTT cloud platform, the business cloud platform continues to slice the 3D model.
[0072] In specific application scenarios, the slicing service running in the business cloud platform has high resource consumption. Continuously running multiple servers not only results in high costs but also wastes resources. Therefore, in this embodiment of the invention, the business cloud platform within a Kubernetes cluster can specifically be a container running the slicing service. Since the slicing service runs in a Kubernetes cluster, Kubernetes can dynamically expand or destroy the container running the slicing server based on the user's printing request's server resource usage. Based on this, the method includes: determining the server resource utilization rate of the Kubernetes cluster based on the 3D printing request; if the server resource utilization rate is greater than a first preset resource utilization rate, dynamically expanding the container group responding to the 3D printing request in the Kubernetes cluster and running the cloud platform service in the container group; if the server resource utilization rate is less than a second preset resource utilization rate, dynamically destroying the container group corresponding to the cloud platform responding to the 3D printing request in the Kubernetes cluster. The first and second preset resource utilization rates can be set according to actual needs.
[0073] For example, during the daytime, user print requests continue to be generated, which may cause the average CPU utilization of the Kubernetes cluster to exceed 70%. In this case, it is necessary to dynamically create Pod container groups containing multiple containers, and use these container groups to run slice services on the business cloud platform to meet user printing needs. Conversely, at night, user print requests are fewer, so the average CPU utilization of the Kubernetes cluster may be less than 30%. In this case, to avoid resource waste, the Pod container groups running slice services can be dynamically destroyed.
[0074] To clearly illustrate the complete process of slicing and printing in parallel, embodiments of the present invention combine... Figure 3 The overall process is as follows: First, the business cloud platform requests a first connection with the MQTT cloud platform using super administrator privileges. After authenticating the business cloud platform, the MQTT cloud platform establishes the first connection. Next, after the 3D printing device powers on, it requests a second connection with the MQTT cloud platform. When the business cloud platform verifies the device's identity information, it allows the 3D printing device to access the MQTT cloud platform, establishing the second connection. Based on these first and second connections, both the business cloud platform and the 3D printing device can listen to messages from the MQTT cloud platform. Furthermore, when the business cloud platform receives a 3D printing request from a user, it slices the 3D model carried in the request. Specifically, the end of the 3D model closest to the printing platform is used as the starting point for slicing, resulting in one layer of slice data corresponding to this slicing process. This layer of slice data is then stored in the storage platform. A print command is then sent to the MQTT cloud platform. When the 3D printing device receives the print command from the MQTT cloud platform, it retrieves the slice data from the storage platform and performs 3D printing based on this slice data. Simultaneously, after the business cloud platform sends the command, it continues to slice the 3D model, obtaining at least one layer of slice data, and continues to store the slice data in the storage platform. This parallel slicing and printing process is repeated until the 3D model is completely sliced. After the 3D printing device completes printing, it reports a printing completion message to the MQTT cloud platform. Upon receiving this message, the business cloud platform pushes a notification to the user.
[0075] This invention provides another 3D printing method. Compared to the current method of processing slicing and printing sequentially, this invention can receive a 3D printing request sent by a user, obtain the 3D model to be printed based on the request, use the end of the 3D model closest to the printing platform as the starting point for slicing, and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model. Finally, based on the at least one layer of slice data, a printing command is sent to the 3D printing device, while continuing to perform slicing processing on the 3D model. Because this invention sends the printing command to the 3D printing device before the entire slicing process is completed, and continues slicing processing while the 3D printing device is printing, it can perform slicing and printing in parallel, shortening the overall printing time, improving printing efficiency, and avoiding a long waiting time from when the user issues the command to when the printer actually starts printing, thus enhancing the user experience.
[0076] Furthermore, as Figure 1 In specific implementation, embodiments of the present invention provide a three-dimensional printing device, such as... Figure 4As shown, the device includes a receiving unit 31 and a slicing unit 32.
[0077] The receiving unit 31 can be used to receive 3D printing requests sent by users.
[0078] The slicing unit 32 can be used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model; based on the at least one layer of slice data, send a printing command to the 3D printing device, and continue to perform slicing processing on the 3D model.
[0079] In a specific application scenario, the receiving unit 31 can be used to send a request to establish a connection to the MQTT cloud platform via the MQTT protocol, so that the MQTT cloud platform can establish a first connection with the business cloud platform after authenticating the business cloud platform; and based on the first connection, listen for messages from the MQTT cloud platform.
[0080] The receiving unit 31 can also be specifically used to receive a device identity verification request sent by the MQTT cloud platform. The device identity verification request includes device identity information corresponding to the 3D printing device. If the business cloud platform determines that the 3D printing device passes the verification based on the device identity information, it sends verification pass information back to the MQTT cloud platform. The MQTT cloud platform is used to establish a second connection with the 3D printing device based on the verification pass information, so that the 3D printing device can listen to messages from the MQTT cloud platform based on the second connection.
[0081] In specific application scenarios, the receiving unit 31 can also be used to receive a 3D printing request sent by the model cloud platform, wherein the model cloud platform is used to generate and send the 3D printing request based on the 3D model selected by the user.
[0082] In specific application scenarios, the slicing unit 32, such as Figure 5 As shown, it includes: a determination module 321 and a slicing module 322.
[0083] The determining module 321 can be used to determine at least one target cross section based on the number of slices corresponding to the current slicing process starting from the slicing start end.
[0084] The slicing module 322 can be used to slice the three-dimensional model sequentially based on the at least one target cross-section, to obtain multiple intersection points between the at least one target cross-section and the corresponding triangular facets in the three-dimensional model.
[0085] The determining module 321 can also be used to determine the polygonal outline composed of multiple intersection points, and based on the polygonal outline, determine at least one layer of slice data corresponding to the three-dimensional model.
[0086] Furthermore, the determining module 321 can be specifically used to obtain the current memory size of the 3D printing device; and based on the memory size of the 3D printing device, to determine the number of slices corresponding to this slicing process.
[0087] In specific application scenarios, the device also includes a determination unit 33 and a feedback unit 34.
[0088] The determination unit 33 can be used to determine whether there are errors in the at least one layer of slice data.
[0089] The feedback unit 34 can be used to provide the user with a prompt message indicating a slicing error if an error exists.
[0090] Furthermore, the determining module 321 can be specifically used to determine the size of the image containing the polygon outline corresponding to the at least one layer of slice data; based on the size of the image, and the start and end coordinates of the polygon outline on the x-axis and y-axis respectively, the pixels inside the polygon outline and the pixels outside the polygon outline in the image are filled with white and black respectively, to obtain the rendered at least one layer of slice data.
[0091] The slicing unit 32 can be used to send printing instructions to the 3D printing device based on the rendered slice data of at least one layer.
[0092] The determining module 321 can also be used to determine the internal support corresponding to the at least one layer of slice data.
[0093] The slicing unit 32 can also be used to send printing instructions to the 3D printing device based on the at least one layer of slice data and its corresponding internal support.
[0094] In specific application scenarios, the device further includes a division unit 35.
[0095] The partitioning unit 35 can be used to divide the three-dimensional model into multiple sub-models.
[0096] The slicing unit 32 can also be used to take the end of the multiple sub-models closest to the printing platform as the slicing start end, and simultaneously perform slicing processing on the multiple sub-models based on the slicing start ends corresponding to the multiple sub-models to obtain a layer of slice data corresponding to the multiple sub-models; based on the layer of slice data corresponding to the sub-model closest to the printing platform, a printing command is sent to the 3D printing device, while continuing to perform slicing processing on the multiple sub-models.
[0097] In specific application scenarios, the slicing unit 32 can also be used to save the at least one layer of slice data to a storage platform; send a printing command to the MQTT cloud platform so that the 3D printing device can download the at least one layer of slice data from the storage platform based on the printing command listened to from the MQTT cloud platform, and perform 3D printing based on the at least one layer of slice data.
[0098] In specific application scenarios, the feedback unit 34 can also be used to respond to the print completion message heard in the MQTT cloud platform and feed back the print completion information to the user, wherein the MQTT cloud platform is used to receive the print completion information fed back by the 3D printing device.
[0099] In specific application scenarios, the business cloud platform runs independently in a K8s cluster, or at least one of the business cloud platform, the MQTT cloud platform, the model cloud platform, and the storage platform also runs in a K8s cluster.
[0100] In specific application scenarios, the device further includes: an extended destruction unit 36.
[0101] The expansion and destruction unit 36 can be used to determine the server resource utilization rate of the K8s cluster based on the 3D printing request; if the server resource utilization rate is greater than a first preset resource utilization rate, then dynamically expand the container group responding to the 3D printing request in the K8s cluster and run the cloud platform service in the container group; if the server resource utilization rate is less than a second preset resource utilization rate, then dynamically destroy the container group corresponding to the cloud platform responding to the 3D printing request in the K8s cluster.
[0102] It should be noted that other corresponding descriptions of the functional modules involved in the 3D printing device provided in this embodiment of the invention can be found in [reference]. Figure 1 The corresponding description of the method shown will not be repeated here.
[0103] Furthermore, this embodiment of the invention provides a 3D printing system, including a user terminal and a 3D printing device, and also includes a cloud platform. The cloud platform includes a model cloud platform, a storage platform, a business cloud platform, and an MQTT cloud platform. The user terminal is used to obtain a 3D model from the model cloud platform and send a print request to the business cloud platform. The business cloud platform is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model, and issue a print command to the MQTT cloud platform based on the at least one layer of slice data. After the printing device listens for the print command from the MQTT cloud platform, it obtains the slice data from the storage platform for 3D printing. At the same time, the business cloud platform continues to perform slicing processing on the 3D model, repeating the above slicing and printing process until the slicing processing of the 3D model is completed, and receives a print completion message from the 3D printing device.
[0104] Based on the above, Figure 1 Accordingly, this embodiment of the invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the following steps: receiving a 3D printing request sent by a user; obtaining a 3D model to be printed according to the 3D printing request; taking the end of the 3D model closest to the printing platform as the slicing start end and performing slicing processing to obtain at least one layer of slice data corresponding to the 3D model; and sending a printing command to a 3D printing device based on the at least one layer of slice data, while continuing to perform slicing processing on the 3D model.
[0105] Based on the above, Figure 1 The method shown and as Figure 4 The embodiment of the device shown in the invention also provides a physical structure diagram of a computer device, such as... Figure 6 As shown, the computer device includes: a processor 41, a memory 42, and a computer program stored in the memory 42 and executable on the processor. Both the memory 42 and the processor 41 are mounted on a bus 43. When the processor 41 executes the program, it performs the following steps: receiving a 3D printing request sent by a user; obtaining a 3D model to be printed according to the 3D printing request; using the end of the 3D model closest to the printing platform as the starting point for slicing and performing slicing processing to obtain at least one layer of slice data corresponding to the 3D model; and sending a printing command to the 3D printing device based on the at least one layer of slice data, while continuing to perform slicing processing on the 3D model.
[0106] Through the technical solution of this invention, the invention can receive a 3D printing request sent by a user, obtain the 3D model to be printed according to the request, use the end of the 3D model closest to the printing platform as the slicing start point and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model; finally, based on the at least one layer of slice data, a printing command is sent to the 3D printing device, while continuing to perform slicing processing on the 3D model. Because this invention sends the printing command to the 3D printing device before the entire slicing process is completed, and continues slicing processing while the 3D printing device is printing, it can perform slicing and printing in parallel, shortening the overall printing time, improving printing efficiency, and avoiding a long waiting time from when the user issues the command to when the printer actually starts printing, thus enhancing the user experience.
[0107] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby storing them in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.
[0108] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
[0109] The embodiments of the present invention specifically disclose the following contents:
[0110] A. A 3D printing method, comprising:
[0111] Receive 3D printing requests from users;
[0112] The three-dimensional model to be printed is obtained according to the three-dimensional printing request. The end of the three-dimensional model closest to the printing platform is used as the slicing start end and slicing is performed to obtain at least one layer of slice data corresponding to the three-dimensional model. Based on the at least one layer of slice data, a printing command is sent to the three-dimensional printing device, while the slicing process of the three-dimensional model continues.
[0113] B. The method described in A, applied to a cloud platform, wherein the cloud platform includes a storage platform, a business cloud platform, and an MQTT cloud platform, wherein receiving a 3D printing request sent by a user includes:
[0114] The MQTT cloud platform sends a connection request to the MQTT cloud platform via the MQTT protocol, so that the MQTT cloud platform can establish a first connection with the business cloud platform after authenticating the business cloud platform.
[0115] Based on the first connection, listen for messages on the MQTT cloud platform.
[0116] C. According to the method described in B, receiving the 3D printing request sent by the user includes:
[0117] Receive a device identity verification request sent by the MQTT cloud platform, the device identity verification request including the device identity information corresponding to the 3D printing device;
[0118] If the business cloud platform determines that the 3D printing device has passed verification based on the device identity information, it sends verification success information back to the MQTT cloud platform. The MQTT cloud platform is used to establish a second connection with the 3D printing device based on the verification success information, so that the 3D printing device can listen for messages from the MQTT cloud platform based on the second connection.
[0119] D. According to the method described in B, the cloud platform package model cloud platform, the step of receiving the 3D printing request sent by the user includes:
[0120] The system receives a 3D printing request sent by the model cloud platform, wherein the model cloud platform generates and sends the 3D printing request based on the 3D model selected by the user.
[0121] E. According to the method described in A, the step of obtaining the 3D model to be printed based on the 3D printing request, taking the end of the 3D model closest to the printing platform as the slicing start end and performing slicing processing to obtain at least one layer of slice data corresponding to the 3D model includes:
[0122] Based on the number of slices corresponding to this slicing process starting from the starting end of the slice, at least one target cross section is determined;
[0123] The three-dimensional model is sliced sequentially based on the at least one target cross section to obtain multiple intersection points between the at least one target cross section and the corresponding triangular facets in the three-dimensional model;
[0124] A polygonal outline composed of multiple intersection points is determined, and based on the polygonal outline, at least one layer of slice data corresponding to the three-dimensional model is determined.
[0125] F. According to the method described in E, determining at least one target cross-section based on the number of slices corresponding to the current slicing process starting from the starting end includes:
[0126] Obtain the current memory size of the 3D printing device;
[0127] The number of slices corresponding to this slicing process is determined based on the memory size of the 3D printing device.
[0128] G. According to the method described in E, the method further includes:
[0129] Determine whether there are errors in the at least one layer of slice data;
[0130] If an error is found, a message indicating a slicing error will be sent to the user.
[0131] H. According to the method described in E, determining at least one layer of slice data corresponding to the 3D model based on the polygonal contour includes:
[0132] Determine the size of the image containing the polygon outline corresponding to the at least one layer of slice data;
[0133] Based on the size of the image and the start and end coordinates of the polygon outline on the x and y axes respectively, the pixels inside the polygon outline and the pixels outside the polygon outline in the image are filled with white and black respectively to obtain at least one layer of slice data after rendering.
[0134] Sending printing instructions to the 3D printing device based on the at least one layer of slice data includes:
[0135] Based on the rendered slice data of at least one layer, a printing command is sent to the 3D printing device.
[0136] I. According to the method described in E, determining at least one layer of slice data corresponding to the 3D model based on the polygonal contour includes:
[0137] Determine the internal support corresponding to the at least one layer of slice data;
[0138] Sending printing instructions to the 3D printing device based on the at least one layer of slice data includes:
[0139] Based on the at least one layer of slice data and its corresponding internal support, a printing command is sent to the 3D printing device.
[0140] J. According to the method described in A, the method further includes:
[0141] The three-dimensional model is divided into multiple sub-models;
[0142] The end of each of the multiple sub-models closest to the printing platform is taken as the slicing start end. Based on the slicing start ends corresponding to the multiple sub-models, the multiple sub-models are sliced simultaneously to obtain a layer of slice data corresponding to the multiple sub-models.
[0143] Based on the slice data of the sub-model closest to the printing platform, a printing command is sent to the 3D printing device, while the slicing process continues for the multiple sub-models.
[0144] K. According to the method described in D, sending printing instructions to the 3D printing device based on the at least one layer of slice data includes:
[0145] Save the at least one layer of slice data to the storage platform;
[0146] A print command is sent to the MQTT cloud platform so that the 3D printing device can download the at least one layer of slice data from the storage platform based on the print command heard from the MQTT cloud platform, and perform 3D printing based on the at least one layer of slice data.
[0147] L. According to the method described in K, the method further includes:
[0148] In response to receiving a print completion message from the MQTT cloud platform, the print completion information is fed back to the user, wherein the MQTT cloud platform is used to receive the print completion information fed back by the 3D printing device.
[0149] M. According to the method described in B, the business cloud platform runs independently in a K8s cluster, or at least one of the business cloud platform, the MQTT cloud platform, the model cloud platform, and the storage platform also runs in a K8s cluster.
[0150] N. According to the method described in M, the method further includes:
[0151] Based on the 3D printing request, determine the server resource utilization rate of the K8s cluster;
[0152] If the server resource utilization rate is greater than the first preset resource utilization rate, then the container group responding to the 3D printing request will be dynamically expanded in the K8s cluster, and the cloud platform service will be run in the container group;
[0153] If the server resource utilization rate is less than the second preset resource utilization rate, the container group corresponding to the cloud platform responding to the 3D printing request will be dynamically destroyed in the K8s cluster.
[0154] O. A three-dimensional printing apparatus, comprising:
[0155] The receiving unit is used to receive 3D printing requests sent by users.
[0156] The slicing unit is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model; based on the at least one layer of slice data, send a printing command to the 3D printing device, and continue to perform slicing processing on the 3D model.
[0157] P. A 3D printing system, including a user terminal and a 3D printing device, and also including a cloud platform, wherein the cloud platform includes a model cloud platform, a storage platform, a business cloud platform and an MQTT cloud platform;
[0158] The user terminal is used to obtain a 3D model from the model cloud platform and send a print request to the business cloud platform;
[0159] The business cloud platform is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model, and send a printing command to the MQTT cloud platform based on the at least one layer of slice data. After the printing device listens for the printing command from the MQTT cloud platform, it obtains the slice data from the storage platform for 3D printing. At the same time, the business cloud platform continues to perform slicing processing on the 3D model, repeating the above slicing and printing process until the slicing processing of the 3D model is completed, and receives a printing completion message from the 3D printing device.
[0160] Q. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of any one of A to N.
[0161] R. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of any one of A to N.
Claims
1. A three-dimensional printing method, characterized in that, include: Receive 3D printing requests from users; The 3D model to be printed is obtained according to the 3D printing request. The end of the 3D model closest to the printing platform is used as the slicing start end and slicing is performed to obtain at least one layer of slice data corresponding to the 3D model. Based on the at least one layer of slice data, a printing command is sent to the 3D printing device, and the 3D model continues to be sliced. During slicing, the slicing task of the 3D model is configured into different levels of slicing tasks based on the structural complexity of each component in the 3D model. The number of slices corresponding to the different levels of slicing tasks is different.
2. The method according to claim 1, characterized in that, Applied to a cloud platform, which includes a storage platform, a business cloud platform, and an MQTT cloud platform, the process of receiving a 3D printing request sent by a user includes: The MQTT cloud platform sends a connection request to the MQTT cloud platform via the MQTT protocol, so that the MQTT cloud platform can establish a first connection with the business cloud platform after authenticating the business cloud platform. Based on the first connection, listen for messages on the MQTT cloud platform.
3. The method according to claim 2, characterized in that, The receiving of a 3D printing request sent by the user includes: Receive a device identity verification request sent by the MQTT cloud platform, the device identity verification request including the device identity information corresponding to the 3D printing device; If the business cloud platform determines that the 3D printing device has passed verification based on the device identity information, it sends verification success information back to the MQTT cloud platform. The MQTT cloud platform is used to establish a second connection with the 3D printing device based on the verification success information, so that the 3D printing device can listen for messages from the MQTT cloud platform based on the second connection.
4. The method according to claim 2, characterized in that, The cloud platform also includes a model cloud platform, and the receiving of 3D printing requests sent by users includes: The system receives a 3D printing request sent by the model cloud platform, wherein the model cloud platform generates and sends the 3D printing request based on the 3D model selected by the user.
5. The method according to claim 1, characterized in that, The process of obtaining the 3D model to be printed according to the 3D printing request, taking the end of the 3D model closest to the printing platform as the slicing start point and performing slicing processing to obtain at least one layer of slice data corresponding to the 3D model includes: Based on the number of slices corresponding to this slicing process starting from the starting end of the slice, at least one target cross section is determined; The three-dimensional model is sliced sequentially based on the at least one target cross section to obtain multiple intersection points between the at least one target cross section and the corresponding triangular facets in the three-dimensional model; A polygonal outline composed of multiple intersection points is determined, and based on the polygonal outline, at least one layer of slice data corresponding to the three-dimensional model is determined.
6. The method according to claim 5, characterized in that, The determination of at least one target cross-section based on the number of slices corresponding to the current slicing process starting from the starting end includes: Obtain the current memory size of the 3D printing device; The number of slices corresponding to this slicing process is determined based on the memory size of the 3D printing device.
7. The method according to claim 5, characterized in that, The method further includes: Determine whether there are errors in the at least one layer of slice data; If an error is found, a message indicating a slicing error will be sent to the user.
8. The method according to claim 5, characterized in that, The step of determining at least one layer of slice data corresponding to the 3D model based on the polygonal contour includes: Determine the size of the image containing the polygon outline corresponding to the at least one layer of slice data; Based on the size of the image and the start and end coordinates of the polygon outline on the x and y axes respectively, the pixels inside the polygon outline and the pixels outside the polygon outline in the image are filled with white and black respectively to obtain at least one layer of slice data after rendering. Based on the at least one layer of slice data, a printing instruction is sent to the 3D printing device, including: Based on the rendered slice data of at least one layer, a printing command is sent to the 3D printing device.
9. The method according to claim 5, characterized in that, The step of determining at least one layer of slice data corresponding to the 3D model based on the polygonal contour includes: Determine the internal support corresponding to the at least one layer of slice data; Based on the at least one layer of slice data, a printing instruction is sent to the 3D printing device, including: Based on the at least one layer of slice data and its corresponding internal support, a printing command is sent to the 3D printing device.
10. The method according to claim 1, characterized in that, The method further includes: The three-dimensional model is divided into multiple sub-models; The end of each of the multiple sub-models closest to the printing platform is taken as the slicing start end. Based on the slicing start ends corresponding to the multiple sub-models, the multiple sub-models are sliced simultaneously to obtain a layer of slice data corresponding to the multiple sub-models. Based on the slice data of the sub-model closest to the printing platform, a printing command is sent to the 3D printing device, while the slicing process continues for the multiple sub-models.
11. The method according to claim 4, characterized in that, Sending printing instructions to the 3D printing device based on the at least one layer of slice data includes: Save the at least one layer of slice data to the storage platform; A print command is sent to the MQTT cloud platform so that the 3D printing device can download the at least one layer of slice data from the storage platform based on the print command heard from the MQTT cloud platform, and perform 3D printing based on the at least one layer of slice data.
12. The method according to claim 11, characterized in that, The method further includes: In response to receiving a print completion message from the MQTT cloud platform, the system sends print completion information back to the user, wherein the MQTT cloud platform is used to receive the print completion information from the 3D printing device.
13. The method according to claim 2, characterized in that, The cloud platform also includes a model cloud platform, and the business cloud platform runs independently on a K8s cluster.
14. The method according to claim 2, characterized in that, The cloud platform also includes a model cloud platform, and at least one of the business cloud platform, the MQTT cloud platform, the model cloud platform, and the storage platform runs on a K8s cluster.
15. The method according to any one of claim 13 or claim 14, characterized in that, The method further includes: Based on the 3D printing request, determine the server resource utilization rate of the K8s cluster; If the server resource utilization rate is greater than the first preset resource utilization rate, then the container group responding to the 3D printing request will be dynamically expanded in the K8s cluster, and the cloud platform service will be run in the container group; If the server resource utilization rate is less than the second preset resource utilization rate, the container group corresponding to the cloud platform responding to the 3D printing request will be dynamically destroyed in the K8s cluster.
16. A three-dimensional printing apparatus, characterized in that, include: The receiving unit is used to receive 3D printing requests sent by users. The slicing unit is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start end and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model; based on the at least one layer of slice data, send a printing command to the 3D printing device, and continue to perform slicing processing on the 3D model. During slicing, based on the structural complexity of each component in the 3D model, the slicing task of the 3D model is configured into slicing tasks of different levels, wherein the number of slices corresponding to the different levels of slicing tasks is different.
17. A three-dimensional printing system, comprising a user terminal and a three-dimensional printing device, characterized in that, It also includes a cloud platform, which comprises a model cloud platform, a storage platform, a business cloud platform, and an MQTT cloud platform; The user terminal is used to obtain a 3D model from the model cloud platform and send a print request to the business cloud platform; The business cloud platform is used to obtain the 3D model to be printed according to the 3D printing request, take the end of the 3D model closest to the printing platform as the slicing start point and perform slicing processing to obtain at least one layer of slice data corresponding to the 3D model, and send a printing command to the MQTT cloud platform based on the at least one layer of slice data. After the printing device listens for the printing command from the MQTT cloud platform, it retrieves the slice data from the storage platform for 3D printing. At the same time, the business cloud platform continues to perform slicing processing on the 3D model, repeating the above slicing and printing process until the slicing processing of the 3D model is completed, and receives a printing completion message from the 3D printing device. During slicing, based on the structural complexity of each component in the 3D model, the slicing task of the 3D model is configured into different levels of slicing tasks, wherein the number of slices corresponding to the different levels of slicing tasks is different.
18. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 15.
19. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Dynamic real-time slice engine for 3D printing
US20150328839A1