WO2023116442A1 - 3d printing control system for double-laser segmentation and segmentation method of 3d printing control system - Google Patents

3d printing control system for double-laser segmentation and segmentation method of 3d printing control system Download PDF

Info

Publication number
WO2023116442A1
WO2023116442A1 PCT/CN2022/137384 CN2022137384W WO2023116442A1 WO 2023116442 A1 WO2023116442 A1 WO 2023116442A1 CN 2022137384 W CN2022137384 W CN 2022137384W WO 2023116442 A1 WO2023116442 A1 WO 2023116442A1
Authority
WO
WIPO (PCT)
Prior art keywords
laser
area
data
line
abscissa
Prior art date
Application number
PCT/CN2022/137384
Other languages
French (fr)
Chinese (zh)
Inventor
谢大权
陈刚
Original Assignee
南京铖联激光科技有限公司
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 南京铖联激光科技有限公司 filed Critical 南京铖联激光科技有限公司
Publication of WO2023116442A1 publication Critical patent/WO2023116442A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/20Apparatus for additive manufacturing; Details thereof or accessories therefor
    • B29C64/264Arrangements for irradiation
    • B29C64/268Arrangements for irradiation using laser beams; using electron beams [EB]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/20Apparatus for additive manufacturing; Details thereof or accessories therefor
    • B29C64/264Arrangements for irradiation
    • B29C64/277Arrangements for irradiation using multiple radiation means, e.g. micromirrors or multiple light-emitting diodes [LED]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y30/00Apparatus for additive manufacturing; Details thereof or accessories therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes

Definitions

  • the present application relates to the technical field of 3D printing control, in particular to a 3D printing control system for dual laser segmentation and a segmentation method thereof.
  • the dual laser printing method is to divide the entire part on the substrate into two evenly according to the median dividing line, the part on the left belongs to the laser printing on the left, and the part on the right belongs to the laser on the right. Print.
  • This segmentation method will have the following problems:
  • a complete graphic area on a part is strictly divided into two sub-parts by the median dividing line, regardless of the positional relationship between the two sub-parts.
  • the same side or line will be laser printed on the left side and laser printed on the right side, causing the common side to be printed twice, resulting in a waste of resources and a reduction in printing efficiency.
  • this application provides a 3D printing control system and transfer method for dual laser segmentation, which effectively avoids that the dual laser printing method in the prior art 3D printing does not consider the complete polygon area polygon or filling on the part
  • this application provides a solution to the 3D printing control system and transfer method for dual laser segmentation, as follows:
  • a 3D printing control system for dual laser splitting including:
  • the laser on the left is the left laser
  • the laser on the right is the right laser
  • the laser emitted by the left laser is the left laser
  • the laser emitted by the right laser is the right laser.
  • the left laser and the right laser constitute a double laser
  • the left laser and the right laser are respectively connected with the left laser vibrating mirror and the right laser vibrating mirror
  • the left laser vibrating mirror and the right laser vibrating mirror are respectively connected with the left vibrating mirror board and the right vibrating mirror board
  • the left vibrating mirror Both the mirror board and the right vibrating mirror board are connected with the upper computer for communication;
  • the modules running on the host computer include:
  • An analysis module the analysis module is used to analyze the data file corresponding to the part currently to be printed;
  • a segmentation module the segmentation module is used to divide the image in the data file with a median line, a left boundary line and a right boundary line in the X-axis direction;
  • a processing module the processing module is used to sequentially process each polygonal area polygen or filling area hatch of the image in the data file, and perform segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode.
  • the processing module also includes: if the printing time of the data currently contained in the data array for the left laser is shorter than the printing time of the data currently contained in the data array for the right laser, adding the data in the common area The data array for the left laser; if the printing time of the data currently contained in the data array for the right laser is shorter than the printing time of the data currently contained in the data array for the left laser, add the data of the common area to the user In the data array of the laser on the right.
  • the processing module also includes: firstly fetching the coordinates of two intersection points of the polygonal area polygen or the hatch area and the median line; for sequentially traversing the vertices in the polygonal area polygen or the hatch area hatch, and The vertex coordinates located on the left side of the median line are added to the data array for the left laser, and the vertex coordinates located on the right side of the median line are added to the data array used for the right laser; The data array for the left laser is also added to the data array for the right laser.
  • the host computer also includes two threads, and the two threads are used to respectively take out the data in the data array for the left laser and the data in the data array for the right laser for printing, and the printing Including: start a thread with the data in the data array for the left laser to move the left laser that emits the left laser by driving the left laser galvanometer to perform printing, and start another thread with the data in the data array for the right laser To move the right laser that emits the right laser to perform printing by driving the right laser vibrating mirror.
  • a method for dividing a 3D printing control system aimed at double laser division comprising the following steps:
  • Step 1 Place the parts to be printed on the substrate in the 3D printing cabin, and the host computer parses out the data files corresponding to the parts to be printed;
  • Step 2 Then the host computer divides the image in the data file with the median line, the left boundary line and the right boundary line in the X-axis direction;
  • the median line is a vertical dividing line perpendicular to the X-axis direction
  • the vertical dividing line is the The rectangular frame where the image in the data file is located is cut into two identical sub-rectangular frames on the left and right.
  • the abscissa x fValue of the vertical dividing line;
  • Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ; The distance between the median line and the left border line is equal to the distance between the vertical dividing line and the right border line, both are iOffset.
  • Step 3 The host computer sequentially processes each polygonal area polygen or filling area hatch of the image in the data file, and performs segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode.
  • the method for performing segmentation on the polygonal area polygen or the filled area hatch with a dual laser segmentation mode specifically includes:
  • Step 3-1 Determine the positional relationship between the minimum value iMin1 of the abscissa of all vertices in the current polygon area polygen or the filled area hatch, the maximum value iMax1 of the abscissa of all vertices, and the abscissa x1 of the left boundary line;
  • Step 3-3 If the polygon area polygen or the filled area hatch is a public area, allocate the data in the public area to the preset data array for the left laser or the data array for the right laser;
  • the method of distributing the data in the public area to the preset data array for the left laser or the data array for the right laser includes: if the printing time of the data currently contained in the data array for the left laser is shorter than The printing time of the data currently contained in the data array used for the right laser is short, and the data in the common area is added to the data array used for the left laser; if the printing time of the data currently contained in the data array used for the right laser is shorter than that used for The printing time of the data currently contained in the data array of the left laser is short, so the data in the common area is added to the data array for the right laser.
  • the method for dividing by the median line in the steps 3-6 includes:
  • Step 3-6-1 First take out the coordinates of the two intersection points of the polygon area polygon or the filling area hatch and the median line;
  • Step 3-6-2 Traverse the vertices in the polygon area polygen or fill area hatch in turn, add the coordinates of the vertices on the left side of the median line to the data array for the left laser, and add the coordinates of the vertices on the right side of the median line Added to the data array for the right laser; the coordinates of the two intersection points are added to both the data array for the left laser and the data array for the right laser.
  • step 3 it also includes:
  • the host computer starts two threads at the same time, and the two threads take out the data in the data array for the left laser and the data in the data array for the right laser respectively for printing.
  • the printing includes: the data for the left laser
  • the data in the data array starts a thread to perform printing by driving the left laser vibrating mirror to move the left laser emitting the left laser
  • the data in the data array for the right laser starts another thread to drive the right laser vibrating mirror to This moves the right laser that emits the right laser to perform printing.
  • the data allocation algorithm for the cross-overlapping public area of the two lasers' illumination ranges is innovative. It first calculates the printing time of the data currently contained in the left laser and the printing time of the data currently contained in the right laser, and then compares the two sizes . Whichever laser has the shortest printing time, add the data of the polygonal area polygen or the filling area hatch in the current overlapping public area to the laser for printing, which improves the printing balance of the two lasers.
  • the graphics in the common area can be The data is added to the side of the short printing time, which makes up for the gap of inconsistent printing time, improves the balance of the printing tasks of the dual lasers in 3D printing, and also increases the probability of dual lasers synchronously ending.
  • Fig. 1 is a schematic diagram of the irradiation ranges of the left laser and the right laser in the present invention.
  • Fig. 2 is a schematic diagram of the intersection area of the dual lasers of the present invention.
  • Fig. 3 is a schematic diagram of the public area of the present invention.
  • FIG. 4 is a schematic diagram of the polygonal region polygen or the filled region hatch falling within the illumination range of the laser on the right according to the present invention.
  • FIG. 5 is another schematic diagram of the polygonal region polygen or the filled region hatch falling within the illumination range of the laser on the right according to the present invention.
  • FIG. 7 is a schematic diagram of the polygonal area polygen or the filled area hatch falling within the illumination range of the laser on the left according to the present invention.
  • FIG. 8 is another schematic diagram of the polygonal area polygon or the filled area hatch falling within the illumination range of the laser on the left according to the present invention.
  • Fig. 9 is a structural diagram of modules and threads running on the host computer according to the present invention.
  • FIG. 10 is an overall flow chart of the splitting method of the 3D printing control system for dual-laser splitting according to the present invention.
  • Fig. 11 is a flowchart of steps 3-1 to 3-4 of the present invention.
  • Fig. 12 is a flowchart of steps 3-5 to 3-8 of the present invention.
  • Fig. 13 is a flowchart of steps 3-6-1 to 3-6-2 of the present invention.
  • the 3D printing control system for dual laser segmentation includes:
  • the laser on the left is the left laser
  • the laser on the right is the right laser
  • the laser emitted by the left laser is the left laser
  • the laser emitted by the right laser is the right laser.
  • the left laser and the right laser constitute a double laser
  • the left laser and the right laser are respectively connected with the left laser vibrating mirror and the right laser vibrating mirror
  • the left laser vibrating mirror and the right laser vibrating mirror are respectively connected with the left vibrating mirror board and the right vibrating mirror board
  • the left vibrating mirror Both the mirror board and the right vibrating mirror board are connected with the host computer;
  • the host computer can be a laptop, PLC or PDA.
  • the modules running on the host computer include:
  • An analysis module the analysis module is used to analyze the data file corresponding to the part currently to be printed;
  • a segmentation module the segmentation module is used to divide the image in the data file with a median line, a left boundary line and a right boundary line in the X-axis direction;
  • a processing module the processing module is used to sequentially process each polygonal area polygen or filling area hatch of the image in the data file, and perform segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode.
  • the processing module also includes: for judging the current polygon area polygon
  • the processing module also includes: if the printing time of the data currently contained in the data array for the left laser is shorter than the printing time of the data currently contained in the data array for the right laser, adding the data in the common area for the left The data array of the laser; if the printing time of the data currently contained in the data array for the right laser is shorter than the printing time of the data currently contained in the data array for the left laser, add the data in the common area to the data for the right laser in the data array.
  • the processing module also includes: for first taking out the coordinates of two intersection points of the polygonal area polygen or the filling area hatch and the median line; The vertex coordinates on the left side of the line are added to the data array for the left laser, and the vertex coordinates on the right side of the median line are added to the data array for the right laser; the coordinates of the two intersection points are added to the data array for the left laser.
  • the data array for the right laser is also added to the data array for the right laser.
  • the host computer also includes two threads, and the two threads are used to print the data in the data array for the left laser and the data in the data array for the right laser respectively, and the printing includes:
  • the data in the data array for the left laser starts a thread to perform printing by driving the left laser galvanometer to move the left laser that emits the left laser, and starts another thread to drive the data in the data array for the right laser
  • the right laser galvanometer moves the right laser that emits the right laser to perform printing.
  • the 3D printing device When using dual laser printing, the 3D printing device is equipped with two lasers, and the two lasers are started to print parts at the same time. At this time, the splitting method of the 3D printing control system for dual laser splitting described in the present invention can be used.
  • a left laser and a right laser located above the 3D printing cabin are respectively arranged on the left and right sides of the 3D printing cabin.
  • Both sides of the vertical dividing line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction.
  • the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary The line represents the leftmost boundary of the illumination range of the right laser; the distance between the vertical dividing line and the left boundary line is equal to the distance between the vertical dividing line and the right boundary line, both of which are iOffset.
  • the splitting method of the 3D printing control system for double laser splitting comprises the following steps:
  • Step 1 Place the part to be printed on the substrate in the 3D printing cabin, and the host computer parses out the data file corresponding to the part to be printed; this data file is the image in the 3D printing file, and the image may Contains multiple polygonal area polygen or filled area hatch.
  • Step 2 Then the host computer divides the image in the data file with the median line, the left boundary line and the right boundary line in the X-axis direction;
  • the median line as its vertical division line is a vertical division line perpendicular to the X-axis direction
  • the vertical division line is the data file
  • the rectangular frame where the image is located is cut into two identical sub-rectangular frames on the left and right, and the largest ordinate, the smallest ordinate, the largest abscissa and the smallest abscissa of the rectangular frame where the image is located in the data file are respectively is the largest ordinate, the smallest ordinate, the largest abscissa, and the smallest abscissa of the image.
  • the vertical dividing line is the dividing line that divides the rectangular frame in half in the direction perpendicular to the X axis.
  • Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ; The distance between the median line and the left border line is equal to the distance between the vertical dividing line and the right border line, both are iOffset.
  • Step 3 The host computer sequentially processes each polygonal area polygen or filling area hatch of the image in the data file, and performs segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode. In this way, the original image of a data file will be divided and stored in the data array for the left laser and the data array for the right laser.
  • Sequential processing can perform processing on the polygonal area polygen or the filled area hatch in the image in the order from left to right and then from top to bottom.
  • the method for performing segmentation with a dual laser segmentation mode on the polygonal area polygen or the filled area hatch specifically includes:
  • Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ;
  • Step 3-3 If the polygon area polygen or the filled area hatch is a public area, allocate the data in the public area to the preset data array for the left laser or the data array for the right laser;
  • the method of distributing the data in the common area to the preset data array for the left laser or the data array for the right laser includes: if the data array for the left laser now contains data whose printing time is shorter than that for the right If the printing time of the data contained in the data array of the laser is short, the data in the common area will be added to the data array for the left laser; if the printing time of the data contained in the data array for the right laser is shorter than that for the left laser The printing time of the data currently contained in the data array is short, so the data in the common area is added to the data array for the right laser.
  • the printing time for the data currently contained in the data array for the left laser and the printing time for the data currently contained in the data array for the right laser are respectively calculated.
  • the method for calculating the printing time of the data currently contained in the data array for the left laser includes: first counting the total perimeter of all polygonal regions polygen or filled area hatch in the left laser data array, and then dividing the total perimeter by the left laser The speed of movement during 3D printing results in the printing time for the data currently contained in the data array of the left laser.
  • the method for calculating the printing time of the data currently contained in the data array for the right laser includes: first counting the total perimeter of all polygonal areas polygen or filling area hatch in the right laser data array, and then dividing the total perimeter by the right laser The moving speed during 3D printing just obtains the printing time for the data currently contained in the data array of the right laser.
  • the method for dividing by the median line in the steps 3-6 includes:
  • Step 3-6-1 First take out the coordinates of the two intersection points of the polygon area polygen or the filled area hatch and the median line, for example, the coordinates of the two intersection points are (xA, yA) and (xB, yB);
  • the polygonal area polygen or the filled area hatch is composed of several straight lines (as shown in FIG. 6 ).
  • the polygonal area polygen or the filled area hatch generally has two intersection points with the median line, which are respectively set as A and B.
  • a and B the median line
  • Step 3-6-2 Traverse the vertices in the polygon area polygen or fill area hatch in turn, add the coordinates of the vertices on the left side of the median line to the data array for the left laser, and add the coordinates of the vertices on the right side of the median line Added to the data array for the right laser; the coordinates of the two intersection points are added to both the data array for the left laser and the data array for the right laser. Note, however, that there will be no connection between the two intersections in the data array for the left laser and the data array for the right laser.
  • the median line divides a polygon area polygen or a filled area hatch into two sub-areas, and the two sub-areas are printed in the left laser and the right laser respectively.
  • adding the intersection point to the left laser ensures that a new straight line is generated in the left sub-region and has an endpoint; it is also added to the right laser to ensure that a new straight line is generated in the right sub-region and has an endpoint. This way when they are printed separately, they have independence and integrity from each other.
  • step 3 also include:
  • the host computer starts two threads at the same time, and the two threads take out the data in the data array for the left laser and the data in the data array for the right laser respectively for printing.
  • the printing includes: the data for the left laser
  • the data in the data array starts a thread to perform printing by driving the left laser vibrating mirror to move the left laser emitting the left laser
  • the data in the data array for the right laser starts another thread to drive the right laser vibrating mirror to This moves the right laser that emits the right laser to perform printing.
  • printing can be started at the same time, combined with the above method of distributing the data in the common area to the preset data array for the left laser or the data array for the right laser, the graphics data in the common area can be added to the printing time.
  • it makes up for the gap of inconsistent printing time, improves the balance of 3D printing dual-laser printing tasks, and also increases the probability of dual-laser synchronous end.
  • the present invention proposes an efficient dual-laser segmentation algorithm based on the traditional algorithm for evenly dividing the print area of a part by dual lasers.
  • the area where the part is located is divided into three areas, namely the left area, the middle overlapping area and the right area.
  • the left area falls within the printing range of the left laser and is printed by the left laser;
  • the right area falls within the printing range of the right laser and is printed by the right laser; for the middle overlapping area, first calculate the printing time of the existing data of the left laser and Calculate the relationship between the printing time of the existing laser data on the right, and whoever has the shortest time will add the current part to which side to print, so as to ensure that the dual laser printing starts and ends at the same time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Materials Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Plasma & Fusion (AREA)
  • Laser Beam Processing (AREA)

Abstract

A 3D printing control system for double-laser segmentation and a segmentation method of the 3D printing control system. Modules running on the upper computer comprise an analysis module, the analysis module being configured to analyze a data file corresponding to a current part to be printed; a segmentation module, the segmentation module being configured to segment an image in the data file according to the X-axis direction by using a median line, a left boundary line and a right boundary line; and a processing module, the processing module being configured to sequentially process each polygon area (polygen) or hatch area (hatch) of the image in the data file. The defects in the prior art that a double-laser printing method in 3D printing does not take into account a position relationship of two sub-parts segmented from a complete polygon area or hatch area on a part and repeatedly printing a common edge twice such that resources are wasted, the printing efficiency is reduced, and it is difficult to achieve the balance of printing on the two sides are effectively overcome.

Description

针对双激光分割的3D打印控制系统及其分割方法3D printing control system for double laser segmentation and its segmentation method 技术领域technical field
本申请涉及3D打印控制技术领域,具体涉及一种针对双激光分割的3D打印控制系统及其分割方法。The present application relates to the technical field of 3D printing control, in particular to a 3D printing control system for dual laser segmentation and a segmentation method thereof.
背景技术Background technique
随着3D打印研发技术的不断突破,3D打印已经成功应用于航空航天、生物医疗、建筑、汽车等领域,并不断取得突破性进展。为了更好地提高性能,从单激光打印零件,提高到多激光同时打印。With the continuous breakthrough of 3D printing research and development technology, 3D printing has been successfully applied in aerospace, biomedical, construction, automobile and other fields, and breakthroughs have been made continuously. In order to better improve performance, from single laser printing parts, to multi-laser simultaneous printing.
目前支持双激光打印的3D打印机比较多。但是双激光打印的耗费时间却大不相同。双激光打印零件所耗费的时间取决于双激光分割算法的优劣。At present, there are many 3D printers that support dual laser printing. But the time-consuming of dual laser printing is very different. The time it takes to print a part with a dual laser depends on how good the dual laser segmentation algorithm is.
具体而言,3D打印机在实际打印零件时,如果只是一个激光打印,那么打印一个完整的零件,尤其是一个大零件时花费的时间将会很长。但如果有两个激光将零件分割成两块,进行同时打印,将会大大地缩短零件的打印时间。对于双激光打印零件的时间取决于双激光分割零件的算法。算法优越高效,打印出来的零件不仅分割连接处很完整,而且打印时间也相对缩短了很多。所以,各大厂商都很注重双激光分割算法的研究。而双激光打印要注重左右两个区域的均衡性。要均衡左边激光打印区域、右边激光打印区域的数据资源。Specifically, when a 3D printer actually prints a part, if it is just a laser print, it will take a long time to print a complete part, especially a large part. However, if two lasers divide the part into two pieces and print them simultaneously, the printing time of the part will be greatly shortened. The time to print a part with dual lasers depends on the algorithm used to split the part with the dual lasers. The algorithm is superior and efficient. The printed parts not only have complete segmentation and connection, but also the printing time is relatively shortened a lot. Therefore, major manufacturers pay great attention to the research of dual-laser segmentation algorithm. However, dual laser printing should pay attention to the balance between the left and right areas. It is necessary to balance the data resources of the laser printing area on the left and the laser printing area on the right.
而在现有的3D打印中的双激光打印方法是将基板上的整个零件按照中位分割线均匀地一分为二,左边的零件部分归左边的激光打印,右边的零件部分归右边的激光打印。In the existing 3D printing, the dual laser printing method is to divide the entire part on the substrate into two evenly according to the median dividing line, the part on the left belongs to the laser printing on the left, and the part on the right belongs to the laser on the right. Print.
这种分割方法会出现如下的问题:This segmentation method will have the following problems:
1,零件上一个完整的图形区域例如多边形区域polygon或填充区域hatch,被中位分割线严格地分割成两个子部分,完全不考虑这两个子部分的位置关系。1. A complete graphic area on a part, such as a polygon area or a hatch area, is strictly divided into two sub-parts by the median dividing line, regardless of the positional relationship between the two sub-parts.
2.有时在局部区域会出现同一条边或线条既在左边激光打印了,又在右边激光打印了,导致公共边被重复打印两次,形成了资源浪费和降低了打印效率。2. Sometimes in a local area, the same side or line will be laser printed on the left side and laser printed on the right side, causing the common side to be printed twice, resulting in a waste of resources and a reduction in printing efficiency.
3.由于按中位分割线分割,导致两边零件数据不均等。所以左边激光和右边激光虽然同时开始打印,但是均衡性不足。3. Due to the division by the median dividing line, the data of the parts on both sides are not equal. Therefore, although the left laser and the right laser start printing at the same time, the balance is insufficient.
发明内容Contents of the invention
为解决上述问题,本申请给出了一种针对双激光分割的3D打印控制系统及 传递方法,有效避免了现有技术3D打印中的双激光打印方法不考虑零件上完整的多边形区域polygon或填充区域的被分割成的两个子部分的位置关系、公共边被重复打印两次使得形成了资源浪费和降低了打印效率、难以实现两边打印的均衡性的缺陷。In order to solve the above problems, this application provides a 3D printing control system and transfer method for dual laser segmentation, which effectively avoids that the dual laser printing method in the prior art 3D printing does not consider the complete polygon area polygon or filling on the part The positional relationship of the two sub-parts divided into the area, and the repeated printing of the common side twice lead to the waste of resources, the reduction of printing efficiency, and the disadvantages that it is difficult to achieve the balance of printing on both sides.
为了克服现有技术中的不足,本申请给出了一种针对双激光分割的3D打印控制系统及传递方法的解决方案,具体如下:In order to overcome the deficiencies in the prior art, this application provides a solution to the 3D printing control system and transfer method for dual laser segmentation, as follows:
一种针对双激光分割的3D打印控制系统,包括:A 3D printing control system for dual laser splitting, including:
在3D打印舱室内左右两边分别设置有两个激光器,处在左边的激光器为左边激光器,处在右边的激光器为右边激光器,左边激光器发出的激光就是左激光,右边激光器发出的激光就是右激光,左激光和右激光就构成了双激光;There are two lasers on the left and right sides of the 3D printing cabin, the laser on the left is the left laser, the laser on the right is the right laser, the laser emitted by the left laser is the left laser, and the laser emitted by the right laser is the right laser. The left laser and the right laser constitute a double laser;
所述左边激光器和右边激光器分别同左边激光振镜和右边激光振镜连接,所述左边激光振镜和右边激光振镜分别同左边振镜板卡和右边振镜板卡连接,所述左边振镜板卡和右边振镜板卡均同上位机通讯连接;The left laser and the right laser are respectively connected with the left laser vibrating mirror and the right laser vibrating mirror, the left laser vibrating mirror and the right laser vibrating mirror are respectively connected with the left vibrating mirror board and the right vibrating mirror board, and the left vibrating mirror Both the mirror board and the right vibrating mirror board are connected with the upper computer for communication;
运行在所述上位机上的模块包括:The modules running on the host computer include:
解析模块,所述解析模块用于解析出当前待打印的零件所对应的数据文件;An analysis module, the analysis module is used to analyze the data file corresponding to the part currently to be printed;
分割模块,所述分割模块用于对所述数据文件中的图像按X轴方向用中位线、左边边界线条和右边边界线条分割;A segmentation module, the segmentation module is used to divide the image in the data file with a median line, a left boundary line and a right boundary line in the X-axis direction;
处理模块,所述处理模块用于依序处理所述数据文件中的图像的每一个多边形区域polygen或填充区域hatch,对该多边形区域polygen或填充区域hatch用双激光分割模式执行分割。A processing module, the processing module is used to sequentially process each polygonal area polygen or filling area hatch of the image in the data file, and perform segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode.
进一步的,所述处理模块还包括:用于判断当前该多边形区域polygen或填充区域hatch内所有顶点横坐标的最小值iMin1与所有顶点横坐标的最大值iMax1同左边边界线条的横坐标x1的位置关系;如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就为公共区域;否则,该多边形区域polygen或填充区域hatch就不是公共区域;如果该多边形区域polygen或填充区域hatch为公共区域,就把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中;如果该多边形区域polygen或填充区域hatch不是公共区域,并且如果iMin1大于等于 左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;如果iMin1和iMax1都大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就用中位线来分割;如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内;如果iMin1和iMax1都小于左边边界线条的横坐标x1=fValue-iOffset,那么该多边形区域polygen或填充区域hatch就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内,fValue为垂直分割线的横坐标,垂直分割线与左边边界线条的距离以及垂直分割线与右边边界线条的距离都为iOffset。Further, the processing module further includes: for judging the position of the minimum value iMin1 of the abscissa of all vertices in the current polygonal area polygen or the filled area hatch, the maximum value iMax1 of the abscissa of all vertices and the abscissa x1 of the left boundary line Relation; if iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the abscissa x2=fValue+iOffset of the right boundary line, then the polygon area polygen or the filled area hatch is just a public area; otherwise, The polygonal area polygen or the filled area hatch is not a public area; if the polygonal area polygen or the filled area hatch is a public area, the data in the public area is allocated to the preset data array for the left laser or for the right laser In the data array; if the polygon area polygen or the filled area hatch is not a common area, and if iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x2=fValue+iOffset of the right boundary line, then The polygonal area polygen or the filled area hatch falls within the illumination range of the right laser, and the data of the polygonal area polygen or the filled area hatch is added to the data array for the right laser; if both iMin1 and iMax1 are greater than the right boundary line abscissa x2=fValue+iOffset, then the polygonal area polygen or the filled area hatch falls within the illumination range of the laser on the right, and the data of the polygonal area polygen or the filled area hatch is added to the data array for the right laser ; If iMin1 is less than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x=fValue+iOffset of the right boundary line, then the polygonal area polygen or the filled area hatch are divided with the median line; if iMin1 If it is less than the abscissa x1=fValue-iOffset of the left border line, and iMax1 is less than or equal to the abscissa x=fValue+iOffset of the right border line, then the polygonal area polygen or the filled area hatch falls within the illumination range of the left laser, and the The data of this polygonal area polygen or filling area hatch is added in the data array that is used for left laser; If iMin1 and iMax1 are all less than the abscissa x1=fValue-iOffset of left boundary line, so this polygonal area polygen or filling area hatch just falls Within the illumination range of the left laser, add the data of the polygon area polygen or the fill area hatch to the data array for the left laser, fValue is the abscissa of the vertical dividing line, the distance between the vertical dividing line and the left boundary line and The distance between the vertical dividing line and the border line on the right is iOffset.
进一步的,所述处理模块还包括:如果用于左边激光的数据数组现包含的数据的打印时间比用于右边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入用于左边激光的数据数组;如果用于右边激光的数据数组现包含的数据的打印时间比用于左边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入到用于右边激光的数据数组内。Further, the processing module also includes: if the printing time of the data currently contained in the data array for the left laser is shorter than the printing time of the data currently contained in the data array for the right laser, adding the data in the common area The data array for the left laser; if the printing time of the data currently contained in the data array for the right laser is shorter than the printing time of the data currently contained in the data array for the left laser, add the data of the common area to the user In the data array of the laser on the right.
进一步的,所述处理模块还包括:用于先取出该多边形区域polygen或填充区域hatch与中位线的两个交点的坐标;用于依次遍历该多边形区域polygen或填充区域hatch内的顶点,将位于中位线左边的顶点坐标加入到用于左边激光的数据数组中,将位于中位线右边的顶点坐标加入到用于右边激光的数据数组中;两个所述交点的坐标既加入到用于左边激光的数据数组中,也加入到用于右边激光的数据数组中。Further, the processing module also includes: firstly fetching the coordinates of two intersection points of the polygonal area polygen or the hatch area and the median line; for sequentially traversing the vertices in the polygonal area polygen or the hatch area hatch, and The vertex coordinates located on the left side of the median line are added to the data array for the left laser, and the vertex coordinates located on the right side of the median line are added to the data array used for the right laser; The data array for the left laser is also added to the data array for the right laser.
进一步的,所述上位机还包括两个线程,所述两个线程用于分别将用于左边激光的数据数组内的数据和用于右边激光的数据数组内的数据取出来进行打印,该打印包括:将用于左边激光的数据数组内的数据启动一个线程来通过驱动左边激光振镜以此移动发出左激光的左边激光器执行打印,将用于右边激光的数据数组内的数据启动另一个线程来通过驱动右边激光振镜以此移动发出右激光的右边激光器执行打印。Further, the host computer also includes two threads, and the two threads are used to respectively take out the data in the data array for the left laser and the data in the data array for the right laser for printing, and the printing Including: start a thread with the data in the data array for the left laser to move the left laser that emits the left laser by driving the left laser galvanometer to perform printing, and start another thread with the data in the data array for the right laser To move the right laser that emits the right laser to perform printing by driving the right laser vibrating mirror.
一种针对双激光分割的3D打印控制系统的分割方法,包括如下步骤:A method for dividing a 3D printing control system aimed at double laser division, comprising the following steps:
步骤1:把待打印的零件放置在3D打印舱室内的基板上,而上位机解析出当前待打印的零件所对应的数据文件;Step 1: Place the parts to be printed on the substrate in the 3D printing cabin, and the host computer parses out the data files corresponding to the parts to be printed;
步骤2:然后上位机对所述数据文件中的图像按X轴方向用中位线、左边边界线条和右边边界线条分割;Step 2: Then the host computer divides the image in the data file with the median line, the left boundary line and the right boundary line in the X-axis direction;
进一步的,按X轴方向用中位线、左边边界线条和右边边界线条分割,则作为其垂直分割线的中位线为垂直于X轴方向的垂直分割线,该垂直分割线是把所述数据文件中的图像所处的矩形框切割成左右两个相同的子矩形框,所述数据文件中的图像所处的矩形框最大的纵坐标、最小的纵坐标、最大的横坐标和最小的横坐标分别为该图像最大的纵坐标、最小的纵坐标、最大的横坐标和最小的横坐标,该垂直分割线就是对该矩形框按垂直于X轴方向从中对半分开的分割线,该垂直分割线的横坐标x=fValue;Further, according to the X-axis direction, it is divided by the median line, the left boundary line and the right boundary line, then the median line as its vertical dividing line is a vertical dividing line perpendicular to the X-axis direction, and the vertical dividing line is the The rectangular frame where the image in the data file is located is cut into two identical sub-rectangular frames on the left and right. The largest ordinate, the smallest ordinate, the largest abscissa and the smallest The abscissa is the largest ordinate, the smallest ordinate, the largest abscissa, and the smallest abscissa of the image respectively, and the vertical dividing line is the dividing line that divides the rectangular frame in half in the direction perpendicular to the X axis. The abscissa x=fValue of the vertical dividing line;
中位线两边都各有毗邻着一条相互平行的垂直于X轴方向的边界线条,其中右边边界线条表示左激光的最右边的光照范围边界;左边边界线条表示右激光的最左边的光照范围边界;中位线与左边边界线条的距离等于垂直分割线与右边边界线条的距离,都为iOffset。Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ; The distance between the median line and the left border line is equal to the distance between the vertical dividing line and the right border line, both are iOffset.
步骤3:上位机依序处理所述数据文件中的图像的每一个多边形区域polygen或填充区域hatch,对该多边形区域polygen或填充区域hatch用双激光分割模式执行分割。Step 3: The host computer sequentially processes each polygonal area polygen or filling area hatch of the image in the data file, and performs segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode.
进一步的,所述对该多边形区域polygen或填充区域hatch用双激光分割模式执行分割的方法,具体包括:Further, the method for performing segmentation on the polygonal area polygen or the filled area hatch with a dual laser segmentation mode specifically includes:
步骤3-1:判断当前该多边形区域polygen或填充区域hatch内所有顶点横坐标的最小值iMin1与所有顶点横坐标的最大值iMax1同左边边界线条的横坐标 x1的位置关系;Step 3-1: Determine the positional relationship between the minimum value iMin1 of the abscissa of all vertices in the current polygon area polygen or the filled area hatch, the maximum value iMax1 of the abscissa of all vertices, and the abscissa x1 of the left boundary line;
进一步的,中位线两边都各有毗邻着一条相互平行的垂直于X轴方向的边界线条,其中右边边界线条表示左激光的最右边的光照范围边界;左边边界线条表示右激光的最左边的光照范围边界;中位线与左边边界线条的距离等于垂直分割线与右边边界线条的距离,都为iOffset,左边边界线条的横坐标为x1=fValue-iOffset,右边边界线条的横坐标x2=fValue+iOffset。Further, both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost boundary of the right laser Illumination range boundary; the distance between the median line and the left boundary line is equal to the distance between the vertical dividing line and the right boundary line, both of which are iOffset, the abscissa of the left boundary line is x1=fValue-iOffset, and the abscissa of the right boundary line x2=fValue +iOffset.
步骤3-2:如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就为公共区域;否则,该多边形区域polygen或填充区域hatch就不是公共区域;Step 3-2: If iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the abscissa x2=fValue+iOffset of the right boundary line, then the polygon area polygen or the hatch area is a public area ;Otherwise, the polygon area polygen or the fill area hatch is not a public area;
步骤3-3:如果该多边形区域polygen或填充区域hatch为公共区域,就把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中;Step 3-3: If the polygon area polygen or the filled area hatch is a public area, allocate the data in the public area to the preset data array for the left laser or the data array for the right laser;
进一步的,把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中的方法,包括:如果用于左边激光的数据数组现包含的数据的打印时间比用于右边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入用于左边激光的数据数组;如果用于右边激光的数据数组现包含的数据的打印时间比用于左边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入到用于右边激光的数据数组内。Further, the method of distributing the data in the public area to the preset data array for the left laser or the data array for the right laser includes: if the printing time of the data currently contained in the data array for the left laser is shorter than The printing time of the data currently contained in the data array used for the right laser is short, and the data in the common area is added to the data array used for the left laser; if the printing time of the data currently contained in the data array used for the right laser is shorter than that used for The printing time of the data currently contained in the data array of the left laser is short, so the data in the common area is added to the data array for the right laser.
步骤3-4:如果该多边形区域polygen或填充区域hatch不是公共区域,并且如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;Step 3-4: If the polygon area polygen or the filled area hatch is not a public area, and if iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x2=fValue+iOffset of the right boundary line, Then the polygonal area polygen or the filled area hatch falls within the illumination range of the right laser, and the data of the polygonal area polygen or the filled area hatch is added to the data array for the right laser;
步骤3-5:如果iMin1和iMax1都大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;Step 3-5: If both iMin1 and iMax1 are greater than the abscissa x2=fValue+iOffset of the border line on the right, then the polygon area polygen or the fill area hatch falls within the illumination range of the laser on the right, and the polygon area polygen or fill The data of the area hatch is added to the data array for the right laser;
步骤3-6:如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同 时iMax1大于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就用中位线来分割;Step 3-6: If iMin1 is smaller than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x=fValue+iOffset of the right boundary line, then the polygon area polygen or the filled area hatch is defined by the median line segmentation;
进一步的,所述步骤3-6中的用中位线来分割的方法,包括:Further, the method for dividing by the median line in the steps 3-6 includes:
步骤3-6-1:先取出该多边形区域polygen或填充区域hatch与中位线的两个交点的坐标;Step 3-6-1: First take out the coordinates of the two intersection points of the polygon area polygon or the filling area hatch and the median line;
步骤3-6-2:依次遍历该多边形区域polygen或填充区域hatch内的顶点,将位于中位线左边的顶点坐标加入到用于左边激光的数据数组中,将位于中位线右边的顶点坐标加入到用于右边激光的数据数组中;两个所述交点的坐标既加入到用于左边激光的数据数组中,也加入到用于右边激光的数据数组中。Step 3-6-2: Traverse the vertices in the polygon area polygen or fill area hatch in turn, add the coordinates of the vertices on the left side of the median line to the data array for the left laser, and add the coordinates of the vertices on the right side of the median line Added to the data array for the right laser; the coordinates of the two intersection points are added to both the data array for the left laser and the data array for the right laser.
步骤3-7:如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内;Step 3-7: If iMin1 is less than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the abscissa x=fValue+iOffset of the right boundary line, then the polygon area polygen or the hatch area falls on the left laser Within the illumination range of the polygon area, add the data of the polygon area polygen or the fill area hatch to the data array for the left laser;
步骤3-8:如果iMin1和iMax1都小于左边边界线条的横坐标x1=fValue-iOffset,那么该多边形区域polygen或填充区域hatch就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内。Step 3-8: If both iMin1 and iMax1 are smaller than the abscissa x1=fValue-iOffset of the left boundary line, then the polygonal area polygen or the hatch area falls within the illumination range of the left laser, and the polygonal area polygen or fill The data for the area hatch is added to the data array for the left laser.
进一步的,所述步骤3之后,还包括:Further, after the step 3, it also includes:
上位机同时启动两个线程,该两个线程分别将用于左边激光的数据数组内的数据和用于右边激光的数据数组内的数据取出来进行打印,该打印包括:将用于左边激光的数据数组内的数据启动一个线程来通过驱动左边激光振镜以此移动发出左激光的左边激光器执行打印,将用于右边激光的数据数组内的数据启动另一个线程来通过驱动右边激光振镜以此移动发出右激光的右边激光器执行打印。The host computer starts two threads at the same time, and the two threads take out the data in the data array for the left laser and the data in the data array for the right laser respectively for printing. The printing includes: the data for the left laser The data in the data array starts a thread to perform printing by driving the left laser vibrating mirror to move the left laser emitting the left laser, and the data in the data array for the right laser starts another thread to drive the right laser vibrating mirror to This moves the right laser that emits the right laser to perform printing.
本发明的有益效果为:The beneficial effects of the present invention are:
(1)充分体现3D打印上位机的双激光器的装配实际情况。即两个激光器存在光照范围的交叉与重叠区域,两个激光器打印前需要不断地校准数据文件以达到准确平衡,能够实现分割后两个部件的完美匹配。(1) Fully reflect the actual situation of the assembly of the dual lasers of the 3D printing host computer. That is to say, there is an intersection and overlapping area of the illumination range of the two lasers. Before printing, the two lasers need to continuously calibrate the data files to achieve an accurate balance, which can achieve a perfect match between the two parts after division.
(2)所有数据文件的数据到底分配到哪个激光器的打印范围的计算方法合理准确,运用中位线、左边边界线条和右边边界线条分割所确定的左边区域、右边区域,不会出现公共边被重复打印两次使得形成了资源浪费和降低了打印效率的问题。(2) The calculation method of which laser printing range the data of all data files is assigned to is reasonable and accurate, and the left area and right area determined by dividing the median line, left boundary line and right boundary line will not appear common edges are blocked Repeated printing twice leads to the waste of resources and the reduction of printing efficiency.
(3)关于两个激光器光照范围的交叉重叠公共区域的数据分配算法具备创新性,其先分别计算出左边激光器当前包含数据的打印时间、右边激光器当前包含数据的打印时间,然后比较两者大小。哪个激光器的打印时间短就把当前重叠 的公共区域里这个多边形区域polygen或填充区域hatch的数据加入到该激光器那边去打印,提高了两个激光器打印的均衡性。(3) The data allocation algorithm for the cross-overlapping public area of the two lasers' illumination ranges is innovative. It first calculates the printing time of the data currently contained in the left laser and the printing time of the data currently contained in the right laser, and then compares the two sizes . Whichever laser has the shortest printing time, add the data of the polygonal area polygen or the filling area hatch in the current overlapping public area to the laser for printing, which improves the printing balance of the two lasers.
(4)能够保证两个激光器同时开始打印,结合上述把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中的方法,就能把公共区域的图形数据加入打印时间短的一边,弥补了打印时间长短不一致的差距,改善了3D打印的双激光器打印任务量的均衡性,也提高了双激光器同步结束的概率。(4) It can ensure that the two lasers start printing at the same time. Combined with the above method of distributing the data in the common area to the preset data array for the left laser or the data array for the right laser, the graphics in the common area can be The data is added to the side of the short printing time, which makes up for the gap of inconsistent printing time, improves the balance of the printing tasks of the dual lasers in 3D printing, and also increases the probability of dual lasers synchronously ending.
有效避免了现有技术3D打印中的双激光打印方法不考虑零件上完整的多边形区域polygon或填充区域的被分割成的两个子部分的位置关系、公共边被重复打印两次使得形成了资源浪费和降低了打印效率、难以两边打印同步结束使得同步性不足的缺陷。It effectively avoids the dual laser printing method in the prior art 3D printing, which does not consider the positional relationship of the complete polygonal area polygon or the two sub-parts of the filled area on the part, and the common side is printed twice, resulting in a waste of resources And it reduces the printing efficiency, and it is difficult to finish printing on both sides synchronously, so that the synchronization is insufficient.
附图说明Description of drawings
图1是本发明的左激光和右激光的光照范围示意图。Fig. 1 is a schematic diagram of the irradiation ranges of the left laser and the right laser in the present invention.
图2是本发明的双激光的交叉区域的示意图。Fig. 2 is a schematic diagram of the intersection area of the dual lasers of the present invention.
图3是本发明的公共区域的示意图。Fig. 3 is a schematic diagram of the public area of the present invention.
图4是本发明的多边形区域polygen或填充区域hatch落在右边激光的光照范围内的一种示意图。FIG. 4 is a schematic diagram of the polygonal region polygen or the filled region hatch falling within the illumination range of the laser on the right according to the present invention.
图5是本发明的多边形区域polygen或填充区域hatch落在右边激光的光照范围内的另一种示意图。FIG. 5 is another schematic diagram of the polygonal region polygen or the filled region hatch falling within the illumination range of the laser on the right according to the present invention.
图6是本发明的iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x=fValue+iOffset的示意图。Fig. 6 is a schematic diagram of the present invention where iMin1 is smaller than the abscissa x1=fValue-iOffset of the left boundary line, while iMax1 is larger than the abscissa x=fValue+iOffset of the right boundary line.
图7是本发明的多边形区域polygen或填充区域hatch落在左边激光的光照范围内的一种示意图。FIG. 7 is a schematic diagram of the polygonal area polygen or the filled area hatch falling within the illumination range of the laser on the left according to the present invention.
图8是本发明的多边形区域polygen或填充区域hatch落在左边激光的光照范围内的另一种示意图。FIG. 8 is another schematic diagram of the polygonal area polygon or the filled area hatch falling within the illumination range of the laser on the left according to the present invention.
图9是本发明的运行在所述上位机上的模块和线程的结构图。Fig. 9 is a structural diagram of modules and threads running on the host computer according to the present invention.
图10是本发明的针对双激光分割的3D打印控制系统的分割方法的整体流程图。FIG. 10 is an overall flow chart of the splitting method of the 3D printing control system for dual-laser splitting according to the present invention.
图11是本发明的步骤3-1到步骤3-4的流程图。Fig. 11 is a flowchart of steps 3-1 to 3-4 of the present invention.
图12是本发明的步骤3-5到步骤3-8的流程图。Fig. 12 is a flowchart of steps 3-5 to 3-8 of the present invention.
图13是本发明的步骤3-6-1到步骤3-6-2的流程图。Fig. 13 is a flowchart of steps 3-6-1 to 3-6-2 of the present invention.
具体实施方式Detailed ways
下面将结合附图和实施例对本申请做进一步地说明。The application will be further described below in conjunction with the drawings and embodiments.
如图1-图13所示,针对双激光分割的3D打印控制系统,包括:As shown in Figure 1-Figure 13, the 3D printing control system for dual laser segmentation includes:
在3D打印舱室内左右两边分别设置有两个激光器,处在左边的激光器为左边激光器,处在右边的激光器为右边激光器,左边激光器发出的激光就是左激光,右边激光器发出的激光就是右激光,左激光和右激光就构成了双激光;There are two lasers on the left and right sides of the 3D printing cabin, the laser on the left is the left laser, the laser on the right is the right laser, the laser emitted by the left laser is the left laser, and the laser emitted by the right laser is the right laser. The left laser and the right laser constitute a double laser;
所述左边激光器和右边激光器分别同左边激光振镜和右边激光振镜连接,所述左边激光振镜和右边激光振镜分别同左边振镜板卡和右边振镜板卡连接,所述左边振镜板卡和右边振镜板卡均同上位机通讯连接;上位机能够是笔记本电脑、PLC或者PDA。The left laser and the right laser are respectively connected with the left laser vibrating mirror and the right laser vibrating mirror, the left laser vibrating mirror and the right laser vibrating mirror are respectively connected with the left vibrating mirror board and the right vibrating mirror board, and the left vibrating mirror Both the mirror board and the right vibrating mirror board are connected with the host computer; the host computer can be a laptop, PLC or PDA.
运行在所述上位机上的模块包括:The modules running on the host computer include:
解析模块,所述解析模块用于解析出当前待打印的零件所对应的数据文件;An analysis module, the analysis module is used to analyze the data file corresponding to the part currently to be printed;
分割模块,所述分割模块用于对所述数据文件中的图像按X轴方向用中位线、左边边界线条和右边边界线条分割;A segmentation module, the segmentation module is used to divide the image in the data file with a median line, a left boundary line and a right boundary line in the X-axis direction;
处理模块,所述处理模块用于依序处理所述数据文件中的图像的每一个多边形区域polygen或填充区域hatch,对该多边形区域polygen或填充区域hatch用双激光分割模式执行分割。A processing module, the processing module is used to sequentially process each polygonal area polygen or filling area hatch of the image in the data file, and perform segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode.
所述处理模块还包括:用于判断当前该多边形区域polygenThe processing module also includes: for judging the current polygon area polygon
或填充区域hatch内所有顶点横坐标的最小值iMin1与所有顶点横坐标的最大值iMax1同左边边界线条的横坐标x1的位置关系;如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就为公共区域;否则,该多边形区域polygen或填充区域hatch就不是公共区域;如果该多边形区域polygen或填充区域hatch为公共区域,就把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中;如果该多边形区域polygen或填充区域hatch不是公共区域,并且如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;如果iMin1和iMax1都大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到 用于右边激光的数据数组内;如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就用中位线来分割;如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内;如果iMin1和iMax1都小于左边边界线条的横坐标x1=fValue-iOffset,那么该多边形区域polygen或填充区域hatch就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内。Or fill the positional relationship between the minimum value iMin1 of the abscissa of all vertices in the area hatch and the maximum value of iMax1 of the abscissa of all vertices and the abscissa x1 of the left border line; if iMin1 is greater than or equal to the abscissa x1 of the left border line=fValue-iOffset, Simultaneously, iMax1 is less than or equal to the abscissa x2=fValue+iOffset of the border line on the right side, so this polygonal area polygen or filling area hatch is just public area; Otherwise, this polygonal area polygen or filling area hatch is just not public area; If this polygonal area polygen Or the filling area hatch is a public area, and the data in the public area is allocated to the preset data array for the left laser or the data array for the right laser; if the polygonal area polygen or the filling area hatch is not a public area, and If iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x2=fValue+iOffset of the right boundary line, then the polygonal area polygen or the filled area hatch falls within the illumination range of the right laser, Just add the data of this polygonal area polygen or the filling area hatch into the data array for the right laser; if iMin1 and iMax1 are all greater than the abscissa x2=fValue+iOffset of the right border line, then this polygonal area polygen or filling area hatch Just fall within the illumination range of the laser on the right, just add the data of the polygon area polygen or the fill area hatch into the data array for the right laser; If it is greater than the abscissa x=fValue+iOffset of the right boundary line, then the polygon area polygen or the filled area hatch is divided by the median line; if iMin1 is smaller than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the right side The abscissa x=fValue+iOffset of the boundary line, then the polygonal area polygen or the filling area hatch falls within the illumination range of the left laser, and the data of the polygonal area polygen or the filling area hatch are added to the data for the left laser In the array; if both iMin1 and iMax1 are smaller than the abscissa x1=fValue-iOffset of the left boundary line, then the polygonal area polygen or the filled area hatch falls within the illumination range of the left laser, and the polygonal area polygen or the filled area hatch The data from is added to the data array for the left laser.
所述处理模块还包括:如果用于左边激光的数据数组现包含的数据的打印时间比用于右边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入用于左边激光的数据数组;如果用于右边激光的数据数组现包含的数据的打印时间比用于左边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入到用于右边激光的数据数组内。The processing module also includes: if the printing time of the data currently contained in the data array for the left laser is shorter than the printing time of the data currently contained in the data array for the right laser, adding the data in the common area for the left The data array of the laser; if the printing time of the data currently contained in the data array for the right laser is shorter than the printing time of the data currently contained in the data array for the left laser, add the data in the common area to the data for the right laser in the data array.
所述处理模块还包括:用于先取出该多边形区域polygen或填充区域hatch与中位线的两个交点的坐标;用于依次遍历该多边形区域polygen或填充区域hatch内的顶点,将位于中位线左边的顶点坐标加入到用于左边激光的数据数组中,将位于中位线右边的顶点坐标加入到用于右边激光的数据数组中;两个所述交点的坐标既加入到用于左边激光的数据数组中,也加入到用于右边激光的数据数组中。The processing module also includes: for first taking out the coordinates of two intersection points of the polygonal area polygen or the filling area hatch and the median line; The vertex coordinates on the left side of the line are added to the data array for the left laser, and the vertex coordinates on the right side of the median line are added to the data array for the right laser; the coordinates of the two intersection points are added to the data array for the left laser The data array for the right laser is also added to the data array for the right laser.
所述上位机还包括两个线程,所述两个线程用于分别将用于左边激光的数据数组内的数据和用于右边激光的数据数组内的数据取出来进行打印,该打印包括:将用于左边激光的数据数组内的数据启动一个线程来通过驱动左边激光振镜以此移动发出左激光的左边激光器执行打印,将用于右边激光的数据数组内的数据启动另一个线程来通过驱动右边激光振镜以此移动发出右激光的右边激光器执行打印。The host computer also includes two threads, and the two threads are used to print the data in the data array for the left laser and the data in the data array for the right laser respectively, and the printing includes: The data in the data array for the left laser starts a thread to perform printing by driving the left laser galvanometer to move the left laser that emits the left laser, and starts another thread to drive the data in the data array for the right laser The right laser galvanometer moves the right laser that emits the right laser to perform printing.
在使用双激光打印时,3D打印设备中装备了两个激光器,启动两个激光器同时进行零件打印。这时可以采用本发明描述的针对双激光分割的3D打印控制系统的分割方法。When using dual laser printing, the 3D printing device is equipped with two lasers, and the two lasers are started to print parts at the same time. At this time, the splitting method of the 3D printing control system for dual laser splitting described in the present invention can be used.
另外,在3D打印舱室内左右两边分别设置有位于3D打印舱室内上方的左边激光器和右边激光器,在左边激光器和右边激光器分别发出左激光和右激光时,其光照范围如图1所示。In addition, a left laser and a right laser located above the 3D printing cabin are respectively arranged on the left and right sides of the 3D printing cabin.
当左边激光器和右边激光器分别发出左激光和右激光时,在3D打印舱室内的基板上会有重叠区域,如图2所示;图2中处在内部矩形中部上的三条线的当中的那根线,其表示是按照X轴方向分割的垂直分割线,其横坐标x=fValue,该垂直分割线时垂直于X轴方向的,按照Y轴方向分割与按照X轴防线分割的方法是同理的,这里以X轴为例说明,垂直分割线两边都各有毗邻着一条相互平行的垂直于X轴方向的边界线条,其中右边边界线条表示左激光的最右边的光照范围边界;左边边界线条表示右激光的最左边的光照范围边界;垂直分割线与左边边界线条的距离等于垂直分割线与右边边界线条的距离,都为iOffset。那么通过计算得到,左边边界线条的横坐标为x1=fValue-iOffset,右边边界线条的横坐标x2=fValue+iOffset。When the left laser and the right laser emit the left laser and the right laser respectively, there will be an overlapping area on the substrate in the 3D printing cabin, as shown in Figure 2; the middle of the three lines in the middle of the inner rectangle in Figure 2 Root line, which represents a vertical dividing line divided according to the X-axis direction, its abscissa x=fValue, the vertical dividing line is perpendicular to the X-axis direction, and the method of dividing according to the Y-axis direction is the same as dividing according to the X-axis defense line Reasonably, the X-axis is taken as an example here. Both sides of the vertical dividing line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction. The right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary The line represents the leftmost boundary of the illumination range of the right laser; the distance between the vertical dividing line and the left boundary line is equal to the distance between the vertical dividing line and the right boundary line, both of which are iOffset. Then, through calculation, the abscissa of the left border line is x1=fValue-iOffset, and the abscissa of the right border line is x2=fValue+iOffset.
针对双激光分割的3D打印控制系统的分割方法,包括如下步骤:The splitting method of the 3D printing control system for double laser splitting comprises the following steps:
步骤1:把待打印的零件放置在3D打印舱室内的基板上,而上位机解析出当前待打印的零件所对应的数据文件;这个数据文件也就是3D打印文件中的图像,该图像中可能包含多个的多边形区域polygen或填充区域hatch。Step 1: Place the part to be printed on the substrate in the 3D printing cabin, and the host computer parses out the data file corresponding to the part to be printed; this data file is the image in the 3D printing file, and the image may Contains multiple polygonal area polygen or filled area hatch.
步骤2:然后上位机对所述数据文件中的图像按X轴方向用中位线、左边边界线条和右边边界线条分割;Step 2: Then the host computer divides the image in the data file with the median line, the left boundary line and the right boundary line in the X-axis direction;
按X轴方向用中位线、左边边界线条和右边边界线条分割,则作为其垂直分割线的中位线为垂直于X轴方向的垂直分割线,该垂直分割线是把所述数据文件中的图像所处的矩形框切割成左右两个相同的子矩形框,所述数据文件中的图像所处的矩形框最大的纵坐标、最小的纵坐标、最大的横坐标和最小的横坐标分别为该图像最大的纵坐标、最小的纵坐标、最大的横坐标和最小的横坐标,该垂直分割线就是对该矩形框按垂直于X轴方向从中对半分开的分割线,该垂直分割线的横坐标x=fValue;Divided by the median line, the left boundary line and the right boundary line according to the X-axis direction, then the median line as its vertical division line is a vertical division line perpendicular to the X-axis direction, and the vertical division line is the data file The rectangular frame where the image is located is cut into two identical sub-rectangular frames on the left and right, and the largest ordinate, the smallest ordinate, the largest abscissa and the smallest abscissa of the rectangular frame where the image is located in the data file are respectively is the largest ordinate, the smallest ordinate, the largest abscissa, and the smallest abscissa of the image. The vertical dividing line is the dividing line that divides the rectangular frame in half in the direction perpendicular to the X axis. The vertical dividing line The abscissa x=fValue;
中位线两边都各有毗邻着一条相互平行的垂直于X轴方向的边界线条,其中右边边界线条表示左激光的最右边的光照范围边界;左边边界线条表示右激光的最左边的光照范围边界;中位线与左边边界线条的距离等于垂直分割线与右边边界线条的距离,都为iOffset。Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ; The distance between the median line and the left border line is equal to the distance between the vertical dividing line and the right border line, both are iOffset.
步骤3:上位机依序处理所述数据文件中的图像的每一个多边形区域polygen或填充区域hatch,对该多边形区域polygen或填充区域hatch用双激 光分割模式执行分割。这样,原先一个数据文件的图像将被分割存放在用于左边激光的数据数组和用于右边激光的数据数组中。Step 3: The host computer sequentially processes each polygonal area polygen or filling area hatch of the image in the data file, and performs segmentation on the polygonal area polygen or filling area hatch with a dual laser segmentation mode. In this way, the original image of a data file will be divided and stored in the data array for the left laser and the data array for the right laser.
依序处理能够按照从左到右再从上到下的顺序对该图像中的多边形区域polygen或填充区域hatch执行处理。Sequential processing can perform processing on the polygonal area polygen or the filled area hatch in the image in the order from left to right and then from top to bottom.
所述对该多边形区域polygen或填充区域hatch用双激光分割模式执行分割的方法,具体包括:The method for performing segmentation with a dual laser segmentation mode on the polygonal area polygen or the filled area hatch specifically includes:
步骤3-1:判断当前该多边形区域polygen或填充区域hatch内所有顶点横坐标的最小值iMin1与所有顶点横坐标的最大值iMax1同左边边界线条的横坐标x1的位置关系,即iMin1与x1=fValue-iOffset的大小关系;Step 3-1: Determine the positional relationship between the minimum value iMin1 of the abscissa of all vertices in the current polygon area polygen or the filled area hatch, the maximum value iMax1 of the abscissa of all vertices, and the abscissa x1 of the left boundary line, i.e. iMin1 and x1= The size relationship of fValue-iOffset;
中位线两边都各有毗邻着一条相互平行的垂直于X轴方向的边界线条,其中右边边界线条表示左激光的最右边的光照范围边界;左边边界线条表示右激光的最左边的光照范围边界;中位线与左边边界线条的距离等于垂直分割线与右边边界线条的距离,都为iOffset,那么通过计算得到,左边边界线条的横坐标为x1=fValue-iOffset,右边边界线条的横坐标x2=fValue+iOffset。Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ; The distance between the median line and the left boundary line is equal to the distance between the vertical dividing line and the right boundary line, both of which are iOffset, then through calculation, the abscissa of the left boundary line is x1=fValue-iOffset, and the abscissa of the right boundary line is x2 =fValue+iOffset.
步骤3-2:如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域polygen或填充区域hatch(即图3中五边形)就为如图3所示的公共区域;否则,该多边形区域polygen或填充区域hatch就不是公共区域;Step 3-2: If iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left border line, and iMax1 is less than or equal to the abscissa x2=fValue+iOffset of the right border line simultaneously, then this polygonal area polygen or fill area hatch (ie Fig. 3 Middle pentagon) is just the common area as shown in Figure 3; Otherwise, this polygonal area polygen or filling area hatch just is not public area;
步骤3-3:如果该多边形区域polygen或填充区域hatch为公共区域,就把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中;Step 3-3: If the polygon area polygen or the filled area hatch is a public area, allocate the data in the public area to the preset data array for the left laser or the data array for the right laser;
把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中的方法,包括:如果用于左边激光的数据数组现包含的数据的打印时间比用于右边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入用于左边激光的数据数组;如果用于右边激光的数据数组现包含的数据的打印时间比用于左边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入到用于右边激光的数据数组内。这里就要分别计算用于左边激光的数据数组现包含的数据的打印时间和用于右边激光的数据数组现包含的数据的打印时间。The method of distributing the data in the common area to the preset data array for the left laser or the data array for the right laser includes: if the data array for the left laser now contains data whose printing time is shorter than that for the right If the printing time of the data contained in the data array of the laser is short, the data in the common area will be added to the data array for the left laser; if the printing time of the data contained in the data array for the right laser is shorter than that for the left laser The printing time of the data currently contained in the data array is short, so the data in the common area is added to the data array for the right laser. Here, the printing time for the data currently contained in the data array for the left laser and the printing time for the data currently contained in the data array for the right laser are respectively calculated.
计算用于左边激光的数据数组现包含的数据的打印时间的方法,包括:首 先统计左边激光数据数组中所有多边形区域polygen或填充区域hatch的总周长,然后将该总周长除以左边激光在3D打印时的移动速度就得到用于左边激光的数据数组现包含的数据的打印时间。The method for calculating the printing time of the data currently contained in the data array for the left laser includes: first counting the total perimeter of all polygonal regions polygen or filled area hatch in the left laser data array, and then dividing the total perimeter by the left laser The speed of movement during 3D printing results in the printing time for the data currently contained in the data array of the left laser.
计算用于右边激光的数据数组现包含的数据的打印时间的方法,包括:首先统计右边激光数据数组中所有多边形区域polygen或填充区域hatch的总周长,然后将该总周长除以右边激光在3D打印时的移动速度就得到用于右边激光的数据数组现包含的数据的打印时间。The method for calculating the printing time of the data currently contained in the data array for the right laser includes: first counting the total perimeter of all polygonal areas polygen or filling area hatch in the right laser data array, and then dividing the total perimeter by the right laser The moving speed during 3D printing just obtains the printing time for the data currently contained in the data array of the right laser.
步骤3-4:如果该多边形区域polygen或填充区域hatch不是公共区域,并且如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x2=fValue+iOffset,如图4所示,那么该多边形区域polygen或填充区域hatch(如图4所示的六边形)就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;Step 3-4: If the polygon area polygen or the filled area hatch is not a public area, and if iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x2=fValue+iOffset of the right boundary line, As shown in Figure 4, then the polygonal area polygen or the filling area hatch (hexagon as shown in Figure 4) just falls within the illumination range of the laser on the right, and the data of the polygonal area polygen or the filling area hatch are added to Used in the data array of the laser on the right;
步骤3-5:如果iMin1和iMax1都大于右边边界线条的横坐标x2=fValue+iOffset,即iMin1>fValue+iOffset,iMax>fValue+iOffset,如图5所示,那么该多边形区域polygen或填充区域hatch(如图5所示的六边形)就落在右边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于右边激光的数据数组内;Step 3-5: If both iMin1 and iMax1 are greater than the abscissa x2=fValue+iOffset of the right boundary line, i.e. iMin1>fValue+iOffset, iMax>fValue+iOffset, as shown in Figure 5, then the polygonal area polygen or filled area Hatch (hexagon as shown in Figure 5) just falls in the illumination scope of laser on the right side, just add the data of this polygonal area polygen or filling area hatch in the data array that is used for the right side laser;
步骤3-6:如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域polygen或填充区域hatch就用中位线来分割;如图6所示。Step 3-6: If iMin1 is smaller than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x=fValue+iOffset of the right boundary line, then the polygon area polygen or the filled area hatch is defined by the median line Segmentation; as shown in Figure 6.
所述步骤3-6中的用中位线来分割的方法,包括:The method for dividing by the median line in the steps 3-6 includes:
步骤3-6-1:先取出该多边形区域polygen或填充区域hatch与中位线的两个交点的坐标,例如该两个交点的坐标分别为(xA,yA)和(xB,yB);Step 3-6-1: First take out the coordinates of the two intersection points of the polygon area polygen or the filled area hatch and the median line, for example, the coordinates of the two intersection points are (xA, yA) and (xB, yB);
取出该多边形区域polygen或填充区域hatch与中位线的两个交点的坐标的方法,可以用下例说明:The method of taking out the coordinates of the two intersection points of the polygon area polygen or the filled area hatch and the median line can be illustrated by the following example:
多边形区域polygen或填充区域hatch是由若干条直线构成的(如图6所示),多边形区域polygen或填充区域hatch同中位线一般会有两个所述交点,分别设为A和B。这里以计算A点坐标为例,可以依序遍历多边形区域polygen或填充区域hatch中所有顶点,找到与中位线相交的那条直线所在的首尾两个顶点坐标(x1,y1)和(x2,y2)。由这两个顶点计算出他们所在的一条直线方程。计算直线方程的方法为:先计算斜率k=(y2-y1)/(x2-x1),再利用点斜式计算直线方程为 y-y1=k(x-x1)。因为中位线的直线方程为x=fValue且中位线上所有点的x坐标都是相等的,故将x=fValue代入上述直线方程可以求点y值,就计算出交点坐标A(x,y)。The polygonal area polygen or the filled area hatch is composed of several straight lines (as shown in FIG. 6 ). The polygonal area polygen or the filled area hatch generally has two intersection points with the median line, which are respectively set as A and B. Here, taking the calculation of the coordinates of point A as an example, you can traverse all the vertices in the polygonal area polygen or the filled area hatch in order, and find the first and last two vertex coordinates (x1, y1) and (x2, y2). From these two vertices, calculate the equation of a straight line on which they lie. The method of calculating the straight line equation is: first calculate the slope k=(y2-y1)/(x2-x1), and then use the point slope formula to calculate the straight line equation as y-y1=k(x-x1). Because the straight line equation of the median line is x=fValue and the x coordinates of all points on the median line are equal, so substituting x=fValue into the above straight line equation can find the y value of the point, and calculate the intersection coordinate A(x, y).
B点的计算方法和A点类似,在此就不赘述。The calculation method of point B is similar to that of point A, and will not be repeated here.
步骤3-6-2:依次遍历该多边形区域polygen或填充区域hatch内的顶点,将位于中位线左边的顶点坐标加入到用于左边激光的数据数组中,将位于中位线右边的顶点坐标加入到用于右边激光的数据数组中;两个所述交点的坐标既加入到用于左边激光的数据数组中,也加入到用于右边激光的数据数组中。但是要注意这两个交点之间在用于左边激光的数据数组中和用于右边激光的数据数组中都不会产生连线。Step 3-6-2: Traverse the vertices in the polygon area polygen or fill area hatch in turn, add the coordinates of the vertices on the left side of the median line to the data array for the left laser, and add the coordinates of the vertices on the right side of the median line Added to the data array for the right laser; the coordinates of the two intersection points are added to both the data array for the left laser and the data array for the right laser. Note, however, that there will be no connection between the two intersections in the data array for the left laser and the data array for the right laser.
这样,中位线将一个多边形区域polygen或填充区域hatch分割成两个子区域,两个子区域分别在左边激光和右边激光中打印。当直线被分割后,将交点既加入到左边激光确保了左边子区域产生了一条新直线,且有端点;也加入到右边激光确保了右边子区域产生了一条新直线,且有端点。这样一来当他们被分开打印时,彼此具备独立性和完整性。In this way, the median line divides a polygon area polygen or a filled area hatch into two sub-areas, and the two sub-areas are printed in the left laser and the right laser respectively. When the straight line is divided, adding the intersection point to the left laser ensures that a new straight line is generated in the left sub-region and has an endpoint; it is also added to the right laser to ensure that a new straight line is generated in the right sub-region and has an endpoint. This way when they are printed separately, they have independence and integrity from each other.
步骤3-7:如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x=fValue+iOffset,如图7所示,那么该多边形区域polygen或填充区域hatch(如图7所示的多边形)就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内;Step 3-7: If iMin1 is less than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the abscissa x=fValue+iOffset of the right boundary line, as shown in Figure 7, then the polygonal area polygen or filled area Hatch (polygon as shown in Figure 7) just falls in the illumination range of left laser, just add the data of this polygon area polygen or filling area hatch in the data array that is used for left laser;
步骤3-8:如果iMin1和iMax1都小于左边边界线条的横坐标x1=fValue-iOffset,如图8所示,那么该多边形区域polygen或填充区域hatch(如图8所示的多边形)就落在左边激光的光照范围内,就把该多边形区域polygen或填充区域hatch的数据加入到用于左边激光的数据数组内。Step 3-8: if iMin1 and iMax1 are all less than the abscissa x1=fValue-iOffset of the left boundary line, as shown in Figure 8, then this polygonal area polygen or filling area hatch (polygon as shown in Figure 8) just falls on Within the illumination range of the left laser, the data of the polygon area polygen or the filled area hatch is added to the data array for the left laser.
所述步骤3之后,还包括:After said step 3, also include:
上位机同时启动两个线程,该两个线程分别将用于左边激光的数据数组内的数据和用于右边激光的数据数组内的数据取出来进行打印,该打印包括:将用于左边激光的数据数组内的数据启动一个线程来通过驱动左边激光振镜以此移动发出左激光的左边激光器执行打印,将用于右边激光的数据数组内的数据启动另一个线程来通过驱动右边激光振镜以此移动发出右激光的右边激光器执行打印。这样就能同时开始打印,结合上述把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中的方法,就能把公共区域的图形数据加入打印时间短的一边,弥补了打印时间长短不一致的差距,改善了3D打印的双激光器打印任务量的均衡性,也提高了双激光器同步结束的概率。The host computer starts two threads at the same time, and the two threads take out the data in the data array for the left laser and the data in the data array for the right laser respectively for printing. The printing includes: the data for the left laser The data in the data array starts a thread to perform printing by driving the left laser vibrating mirror to move the left laser emitting the left laser, and the data in the data array for the right laser starts another thread to drive the right laser vibrating mirror to This moves the right laser that emits the right laser to perform printing. In this way, printing can be started at the same time, combined with the above method of distributing the data in the common area to the preset data array for the left laser or the data array for the right laser, the graphics data in the common area can be added to the printing time. On the one hand, it makes up for the gap of inconsistent printing time, improves the balance of 3D printing dual-laser printing tasks, and also increases the probability of dual-laser synchronous end.
本发明基于传统的双激光平均分割零件打印区域的算法,提出了一种高效的双激光分割算法。高效的分割算法中将零件所在区域分成三块区域,即左边区域, 中间重叠区域和右边区域。左边区域落在左边激光的打印范围内,由左边激光打印;右边区域落在右边激光的打印范围内,由右边激光打印;对于中间重叠区域,则先通过计算左边激光现有数据的打印时间和计算右边激光现有数据的打印时间的大小关系,谁的时间短就将当前零件加入哪边去打印,以确保双激光打印同时开始和同时结束。The present invention proposes an efficient dual-laser segmentation algorithm based on the traditional algorithm for evenly dividing the print area of a part by dual lasers. In the efficient segmentation algorithm, the area where the part is located is divided into three areas, namely the left area, the middle overlapping area and the right area. The left area falls within the printing range of the left laser and is printed by the left laser; the right area falls within the printing range of the right laser and is printed by the right laser; for the middle overlapping area, first calculate the printing time of the existing data of the left laser and Calculate the relationship between the printing time of the existing laser data on the right, and whoever has the shortest time will add the current part to which side to print, so as to ensure that the dual laser printing starts and ends at the same time.
以上以用实施例说明的方式对本申请作了描述,本领域的技术人员应当理解,本公开不限于以上描述的实施例,在不偏离本申请的区域的状况下,能够做出各种变化、改变和替换。The present application has been described above in the manner of illustrating the embodiments, and those skilled in the art should understand that the present disclosure is not limited to the embodiments described above, and various changes can be made without departing from the scope of the present application. change and replace.

Claims (8)

  1. 一种针对双激光分割的3D打印控制系统,其特征在于,包括:A 3D printing control system for double laser division, characterized in that it includes:
    在3D打印舱室内左右两边分别设置有两个激光器,处在左边的激光器为左边激光器,处在右边的激光器为右边激光器,左边激光器发出的激光就是左激光,右边激光器发出的激光就是右激光,左激光和右激光就构成了双激光;There are two lasers on the left and right sides of the 3D printing cabin, the laser on the left is the left laser, the laser on the right is the right laser, the laser emitted by the left laser is the left laser, and the laser emitted by the right laser is the right laser. The left laser and the right laser constitute a double laser;
    所述左边激光器和右边激光器分别同左边激光振镜和右边激光振镜连接,所述左边激光振镜和右边激光振镜分别同左边振镜板卡和右边振镜板卡连接,所述左边振镜板卡和右边振镜板卡均同上位机通讯连接;The left laser and the right laser are respectively connected with the left laser vibrating mirror and the right laser vibrating mirror, the left laser vibrating mirror and the right laser vibrating mirror are respectively connected with the left vibrating mirror board and the right vibrating mirror board, and the left vibrating mirror Both the mirror board and the right vibrating mirror board are connected with the upper computer for communication;
    运行在所述上位机上的模块包括:The modules running on the host computer include:
    解析模块,所述解析模块用于解析出当前待打印的零件所对应的数据文件;An analysis module, the analysis module is used to analyze the data file corresponding to the part currently to be printed;
    分割模块,所述分割模块用于对所述数据文件中的图像按X轴方向用中位线、左边边界线条和右边边界线条分割;A segmentation module, the segmentation module is used to divide the image in the data file with a median line, a left boundary line and a right boundary line in the X-axis direction;
    处理模块,所述处理模块用于依序处理所述数据文件中的图像的每一个多边形区域或填充区域,对该多边形区域或填充区域用双激光分割模式执行分割;A processing module, the processing module is used to sequentially process each polygonal area or filled area of the image in the data file, and perform segmentation on the polygonal area or filled area with a dual laser segmentation mode;
    所述处理模块还包括:用于判断当前该多边形区域或填充区域内所有顶点横坐标的最小值iMin1与所有顶点横坐标的最大值iMax1同左边边界线条的横坐标x1的位置关系;如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域或填充区域就为公共区域;否则,该多边形区域或填充区域就不是公共区域;如果该多边形区域或填充区域为公共区域,就把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中;如果该多边形区域或填充区域不是公共区域,并且如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域或填充区域就落在右边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于右边激光的数据数组内;如果iMin1和iMax1都大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域或填充区域就落在右边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于右边激光的数据数组内;如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域或填充区域就用中位线来分割;如果iMin1小于左边边界线条 的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域或填充区域就落在左边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于左边激光的数据数组内;如果iMin1和iMax1都小于左边边界线条的横坐标x1=fValue-iOffset,那么该多边形区域或填充区域就落在左边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于左边激光的数据数组内,fValue为垂直分割线的横坐标,垂直分割线与左边边界线条的距离以及垂直分割线与右边边界线条的距离都为iOffset。Described processing module also comprises: be used for judging the minimum value iMin1 of all vertex abscissas and the maximum value iMax1 of all vertex abscissas and the abscissa x1 of the left border line in this polygonal area or filling area at present; If iMin1 is greater than Equal to the abscissa x1=fValue-iOffset of the border line on the left, and iMax1 is less than or equal to the abscissa x2=fValue+iOffset of the border line on the right simultaneously, then this polygonal area or filled area is just public area; Otherwise, this polygonal area or filled area is just Not a public area; if the polygonal or filled area is a public area, assign the data in the public area to the preset data array for the left laser or the data array for the right laser; if the polygonal or filled area It is not a public area, and if iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x2=fValue+iOffset of the right boundary line, then the polygonal area or filled area falls under the illumination of the laser on the right Within the scope, just add the data of this polygonal area or filling area in the data array that is used for right laser; If iMin1 and iMax1 are all greater than the abscissa x2=fValue+iOffset of right border line, then this polygonal area or filling area just If it falls within the illumination range of the laser on the right, add the data of the polygonal or filled area to the data array for the laser on the right; if iMin1 is smaller than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the right boundary The abscissa of the line x=fValue+iOffset, then the polygonal area or filled area is divided by the median line; if iMin1 is less than the abscissa of the left boundary line x1=fValue-iOffset, and iMax1 is less than or equal to the abscissa of the right boundary line x=fValue+iOffset, then this polygonal area or filled area just falls within the illumination range of the laser on the left side, just add the data of this polygonal area or filled area into the data array for the left side laser; if iMin1 and iMax1 are all less than Abscissa x1=fValue-iOffset of the left boundary line, then this polygonal area or filled area just falls within the illumination range of the left laser, the data of this polygonal area or filled area is just added in the data array that is used for the left laser, fValue is the abscissa of the vertical dividing line, and the distance between the vertical dividing line and the left boundary line and the distance between the vertical dividing line and the right boundary line are both iOffset.
  2. 根据权利要求1所述的针对双激光分割的3D打印控制系统,According to the 3D printing control system for double laser division according to claim 1,
    其特征在于,所述处理模块还包括:如果用于左边激光的数据数组现包含的数据的打印时间比用于右边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入用于左边激光的数据数组;如果用于右边激光的数据数组现包含的数据的打印时间比用于左边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入到用于右边激光的数据数组内。It is characterized in that, the processing module also includes: if the printing time of the data currently contained in the data array for the left laser is shorter than the printing time of the data currently contained in the data array for the right laser, the data in the common area Add the data array for the left laser; if the printing time of the data currently contained in the data array for the right laser is shorter than the printing time of the data currently contained in the data array for the left laser, add the data in the common area to It is used in the data array of the right laser.
  3. 根据权利要求1所述的针对双激光分割的3D打印控制系统,According to the 3D printing control system for double laser division according to claim 1,
    其特征在于,所述处理模块还包括:用于先取出该多边形区域或填充区域与中位线的两个交点的坐标;用于依次遍历该多边形区域或填充区域内的顶点,将位于中位线左边的顶点坐标加入到用于左边激光的数据数组中,将位于中位线右边的顶点坐标加入到用于右边激光的数据数组中;两个所述交点的坐标既加入到用于左边激光的数据数组中,也加入到用于右边激光的数据数组中。It is characterized in that, the processing module also includes: for taking out the coordinates of two intersection points of the polygonal area or filled area and the median line first; The vertex coordinates on the left side of the line are added to the data array for the left laser, and the vertex coordinates on the right side of the median line are added to the data array for the right laser; the coordinates of the two intersection points are added to the data array for the left laser The data array for the right laser is also added to the data array for the right laser.
  4. 根据权利要求1所述的针对双激光分割的3D打印控制系统,According to the 3D printing control system for double laser division according to claim 1,
    其特征在于,所述上位机还包括两个线程,所述两个线程用于分别将用于左边激光的数据数组内的数据和用于右边激光的数据数组内的数据取出来进行打印,该打印包括:将用于左边激光的数据数组内的数据启动一个线程来通过驱动左边激光振镜以此移动发出左激光的左边激光器执行打印,将用于右边激光的数据数组内的数据启动另一个线程来通过驱动右边激光振镜以此移动发出右激光的右边激光器执行打印。It is characterized in that, the host computer also includes two threads, and the two threads are used to respectively take out the data in the data array for the left laser and the data in the data array for the right laser for printing. Printing includes: start a thread with the data in the data array for the left laser to move the left laser that emits the left laser by driving the left laser galvanometer to perform printing, and start another thread with the data in the data array for the right laser The thread comes to perform printing by driving the right laser vibrating mirror to move the right laser that emits the right laser.
  5. 一种针对双激光分割的3D打印控制系统的分割方法,其特征在于,包括如下步骤:A kind of segmentation method for the 3D printing control system of double laser segmentation, it is characterized in that, comprises the steps:
    步骤1:把待打印的零件放置在3D打印舱室内的基板上,而上位机解析出当前待打印的零件所对应的数据文件;Step 1: Place the parts to be printed on the substrate in the 3D printing cabin, and the host computer parses out the data files corresponding to the parts to be printed;
    步骤2:然后上位机对所述数据文件中的图像按X轴方向用中位线、左边边界线条和右边边界线条分割;Step 2: Then the host computer divides the image in the data file with the median line, the left boundary line and the right boundary line in the X-axis direction;
    步骤3:上位机依序处理所述数据文件中的图像的每一个多边形区域或填充区域,对该多边形区域或填充区域用双激光分割模式执行分割;Step 3: The host computer sequentially processes each polygonal area or filled area of the image in the data file, and performs segmentation on the polygonal area or filled area with a dual laser segmentation mode;
    所述对该多边形区域或填充区域用双激光分割模式执行分割的方法,具体包括:The method for performing segmentation on the polygonal area or filled area with a dual laser segmentation mode specifically includes:
    步骤3-1:判断当前该多边形区域或填充区域内所有顶点横坐标的最小值iMin1与所有顶点横坐标的最大值iMax1同左边边界线条的横坐标x1的位置关系;Step 3-1: Determine the positional relationship between the minimum value iMin1 of the abscissa of all vertices in the current polygonal area or filled area, the maximum value of iMax1 of the abscissa of all vertices, and the abscissa x1 of the left boundary line;
    步骤3-2:如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域或填充区域就为公共区域;否则,该多边形区域或填充区域就不是公共区域;Step 3-2: If iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the abscissa x2=fValue+iOffset of the right boundary line, then the polygonal area or filled area is a public area; otherwise , the polygonal or filled area is not a public area;
    步骤3-3:如果该多边形区域或填充区域为公共区域,就把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中;Step 3-3: If the polygonal area or filled area is a public area, allocate the data in the public area to the preset data array for the left laser or the data array for the right laser;
    步骤3-4:如果该多边形区域或填充区域不是公共区域,并且如果iMin1大于等于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域或填充区域就落在右边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于右边激光的数据数组内;Step 3-4: If the polygon area or filled area is not a common area, and if iMin1 is greater than or equal to the abscissa x1=fValue-iOffset of the left border line, and iMax1 is greater than the abscissa x2=fValue+iOffset of the right border line, then the The polygonal area or the filled area just falls within the illumination range of the laser on the right, and the data of the polygonal area or the filled area is added to the data array for the right laser;
    步骤3-5:如果iMin1和iMax1都大于右边边界线条的横坐标x2=fValue+iOffset,那么该多边形区域或填充区域就落在右边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于右边激光的数据数组内;Step 3-5: If both iMin1 and iMax1 are greater than the abscissa x2=fValue+iOffset of the right boundary line, then the polygonal area or filled area falls within the illumination range of the laser on the right, and the data of the polygonal area or filled area is Added to the data array for the right laser;
    步骤3-6:如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1大于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区域或填充区域就用中位线来分割;Step 3-6: If iMin1 is less than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is greater than the abscissa x=fValue+iOffset of the right boundary line, then the polygonal area or filled area is divided by the median line;
    步骤3-7:如果iMin1小于左边边界线条的横坐标x1=fValue-iOffset,同时iMax1小于等于右边边界线条的横坐标x=fValue+iOffset,那么该多边形区 域或填充区域就落在左边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于左边激光的数据数组内;Step 3-7: If iMin1 is less than the abscissa x1=fValue-iOffset of the left boundary line, and iMax1 is less than or equal to the abscissa x=fValue+iOffset of the right boundary line, then the polygonal area or filled area falls under the illumination of the left laser Within the range, add the data of the polygon area or filled area to the data array for the left laser;
    步骤3-8:如果iMin1和iMax1都小于左边边界线条的横坐标x1=fValue-iOffset,那么该多边形区域或填充区域就落在左边激光的光照范围内,就把该多边形区域或填充区域的数据加入到用于左边激光的数据数组内,fValue为垂直分割线的横坐标,垂直分割线与左边边界线条的距离以及垂直分割线与右边边界线条的距离都为iOffset。Step 3-8: If both iMin1 and iMax1 are smaller than the abscissa x1=fValue-iOffset of the left boundary line, then the polygonal area or filled area falls within the illumination range of the left laser, and the data of the polygonal area or filled area Added to the data array for the left laser, fValue is the abscissa of the vertical dividing line, the distance between the vertical dividing line and the left boundary line and the distance between the vertical dividing line and the right boundary line are both iOffset.
  6. 根据权利要求5所述的针对双激光分割的3D打印控制系统的分割方法,其特征在于,按X轴方向用中位线、左边边界线条和右边边界线条分割,则作为其垂直分割线的中位线为垂直于X轴方向的垂直分割线,该垂直分割线是把所述数据文件中的图像所处的矩形框切割成左右两个相同的子矩形框,所述数据文件中的图像所处的矩形框最大的纵坐标、最小的纵坐标、最大的横坐标和最小的横坐标分别为该图像最大的纵坐标、最小的纵坐标、最大的横坐标和最小的横坐标,该垂直分割线就是对该矩形框按垂直于X轴方向从中对半分开的分割线,该垂直分割线的横坐标x=fValue;According to claim 5, the segmentation method for the 3D printing control system for dual laser segmentation is characterized in that, according to the X-axis direction, the median line, the left boundary line and the right boundary line are used as the middle of the vertical dividing line. The bit line is a vertical dividing line perpendicular to the X-axis direction. The vertical dividing line cuts the rectangular frame where the image in the data file is located into two identical sub-rectangular frames on the left and right. The image in the data file is divided into The maximum ordinate, the minimum ordinate, the maximum abscissa and the minimum abscissa of the rectangular frame at are respectively the maximum ordinate, minimum ordinate, maximum abscissa and minimum abscissa of the image. A line is a dividing line that divides the rectangular frame in half in a direction perpendicular to the X axis, and the abscissa of the vertical dividing line is x=fValue;
    中位线两边都各有毗邻着一条相互平行的垂直于X轴方向的边界线条,其中右边边界线条表示左激光的最右边的光照范围边界;左边边界线条表示右激光的最左边的光照范围边界;中位线与左边边界线条的距离等于垂直分割线与右边边界线条的距离,都为iOffset。Both sides of the median line are adjacent to a boundary line parallel to each other and perpendicular to the X-axis direction, where the right boundary line represents the rightmost illumination range boundary of the left laser; the left boundary line represents the leftmost illumination range boundary of the right laser ; The distance between the median line and the left border line is equal to the distance between the vertical dividing line and the right border line, both are iOffset.
  7. 根据权利要求6所述的针对双激光分割的3D打印控制系统的分割方法,其特征在于,把公共区域的数据分配到预设的用于左边激光的数据数组或者用于右边激光的数据数组中的方法,包括:如果用于左边激光的数据数组现包含的数据的打印时间比用于右边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入用于左边激光的数据数组;如果用于右边激光的数据数组现包含的数据的打印时间比用于左边激光的数据数组现包含的数据的打印时间短,就将该公共区域的数据加入到用于右边激光的数据数组内;The splitting method for the 3D printing control system for double laser splitting according to claim 6, characterized in that the data in the common area is allocated to the preset data array for the left laser or the data array for the right laser The method includes: if the printing time of the data currently contained in the data array for the left laser is shorter than the printing time of the data currently contained in the data array for the right laser, adding the data in the common area to the data for the left laser Data array; if the data array for the right laser currently contains data whose print time is shorter than the data array for the left laser, add the data in the common area to the data for the right laser inside the array;
    所述步骤3-6中的用中位线来分割的方法,包括:The method for dividing by the median line in the steps 3-6 includes:
    步骤3-6-1:先取出该多边形区域或填充区域与中位线的两个交点的坐标;Step 3-6-1: First take out the coordinates of the two intersection points of the polygonal area or filled area and the median line;
    步骤3-6-2:依次遍历该多边形区域或填充区域内的顶点,将位于中位线左边的顶点坐标加入到用于左边激光的数据数组中,将位于中位线右边的顶点坐标加入到用于右边激光的数据数组中;两个所述交点的坐标既加入到用于左边激光 的数据数组中,也加入到用于右边激光的数据数组中。Step 3-6-2: Traverse the vertices in the polygonal area or filled area in turn, add the coordinates of the vertices on the left side of the median line to the data array for the left laser, and add the coordinates of the vertices on the right side of the median line to In the data array for the right laser; the coordinates of the two intersection points are added to both the data array for the left laser and the data array for the right laser.
  8. 根据权利要求5所述的针对双激光分割的3D打印控制系统的分割方法,其特征在于,所述步骤3之后,还包括:According to the segmentation method of the 3D printing control system for double laser segmentation according to claim 5, it is characterized in that, after the step 3, it also includes:
    上位机同时启动两个线程,该两个线程分别将用于左边激光的数据数组内的数据和用于右边激光的数据数组内的数据取出来进行打印,该打印包括:将用于左边激光的数据数组内的数据启动一个线程来通过驱动左边激光振镜以此移动发出左激光的左边激光器执行打印,将用于右边激光的数据数组内的数据启动另一个线程来通过驱动右边激光振镜以此移动发出右激光的右边激光器执行打印。The host computer starts two threads at the same time, and the two threads take out the data in the data array for the left laser and the data in the data array for the right laser respectively for printing. The printing includes: the data for the left laser The data in the data array starts a thread to perform printing by driving the left laser vibrating mirror to move the left laser emitting the left laser, and the data in the data array for the right laser starts another thread to drive the right laser vibrating mirror to This moves the right laser that emits the right laser to perform printing.
PCT/CN2022/137384 2021-12-20 2022-12-08 3d printing control system for double-laser segmentation and segmentation method of 3d printing control system WO2023116442A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111559838.0 2021-12-20
CN202111559838.0A CN113942230B (en) 2021-12-20 2021-12-20 3D printing control system for double-laser segmentation and segmentation method thereof

Publications (1)

Publication Number Publication Date
WO2023116442A1 true WO2023116442A1 (en) 2023-06-29

Family

ID=79339386

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/137384 WO2023116442A1 (en) 2021-12-20 2022-12-08 3d printing control system for double-laser segmentation and segmentation method of 3d printing control system

Country Status (2)

Country Link
CN (1) CN113942230B (en)
WO (1) WO2023116442A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113942230B (en) * 2021-12-20 2022-04-05 南京铖联激光科技有限公司 3D printing control system for double-laser segmentation and segmentation method thereof
CN114536772B (en) * 2022-04-21 2022-07-12 南京铖联激光科技有限公司 Intelligent partition control system in 3D printing system and control method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341497A (en) * 1999-05-26 2000-12-08 Seiko Epson Corp Image printing method and device for tape printing device
CN107498052A (en) * 2017-09-22 2017-12-22 华中科技大学 A kind of load balancing for more laser SLM building mortions scans manufacturing process
CN111070685A (en) * 2019-12-24 2020-04-28 广州晋原铭科技有限公司 3D printing method based on multi-galvanometer
CN113487101A (en) * 2021-07-23 2021-10-08 大连理工大学 Additive manufacturing path planning algorithm based on double laser heads
CN113942230A (en) * 2021-12-20 2022-01-18 南京铖联激光科技有限公司 3D printing control system for double-laser segmentation and segmentation method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341497A (en) * 1999-05-26 2000-12-08 Seiko Epson Corp Image printing method and device for tape printing device
CN107498052A (en) * 2017-09-22 2017-12-22 华中科技大学 A kind of load balancing for more laser SLM building mortions scans manufacturing process
CN111070685A (en) * 2019-12-24 2020-04-28 广州晋原铭科技有限公司 3D printing method based on multi-galvanometer
CN113487101A (en) * 2021-07-23 2021-10-08 大连理工大学 Additive manufacturing path planning algorithm based on double laser heads
CN113942230A (en) * 2021-12-20 2022-01-18 南京铖联激光科技有限公司 3D printing control system for double-laser segmentation and segmentation method thereof

Also Published As

Publication number Publication date
CN113942230B (en) 2022-04-05
CN113942230A (en) 2022-01-18

Similar Documents

Publication Publication Date Title
WO2023116442A1 (en) 3d printing control system for double-laser segmentation and segmentation method of 3d printing control system
JP4174484B2 (en) How to render graphical objects
CN100550059C (en) A kind of vector graph acceleration method and multimedia player
US8531725B2 (en) Rastering disjoint regions of the page in parallel
US9833948B2 (en) 3D printing of colored models on multi-head printers
JPH06290007A (en) Method for decreasing memory requirement for raster generator and printer in printer
JPH08297737A (en) Method and apparatus for clipping of arbitrary graphic
US9195920B2 (en) Swathing parallel pipeline architecture
WO2024093782A1 (en) 3d ink-jet printing device, and control apparatus and control method therefor
JP4070304B2 (en) Bitmap display generation method and storage medium
US20070177177A1 (en) Image processing apparatus and method
JPH0628126A (en) Method and device for information processing
CN109109466A (en) A kind of picture and text jet printing method, system and relevant apparatus applied to jet printer
JP2021115764A (en) Image processing device and image processing method
CN112306424A (en) Method for printing Web graphic format file
CN101566934B (en) Method for processing virtual printing
US20170124436A1 (en) Image forming apparatus using drawing data described in pdl
JP2004184718A (en) Image processing device and image processing method
US11214087B2 (en) Automatic drawing system and method of operating automatic drawing system
US20240169647A1 (en) Graphics processors
JP2001092981A (en) Device and method for processing image
KR20240072942A (en) Graphics processors
JP2002254731A (en) Image processing method
CN118052691A (en) Graphics processor
JPH03222766A (en) Pattern output device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22909757

Country of ref document: EP

Kind code of ref document: A1