CN117621440A - 3D printing correction method and 3D printing parameter optimization system - Google Patents

3D printing correction method and 3D printing parameter optimization system Download PDF

Info

Publication number
CN117621440A
CN117621440A CN202311714878.7A CN202311714878A CN117621440A CN 117621440 A CN117621440 A CN 117621440A CN 202311714878 A CN202311714878 A CN 202311714878A CN 117621440 A CN117621440 A CN 117621440A
Authority
CN
China
Prior art keywords
printing
vector
suspension
trial
workpiece
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311714878.7A
Other languages
Chinese (zh)
Inventor
胡添鹏
何庆
郑露文
姚炎波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangyin Xieli Machinery Technology Co ltd
Original Assignee
Jiangyin Xieli Machinery Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangyin Xieli Machinery Technology Co ltd filed Critical Jiangyin Xieli Machinery Technology Co ltd
Priority to CN202311714878.7A priority Critical patent/CN117621440A/en
Publication of CN117621440A publication Critical patent/CN117621440A/en
Pending legal-status Critical Current

Links

Abstract

The invention discloses a 3D printing correction method and a 3D printing parameter optimization system, and relates to the technical field of three-dimensional printing. The method comprises the steps of obtaining an offset vector of each material point on a workpiece printing path of a formed workpiece as a trial printing forming offset vector of each material point on the workpiece; obtaining the position difference of each material point in the designed printing space model at the corresponding position in the workpiece printing path and the printing nozzle trial printing motion path to obtain the printing suspension vector of each material point on the workpiece; obtaining the corresponding relation of the trial printing forming offset vector relative to the printing suspension vector according to the trial printing forming offset vector of each material point on the workpiece and the corresponding printing suspension vector; and correcting the trial printing motion path of the printing nozzle according to the corresponding relation of the trial printing forming offset vector and the printing suspension vector to obtain a correction motion path of the printing nozzle. The invention realizes the correction of the motion path of the printing nozzle.

Description

3D printing correction method and 3D printing parameter optimization system
Technical Field
The invention belongs to the technical field of three-dimensional printing, and particularly relates to a 3D printing correction method and a 3D printing parameter optimization system.
Background
3D printing, also known as additive manufacturing, is a layer-by-layer manufacturing method that creates a three-dimensional object by stacking materials. However, in the actual 3D printing process, since the printing material itself has viscosity, the spatial position of the nozzle is deviated due to the traction force of the printing material during the movement. Resulting in errors in the structure and dimensions of the work piece after curing of the print.
Disclosure of Invention
The invention aims to provide a 3D printing correction method and a 3D printing parameter optimization system, which are used for realizing correction of a printing nozzle movement path by analyzing the offset state of each material point under a trial printing state.
In order to solve the technical problems, the invention is realized by the following technical scheme:
the invention provides a 3D printing correction method, which comprises the following steps of,
obtaining a design printing space model of a workpiece;
acquiring a workpiece printing path according to the design printing space model of the workpiece;
obtaining a trial printing motion path of a printing nozzle according to the workpiece printing path;
obtaining a trial-forging forming space model of a workpiece;
obtaining an offset vector of each material point on the formed workpiece on a workpiece printing path according to the deviation between the designed printing space model and the trial printing space model of the workpiece, and taking the offset vector as a trial printing offset vector of each material point on the workpiece;
obtaining the position difference of each material point in the designed printing space model at the corresponding position in the workpiece printing path and the printing nozzle trial printing motion path to obtain the printing suspension vector of each material point on the workpiece;
obtaining a corresponding relation of the trial printing forming offset vector relative to the printing suspension vector according to the trial printing forming offset vector of each material point on the workpiece and the corresponding printing suspension vector;
and correcting the printing nozzle trial printing motion path according to the corresponding relation of the trial printing forming offset vector relative to the printing suspension vector to obtain a printing nozzle correction motion path.
The invention also discloses a 3D printing correction method, which comprises the following steps,
receiving a print head correction motion path;
and controlling the printing nozzle to print according to the printing nozzle correction motion path.
The invention also discloses a 3D printing parameter optimization system, which comprises,
the control unit is used for acquiring a design printing space model of the workpiece;
acquiring a workpiece printing path according to the design printing space model of the workpiece;
the pre-printing unit is used for obtaining a printing nozzle trial printing motion path according to the workpiece printing path;
obtaining a trial-forging forming space model of a workpiece;
obtaining an offset vector of each material point on a workpiece printing path on a formed workpiece according to the deviation of the designed printing space model of the workpiece and the trial printing space model of the workpiece, and taking the offset vector as a trial printing forming offset vector of each material point on the workpiece;
the correction unit is used for obtaining the position difference of each material point in the designed printing space model at the corresponding position in the workpiece printing path and the printing nozzle trial printing motion path to obtain the printing suspension vector of each material point on the workpiece;
obtaining a corresponding relation of the trial printing forming offset vector relative to the printing suspension vector according to the trial printing forming offset vector of each material point on the workpiece and the corresponding printing suspension vector;
correcting the printing nozzle trial printing motion path according to the corresponding relation of the trial printing forming offset vector relative to the printing suspension vector to obtain a printing nozzle correction motion path;
generating printing nozzle motion control parameters according to the printing nozzle correction motion path;
a print control unit for receiving the print head correction motion path;
and controlling the printing nozzle to print according to the printing nozzle correction motion path.
According to the method, the quantized influence relationship of the printing nozzle on the 3D printing formation in different suspension states is obtained by carrying out association matching on the trial printing formation offset vector and the printing suspension vector of the printing nozzle in the trial printing process. And correcting the motion path of the printing spray head according to the quantitative influence relation, so that parameters of the printing spray head correction motion path are obtained, and more accurate 3D printing is realized.
Of course, it is not necessary for any one product to practice the invention to achieve all of the advantages set forth above at the same time.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed for the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of functional modules and information flow of a 3D printing parameter optimization system according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating steps performed by the control unit, the pre-printing unit and the correction unit according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a print control unit according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating the step S4 according to an embodiment of the present invention;
FIG. 5 is a flowchart illustrating the step S71 according to an embodiment of the present invention;
FIG. 6 is a flowchart illustrating the step S72 according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating the step S73 according to an embodiment of the present invention;
FIG. 8 is a flowchart illustrating the steps of step S731 in an embodiment of the present invention;
fig. 9 is a flowchart illustrating a step flow of step S7312 according to an embodiment of the present invention;
fig. 10 is a flowchart illustrating a step of step S73121 according to an embodiment of the invention.
In the drawings, the list of components represented by the various numbers is as follows:
1-control unit, 2-preprinting unit, 3-correction unit, 4-printing control unit.
Description of the embodiments
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like herein are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that embodiments of the present application described herein may be implemented in sequences other than those illustrated or otherwise described herein. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as detailed in the accompanying claims.
3D printing (3D printing), also known as workable fabrication, additive manufacturing, or rapid prototyping, is a manufacturing technique that creates three-dimensional objects by stacking materials layer by layer. Unlike traditional subtractive manufacturing (such as engraving, milling or cutting), it builds objects by way of added material, thereby enabling designers and manufacturers to create complex structures and shapes in a more free and flexible manner. During 3D printing, the 3D printer stacks material layer by layer, building objects step by step according to paths and parameters in the slice file. This is typically accomplished by depositing raw materials in a semi-fluid state onto a build platform. But due to the semi-fluid state of the raw material, the printing head may cause an offset error in releasing the raw material. In order to correct this error, the present invention provides the following.
Referring to fig. 1 to 4, the present invention provides a 3D printing parameter optimization system, which aims to perform correction optimization on a motion path of a printing head during a printing process. In order to achieve correction and parameter optimization of the print path of the print head, the control unit 1 is first required to perform step S1 to acquire a design print space model of the workpiece, which may be created or acquired using Computer Aided Design (CAD) software. Ensuring that the model is complete and satisfactory, including correct dimensions, geometry, wall thickness, etc. Step S2 may then be performed to obtain a workpiece print path from the design print space model of the workpiece. In this process, the design space model may be imported into specialized slicing software. These software cut the model into a series of slices, generating a path and printing parameters for each slice. Slicing software also allows you to adjust print settings such as layer height, packing density, support structure, etc. A 3D print path of the workpiece is then generated using slicing software. The software will generate a path for each layer based on the geometry and parameters of the slice. These paths direct the movement of the printhead at each level, determining the manner in which the materials are stacked and the fill pattern.
Step S3 may then be performed by the pre-printing unit 2 to obtain a print head trial printing motion path from the workpiece printing path. In this process, first, it is necessary to know the structure and operation principle of the 3D printer that you use. Different types of printers (e.g., FFF/FDM, SLA, SLS, etc.) may have different motion systems and nozzle configurations, and thus require corresponding adjustments depending on the situation. And then extracting a nozzle movement instruction, and extracting an instruction related to nozzle movement in analysis software. These instructions typically include linear movement, circular interpolation, printhead elevation, control of the nozzle extrusion material, and the like. And then the motion path of the spray head is converted, namely, the motion path is converted into the actual motion path of the spray head according to the extracted motion instruction. This may involve coordinate conversion, speed control, acceleration control, etc. calculation and conversion processes. Consider showerhead limitations and constraints: in generating the motion profile of the spray head, motion limitations and constraints of the spray head need to be considered. Such as collision avoidance, minimum radius limiting, maximum speed limiting, etc. This ensures safe and efficient movement of the ejection head during printing. And finally, optimizing the movement path of the spray head. This may include path smoothing, reducing motion pauses, minimizing movement times, etc. to improve printing efficiency and quality, resulting in a print head trial printing motion path.
After finishing the trial printing of the workpiece, step S4 may be performed to obtain a trial printing spatial model of the workpiece, and step S5 may be performed to obtain a trial printing offset vector of each material point on the workpiece on the printing path of the workpiece as a trial printing offset vector of each material point on the workpiece according to the design printing spatial model of the workpiece and the deviation of the trial printing spatial model of the workpiece. May be acquired by means of a laser spatial scan.
Next, the correction unit 3 may execute step S6 to obtain the position difference of each material point in the designed printing space model at the corresponding position in the workpiece printing path and the printing nozzle trial printing motion path, so as to obtain the printing suspension vector of each material point on the workpiece. Step S7 can be executed to obtain the corresponding relation of the trial printing forming offset vector relative to the printing suspension vector according to the trial printing forming offset vector of each material point on the workpiece and the corresponding printing suspension vector. And then, the step S8 can be executed to correct the trial printing motion path of the printing nozzle according to the corresponding relation of the trial printing forming offset vector and the printing suspension vector so as to obtain a correction motion path of the printing nozzle. And finally generating printing nozzle motion control parameters according to the printing nozzle correction motion path.
The print head correction movement path may be received by the print control unit 4 executing step S01 after completion of the movement path correction and parameter adjustment. Finally, step S02 may be executed to control the print head to perform print processing according to the print head correction motion path.
Referring to fig. 4, since the printing nozzle generates a shaping deviation during the process of releasing and spraying the semi-fluid raw material, and the suspension states of different angles and distances between the printing nozzle and the workpiece generate different shaping deviations, namely trial printing forming offset vectors. In order to quantitatively describe the correlation between the two, step S7 may be performed in the specific implementation process by first performing step S71 to divide the pilot molding offset vector of each material point on the workpiece into a plurality of pilot molding offset vector subsets. Step S72 may then be performed to divide the print suspension vector for each material point on the workpiece into a number of print suspension vector subsets. And finally, step S73 can be executed to match the pilot printing forming offset vector subset with the printing suspension vector subset to obtain the corresponding relation of the pilot printing forming offset vector with respect to the printing suspension vector. The method is characterized in that accidental errors exist in the formation and collection of the printing suspension vectors and the trial forming offset vectors, so that stable quantization relation induction can be realized by classifying and dividing the printing suspension vector subsets and the trial forming offset vector subsets and then matching.
Referring to fig. 5, since the number of material points on the workpiece is very large, if the induced pilot forming offset vector is too complex with respect to the print suspension vector, the correction response speed of the subsequent correction will be affected. This requires that the plurality of trial forming offset vectors be generalized into a limited number of trial forming offset vector subsets, and in order to make the plurality of trial forming offset vectors in the trial forming offset vector subsets have relative consistency, step S71 may be implemented by first selecting a number of trial forming feature offset vectors from the trial forming offset vectors of all material points on the workpiece in step S711. Step S712 may then be performed to obtain a vector difference module length for each pilot pattern feature offset vector and other pilot pattern offset vectors. Step S713 may then be performed to program each other trial forming offset vector into the same subset of trial forming offset vectors as the trial forming feature offset vector with the smallest vector difference modulus value. Step S714 may then be performed to calculate and obtain, as updated trial molding feature offset vectors, the trial molding offset vector having the smallest vector difference modulus of each of the trial molding offset vector subsets from its mean vector. Step S715 may then be performed to determine whether the updated trial molding feature offset vector has changed. If yes, step S712 to step S715 may be performed next to regenerate the subset of trial forming offset vectors and the trial forming feature offset vectors, and if not, step S716 may be performed finally to obtain a plurality of subsets of trial forming offset vectors. By the steps, a plurality of test pattern forming offset vectors which are relatively consistent can be classified into the same test pattern forming offset vector subset.
To supplement the above-described implementation procedures of steps S711 to S716, source codes of part of the functional modules are provided, and a comparison explanation is made in the annotation section. In order to avoid data leakage involving trade secrets, a desensitization process is performed on portions of the data that do not affect implementation of the scheme, as follows.
#include <vector>
#include <limits>
#include <cmath>
class Vector3D {
public:
double x, y, z;
Vector3D(double x = 0, double y = 0, double z = 0) : x(x), y(y), z(z) {}
Vector difference mode length is/is calculated
double distanceTo(const Vector3D& other) const {
return std::sqrt(std::pow(x - other.x, 2) + std::pow(y - other.y, 2) + std::pow(z - other.z, 2));
}
};
std::vector<std::vector<Vector3D>> kMeansClustering(const std::vector<Vector3D>& offsetVectors, int k) {
std::vector<Vector3D> centroids(k);
std::vector<std::vector<Vector3D>> clusters(k);
V/initialisation: the first k offset vectors are selected as initial centers
for (int i = 0; i < k; ++i) {
centroids[i] = offsetVectors[i];
}
while (true) {
Assigning each offset vector to the nearest center
for (const auto& vector : offsetVectors) {
int closestCentroidIndex = 0;
double minDistance = std::numeric_limits<double>::max();
for (int i = 0; i < k; ++i) {
double distance = vector.distanceTo(centroids[i]);
if (distance < minDistance) {
minDistance = distance;
closestCentroidIndex = i;
}
}
clusters[closestCentroidIndex].push_back(vector);
}
New center of calculation
std::vector<Vector3D> newCentroids(k);
for (int i = 0; i < k; ++i) {
double sumX = 0, sumY = 0, sumZ = 0;
for (const auto& vector : clusters[i]) {
sumX += vector.x;
sumY += vector.y;
sumZ += vector.z;
}
newCentroids[i] = Vector3D(sumX / clusters[i].size(), sumY / clusters[i].size(), sumZ / clusters[i].size());
}
Check if the center has changed
bool centroidsChanged = false;
for (int i = 0; i < k; ++i) {
if (centroids [ i ]. Dis-tanceTo (newCentroids [ i ]) > 0.00001) {// uses a small threshold to determine if a change has occurred
centroidsChanged = true;
break;
}
}
if (centroidsChanged) {
centroids = newCentroids;
clusters.clear();
clusters.resize(k);
} else {
break;
}
}
return clusters;
}
The code first defines a Vector3D class to represent points and vectors in 3D space and implements a method of calculating Vector differential modular lengths. The trial forming offset vector is then divided into k subsets. Firstly, selecting the first k offset vectors as initial centers, then distributing each offset vector to the nearest center, calculating a new center, ending the algorithm if the center is not changed, and returning a result; otherwise, continuing the allocation and calculation of the next round.
Referring to fig. 6, in order to avoid that the induced trial run-out offset vector is too complex with respect to the print suspension vector to affect the correction response speed of the subsequent correction, a plurality of print suspension vectors need to be induced into a limited subset of print suspension vectors. This requires that step S721 be performed to select a plurality of print feature suspension vectors among the print suspension vectors of all the material points on the workpiece in the process of performing step S72. Step S722 may then be performed to obtain a vector difference modulo length for each print feature suspension vector and other print suspension vectors. Step S723 may then be performed to program each other print suspension vector into the same subset of print suspension vectors as the print feature suspension vector with the smallest vector difference modulus value. Step S724 may be performed to calculate and obtain the print suspension vector with the smallest vector difference modulus length from the mean vector in each print suspension vector subset as the updated print feature suspension vector. Step S725 may then be performed to determine whether the updated print feature suspension vector has changed. If yes, then step S722 to step S725 can be executed to regenerate the subset of print suspension vectors and the print feature suspension vectors, if not, step S726 can be executed to obtain a plurality of print suspension vectors.
To supplement the above-described implementation procedures of step S721 to step S725, source codes of part of the functional modules are provided, and a comparison explanation is made in the annotation section.
#include <vector>
#include <limits>
#include <cmath>
class Vector3D {
public:
double x, y, z;
Vector3D(double x = 0, double y = 0, double z = 0) : x(x), y(y), z(z) {}
Vector difference mode length is/is calculated
double distanceTo(const Vector3D& other) const {
return std::sqrt(std::pow(x - other.x, 2) + std::pow(y - other.y, 2) + std::pow(z - other.z, 2));
}
};
std::vector<std::vector<Vector3D>> kMeansClustering(const std::vector<Vector3D>& suspensionVectors, int k) {
std::vector<Vector3D> centroids(k);
std::vector<std::vector<Vector3D>> clusters(k);
V/initialisation: the first k suspension vectors are selected as initial centers
for (int i = 0; i < k; ++i) {
centroids[i] = suspensionVectors[i];
}
while (true) {
Assigning each dangling vector to the nearest center
for (const auto& vector : suspensionVectors) {
int closestCentroidIndex = 0;
double minDistance = std::numeric_limits<double>::max();
for (int i = 0; i < k; ++i) {
double distance = vector.distanceTo(centroids[i]);
if (distance < minDistance) {
minDistance = distance;
closestCentroidIndex = i;
}
}
clusters[closestCentroidIndex].push_back(vector);
}
New center of calculation
std::vector<Vector3D> newCentroids(k);
for (int i = 0; i < k; ++i) {
double sumX = 0, sumY = 0, sumZ = 0;
for (const auto& vector : clusters[i]) {
sumX += vector.x;
sumY += vector.y;
sumZ += vector.z;
}
newCentroids[i] = Vector3D(sumX / clusters[i].size(), sumY / clusters[i].size(), sumZ / clusters[i].size());
}
Check if the center has changed
bool centroidsChanged = false;
for (int i = 0; i < k; ++i) {
if (centroids [ i ]. Dis-tanceTo (newCentroids [ i ]) > 0.00001) {// uses a small threshold to determine if a change has occurred
centroidsChanged = true;
break;
}
}
if (centroidsChanged) {
centroids = newCentroids;
clusters.clear();
clusters.resize(k);
} else {
break;
}
}
return clusters;
}
The code first defines a Vector3D class to represent points and vectors in 3D space and implements a method of calculating Vector differential modular lengths. The print suspension vector is then divided into k subsets. Firstly, selecting the first k suspension vectors as initial centers, then distributing each suspension vector to the nearest center, calculating a new center, ending the algorithm if the center is not changed, and returning a result; otherwise, continuing the allocation and calculation of the next round.
Referring to fig. 7, in the subsequent process of correcting the trial printing motion path of the printing nozzle, each printing suspension vector needs to be corresponding to a definite trial printing offset vector, so that the characteristic values in the subset of trial printing offset vectors need to be paired with the subset of printing suspension vectors, and step S731 needs to be executed first to obtain the vector range of each subset of printing suspension vectors according to each printing suspension vector in the subset of printing suspension vectors. Step S732 may then be performed to obtain a subset of print suspension vectors in which the print suspension vectors corresponding to the material points on the molded workpiece for the pilot-molded feature offset vectors within each of the subset of pilot-molded offset vectors. Step S733 may be performed to use the correspondence of the trial molding feature offset vector with respect to any space vector within the vector range of the subset of print suspension vectors as the correspondence of the trial molding feature offset vector with respect to the print suspension vector. In the scheme, one trial forming characteristic offset vector is selected from each trial forming offset vector subset, and one trial forming offset vector can be randomly selected.
Referring to fig. 8, in order to make the trial forming offset vectors selected from the subset of trial forming offset vectors have sufficient representativeness, step S7311 may be performed first for each subset of print suspension vectors, where after the start point of each print suspension vector included in the subset of print suspension vectors is set as the origin, the end point of each print suspension vector is obtained, and then step S7312 may be performed to obtain, as the vector range of the subset of print suspension vectors, the space vector range corresponding to the space region occupied by the end point of each print suspension vector. The space area occupied by the terminal points can be envelope space spheres of a plurality of terminal points, or inscribed space spheres of a plurality of terminal points at the outermost periphery.
Referring to fig. 9, in order to make the vector range corresponding to the print suspension vector subset more fit to the print suspension vector included in the subset, the vector range of the print suspension vector subset may be made to correspond to the spatial range covered by the end point of each print suspension vector of the print suspension vector subset. Specifically, in the implementation process of step S7312, step S73121 may be performed first to obtain the reference distance according to the mutual distance between the end points of each print suspension vector. Step S73122 may be executed to connect the end points of the print suspended vectors with the distance between the end points smaller than the reference distance to obtain a spatial polyhedron formed by connecting the end points of all the print suspended vectors. Finally, step S73123 may be performed to take the space vector range corresponding to the region within the space polyhedron as the vector range of the print suspension vector subset.
Referring to fig. 10, in order to make the spatial polyhedron formed by the end point connections closer to the spatial range covered by the end points, it is necessary to determine which end points need to be connected, and it is necessary to first execute step S731211 to obtain the distance between the end point of each print suspension vector and the other end points closest to the end point. Next, step S731212 may be performed to acquire, as the reference distance, the smallest distance among the distances between the end points of all the print suspension vectors and the other end points closest thereto.
In summary, in the implementation of steps S731 to S733 and their detailed steps, a Convex Hull (Convex Hull) is constructed for each print suspension vector subset, and then the area in the Convex Hull is used as the vector range of the print suspension vector subset. In three-dimensional space, there are many algorithms for constructing convex hulls, such as the quick convex hull algorithm (QuickHull). Here we use the CGAL (Computational Geometry Algorithms Library) library to achieve this requirement as it contains many common geometric calculation algorithms, including convex hulls. The CGAL library needs to be installed in the project during the operation. For additional explanation, source code of some functional modules is provided and a comparison explanation is made in the annotation section.
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/convex_hull_3.h>
#include <vector>
#include <list>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Point_3 Point_3;
void constructConvexHullAndVectorRange(const std::vector<Vector3D>& suspensionVectors) {
Converting the end point of a print suspension vector to a point of CGAL
std::list<Point_3> points;
for (auto& vector : suspensionVectors) {
points.push_back(Point_3(vector.x, vector.y, vector.z));
}
Convex hull with structure of/(v)
std::list<Point_3> result;
CGAL::convex_hull_3(points.begin(), points.end(), std::back_inserter(result));
Vector range of/(and/or obtained convex hull)
double minX = std::numeric_limits<double>::max();
double maxX = std::numeric_limits<double>::lowest();
double minY = std::numeric_limits<double>::max();
double maxY = std::numeric_limits<double>::lowest();
double minZ = std::numeric_limits<double>::max();
double maxZ = std::numeric_limits<double>::lowest();
for (auto& point : result) {
minX = std::min(minX, point.x());
maxX = std::max(maxX, point.x());
minY = std::min(minY, point.y());
maxY = std::max(maxY, point.y());
minZ = std::min(minZ, point.z());
maxZ = std::max(maxZ, point.z());
}
Vector3D minVector (minX, minY, minZ); minimum point of Vector range/Vector
Vector3D maxVector (maxX, maxY, maxZ); maximum point of Vector range;//
}
This code first converts the end point of the print hover vector to the point of the CGAL and then constructs a convex hull using the function of the CGAL. The result of the convex hull is a list of points that are the vertices of the convex hull. Finally, the code traverses the vertices to obtain the minimum point and the maximum point of the vector range. This vector range is the vector range corresponding to the region within the convex hull.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by hardware, such as circuits or ASICs (application specific integrated circuits, application Specific Integrated Circuit), which perform the corresponding functions or acts, or combinations of hardware and software, such as firmware, etc.
Although the invention is described herein in connection with various embodiments, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
The embodiments of the present application have been described above, the foregoing description is exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (10)

1. A3D printing correction method is characterized by comprising the following steps of,
obtaining a design printing space model of a workpiece;
acquiring a workpiece printing path according to the design printing space model of the workpiece;
obtaining a trial printing motion path of a printing nozzle according to the workpiece printing path;
obtaining a trial-forging forming space model of a workpiece;
obtaining an offset vector of each material point on the formed workpiece on a workpiece printing path according to the deviation between the designed printing space model and the trial printing space model of the workpiece, and taking the offset vector as a trial printing offset vector of each material point on the workpiece;
obtaining the position difference of each material point in the designed printing space model at the corresponding position in the workpiece printing path and the printing nozzle trial printing motion path to obtain the printing suspension vector of each material point on the workpiece;
obtaining a corresponding relation of the trial printing forming offset vector relative to the printing suspension vector according to the trial printing forming offset vector of each material point on the workpiece and the corresponding printing suspension vector;
and correcting the printing nozzle trial printing motion path according to the corresponding relation of the trial printing forming offset vector relative to the printing suspension vector to obtain a printing nozzle correction motion path.
2. The method of claim 1, wherein the step of deriving the correspondence of the trial run offset vector with respect to the print suspension vector from the trial run offset vector and the corresponding print suspension vector for each material point on the workpiece comprises,
dividing the pilot molding offset vector of each material point on the workpiece into a plurality of pilot molding offset vector subsets;
dividing the printing suspension vector of each material point on the workpiece into a plurality of printing suspension vector subsets;
and matching the trial forming offset vector subset with the printing suspension vector subset to obtain a corresponding relation of the trial forming offset vector with respect to the printing suspension vector.
3. The method of claim 2 wherein said step of dividing said pilot pattern offset vector for each material point on the workpiece into a plurality of pilot pattern offset vector subsets comprises,
selecting a plurality of trial forming characteristic offset vectors from the trial forming offset vectors of all material points on the workpiece;
obtaining the vector difference module length of each trial forming characteristic offset vector and other trial forming offset vectors;
for each other trial forming offset vector, the trial forming offset vector and the trial forming characteristic offset vector with the smallest vector difference modulus length value are programmed into the same subset of the trial forming offset vectors;
calculating and obtaining the trial forming offset vector with the smallest vector difference module length between each trial forming offset vector subset and the mean vector as the updated trial forming characteristic offset vector;
judging whether the updated trial molding feature offset vector changes or not;
if yes, regenerating the trial molding offset vector subset and the trial molding feature offset vector;
and if not, obtaining a plurality of trial forming offset vector subsets.
4. The method of claim 2, wherein the step of dividing the print suspension vector for each material point on the workpiece into a plurality of print suspension vector subsets comprises,
selecting a plurality of printing characteristic suspension vectors from the printing suspension vectors of all material points on the workpiece;
obtaining vector difference module length of each printing characteristic suspension vector and other printing suspension vectors;
for each other printing suspension vector, the printing suspension vector with the smallest vector difference modulus length value and the printing characteristic suspension vector with the smallest vector difference modulus length value are programmed into the same subset of the printing suspension vectors;
calculating and obtaining the printing suspension vector with the smallest vector difference module length with the mean vector in each printing suspension vector subset as the updated printing characteristic suspension vector;
judging whether the updated printing characteristic suspension vector changes or not;
if yes, regenerating the printing suspension vector subset and the printing characteristic suspension vector;
if not, a plurality of printing suspension vectors are obtained.
5. The method of any one of claims 2 to 4, wherein the step of matching the subset of trial forming offset vectors with the subset of print suspension vectors results in a correspondence of the trial forming offset vectors with respect to the print suspension vectors, comprises,
obtaining a vector range of each printing suspension vector subset according to each printing suspension vector in the printing suspension vector subset;
acquiring the printing suspension vector subsets where the printing suspension vectors corresponding to the material points on the molded workpiece of the trial molding characteristic offset vectors in each trial molding offset vector subset are located;
and taking the corresponding relation of the trial forming characteristic offset vector with respect to any space vector in the vector range of the printing suspension vector subset as the corresponding relation of the trial forming offset vector with respect to the printing suspension vector.
6. The method of claim 5, wherein said deriving a vector range for each of said subset of print suspension vectors from each of said print suspension vectors within said subset of print suspension vectors comprises,
for each of said print suspension vector subsets,
setting the starting point of each printing suspension vector contained in the printing suspension vector subset as an origin to obtain the end point of each printing suspension vector,
and acquiring a space vector range corresponding to a space region occupied by the end point of each printing suspension vector as a vector range of the printing suspension vector subset.
7. The method of claim 6, wherein the step of obtaining a spatial vector range corresponding to a spatial region occupied by an end point of each print suspension vector as a vector range of the subset of print suspension vectors,
obtaining a reference distance according to the mutual distance between the end points of each printing suspension vector;
connecting the end points of the printing suspension vectors with the distance between the end points smaller than the reference distance to obtain a space polyhedron formed by connecting the end points of all the printing suspension vectors;
and taking a space vector range corresponding to a region within the space polyhedron as a vector range of the printing suspension vector subset.
8. The method of claim 7, wherein said step of deriving a reference distance from a mutual distance between end points of each of said print suspension vectors comprises,
obtaining the distance between the end point of each printing suspension vector and other end points closest to the end point;
and acquiring the minimum distance among the distances between the end points of all the printing suspension vectors and other end points closest to the minimum distance as a reference distance.
9. A3D printing correction method is characterized by comprising the following steps of,
receiving a print head correction motion path in a 3D print correction method as claimed in any one of claims 1 to 8;
and controlling the printing nozzle to print according to the printing nozzle correction motion path.
10. A3D printing parameter optimization system is characterized by comprising,
the control unit is used for acquiring a design printing space model of the workpiece;
acquiring a workpiece printing path according to the design printing space model of the workpiece;
the pre-printing unit is used for obtaining a printing nozzle trial printing motion path according to the workpiece printing path;
obtaining a trial-forging forming space model of a workpiece;
obtaining an offset vector of each material point on a workpiece printing path on a formed workpiece according to the deviation of the designed printing space model of the workpiece and the trial printing space model of the workpiece, and taking the offset vector as a trial printing forming offset vector of each material point on the workpiece;
the correction unit is used for obtaining the position difference of each material point in the designed printing space model at the corresponding position in the workpiece printing path and the printing nozzle trial printing motion path to obtain the printing suspension vector of each material point on the workpiece;
obtaining a corresponding relation of the trial printing forming offset vector relative to the printing suspension vector according to the trial printing forming offset vector of each material point on the workpiece and the corresponding printing suspension vector;
correcting the printing nozzle trial printing motion path according to the corresponding relation of the trial printing forming offset vector relative to the printing suspension vector to obtain a printing nozzle correction motion path;
generating printing nozzle motion control parameters according to the printing nozzle correction motion path;
a print control unit for receiving the print head correction motion path;
and controlling the printing nozzle to print according to the printing nozzle correction motion path.
CN202311714878.7A 2023-12-13 2023-12-13 3D printing correction method and 3D printing parameter optimization system Pending CN117621440A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311714878.7A CN117621440A (en) 2023-12-13 2023-12-13 3D printing correction method and 3D printing parameter optimization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311714878.7A CN117621440A (en) 2023-12-13 2023-12-13 3D printing correction method and 3D printing parameter optimization system

Publications (1)

Publication Number Publication Date
CN117621440A true CN117621440A (en) 2024-03-01

Family

ID=90037622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311714878.7A Pending CN117621440A (en) 2023-12-13 2023-12-13 3D printing correction method and 3D printing parameter optimization system

Country Status (1)

Country Link
CN (1) CN117621440A (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105437543A (en) * 2014-09-03 2016-03-30 三纬国际立体列印科技股份有限公司 Three-dimensional printing device and coordinate deviation compensation method of spray head thereof
CN105666877A (en) * 2016-03-22 2016-06-15 中国工程物理研究院材料研究所 3D printing machine with three-dimensional figure feedback system and printing method of 3D printing machine
US20160236414A1 (en) * 2015-02-12 2016-08-18 Arevo Inc. Method to monitor additive manufacturing process for detection and in-situ correction of defects
CN109822909A (en) * 2019-03-28 2019-05-31 哈尔滨理工大学 A kind of FDM3D printer optimization algorithm
US20210042455A1 (en) * 2019-08-09 2021-02-11 Palo Alto Research Center Incorporated System and method for determining spatial distribution of variable deposition size in additive manufacturing
CN113119450A (en) * 2021-03-26 2021-07-16 南京航空航天大学 AC corner optimization method for five-axis 3D printing line cutting path planning
US20210302949A1 (en) * 2018-11-05 2021-09-30 Beijing University Of Technology High intensity multi direction FDM 3D printing method for stereo vision monitoring
WO2023138010A1 (en) * 2022-01-20 2023-07-27 中交第一公路勘察设计研究院有限公司 Plane path fitting method and system for concrete 3d printing
CN117162492A (en) * 2023-09-13 2023-12-05 浙江绍兴康微机器人有限公司 Curved surface 3D printing path planning method based on mechanical arm
US20240009836A1 (en) * 2020-12-02 2024-01-11 Fanuc Corporation 3d printer using robot and control apparatus for robot

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105437543A (en) * 2014-09-03 2016-03-30 三纬国际立体列印科技股份有限公司 Three-dimensional printing device and coordinate deviation compensation method of spray head thereof
US20160236414A1 (en) * 2015-02-12 2016-08-18 Arevo Inc. Method to monitor additive manufacturing process for detection and in-situ correction of defects
CN105666877A (en) * 2016-03-22 2016-06-15 中国工程物理研究院材料研究所 3D printing machine with three-dimensional figure feedback system and printing method of 3D printing machine
US20210302949A1 (en) * 2018-11-05 2021-09-30 Beijing University Of Technology High intensity multi direction FDM 3D printing method for stereo vision monitoring
CN109822909A (en) * 2019-03-28 2019-05-31 哈尔滨理工大学 A kind of FDM3D printer optimization algorithm
US20210042455A1 (en) * 2019-08-09 2021-02-11 Palo Alto Research Center Incorporated System and method for determining spatial distribution of variable deposition size in additive manufacturing
US20240009836A1 (en) * 2020-12-02 2024-01-11 Fanuc Corporation 3d printer using robot and control apparatus for robot
CN113119450A (en) * 2021-03-26 2021-07-16 南京航空航天大学 AC corner optimization method for five-axis 3D printing line cutting path planning
WO2023138010A1 (en) * 2022-01-20 2023-07-27 中交第一公路勘察设计研究院有限公司 Plane path fitting method and system for concrete 3d printing
CN117162492A (en) * 2023-09-13 2023-12-05 浙江绍兴康微机器人有限公司 Curved surface 3D printing path planning method based on mechanical arm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王军凯 等: ""快速成型中提高成型精度的曲面分层"", 《机械科学与技术》, vol. 42, no. 3, 31 March 2023 (2023-03-31), pages 439 - 445 *

Similar Documents

Publication Publication Date Title
Masood Intelligent rapid prototyping with fused deposition modelling
Bin Ishak et al. Robot arm platform for additive manufacturing using multi-plane toolpaths
Moroni et al. Towards early estimation of part accuracy in additive manufacturing
Xu et al. Support-free layered process planning toward 3+ 2-axis additive manufacturing
EP3028103B1 (en) Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
US6678571B1 (en) Micro-slicing contour smoothing technique
Cerit et al. A CAM-based path generation method for rapid prototyping applications
EP1357449A1 (en) Method for modeling complex, three dimensional tool paths through a workpiece
Micali et al. Fully three-dimensional toolpath generation for point-based additive manufacturing systems
CN117621440A (en) 3D printing correction method and 3D printing parameter optimization system
Ding et al. The implementation of adaptive isoplanar tool path generation for the machining of free-form surfaces
CN115735167A (en) Post-processor, machining program generation method, CNC machining system, and machining program generation program
Komura et al. Computer aided process planning for rough machining based on machine learning with certainty evaluation of inferred results
Dugas et al. Development of a machining simulator considering machine behaviour
Gafurov The importance of CAD/CAM/CAE application development
Yamamoto et al. Development of accurate estimation method of machining time in consideration of characteristics of machine tool
Popov et al. Model preparation algorithm for 3D printing with discrete rotation
Di Angelo et al. A build time estimator for Additive Manufacturing
Nishida et al. Machining time reduction by tool path modification to eliminate air cutting motion for end milling operation
CN114757102A (en) Double-point progressive forming manufacturing method and device based on deep reinforcement learning
Epureanu et al. Reconfigurable machine tool programming–a new approach
Yang et al. Minimizing staircase errors in the orthogonal layered manufacturing system
Abdulghafour et al. Automatic tool path generation based freeform features recognition
Alba et al. Deposition Toolpath Pattern Comparison: Contour-Parallel and Hilbert Curve Application [J]
Yaman et al. A command generation approach for desktop fused filament fabrication 3D printers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination