3D printing method

Through the network connection between the client and the server, the grpc communication protocol is used to obtain the segmented file data of some printing layers layer by layer, solving the problems of low user data security and slow network response speed in traditional metal additive manufacturing, and achieving high efficiency, Secure data acquisition and processing.

CN119098604APending Publication Date: 2024-12-10XIAN BRIGHT ADDTIVE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411221029.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

During the traditional metal additive manufacturing process, user data is low and network response speed is slow, which has problems such as business secret leakage and slow data acquisition.

Method used

The client and the server are used to establish a network connection, and the partial file data of the printing layer is obtained layer by layer through the grpc communication protocol, avoiding providing complete files at once, and using encryption technology to ensure data security.

Benefits of technology

It improves network response speed, enhances the security of user data, reduces the risk of business secret leakage, and avoids the problem of slow data acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119098604A_ABST
    Figure CN119098604A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of additive manufacturing, and relates to a 3D printing method, which is applied to a client and comprises the following steps: 1) the client establishes network connection with a server; 2) the client requests and obtains subdivision file data of a part of printing layers from the server; and 3) the client completes a printing task based on the obtained subdivision file data of the partial printing layer. According to the 3D printing method, the safety degree of user data is high, and the network response speed is high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of additive manufacturing and relates to a 3D printing method. Background Art

[0002] With the transformation and upgrading of the global manufacturing industry, metal additive manufacturing technology, as an emerging manufacturing technology, has received widespread attention. However, the traditional metal additive manufacturing process requires providing a complete segmentation file to the printing device at one time, which poses a user data security issue. Summary of the invention

[0003] In order to solve the above technical problems existing in the background technology, the present invention provides a method and a forming method for segmenting files with high security of user data and fast network response speed.

[0004] In order to achieve the above object, the present invention adopts the following technical solution:

[0005] A 3D printing method, applied on a client, is characterized in that: the 3D printing method comprises the following steps:

[0006] 1) The client establishes a network connection with the server;

[0007] 2) The client requests and obtains the segmentation file data of some printing layers from the server;

[0008] 3) The client completes the printing task based on the acquired segmented file data of the partial printing layer.

[0009] The method of obtaining in the above step 2) is method 1 or method 2:

[0010] Method 1:

[0011] The client first requests the server to obtain n layers of segmentation file data at one time. When the n layers of segmentation file data are about to be printed, the client requests the server to obtain the subsequent n layers of segmentation file data and complete the printing, and so on, until all the segmentation file data are obtained;

[0012] Method 2:

[0013] The client first requests the server to obtain n-layer segmentation file data. After completing the printing of the first layer of segmentation file data of the n-layer segmentation file data, the client again requests the server to obtain the next layer of segmentation file data, and so on, until all the segmentation file data are obtained.

[0014] In the above, 1≤n<N, n is a natural number; N is the total number of layers of all segmented files; and n is the number of layers of the segmented files obtained each time.

[0015] The above step 2) is specifically:

[0016] 2.1) The client requests the server to print task data;

[0017] 2.2) The client requests the server for the segmentation file data of some printing layers;

[0018] 2.3) The client receives a response message from the server;

[0019] 2.4) The client obtains the segmentation file data of the requested partial printing layer according to the response message.

[0020] The above step 2.1) is specifically:

[0021] 2.1.1) The client sends a first request message to the server, where the first request message is used to request to obtain and print task data, and the first request message includes a JobShell request flag;

[0022] 2.1.2) After receiving the response information from the server, the client obtains the printing task data from the response message, where the printing task data is the process information related to the printing task and the total number of layers.

[0023] The above step 2.2) is specifically: the client sends a second request message to the server, and the second request message is used to request to obtain the n-layer segmentation file from the server; the second request message includes a Workplane flag and a layer number corresponding to the Workplane flag.

[0024] The second request message is encoded, and preferably, the encoding method is UTF-8.

[0025] The above-mentioned response message is the source data of the segmented file of the requested partial printing layer or an error prompt; the specific step 2.3) is: after the server receives the second request message sent by the client, it locates the requested partial printing layer based on the layer number corresponding to the Workplane in the second message. If the positioning is successful, the source data of the segmented file of the requested partial printing layer is sent to the client as response information; if the positioning fails or cannot be located, an error prompt is sent to the client as a response message.

[0026] When the above response message is the requested source data of the split file of the partial printing layer, the step 2.4) is specifically:

[0027] 2.4.1) The client reads the stored key file and performs the first layer of decryption on the source data of the split file based on the key file;

[0028] 2.4.2) Perform a second-level decryption on the first-level decrypted segmented file source data by calling an additional encryption dongle and a decryption library, and finally obtain the segmented file data of the requested partial printing layer;

[0029] When the response message contains an error message, the step 2.4) is specifically:

[0030] 2.4.1) The client directly obtains the error type through the error prompt; the error type includes network error, file does not exist or insufficient permission;

[0031] 2.4.2) Based on the error type, the client executes step 2.1) to re-request the segmentation file data of some printing layers from the server or exits the segmentation file acquisition process.

[0032] The above-mentioned segmentation files include JobShell data and Workplane data;

[0033] The JobShell data represents the print task data, including a part information array, a laser printing parameter array, Job metadata, Job parameters, and a total number of layers;

[0034] The part information array includes part name, volume, surface area, support volume, material used and process strategy;

[0035] The laser printing parameter array includes power, scanning speed and spot size;

[0036] The job metadata includes basic information, which includes creation time, version and name;

[0037] The job parameters include equipment information, which includes heating temperature, gas flow direction, and material feeding direction;

[0038] The Workplane data represents the segmentation file data of the printing layer, including a vector block array, the number of vector blocks, the Z-axis position, the XYZ-axis rotation angle, and metadata.

[0039] The above 3D printing method further includes, before step 1):

[0040] 0) The client requests the order data from the server. If the order data is obtained, it goes directly to step 1). If the order data is not obtained, it continues to request the order data from the server.

[0041] A 3D printing system for implementing the 3D printing method as described above, characterized in that: the 3D printing system includes a user, a server, and a client;

[0042] The user uploads the printing requirement to the server;

[0043] The server sends orders to the client according to user needs;

[0044] The client receives the order from the server and completes the corresponding 3D printing based on the 3D printing method as described above;

[0045] Preferably, the printing requirement includes a part model and / or segmentation file data;

[0046] Preferably, the server includes a first sub-server and a second sub-server; the user uploads the printing requirement to the first sub-server in the server, and the first sub-server sends the part model to the second sub-server after receiving the printing requirement, and the second sub-server obtains the segmentation file data for the part model and sends the segmentation file data to the first sub-server; the first sub-server sends the segmentation file data provided by the user and / or the segmentation file data sent by the second sub-server to the client; the client completes the corresponding 3D printing based on the segmentation file data.

[0047] The beneficial effects of the present invention are:

[0048] The present invention provides a 3D printing method, which is applied to a client, and the 3D printing method includes: 1) the client establishes a network connection with a server; 2) the client requests and obtains the segmented file data of a part of the printing layer from the server; 3) the client completes the printing task based on the acquired segmented file data of the part of the printing layer. The present invention uses the grpc communication protocol to realize the function of the client obtaining the segmented file from the server in layers, the data volume of a single layer of data is small, the network response speed is improved, the segmented file is obtained layer by layer during the printing process, and the segmented file is avoided from being directly provided as a whole, the security of user data is improved, and the risk of leakage of commercial secrets involved in the segmented file is reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] Figure 1 It is a framework composition diagram of the forming system provided by the present invention;

[0050] Figure 2 It is a workflow diagram of the forming method (client) provided by the present invention;

[0051] Figure 3 It is a schematic diagram of the client data decryption process;

[0052] Figure 4 It is a Job specific data display diagram adopted by the present invention. DETAILED DESCRIPTION

[0053] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments.

[0054] The 3D printing process involves multiple links. The user provides a print part model, and the user or designer divides, slices, and plans the path of the model to form a division file. The manufacturer completes the part printing based on the division file. At present, manufacturers usually need to obtain the completed division file to print parts, and the division file is the core file of the 3D printing process. There is a risk of data leakage in this process. In addition, currently users divide the parts themselves and then connect with manufacturers for printing, or users connect with other companies for division and then connect with manufacturers for printing. With the development of the 3D printing business, users may not be able to find a suitable manufacturer for printing, or manufacturers may not be able to find a suitable printing order.

[0055] Based on the above problems, the present invention provides a system for obtaining 3D printing orders online, and a 3D printing method.

[0056] See also Figure 1 The present invention provides a 3D printing system, exemplarily, a system for obtaining 3D printing orders online, which may include a client, a server, and a user. In some embodiments, a user may upload a part model and segmentation file data to the server, and the client may receive an order from the server, that is, request the server to obtain the segmentation file data of the part, and complete the user's printing needs after obtaining the segmentation file data. The segmentation file data includes data such as segmentation slices and path planning. In other embodiments, the server may include a first sub-server and a second sub-server, and the user uploads the part model to the first sub-server in the server, and the client may receive an order from the server, that is, request the server to obtain the segmentation file data of the part, and the first sub-server of the server may send the part model to the second sub-server after receiving the request, and the second sub-server processes the part model to obtain the segmentation file data, and then sends the segmentation file data to the first sub-server, and then the first sub-server sends the segmentation file data to the client, so that the client completes the user's printing needs based on the segmentation file data.

[0057] See also Figure 2 The present invention provides a 3D printing method, which is applied to a client of the system for obtaining orders on the 3D printing line, and the method comprises the following steps:

[0058] 1. The client requests order data from the server.

[0059] The client can periodically request order data from the server through webapi, which is a communication technology based on http communication protocol. If there is no order data on the server, the client will not display a message. If there is order data on the server, the client can prompt the user that "order data exists". After the client obtains the order data on the server, it can obtain the print data for subsequent printing. It can be understood that the order data on the server is uploaded by the user. The user can upload the part model and print data to be printed to the server, and wait for the client to accept the order for printing. Exemplary, the order acquisition method can be as follows: Figure 2 When a user creates an order on the server, he uploads the model file of the product to be printed. After receiving the model file uploaded by the designer, the server needs to perform a series of processing, including path planning, model segmentation, etc., and finally generates the processing result into an encrypted ovf format file.

[0060] 2. The client establishes a network connection with the server.

[0061] Among them, the client can establish a network connection with the server through the grpc communication protocol. The grpc communication protocol is a modern open source high-performance remote procedure call (RPC) framework that can run in any environment. It can efficiently connect services within and across data centers and supports load balancing, tracking, health checks, and authentication. The protocol uses HTTP / 2 as the transmission protocol and supports two-way full-duplex communication for sending client requests and server responses at the same time. Built-in streaming processing supports asynchronous streaming requests and responses for large data sets. Header compression reduces network usage. It can ensure the stability and reliability of file transfer. In addition, encryption technology is used to protect data security during file transfer. Compared with common communication protocols (such as http, tcp, etc.), the grpc protocol has the following advantages: (1) Providing efficient inter-process communication; (2) Simple service interface and mode; (3) Multi-language development; (4) Mature and widely used; (5) Built-in load balancing solution; (6) Fast data communication speed, the server can respond to messages from the client in a timely manner.

[0062] Usually, you can configure grpc communication information in advance on the client, and then the client and server can communicate through grpc. The grpc communication information includes the server's IP address, port number, and digital certificate.

[0063] The server may be a cloud platform or other forms of server, which is not limited in the present invention.

[0064] 3. The client requests and obtains the segmentation file data (ovf file data) of part of the printing layer from the server.

[0065] In order to avoid data leakage, the client will only request the server to obtain the segmentation file data of some printing layers each time. For example, the client can request the server to obtain n layers of segmentation file data each time until all the segmentation file data is obtained. For example, n=3, that is, the client first requests the server to obtain 3 layers of segmentation files at one time. When the obtained 3 layers of segmentation file data are almost printed, it requests the server to obtain the subsequent 3 layers of segmentation file data and complete the printing, and so on, until all the segmentation file data are obtained. For another example, the client may first request the server to obtain n layers of segmented file data, and then obtain another layer of segmented file data after completing one layer of printing, until all the segmented file data are obtained. For example, the client may first request the server to obtain the first three layers of segmented file data, and then after completing the first layer of printing, the client requests the server to obtain the segmented file data of the next layer (i.e., the fourth layer), and after completing the second layer of printing, the client requests the server to obtain the segmented file data of the next layer (i.e., the fifth layer), until all the segmented file data are obtained. It can be understood that in this way, there is a queue of length n. After the first layer of segmented file data in the queue is printed, the client requests the server to obtain the segmented file data of the next layer to fill the queue. Among them, 1≤n<N; N is the total number of layers of segmented file data; n is the number of layers of segmented file data obtained. Generally speaking, n will choose a smaller value, for example, n is generally an integer less than or equal to 5. By requesting the server to obtain the segmented file data of some printing layers instead of all printing layers through the client, slow data acquisition caused by network delays and other problems can be prevented, and the problem of low data security caused by obtaining user data at one time can also be avoided.

[0066] The client requests the server to obtain the split file data of some printing layers, which specifically includes:

[0067] 3.1) The client requests the print task data from the server.

[0068] Specifically, the client can send a first request message to the server, and the first request message is used to request to obtain and print task data. The first request message includes a request JobShell mark; after the client receives the response information from the server, it obtains the printing task data from the response message, that is, the process information related to the printing task, the total number of layers and other data.

[0069] It should be noted that the part segmentation file can usually be represented by Job data, such as Figure 4As shown in the figure, the segmentation file (i.e., Job data) includes JobShell data and Workplane data, wherein the JobShell data represents the printing task data, including the part information array, the laser printing parameter array, the Job metadata, the Job parameters, and the total number of layers (the number of Workplanes included); the part information array includes the part name, volume, surface area, support volume, material used, and process strategy; the laser printing parameter array includes parameters such as power, scanning speed, and spot size; the Job metadata includes basic information such as creation time, version, and name; the Job parameters include equipment information such as heating temperature, gas flow direction, and material feed direction; the Workplane data represents the segmentation file data of the printing layer, including the vector block array, the number of vector blocks, the Z-axis position, the XYZ-axis rotation angle, and metadata.

[0070] 3.2) The client requests the server for the segmentation file data of some printing layers.

[0071] Specifically, the client may send a second request message to the server, where the second request message is used to request to obtain the segmented file data of a partial printing layer from the server, where the partial printing layer is generally a preset number of printing layers, which is manually set.

[0072] The second request message includes the Workplane flag and the layer number corresponding to the Workplane to locate the corresponding printing layer.

[0073] The second request message may be encoded using an appropriate encoding method (such as UTF-8), and the encoded content is sent as the second request message.

[0074] 3.3) The client receives the response message from the server.

[0075] After the server receives the second request message sent by the client, it will locate the requested partial printing layer based on the layer number corresponding to the Workplane included in the second message, and send the segmented file source data of the requested partial printing layer to the client through a response message; if the segmented file source data of the requested partial printing layer is not located, the error prompt will be sent to the client through a response message.

[0076] Therefore, the client receives a response message from the server, and the response message includes the split file source data of the requested partial printing layer, or an error prompt.

[0077] 3.4) The client decrypts the segmented file source data in the response message to obtain the segmented file data of the requested partial printing layer.

[0078] After receiving the response message from the server, the client can decrypt the segmented file source data in the response message in sequence. Specifically, the client can read the stored key file, perform a first-level decryption on the segmented file source data based on the key file, and then perform a second-level decryption on the segmented file source data after the first-level decryption by calling an additional dongle and a decryption library, and finally obtain the segmented file data of the requested partial printing layer. Exemplarily, the client can save the segmented file source data in the response message to the cache waiting for decryption, and the decrypted segmented file data can also be saved in the cache waiting for subsequent calls. Exemplarily, the decryption process can refer to Figure 3 The process shown.

[0079] It should be noted that in the process of the server sending a response message to the client, the grpc communication protocol will convert the format of the segmented file source data in order to transmit data. Therefore, before decrypting the response message, the client can also parse the segmented file source data after format conversion based on the preset standard to obtain the same segmented file source data as the server. The preset parsing standard can be the OpenVectorFormat (ovf) data format developed by the University of Aachen in Germany.

[0080] If the response message includes an error prompt, the client can directly obtain the error type through the error prompt. Error types include network error, file does not exist, insufficient permissions, etc. If the response message includes an error prompt, the client re-requests the split file data of some printing layers from the server.

[0081] 4. The client completes the printing task based on the acquired segmented file data.

[0082] Since the segmented file data obtained by the client is ovf file data, this data format cannot be recognized by the printing device. Therefore, the client needs to further convert the segmented file data into print data that can be recognized by the printing device before printing, and then the client completes the printing task based on the converted print data.

[0083] It is understandable that after a layer is printed, the print data corresponding to the layer can be directly destroyed in the memory, thereby reducing memory usage and improving printing efficiency.

[0084] In some embodiments, the printing progress can also be monitored in real time and updated to facilitate understanding of the printing progress. In addition, it can also be traced when a failure occurs.

Claims

1. A 3D printing method, applied on the client side, Features: The 3D printing method comprises the following steps: 1) The client establishes a network connection with the server; 2) The client requests and obtains the segmentation file data of some printing layers from the server; 3) The client completes the printing task based on the acquired segmented file data of the partial printing layer.

2. The 3D printing method according to claim 1, Features: The method of obtaining in step 2) is method 1 or method 2: Method 1: The client first requests the server to obtain n layers of segmentation file data at one time. When the n layers of segmentation file data are about to be printed, the client requests the server to obtain the subsequent n layers of segmentation file data and complete the printing, and so on, until all the segmentation file data are obtained; Method 2: The client first requests the server to obtain n-layer segmentation file data. After the first layer of segmentation file data of the n-layer segmentation file data is printed, the client again requests the server to obtain the next layer of segmentation file data, and so on, until all the segmentation file data are obtained; In the above-mentioned method 1 or method 2, 1≤n<N, n is a natural number; N is the total number of layers of all segmented files; and n is the number of layers of the segmented files obtained each time.

3. The method for obtaining a segmentation file according to claim 2, Features: The step 2) is specifically: 2.1) The client requests the server to print task data; 2.2) The client requests the server for the segmentation file data of some printing layers; 2.3) The client receives a response message from the server; 2.4) The client obtains the segmentation file data of the requested partial printing layer according to the response message.

4. The 3D printing method according to claim 3, Features: The step 2.1) is specifically: 2.1.1) The client sends a first request message to the server, where the first request message is used to request to obtain and print task data, and the first request message includes a JobShell request flag; 2.1.2) After receiving the response information from the server, the client obtains the printing task data from the response message, where the printing task data is the process information related to the printing task and the total number of layers.

5. The 3D printing method according to claim 4, Features: The step 2.2) is specifically: the client sends a second request message to the server, and the second request message is used to request to obtain the n-layer segmentation file from the server; the second request message includes a Workplane flag and a layer number corresponding to the Workplane flag.

6. The 3D printing method according to claim 5, Features: The response message is the split file source data of the requested part of the printing layer or an error prompt; the step 2.3) is specifically: After receiving the second request message sent by the client, the server locates the requested partial printing layer based on the layer number corresponding to the Workplane in the second message. If the location is successful, the server sends the segmented file source data of the requested partial printing layer to the client as response information; If the positioning fails or cannot be located, an error prompt is sent to the client as a response message.

7. The 3D printing method according to claim 6, Features: When the response message is the requested source data of the split file of the partial printing layer, the step 2.4) is specifically: 2.4.1) The client reads the stored key file and performs the first layer of decryption on the source data of the split file based on the key file; 2.4.2) Perform a second-level decryption on the first-level decrypted segmented file source data by calling an additional encryption dongle and a decryption library, and finally obtain the segmented file data of the requested partial printing layer; When the response message contains an error message, the step 2.4) is specifically: 2.4.1) The client directly obtains the error type through the error prompt; the error type includes network error, file does not exist or insufficient permission; 2.4.2) Based on the error type, the client executes step 2.1) to re-request the segmentation file data of some printing layers from the server or exits the segmentation file acquisition process.

8. The 3D printing method according to any one of claims 1 to 7, Features: The segmentation file includes JobShell data and Workplane data; The JobShell data represents the print task data, including a part information array, a laser printing parameter array, Job metadata, Job parameters, and a total number of layers; The part information array includes part name, volume, surface area, support volume, material used and process strategy; The laser printing parameter array includes power, scanning speed and spot size; The job metadata includes basic information, which includes creation time, version and name; The job parameters include equipment information, which includes heating temperature, gas flow direction, and material feeding direction; The Workplane data represents the segmentation file data of the printing layer, including a vector block array, the number of vector blocks, the Z-axis position, the XYZ-axis rotation angle, and metadata.

9. The 3D printing method according to claim 8, Features: The 3D printing method further includes before step 1): 0) the client requests order data from the server, if the order data is obtained, directly proceeds to step 1), if the order data is not obtained, then continues to request order data from the server.

10. A 3D printing system for implementing the 3D printing method according to any one of claims 1 to 9, Features: The 3D printing system includes a user, a server and a client; The user uploads the printing requirement to the server; The server sends orders to the client according to user needs; The client receives an order from the server and completes corresponding 3D printing based on the 3D printing method according to claims 1-9; Preferably, the printing requirement includes a part model and / or segmentation file data; Preferably, the server includes a first sub-server and a second sub-server; the user uploads the printing requirement to the first sub-server in the server, the first sub-server sends the part model to the second sub-server after receiving the printing requirement, the second sub-server obtains the segmentation file data for the part model, and sends the segmentation file data to the first sub-server; the first sub-server sends the segmentation file data provided by the user and / or the segmentation file data sent by the second sub-server to the client; The client completes corresponding 3D printing based on the segmentation file data.