Search

CN-116901442-B - Multi-axis unsupported printing track generation method based on curve dispersion

CN116901442BCN 116901442 BCN116901442 BCN 116901442BCN-116901442-B

Abstract

The invention discloses a curve dispersion-based multi-axis unsupported printing track generation method which comprises the steps of importing an initial support model, dividing the support model, editing the bottom and the top, rotating and slicing a middle rotating layer, integrating path points, generating a complete GCode file and the like.

Inventors

  • SHI ZHILIANG
  • LIU PENG
  • HUANG JIATAO

Assignees

  • 武汉必盈生物科技有限公司

Dates

Publication Date
20260505
Application Date
20230714

Claims (4)

  1. 1. The multi-axis unsupported printing track generation method based on curve dispersion is characterized by comprising the following steps of: Step S1, importing a support model which needs to be subjected to unsupported printing, adjusting the spatial position of the support model and cutting redundant parts, and facilitating subsequent unsupported slice printing; S2, calculating the size of a bounding box of the brace Determining a center point P of the lower end surface of the support, and obtaining a Z-direction height difference of the support according to a rotation point M determined interactively by a user Setting the maximum rotation layer height hmax when > When the support model is used, the support model is divided into a bottom flat cutting layer part, a middle rotating layer part and a top flat cutting layer part, the bottom flat cutting layer part is divided, and the height of the bottom flat cutting layer is When (when) ≤ Dividing the model into a middle rotating layer part and a top flat cutting layer part; s3, when the bottom flat cut layer part exists, carrying out plane slicing on the bottom flat cut layer part, and calculating the size of the partial bounding box Then from the bottom slice layer height Calculating the number of slice layers Normal vector of slice plane is The vertex position is V i , wherein, , , I represents the slice layer number, and the slice plane position is determined by the vertex and the normal vector, so that the bottom flat slice layer part is sliced; s4, dividing and slicing the middle rotary layer part, calculating the included angle theta between the top surface and the bottom surface of the model, taking the theta angle as a reference value, interactively selecting the rotary angle beta by a user, adjusting the beta value according to the theta value, ensuring that the value of the rotary angle beta is (theta-beta) <45 degrees, and according to the layer height of the rotary slice And total height of the rotary slice layer portion Calculating the number of layers of the rotary slice Calculating the average rotation angle of each layer to be alpha=beta/num 2 according to the rotation angle beta, obtaining a rotating layer part model boundary point set, distributing each layer of slice points along the rotating layer part model boundary point set, accumulating each layer of slice angles layer by layer according to the average rotation angle alpha, determining a slice plane according to the slice points and the slice angles, and finishing slicing of the rotating layer part; s5, rotating the top layer part model around the rotation center O of the printer according to the rotation angle beta, and carrying out plane slicing on the rotated top layer part model according to the top layer slicing layer height h Top , wherein the slice plane normal vector is (0, 1); And S6, merging a plurality of printing part path point sets, and optimizing the printing point sets to obtain the printed GCode file.
  2. 2. The curve dispersion based multi-axis unsupported print track generation method of claim 1, wherein the step S2 includes the steps of: Step S201, reading a support model, and calculating the bounding box size of the model Setting the vertex as The normal vector is (0, 1), a Plane is set in a point French mode, a bottom contour line is cut, two end points P1 and P2 of the contour line are taken, and a central point P of a connecting line of the P1 and the P2 is calculated; Step S202, calculating the model height H below the rotation point M according to the rotation point M determined interactively by the user, and judging the height H and the set maximum rotation layer height When (when) When the model is divided into a lower rotating layer and an upper flat cutting layer, the height of the rotating layer is When (when) When the redundant height is the height of the bottom level cut layer Obtaining a bottom level cut layer part, rotating the layer height ; Step S203, if there is a bottom level cut layer portion, obtaining the vertex position as the height H Bottom The normal vector is The bottom flat cut layer portion is separated from the other portions by a point French set plane.
  3. 3. The method for generating a multi-axis unsupported print track based on curve dispersion according to claim 1, wherein the step S4 specifically comprises the following steps: S401, calculating the normal vector included angle theta of the plane where the bottom surface and the top surface are located, calculating the normal vector n 1 of the plane where the top surface of the model is located, wherein the normal vector of the bottom surface is n 2 = (0, 1), and calculating the included angle between the two normal vectors by vector point multiplication The user interactively selects the rotation angle beta, the value of beta is adjusted according to the value of theta, but (theta-beta) <45 degrees is ensured; Step S402, starting from the point with the minimum Z value in the boundary point set of the rotating layer part, sequentially increasing the length along the direction of the boundary point set Obtaining the vertex of the cutting plane, and the corresponding rotation angle of the layer Calculate the normal vector of the plane as Determining the position of each layer of cutting plane according to the Daphne method; step S403, the position of the vertex of each slice point obtained in step S402 And rotation angle And slicing the rotating part model to obtain a slicing point set of the rotating part model.
  4. 4. The curve dispersion based multi-axis unsupported print track generation method of claim 1, wherein in S5, the method comprises the steps of: S501, dividing the model according to the position of the plane of the last slice in S4 to obtain a top level cut layer part model; step S502, rotating the top level cut layer part model by a rotation angle beta along a printer rotation center O without changing the topological relation of the model, rotating all points of the model, setting a certain point Pi before rotation, and calculating a corresponding point P 'i after rotation, wherein P' i.X = Pi.X cosβ+Pi.Z sinβ,P’ i.Z=Pi.Z cosβ-Pi.X sinβ,P’i.Y=P.Y; Step S503, calculating AABB bounding box sizes { Xmin, xmax, ymin, ymax, zmin, zmax } of the rotated model, calculating a slice layer number num 3= (Zmax-Zmin)/h Top by a slice layer height h Top , a bounding box maximum z value and a minimum z value, and performing num3 slices on the model, wherein the slice plane normal vector is {0, 1}, the center point is { (Xmin+Xmax)/2, (Ymin+Ymax)/2, (Zmin+i) H Top ) }, i represents the ith slice.

Description

Multi-axis unsupported printing track generation method based on curve dispersion Technical Field The invention relates to the technical field of 3D printing, in particular to a curve dispersion-based multi-axis unsupported printing track generation method. Background The medical external fixation support mainly plays a role in fixing the injured limb part of the patient, reduces the movement of the injured limb part, and is beneficial to the rehabilitation of the injured part of the patient. The traditional support usually adopts an external fixation mode of gypsum, a small splint and a medical polymer splint/bandage, but has many defects in clinical treatment and nursing, such as incapability of cleaning gypsum fixation parts, the tightness degree of splint fixation and the like, and the problem that the traditional type of orthopedic external fixation support is not matched with a patient exists, along with the application of a 3D printing technology in the medical external fixation support, the accurate and personalized 3D printing of the orthopedic external fixation is a trend of development, but in the prior art, the process of slicing and printing a model by using CAD and slicing software needs to generate a supporting structure for an overhang part, so that the printing time is increased and the material is wasted, meanwhile, the model post-treatment is needed, the clinical efficiency cannot be ensured, the manual workload of a clinician cannot be reduced, and therefore, the multi-axis unsupported printing track generation based on curve dispersion is realized by combining a 3D printer, and the manual intervention is particularly necessary. Aiming at the problems existing in the prior art, the invention provides a curve-discrete-based multi-axis unsupported printing track generation method, which comprises the steps of dividing a support model into a plurality of printing parts, respectively slicing each part and merging a set of slicing points to form a complete support model printing track, and realizing unsupported printing. Disclosure of Invention The invention aims to provide a curve-discrete-based multi-axis unsupported printing track generation method, which aims to solve the problems that in the operation process of the 3D printing external fixing support, a support structure is generated on an overhang part to ensure correct printing of a model, but the printing time is increased, and the surface quality of the model is poor due to post-treatment of the support. In order to achieve the purpose, the invention provides the technical scheme that the multi-axis unsupported printing track generation method based on curve dispersion comprises the following steps: Step S1, importing a support model which needs to be subjected to unsupported printing, adjusting the spatial position of the support model and cutting redundant parts, and facilitating subsequent unsupported slice printing; S2, calculating the bounding box dimensions { Xmin, xmax, ymin, ymax, zmin and Zmax }, determining the center point P of the lower end surface of the support, obtaining the Z-direction height difference H difference of the support according to the rotation point M determined by user interaction, setting the maximum rotation layer height hmax, dividing the support model into a bottom flat cut layer part, a middle rotation layer part and a top flat cut layer part when H Difference of difference > hmax, dividing the support model into the bottom flat cut layer part, wherein the bottom flat cut layer height is H Bottom =H Difference of difference -hmax, and dividing the support model into the middle rotation layer part and the top flat cut layer part when H Difference of difference is less than or equal to hmax; S3, when a bottom flat cut layer part exists, carrying out plane slicing on the bottom flat cut layer part, calculating the sizes { Xmin, xmax, ymin, ymax, zmin and Zmax } of the partial bounding boxes, calculating the number of slicing layers num= (Zmax-Zmin)/h Bottom by the height h Bottom of the bottom slice layer, and setting the normal vector of the slicing plane as (0, 1) and the vertex position as Vi, wherein Vi.X=P.X, vi.Y=P.Y, vi.Z=Zmin+i, h Bottom , i represents the number of slicing layers, and determining the slicing plane position by the vertex and the normal vector, thereby carrying out the slicing of the bottom flat cut layer part; S4, dividing a middle rotating layer part, slicing, calculating an included angle theta between the top surface and the bottom surface of the model, taking the theta angle as a reference value, interactively selecting a rotating angle beta by a user, adjusting the beta value according to the theta value, ensuring (theta-beta) to be less than 45 degrees, calculating the number of rotating slice layers according to the rotating slice layer height H Rotary screw and the total height H Rotary screw of the rotating slice layer part, calculating the rotating lay