CNC Control System for Generating Machining Paths Based on Fine-Grained Coordinate Segmentation
Patent Information
- Application Number
- KR1020250216594
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-12-31
- Publication Date
- 2026-09-02
- Estimated Expiration
- 2045-12-31
Smart Images

Figure 112025149636101-PAT00005_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a CNC control system for generating a subdivided coordinate-based machining path. Background Technology
[0002] Conventional CNC (Computer Numerical Control) machining technology generally performs machining by defining the shape of the workpiece as a single continuous toolpath. Particularly when the shape is complex, such as circular, elliptical, curved, or freeform surfaces, a method of generating the toolpath based on a single coordinate system and continuous curvature values for the entire shape has been primarily used.
[0003] However, in this method, cumulative errors such as vibration, tool wear, equipment precision limits, and thermal deformation occurring during machining are sequentially reflected in the entire machining path, resulting in a problem where shape errors increase as the machining progresses toward the later stages.
[0004] In addition, existing CNC control systems had limitations in that it was difficult to systematically reflect the actual machining results after completion in the generation of the next machining path, resulting in insufficient error correction even during repetitive machining of the same shape.
[0005] In particular, for freeform surfaces or shapes with large changes in curvature, single-path based machining has difficulty securing local shape precision, and if excessively dense coordinates are set for high-precision machining, there was a problem of increased machining data size and computational load.
[0006] As a result, there has been a continuous demand for a new type of CNC control technology that can control the shape of the workpiece more precisely, manage machining errors locally, and dynamically correct the next machining path by reflecting actual machining results.
[0007] In particular, there is a need for a technology that subdivides a workpiece into multiple segmented zones and defines each segmented zone as an independent coordinate-based processing unit to control processing so that processing errors from a previous zone do not affect the next zone, and can accumulate and utilize correction values by analyzing the actual processing results of each segmented zone.
[0008] Meanwhile, the aforementioned background technology is technical information that the inventor possessed for the derivation of the present invention or acquired during the process of deriving the present invention, and it cannot necessarily be considered publicly known technology disclosed to the general public prior to the filing of the present invention. Prior art literature
[0009] Korean Published Patent No. 1020250059199 The problem to be solved
[0010] The objective of the present invention is to provide a subdivided coordinate-based machining path generation CNC control system that subdivides a workpiece into a plurality of segmented zones, defines each segmented zone as an independent coordinate-based machining unit, and generates and controls machining data for each segmented zone to minimize the influence of errors from the previous machining zone, while simultaneously analyzing and accumulating machining errors based on actual machining completion data to automatically correct them when generating a subsequent machining path.
[0011] The technical problems of the present invention are not limited to those mentioned above, and other unmentioned technical problems will be clearly understood by those skilled in the art from the description below. means of solving the problem
[0012] A CNC control system for generating a subdivided coordinate-based machining path according to one embodiment of the present invention may include a machining server that communicates with a CNC machine that scans an input workpiece and then processes it.
[0013] According to one embodiment, the processing server may include: a dividing module that divides the shape of the workpiece into a plurality of divided sections; a generating module that derives a starting point coordinate and an ending point coordinate for each divided section divided by the dividing module, derives a radius or curvature value (R value) of the derived starting point coordinate and ending point coordinate, and generates processing data for each divided section of the workpiece; a processing module that transmits the processing data generated by the generating module to the CNC equipment and receives processing completion data from the CNC equipment after the processing of the workpiece is completed; and a correction module that derives an actual processing value based on the processing completion data, compares and analyzes the processing data of each divided section of the workpiece with the derived actual processing value, and applies a correction value when generating processing data for the next divided section.
[0014] According to one embodiment, the CNC equipment may be characterized by processing the divided sections sequentially, but independently, such that each divided section processes the target workpiece based on the processing data, excluding the processing error of the previous divided section, using separately defined processing data.
[0015] According to one embodiment, the dividing module can create a dividing zone by dividing a workpiece of various shapes, including a circle, an ellipse, a curve, and a freeform surface.
[0016] According to one embodiment, the divided section may be characterized by being set to be applicable to a shape including at least one of a circular, elliptical, curved, or freeform shape.
[0017] According to one embodiment, the dividing module automatically sets the number of dividing sections according to the size and shape of the workpiece, and if there is a shape precision requirement for the workpiece received in advance, the number of dividing sections of the workpiece can be set based on the shape precision requirement.
[0018] According to one embodiment, the processing data may refer to data transmitted to the CNC equipment including processing conditions of the workpiece, including at least one processing attribute among the feed rate, processing speed, processing path, feed rate, and cutting condition of the CNC equipment processing the workpiece.
[0019] According to one embodiment, the correction module derives an error value as a result of comparing and analyzing the processing data and the actual processing value, and accumulates and stores the derived error value, and provides it to the generation module so that the generation module utilizes the error value to correct when generating the processing data.
[0020] According to one embodiment, the conversion module receives the entire generated segmented area as input and derives an approximation error (E) relative to the original shape of the workpiece. suitability ), uniformity indicators from the distribution of partitioned section lengths and radii (B suitability ), temperature deviation (ΔT) input by the operator or acquired by a sensor and tolerance (T req Final score (S) reflecting ) suitability It may be characterized by numerically determining whether the result of dividing the segmented area of the processing target object using a data suitability judgment algorithm that outputs ) is suitable for generating processing data of the generation module.
[0021] According to one embodiment, the conversion module comprises the final score (S suitabilityIf ) is below a preset threshold, the corresponding division is adopted and the corresponding division area is provided to the generation module so that the generation module generates processed data, and the final score (S suitability It can be characterized by performing re-segmentation by increasing the number of segmented areas when ) exceeds a preset threshold.
[0022] According to one embodiment, the data suitability determination algorithm comprises a shape-based approximation error (E suitability ) and tolerance (T req The error weight (w) on the result of inputting the value normalized by adding 1 to the ratio of ) into the logarithmic function suitability1 It may include the first element configured to multiply by ).
[0023] According to one embodiment, the data suitability determination algorithm comprises a uniformity index (B suitability After inputting the sum of the ) and temperature deviation items into a clamp function that limits the value to between 0 and 1, normalize it by multiplying by π, input the normalized result into the trigonometric function cosine, and then subtract the uniformity weight (w) from the value obtained by subtracting from 1 suitability2 It may include a second element configured to multiply by ). Effects of the invention
[0024] According to one aspect of the present invention described above, the CNC control system for generating a subdivided coordinate-based machining path proposed by the present invention can effectively prevent machining errors generated in a previous subdivided section from accumulating in the machining results of a subsequent subdivided section by subdividing the shape of a workpiece into a plurality of subdivided sections and machining each subdivided section independently.
[0025] In addition, high shape precision can be secured for workpieces of various shapes, such as circles, ellipses, curves, and freeform surfaces, by generating machining data based on the start and end point coordinates and radius or curvature values for each divided section.
[0026] In addition, by deriving actual processing values based on processing completion data and comparing and analyzing them with processing data to accumulate and store error values, the processing path is automatically corrected during repetitive processing of workpieces with the same or similar shapes, thereby improving the consistency and reproducibility of processing quality.
[0027] By automatically setting the number of division zones according to the size and shape precision requirements of the workpiece, it is possible to achieve machining control that meets the required precision while reducing unnecessary computational load.
[0028] The effects of the present invention are not limited to those mentioned above, and various effects may be included within the scope obvious to a person skilled in the art from the contents described below. Brief explanation of the drawing
[0029] FIG. 1 is a conceptual diagram of a CNC control system for generating a subdivided coordinate-based machining path according to one embodiment of the present invention. FIG. 2 is a conceptual diagram of a processing server according to one embodiment of the present invention. FIGS. 3 and 4 are drawings illustrating examples of deriving radius or curvature values (R values) for each divided section according to an embodiment of the present invention. Specific details for implementing the invention
[0030] The following detailed description of the invention refers to the accompanying drawings, which illustrate specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that various embodiments of the invention are different but need not be mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in relation to one embodiment.
[0031] When it is stated that one component is "connected" or "contracted" to another component, it should be understood that while it may be directly connected or contracted to that other component, there may also be other components in between. Conversely, when it is stated that one component is "directly connected" or "directly contracted" to another component, it should be understood that there are no other components in between.
[0032] Furthermore, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the following detailed description is not intended to be taken in a limiting sense, and the scope of the invention is limited only by the appended claims, including all equivalents thereof, provided appropriately described. Similar reference numerals in the drawings refer to the same or similar functions across various aspects.
[0033] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.
[0035] FIG. 1 is a conceptual diagram of a CNC control system for generating a subdivided coordinate-based machining path according to one embodiment of the present invention.
[0036] Referring to FIG. 1, a CNC control system for generating a subdivided coordinate-based machining path according to one embodiment of the present invention may include a machining server (100), a motion device (500), and a user terminal (not shown).
[0037] The processing server (100) can divide the shape of the workpiece into multiple divided sections, generate processing data using the start point and end point coordinates and curvature values for each divided section, transmit the generated processing data to the CNC equipment, receive processing completion data, and then analyze the actual processing results to calculate and accumulate errors.
[0038] The processing server (100) can process each divided section sequentially and independently based on the processing data received from the processing server (100).
[0039] Through this, each segmented zone can precisely machine workpieces of various shapes using individually defined machining data without being affected by machining errors from the previous zone.
[0040] The processing server (100) and the user terminal (500) may be a self-contained server or a cloud server for providing the service according to the present invention, or may be a peer-to-peer (P2P) set of distributed nodes.
[0041] The processing server (100) can perform one or more of the computation, storage, reference, input / output, and control functions of a general computer, and may include an artificial neural network described later based on input data.
[0042] The processing server (100) may include a processor and memory. The processor may include devices capable of analyzing the operating state of the exercise equipment (500) according to the present invention, the user's bio-response, and fluctuations in exercise load in real time, and transmitting control commands. The processor may execute a program or control the processing server (100). Program code executed by the processor may be stored in memory. The memory may store relevant information for performing a service according to the present invention or a program for implementing a method. The memory may be volatile memory or non-volatile memory.
[0043] The processing server (100) can send data to an external device or receive data from an external device using a network.
[0044] The processing server (100) can train an artificial neural network and can also use an artificial neural network that has been trained. The processor can train or execute an artificial neural network stored in memory, and the memory can store an artificial neural network that has been trained. The electronic device that trains the artificial neural network and the electronic device that uses it may be the same, but they may also be separate.
[0045] Artificial intelligence is a computer system that partially implements the functions of the human brain and is capable of learning, speculating, and making judgments on its own. As learning progresses, the probability of extracting the correct answer can increase. Artificial intelligence can be composed of learning and component technologies that utilize it. The learning aspect of AI is an algorithmic technology that classifies and learns features based on input data, while the component technologies may be techniques that utilize these learning algorithms to partially implement the functions of the human brain.
[0046] Artificial intelligence is a technology that facilitates the approach to problems where multiple probabilistic answers are possible, enabling it to logically and probabilistically infer optimal cycles, methods, and plans based on input data. AI inference techniques can include evaluating input data, optimization prediction, knowledge and probability-based reasoning, and preference-based planning.
[0047] Artificial neural networks are learning algorithms in the field of machine learning that programmatically implement the connections between neurons and synapses in the brain. By creating a neural network structure through programming and then training it, artificial neural networks can acquire desired functions. Although errors may exist, they can learn from massive datasets to produce appropriate output data from input data. They have the advantage of being able to obtain output data that has yielded statistically good results and are similar to human reasoning.
[0048] The processing server (100) can infer individual characteristics and interests by analyzing consumers' online behavior data, social media activities, search history, etc., using an artificial intelligence algorithm built based on big data, and may include a number of pre-trained artificial neural networks for this purpose.
[0049] The network is a high-speed backbone network of a large-scale communication network capable of high-capacity, long-distance voice and data services, and may be a next-generation wired and wireless network for providing the Internet or high-speed multimedia services.
[0050] If the network is a mobile communication network, it may be a synchronous mobile communication network or an asynchronous mobile communication network. As an example of an asynchronous mobile communication network, a WCDMA (Wideband Code Division Multiple Access) network may be cited. In this case, although not shown in the drawing, the network may include an RNC (Radio Network Controller). Meanwhile, although a WCDMA network was given as an example, it may be a 3G LTE network, a 4G network, a next-generation communication network such as 5G, or other IP-based IP networks.
[0051] The processing server (100) and user terminal (500) may include any terminal capable of exchanging data through a network, such as a desktop computer, laptop, tablet, or smartphone.
[0052] The processing server (100) and the user terminal (500) may include one or more of the computation function, storage function, reference function, input / output function, and control function of a computer to perform the service according to the present invention.
[0053] The processing server (100) and the user terminal (500) may access a website or install an application to receive the service according to the present invention. The processing server (100) and the user terminal (500) may exchange data through the website or the application.
[0054] The network is a high-speed backbone network of a large-scale communication network capable of high-capacity, long-distance voice and data services, and may be a next-generation wired and wireless network for providing the Internet or high-speed multimedia services.
[0055] If the network is a mobile communication network, it may be a synchronous mobile communication network or an asynchronous mobile communication network. As an example of an asynchronous mobile communication network, a WCDMA (Wideband Code Division Multiple Access) network may be cited. In this case, although not shown in the drawing, the network (300) may include an RNC (Radio Network Controller). Meanwhile, although a WCDMA network was given as an example, it may be a 3G LTE network, a 4G network, a 5G network, or other next-generation communication networks, or other IP-based IP networks.
[0056] The system (1) according to one embodiment of the present invention can function as a central intelligent control device that analyzes the user's condition based on sensor data, performs virtual simulation, actively controls the load of the exercise equipment, and performs safety control in case of emergency.
[0058] FIG. 2 is a conceptual diagram of a processing server according to one embodiment of the present invention.
[0059] Referring to FIG. 2, a processing server (100) according to one embodiment of the present invention may include a splitting module (110), a generation module (130), a processing module (150), and a correction module (170).
[0060] The division module (110) can divide the shape of the workpiece into multiple division zones.
[0061] More specifically, the dividing module (110) can divide a workpiece of various shapes, including a circle, an ellipse, a curve, and a freeform surface, to create a divided area.
[0062] In addition, the divided zone may be characterized by being set to be applicable to a shape including at least one of a circular, elliptical, curved, or freeform shape.
[0063] The division module (110) automatically sets the number of division zones according to the size and shape of the workpiece, but if there is a shape precision requirement for the workpiece received in advance, the number of division zones of the workpiece can be set based on the shape precision requirement.
[0064] Meanwhile, the division module (110) may utilize a data suitability judgment algorithm to numerically determine whether the result of dividing the division area of the workpiece is suitable for generating processing data of the generation module (130).
[0065] More specifically, the data suitability judgment algorithm receives the entire segmented area generated by the segmentation module (110) as input and the approximation error (E) relative to the original shape of the workpiece suitability ) derive the uniformity index (B) from the division zone length and radius distribution. suitability ) derive, and the temperature deviation (ΔT) and tolerance (T) input by the operator or acquired by the sensor req The final score (S) reflecting ) etc. suitability Can output ).
[0066] At this point, the final score (S suitability) is not limited to a simple calculated value, but can be used as a numerical value for judgment and control to determine whether to adopt or re-divide the division result in the invention flow (change in the number of division zones / sampling density, etc.).
[0067] For example, the splitting module (110) is the final score (S suitability If ) is below a preset threshold, the corresponding split is adopted so that the generation module generates processed data, and the final score (S suitability If ) exceeds a preset threshold, the partitioning module can perform re-partitioning by increasing the number of partitioned areas.
[0068] In addition, the data suitability judgment algorithm has a feature-based approximation error (E suitability ) and tolerance (T req Since the ratio of ) can be used to evaluate products based on the same standard of error relative to tolerance even when the tolerance differs for each product, consistent judgment can be made even if working conditions change.
[0069] In addition, the data suitability judgment algorithm is a uniformity indicator (B suitability By reflecting this, partitions with excessively jagged partitions can be classified as having a low evaluation in advance, thereby encouraging the selection of a partition that is advantageous in terms of processed data quality and processing stability.
[0070] The data suitability judgment algorithm determines whether the segmented regions generated by the segmentation module (110) sufficiently follow the original shape and whether the segmented region configuration is not excessively uneven, with a final score (S suitability It can be judged as ).
[0071] The data suitability judgment algorithm can be composed of the sum of the first and second factors.
[0072] More specifically, the first element is the approximation error relative to the shape (E suitability ) and tolerance (T reqThe error weight (w) on the result of inputting the value normalized by adding 1 to the ratio of ) into the logarithmic function suitability1 It can be characterized by being configured to multiply )
[0073] In other words, the first element is the approximation error relative to the shape (E), which is the average distance error between the original shape and the segmentation path. suitability ) tolerance (T req After comparing by ), applying a logarithmic function, as the error increases, the final score (S suitability It can be characterized by being designed to increase ).
[0074] The second element is the uniformity index (B suitability After inputting the sum of the ) and temperature deviation items into a clamp function that limits the value to between 0 and 1, normalize it by multiplying by π, input the normalized result into the trigonometric function cosine, and then subtract the uniformity weight (w) from the value obtained by subtracting from 1 suitability2 It can be characterized by being configured to multiply )
[0075] In other words, the second element is the uniformity index (B suitability It can be characterized by being designed so that the penalty increases as the environment becomes more uneven or unfavorable, by inputting the sum of the ) and temperature deviation items into a clamp function that limits the value to 0 to 1, and then inputting it into the trigonometric function cosine.
[0076] Here, the temperature deviation item may refer to the value obtained by dividing the temperature deviation (ΔT) by the reference temperature (T0).
[0077] In other words, the data suitability judgment algorithm uses the shape-to-approximation error (E) as an input value. suitability ), tolerance (T req ), uniformity indicator (B suitability ), temperature deviation (ΔT), reference temperature (T0), error weight (w suitability1 ) and uniformity weights (w suitability2 ), constant(ε suitability Using ) the final score (S suitability) can be output, and the division module (110) outputs the final score (S suitability The lower the value, the better the splitting result can be judged.
[0078] The data suitability judgment algorithm can be derived using a logic that combines accuracy-centered evaluation with partitioning uniformity and environment-centered evaluation.
[0079] First, the segmentation module (110) uses original shape data and segmentation area path data to show how well the segmentation result approximates the original shape, and the shape-to-approximation error (E) which is a sample-based distance error. suitability ) can be derived.
[0080] Next, the tolerance (T req You can create an error ratio relative to the tolerance by dividing by ), and then add 1 and input it into a logarithmic function; as the error ratio increases, the score increases, but excessive runaway can be mitigated.
[0081] Secondly, the segment length and segment radius (R i To check whether the distribution of ) values is excessively non-uniform, a uniformity indicator (B) is used in the form of relative variation calculated by dividing the standard deviation by the mean. suitability ) can be derived.
[0082] After this, the uniformity index (B suitability The temperature deviation item can be added by nondimensionalizing the value obtained by dividing the temperature deviation (ΔT) by the reference temperature (T0).
[0083] Finally, the uniformity indicator (B suitability For the temperature deviation item, the value obtained by dividing the temperature deviation (ΔT) by the reference temperature (T0) is added, and the result is clamped to maintain a range of 0 to 1. After normalizing the clamped result by multiplying it by π, it is input into the trigonometric function cosine and converted into a penalty of 0 to 2 by subtracting from 1, so that as non-uniformity and adverse conditions increase, the final score (S suitability It can be designed to be reflected in ).
[0084] The data suitability judgment algorithm applies error weights (w) to the first and second results described above, respectively. suitability1 ) and uniformity weights (w suitability2 Multiply by ) and add to get the final score (S suitability Can output ).
[0085] The data suitability judgment algorithm is the approximation error relative to the shape (E suitability ) and tolerance (T req It can be characterized by being designed using a logarithmic function so that it increases as the ratio of ) increases but the rate of increase becomes gradual, thereby reducing the excessive dominance of some large values in the evaluation.
[0086] In addition, the data suitability judgment algorithm may be characterized by being input into a trigonometric function cosine so that the penalty increases smoothly from 0 to 1 input, such that the clamp result becomes 0 when the result is 0 and 2 when the result is 1.
[0087] In addition, the data suitability judgment algorithm is a uniformity indicator (B suitability In the temperature deviation item, even if the value obtained by dividing the temperature deviation (ΔT) by the reference temperature (T0) falls outside the range of 0 to 1, the result is limited to the final score (S suitability It can be characterized by utilizing a clamp function to prevent runaway of ).
[0088] As described in [Table 1] below and the above description, the data suitability judgment algorithm may be characterized by being designed using functions such as logarithmic functions through examples of various tests, and may be characterized by being designed to reflect actual data distribution and experimental experience.
[0089] [Table 1]
[0090]
[0091] As shown in [Table 1] above, the approximation error relative to the shape (E suitability) is the allowable error (T req If it is half of ), the result of the logarithmic function can increase moderately, but the approximation error relative to the shape (E suitability ) is the allowable error (T req If it exceeds ), the result of the logarithmic function can increase more significantly.
[0092] In addition, the approximation error relative to the shape (E suitability ) and tolerance (T req When uniformity and environmental factors are poor under the same conditions, the result of the trigonometric function cosine can be reflected as a maximum penalty.
[0093] Each variable used in the data suitability judgment algorithm, the approximation error relative to the shape (E suitability ), tolerance (T req ), section length (L i ), average of segmented section lengths (μ L ), standard deviation of partition length (σ L ), divided zone radius (R i ), average radius of the divided area (μ R ), standard deviation of partition zone radius (σ R ), uniformity indicator (B suitability ), temperature deviation (ΔT), current temperature (T now ), reference temperature (T0), error weight (w suitability1 ) and uniformity weights (w suitability2 ), constant(ε suitability The characteristics of ) are as follows.
[0094] Approximation error relative to shape (E suitability ) may mean the average distance error indicating how accurately the divided section-based path of the workpiece follows the original shape (reference curve or reference surface of the drawing or CAD model), and the unit may be set to mm.
[0095] Approximation error relative to shape (E suitabilityIn order to derive ), the division module (110) may first use data in which the original shape is expressed in a coordinate system as input, and examples thereof may include parametric equations of reference curves extracted from CAD or mesh data of reference surfaces.
[0096] Afterward, when the division module (110) creates a division area, the creation module (130) can define a division area path for each division area using a start point coordinate, an end point coordinate, and a radius or curvature value, and the division area path can be defined in the form of a straight line or an arc.
[0097] In addition, for each segmented area, the number of sample points can be determined based on the length of the segmented area. For example, a sampling rule can be set by placing one sample point for every 5 mm of segmented area length.
[0098] Afterwards, for each sample point, a corresponding point in the original shape can be calculated, and the corresponding point can be determined as a point having the same parameter value or as the point with the shortest distance from the sample point to the original shape.
[0099] Next, the distance error is calculated using the Euclidean distance between the sample point and the corresponding point, and the average of the total distance errors is calculated to obtain the approximation error relative to the shape (E suitability ) can be derived.
[0100] Approximation error relative to shape (E suitability ) can be derived according to the above derivation procedure for each division result.
[0101] Since the core quality of the segmentation result can be determined by the difference from the original shape, the data suitability judgment algorithm uses the shape-relative approximation error (E suitability By utilizing ), the quality of the machining path can be evaluated by directly reflecting the distance error between the original shape and the divided section path as a numerical value.
[0102] Specifically, the CAD model (original geometry data) and segmentation definition data (start point, end point, segmentation radius (R i After loading the ) value) into the processing server's memory, the server's CPU performs sample point distance calculation to determine the approximation error relative to the shape (E suitability ) can be derived.
[0103] For example, in a process with a tolerance of 0.02 mm, the approximation error relative to the shape (E suitability If ) is derived as 0.01mm, it can be said that the corresponding segmentation result has an average approximation error of about 50% of the allowable error.
[0104] In addition, the data suitability judgment algorithm has a feature-based approximation error (E suitability By using ), the actual shape approximation can be numerically evaluated compared to a method that estimates the quality of segmentation based solely on the number of segmented areas, which can be advantageous for ensuring precision.
[0105] Tolerance (T req ) can be defined as the limit of allowable shape error for the workpiece, and the unit can be set to mm.
[0106] Tolerance (T req ) can be derived in three ways.
[0107] First, the tolerance (mm) can be entered directly by the worker or manager on the work instruction screen in a manner where it is entered by the manager, for example, 0.02mm.
[0108] Second, based on recorded data, tolerance values stored in the past work history or quality standard tables of the same item can be retrieved and applied; for example, by matching the tolerance table based on the item code, the tolerance (T req ) can be determined.
[0109] Third, using a simple numerical adjustment method, a basic tolerance (e.g., 0.05mm) is set as the reference value, and when the user selects a precision, general, or coarse grade, the tolerance (T) is calculated by multiplying by a grade-specific coefficient (e.g., precision 0.5x, general 1x, coarse 2x). req ) can be calculated.
[0110] Additionally, optionally, when derived by AI, item type, material, surface roughness target, equipment repeatability records, historical defect rates, etc. can be provided as AI input values, and the AI can provide tolerance (T) as an output value. req It can be configured to recommend ), and the AI output value can be configured to be applied after approval by an administrator.
[0111] The data suitability judgment algorithm is due to the approximation error (E) relative to the same shape. suitability Even if ) occurs, quality judgment may differ if the tolerance for each task varies, so the approximation error relative to the shape (E suitability ) tolerance (T req It can be normalized to ) and compared as an error relative to the tolerance.
[0112] In addition, the data suitability judgment algorithm has a tolerance (T req As it is configured to include ), consistent evaluation can be performed with the same formula structure in operations with different tolerances.
[0113] Length of divided section (L i ) can be defined as the length of the i-th division section, and the unit can be set to mm.
[0114] Length of divided section (L i ) can be derived by calculating the Euclidean distance between two points using the starting point coordinates and ending point coordinates of each divided section.
[0115] Average of the segmented section lengths (μ L ) is the length of the partitioned section (L iIt can be defined as the average of ), the unit can be set to mm, and all divided section lengths (L i It can be derived by calculating the average for ).
[0116] Standard deviation of partitioned section length (σ L ) is the length of the partitioned section (L i It can be defined as the standard deviation of ) and the unit can be set to mm, and all divided section lengths (L i It can be derived by calculating the standard deviation for ).
[0117] The data suitability judgment algorithm may be characterized by being configured to evaluate division uniformity using values related to the division section length, as if the division section length of the workpiece is excessively uneven, the data density in a specific section may become excessive or insufficient, and as a result, the quality of the processing path or control stability may be affected.
[0118] Divided area radius (R i ) is defined as a radius or curvature-based value derived from the i-th segmented section, and the unit can be set to mm, and the generation module (130) can derive it for each segmented section using the start point coordinates and end point coordinates and the curvature information of the corresponding section.
[0119] Average radius of the divided area (μ R ) is the radius of all partitioned zones (R i Defined as the average of ), the unit can be set to mm. All segmented zone radii (R i It can be derived by calculating the average for ).
[0120] Standard deviation of the radius of the partitioned area (σ R ) is the radius of the partitioned area (R i Defined as the standard deviation of ), the unit can be set to mm, and all segmented area radii (R i It can be derived by calculating the standard deviation for ).
[0121] Uniformity indicator (Bsuitability ) is the standard deviation of the partition length (σ), which represents the relative variation of the partition length distribution. L ) is the average of the segmented section lengths (μ L The ratio divided by ), and the standard deviation of the partition radius (σ) representing the relative variation of the partition radius distribution R ) average of the segmented zone radius (μ R It can be defined as the sum of the ratios divided by ).
[0122] Uniformity indicator (B suitability The unit of ) is in the form of the standard deviation divided by the mean, so it can be used as a dimensionless value.
[0123] The temperature deviation (ΔT) is the current temperature (T now ) and reference temperature (T ref It can mean the difference of ), and the normalized temperature (T0) can mean a constant for normalizing the effect of the temperature deviation, and the unit of the temperature factor can all be used as °C.
[0124] Temperature-related values can be derived or set in the following ways: first, the reference temperature (T) entered by the manager. ref ) to 20 Enter as, and the operator the current temperature (T now You can derive the temperature deviation (ΔT) by inputting ).
[0125] Second, by querying the daily average indoor temperature or the temperature at the time of processing recorded in the equipment or workplace log in a manner derived based on recorded data, the current temperature (T now It can be used to derive the temperature deviation (ΔT).
[0126] Third, a simple numerical adjustment method can be used to enable / disable temperature influence options, and when set to disabled, the temperature deviation (ΔT) can be fixed to 0 to eliminate the temperature influence term.
[0127] Additionally, optionally, when derived by AI, temperature sensor time series, equipment operating time, and recent processing error trends can be provided as AI input values, and the AI can be configured to recommend whether to correct for temperature influence or a normalized temperature (T0) as an output value, and can be configured to apply upon approval by an administrator.
[0128] Since the possibility of dimensional deviation may increase in environments with large temperature changes, the data suitability judgment algorithm may be characterized by being configured to conservatively reflect the segmentation evaluation using temperature-related variables.
[0129] Also, temperature deviation (ΔT) and current temperature (T now Since the ratio of ) becomes a dimensionless value as it is reflected by dividing, the dimensionless uniformity index (B suitability It can be included as the second evaluation factor by adding with ).
[0130] Error weight (w suitability1 ) and uniformity weights (w suitability2 ) can be defined as a coefficient reflecting the importance of the first element configured to be evaluated based on error and the second element configured to be evaluated based on uniformity and environment, and the unit can be used as a dimensionless one.
[0131] Weights can be derived or set in the following ways: first, through input by the administrator, the administrator can select either precision priority or uniformity priority in the UI.
[0132] For example, error weight (w suitability1 ) is 0.7, uniformity weight (w suitability2 ) is 0.3 or error weight (w suitability1 ) is 0.4, uniformity weight (w suitability2 ) can be set to 0.6.
[0133] Second, in a method derived based on recorded data, if there were many shape error defects in past work logs, the error weight (wsuitability1 Increasing ), and in cases where there were many processing stability issues (speed fluctuations by section, alarm occurrences, etc.), uniformity weighting (w suitability2 The administrator can define and apply rules to increase ).
[0134] Third, using a simple numerical adjustment method, the default values for both weights start at 0.5, and can be adjusted by increasing or decreasing them in increments of 0.1 while checking the quality results.
[0135] Additionally, optionally, if derived by AI, the approximation error (E) relative to the past shape is used as the AI input value. suitability Trend of ) and historical uniformity indicators (B suitability It can provide the trend, defect judgment results, number of re-segments, etc. of ), and the AI outputs error weights (w suitability1 ) and uniformity weights (w suitability2 It can be configured to recommend ).
[0136] For example, error weight (w suitability1 ) is 065, uniformity weight (w suitability2 ) can be made to recommend 0.35.
[0137] At this time, it can be configured to apply the AI output value after the administrator approves it.
[0138] The reason for using weights may be to integrate them into a single score while allowing the operator to adjust the importance, as the priority placed on precision or uniformity may vary depending on the product or process objective.
[0139] Constant (ε suitability ) is the average of the segmentation lengths (μ L ) or average radius of the partitioned area (μ R It can be used as a small number added to the denominator so that the implementation of the algorithm does not stop even if ) is 0 or very close to 0.
[0140] Constant (ε suitability) can be treated as a numeric constant in implementation and can be set to a very small value so as not to affect the output result of the data suitability judgment algorithm.
[0141] Constant (ε suitability ) is a manager, for example, 10 -6 It can be fixed as.
[0142] The data suitability judgment algorithm uses a constant (ε) to ensure that the partition evaluation calculation does not fail even in extreme partition results, such as when very short intervals are included. suitability You can use ).
[0143] For example, error weight (w suitability1 ) is 0.7, uniformity weight (w suitability2 ) is 0.3, reference temperature (T 0 ) is set to 10°C, and the approximation error relative to the shape (E suitability ) is 0.01mm, tolerance (T req ) is 0.02mm, uniformity index (B suitability If ) is derived as 0.2 and the temperature deviation (ΔT) as 0°C, the final score (S suitability ) can be output as approximately 0.341.
[0144] As an example of operation, if the administrator has pre-set the threshold to 0.5, the final score (S suitability Since ) is smaller than the threshold, the corresponding split can be adopted and the generation module can generate processed data.
[0145] Conversely, the approximation error relative to the shape (E suitability If ) increases to 0.03mm, the final score (S suitability ) may increase, and if the standard is exceeded, the number of division zones may be increased to allow for re-division.
[0146] The data suitability judgment algorithm can be implemented as the following algorithm.
[0147] First, original shape data based on CAD or drawings can be loaded into the processing server memory.
[0148] Next, the division module (110) creates division zones and the start point coordinates, end point coordinates, and division zone radius (R) of each division zone. i ) can be provided to the generation module (130).
[0149] Subsequently, the server places sample points for each segmented area and calculates the distance error from the original shape, and the approximation error relative to the average shape (E suitability ) can be derived.
[0150] In addition, the server has a partition length (L i ) and segmentation zone radius (R i Using the mean and standard deviation of ), the uniformity indicator (B suitability ) can be derived.
[0151] Next, the server uses the temperature sensor or user input to determine the current temperature (T now ) can be obtained and the temperature deviation (ΔT) can be derived from the difference with the reference temperature.
[0152] Finally, the data fit judgment algorithm performs clamp function, logarithmic function, and trigonometric function operations to obtain the final score (S suitability Can output ) and the final score (S suitability It is possible to control whether to adopt a split or perform a re-segmentation by comparing ) with a preset threshold.
[0153] The data suitability judgment algorithm uses the final score (S) as the evaluation criterion. suitability ) can be set in a form that does not exceed a pre-set threshold.
[0154] The pre-set threshold is the final score (S) of the division that produced good parts in the test process using the manager input method. suitability You can input it after checking the range, and the final scores of past good work (S) based on historical data. suitabilityIt can be set by analyzing the distribution, and can be adjusted upward or downward starting from the initial value using a simple numerical adjustment method, taking into account the frequency of re-segmentation, etc.
[0155] In addition, optionally, past fit and unfit judgments and the final score at that time (S) in an AI-based manner suitability You can provide a value as input, configure the AI to output a threshold value, and then have an administrator approve and apply it.
[0156] In addition, error criteria and uniformity criteria can be combined using a weighted combination method instead of AND / OR logic, and error weights (w suitability1 ) and uniformity weights (w suitability2 Depending on the settings, you can adjust which criteria are given more importance.
[0157] This formula can be applied over time according to repeated attempts within the same task or production iterations. Tolerance (T at the start of the task req ), error weight (w suitability1 ) and uniformity weights (w suitability2 ), threshold can be set, and the final score (S after the first split) suitability Can output ).
[0158] Final score (S suitability If ) exceeds a threshold, re-partitioning can be performed by increasing the number of partition zones or increasing the sampling density, and if the workplace temperature changes over time, the current temperature (T now ) changes, so the temperature deviation (ΔT) may change, and accordingly, even with the same division, the final score (S suitability ) can change.
[0159] User-entered tolerance (T req The smaller ) is, the more the approximation error relative to the shape (E suitability ) and tolerance (T req The ratio of ) can increase, so it may operate to receive a stricter evaluation even for the same partition.
[0160] In addition, if the user selects the precision priority setting, the error weight (w suitability1 Increasing ) reflects the first element more significantly, so the approximation error relative to the shape (E suitability It can operate sensitively to changes, and by selecting the uniformity priority setting, the uniformity weight (w suitability2 Increasing ) results in the second factor being reflected more significantly, so the uniformity index (B suitability ) or it can operate sensitively to changes in temperature deviation.
[0161] The above technical configurations and examples are sufficiently provided so that a person skilled in the art can easily implement the data suitability judgment algorithm and variable definitions of the present invention. Although the present invention is not limited to specific examples and various modifications are possible within its scope, it can be confirmed that a person skilled in the art can obviously understand and realize them.
[0162] The generation module (130) can derive the starting point coordinates and the ending point coordinates for each of the division zones divided by the division module (110), and derive the radius or curvature value (R value) of the derived starting point coordinates and the ending point coordinates to generate processing data for each division zone of the workpiece.
[0163] Here, processing data may refer to data transmitted to the CNC equipment (500) including processing conditions of the workpiece, including at least one processing attribute among the feed rate, processing speed, processing path, feed rate, and cutting condition of the CNC equipment (500) processing the workpiece.
[0164] Meanwhile, the generation module (130) may use a processing data generation time evaluation algorithm to numerically evaluate the processing time for the generated processing data and use it for operational decision-making.
[0165] The processing data generation time evaluation algorithm is the number of records (P evaluation), number of partitioned sections (N evaluation ), number of changes (K evaluation ), number of processing attribute items (A evaluation ), precision ratio (ε evaluation Using ) as the input value, the time evaluation score (T evaluation Can output ).
[0166] The generation module (130) is a time evaluation score (T evaluation If ) exceeds the reference value, the division criteria of the division module (110) (increase or decrease the number of division zones) can be controlled to be adjusted.
[0167] In addition, the generation module (130) has a time evaluation score (T evaluation If ) exceeds the threshold value, the coordinate value (coordinate data) density policy (interpolation interval) can be relaxed or strengthened.
[0168] In addition, the generation module (130) has a time evaluation score (T evaluation If ) exceeds the reference value, machining data can be generated to adjust the CNC transmission timing or batch size of the machining module.
[0169] Compared to the conventional method of estimating generation time based solely on the number of coordinate values (coordinate data), the processed data generation time evaluation algorithm uses the number of change occurrences (K evaluation ), number of processing attribute items (A evaluation ), precision ratio (ε evaluation By reflecting up to ), situational reflection can provide a more comprehensive evaluation.
[0170] The processing data generation time evaluation algorithm may be characterized by being composed of two elements to evaluate the processing data generation time.
[0171] The first element is a time weight (w) to represent the basic processing time that commonly occurs when the generation module is executed. evaluation1 It can be characterized by being composed by reflecting only ).
[0172] The second element is a complexity weight (w) to reflect the tendency for generation time to increase as the input scale and complexity increase. evaluation2 It can be characterized by being composed of multiple factors multiplied by ).
[0173] The second element can consist of three items, the number of records (P evaluation The first item entered into the logarithmic function, and the number of partition sections (N evaluation ) and number of change occurrences (K evaluation The second item, which inputs ) into the trigonometric function sin, and the precision ratio (ε evaluation After inputting ) into the logarithmic function, the number of processing attribute items (A evaluation It can be composed of a third item multiplied by ).
[0174] More specifically, the first item of the second element is the number of records (P) which is the number of generated coordinates. evaluation It is possible to reflect the effect where time increases as ) increases, in which case a logarithmic function is used to represent the number of records (P evaluation Even if ) becomes very large, it can be made to increase gradually so that the evaluation value does not become excessively large.
[0175] The second item of the second element is the number of change occurrences (K evaluation ) is the number of partitioned sections (N evaluation Number of change occurrences (K) to reflect the degree of increase compared to ) evaluation ) number of partitioned sections (N evaluation ) and number of change occurrences (K evaluation It can be configured to normalize by dividing by the sum of ), multiplying by π, inputting into the trigonometric function sin, and adding 1, wherein the number of change occurrences (K evaluation ) number of partitioned sections (N evaluation ) and number of change occurrences (K evaluationIt can be characterized by being designed to be easy to use as input for the trigonometric function sin by dividing by the sum of ) to be arranged between 0 and 1, and by adding 1 to the trigonometric function sin value so that the total scale is greater than or equal to 1.
[0176] The third item of the second element is the number of processing attribute items (A evaluation Using the value obtained by adding 1 to ), the number of processing attribute items included in the processing data (A evaluation An increase in ) can reflect an increase in the work required for creation and verification.
[0177] In addition, the third item of the second element is the precision ratio (ε evaluation It can be characterized by reflecting that the generation burden may increase as the precision requirement requested by the user increases (as the tolerance becomes smaller) through the result of adding 1 to the reciprocal of ) and inputting it into a logarithmic function, and by configuring it so that the value does not go wild excessively through the logarithm.
[0178] In other words, the processing data generation time evaluation algorithm can be characterized by being configured so that the generation time evaluation value increases as the number of coordinates, curvature changes, attributes, and precision requirements increase.
[0179] The processing data generation time evaluation algorithm reflects the factors determining generation time in a simple form; since basic overhead can occur regardless of task complexity, time weights (w evaluation1 It can be characterized by the reflection of the first element utilizing ).
[0180] In addition, the processing data generation time evaluation algorithm is the number of records (P) that can be a direct indicator of throughput. evaluation ) can be reflected by inputting it into the logarithmic function, and the number of change occurrences (K evaluation ) and number of partitioned sections (N evaluationIt can be characterized by being configured to reflect a gradual change in scale by utilizing the ratio of ) together with the trigonometric function sin.
[0181] The processing data generation time evaluation algorithm is the number of processing attribute items (A) that can increase the burden of output data configuration and verification. evaluation Utilizing ), the precision ratio (ε) representing the precision requirement evaluation By reflecting the reciprocal of ) to reduce excessive runaway while increasing precision, the time evaluation score (T evaluation ) can maintain the direction of increasing.
[0182] The processing data generation time evaluation algorithm uses the number of records (P) for the purpose of mitigating the excessive increase in the evaluation value when the input becomes very large. evaluation ) and precision ratio (ε evaluation It can be characterized as being utilized together with ).
[0183] Also, the number of divided sections (N evaluation ) and number of change occurrences (K evaluation It can be characterized by utilizing the trigonometric function sin to adjust the ratio of ) into a range of 0 to 1 and then add 1 to it to use it as a scale of 1 to 2.
[0184] As described in [Table 2] below and the above description, the algorithm for evaluating the time of generating processed data may be characterized by being designed using functions such as logarithmic functions through examples of various tests, and may be characterized by being designed to reflect actual data distribution and experimental experience.
[0185] [Table 2]
[0186]
[0187] The processing data generation time evaluation algorithm is the number of records (P), which is each variable utilized in the algorithm. evaluation ), number of partitioned sections (N evaluation ), number of changes (K evaluation), number of processing attribute items (A evaluation ), precision ratio (ε evaluation ), time weight(w evaluation1 ) and complexity weights (w evaluation2 The characteristics of ) are as follows.
[0188] Number of records (P evaluation ) can be defined as the total number of coordinate value (coordinate data) records generated by the generation module while creating the processing path, and the unit of this value can be defined as pieces.
[0189] The generation module (130) can sequentially generate coordinate value (coordinate data) records containing coordinate values for each divided area, and each coordinate value (coordinate data) record can be configured to include, for example, (x,y,z) or (x,y,z,R) and radius values together.
[0190] The generation module (130) can store the generated coordinate value (coordinate data) records in order in a list or array in memory, and when the generation of coordinate values (coordinate data) for one partition area is finished or the generation of coordinate values (coordinate data) for all partition areas is finished, the number of stored coordinate value (coordinate data) records is counted and the number of records (P) evaluation It can be derived as ).
[0191] For example, derive the length of the list storing coordinate value (coordinate data) records and the number of records (P evaluation You can obtain ).
[0192] In addition, by counting the number of coordinate values (coordinate data) generated for each partitioned area and calculating the cumulative sum, the number of records (P evaluation ) can also be derived, and considering the situation where no coordinate values (coordinate data) are generated, the number of records (P evaluation ) can be set to 0.
[0193] The processing data generation time evaluation algorithm considers the number of records (P) because generation time can increase as the number of coordinate values (coordinate data) increases, as the amount of data composition for coordinate calculation, data formatting, serialization, and transmission to the CNC machine increases together. evaluation It can be characterized as being composed using ).
[0194] For example, if there are 100 partitioned regions and 20 coordinate values (coordinate data) are generated in each partitioned region, the number of records (P evaluation ) can be derived as two thousand, and in this way, the number of records (P evaluation By using ), the tendency of generation time to increase with increasing path data size can be reflected simply and directly.
[0195] Number of partitioned sections (N evaluation ) can be defined as the total number of divided sections created by the division module (110) dividing the shape of the workpiece, and the unit of this value can be defined as pieces.
[0196] The division module (110) can create objects representing division areas and organize them into a list, and the objects may include information such as, for example, a division area identifier, a start point, an end point, and a curve type.
[0197] The partition module (110) determines the number of partition sections (N) from the number of items in the partition section list created in this way. evaluation ) can be derived.
[0198] Since it can be designed so that there is at least one division, the number of division zones (N evaluation ) can be derived as more than one.
[0199] The processing data generation time evaluation algorithm is the number of change occurrences (K evaluation To interpret ) as complexity relative to partitioned regions, the number of change occurrences (K evaluation ) number of partitioned sections (N evaluationIt can be characterized as being reflected in a structure used together with ).
[0200] For example, even if the change in curvature is the same, the complexity may need to be viewed differently depending on whether the number of partitions is very small or very large, so the number of partitions (N evaluation Including ) allows for a more balanced evaluation when comparing tasks of different scales.
[0201] Number of changes (K evaluation ) can be defined as the number of times the radius or curvature value calculated by the generation module has changed significantly, and the unit of this value can be defined as circuits.
[0202] The generation module (130) can calculate and store the radius or curvature value corresponding to each coordinate value (coordinate data) when generating each coordinate value (coordinate data), and can view two adjacent coordinate values (coordinate data) as a pair and calculate the difference between the radius or curvature values of the two coordinate values (coordinate data).
[0203] For example, the amount of change can be obtained by calculating the absolute value of the difference between the radius of the current coordinate value (coordinate data) and the radius of the next coordinate value (coordinate data).
[0204] The generation module (130) has a predetermined threshold value (R) for the difference between the radius or curvature values of two coordinate values (coordinate data). th If it is greater than ), it is determined that a change in curvature has occurred and the counter can be incremented once; if this determination is repeated for the entire range of coordinate values (coordinate data), the accumulated counter value becomes the number of change occurrences (K evaluation It can be derived as ).
[0205] If no change judgment has occurred even once, the number of change occurrences (K evaluation It can be set to derive ) as 0.
[0206] The processing data generation time evaluation algorithm considers the number of change occurrences (K) because as curvature changes more frequently, radius value calculations or path generation conditions may change often, and processing methods such as interpolation or smoothing may also change frequently, which can increase throughput. evaluation It can be characterized as being composed using ).
[0207] In addition, since it may be difficult to separately reflect the burden of curvature processing based solely on the number of coordinate values (coordinate data), the number of change occurrences (K evaluation Using ) allows for a more direct reflection of complexity in shapes with many changes in curvature, such as freeform surfaces or complex curves.
[0208] A predetermined threshold value (R th ) can be defined as a reference value for determining a change in curvature if the difference between adjacent coordinate values (coordinate data) in radius or curvature values is greater than or equal to this value, and the unit of this reference value may follow the unit used by the radius value.
[0209] A predetermined threshold value (R th ) can be set in one of three ways. First, the manager can directly input a value, such as 0.55mm, based on equipment and process experience.
[0210] Second, it can be set based on historical data; in this case, the past generation time logs and the distribution of radius changes are examined together, and a threshold value can be determined based on the boundary value by observing whether the tendency for generation time to increase becomes distinct beyond a certain range of radius change.
[0211] Third, it can be set using a simple numerical adjustment method, in which case it starts with a conservatively small value initially and the number of changes (K) representing the number of curvature changes during operation. evaluation If it is determined that ) is becoming excessively large, the threshold can be increased step by step to adjust it.
[0212] Number of processing attribute items (Aevaluation ) can be defined as the number of processing attribute items included in the processing data, and the unit of this value can be defined as pieces.
[0213] The generation module (130) can manage the attribute items to be included when configuring the processing data record as setting values or profiles, for example, it can include only the items that are actually active among items such as feed rate, processing speed, feed rate, and cutting conditions.
[0214] At this time, count the number of attribute items that are activated and included to determine the number of processed attribute items (A evaluation It can be derived as ), and if only the minimum included items are used, the number of processed attribute items (A) is equal to the number of items. evaluation You can set ).
[0215] The processing data generation time evaluation algorithm considers the number of processing attribute items (A) because as the number of attributes increases, the generation time may increase due to the increased tasks of verifying each attribute value, converting data formats, and constructing records for transmission to C&C equipment. evaluation It can be characterized as being composed using ).
[0216] In this way, the number of processing attribute items (A evaluation By using ), you can distinguish and evaluate cases where only simple paths are generated and cases where truncation conditions are included.
[0217] Precision ratio (ε evaluation ) can be defined as the ratio of the tolerance value entered by the user to the reference tolerance value, and since this value is a ratio, it can be defined as a dimensionless value.
[0218] The user can input a tolerance value, for example, 0.01mm, through the work setting screen or the input of the machining instruction, and the system can maintain the reference tolerance value as a fixed value or a set value, for example, 0.01mm.
[0219] The generation module (130) divides the tolerance entered by the user by the reference tolerance to obtain a precision ratio (ε evaluation ) can be derived, and if the user does not enter a tolerance, the process default value is applied as the tolerance, and then the precision ratio (ε) is calculated in the same way. evaluation ) can be derived.
[0220] The processing data generation time evaluation algorithm can be viewed as requiring higher precision as the tolerance decreases; in such cases, generation time may increase due to the refinement of segmentation, increased density of coordinate value (coordinate data) generation, and a greater verification burden, therefore the precision ratio (ε evaluation It can be characterized as being composed using ).
[0221] Also, precision ratio (ε evaluation By using ), differences in generation time can be reflected in the evaluation when precision requirements differ even for the same shape.
[0222] The aforementioned standard tolerance is the precision ratio (ε evaluation It can be defined as a value used as a standard for deriving ), and the standard tolerance can be set in one of three ways.
[0223] First, managers can directly input values according to process standards or internal specifications, for example, zero-point-one millimeters.
[0224] Second, it can be configured based on historical data; in this case, the average tolerance of past operations or representative process conditions can be analyzed and used as the reference tolerance.
[0225] Third, it can be set using a simple numerical adjustment method, in which case it is initially set to zero millimeters, and if it is determined that the evaluation is too sensitive for a specific customer or product group, it can be adjusted to 0.2 mm for operation.
[0226] Time weight (w evaluation1 ) and complexity weights (w evaluation2) is the time evaluation score (T evaluation It can be defined as an adjustment factor used to output ), and the time weight (w evaluation1 ) is a weight representing the basic processing time that commonly occurs when the generation module is executed, complexity weight (w evaluation2 ) can mean a weight that scales the number of coordinate values (coordinate data), the complexity of curvature change, the number of attributes, and the degree to which precision requirements contribute to generation time.
[0227] Time evaluation score (T evaluation When expressing ) in ms, the time weight (w evaluation1 ) and complexity weights (w evaluation2 ) can also be set in ms units to maintain consistency, and when expressed as a relative score, it can be set as a dimensionless value.
[0228] Time weight (w evaluation1 ) and complexity weights (w evaluation2 ) can be configured in one of three ways. First, there is the administrator input method, where the administrator checks the equipment, server specifications, and initial test results, and then directly inputs the values corresponding to the basic processing time and the scaling value.
[0229] Second, using a record data-based method, the processing server records the start and end times of the generation module as timestamps for each job to store the actual generation time. Simultaneously, it stores the number of coordinate values (coordinate data), the number of segmented sections, the number of curvature changes, the number of attributes, and the precision ratio. Then, two weights can be adjusted so that the calculation result of the formula in the various stored logs closely approximates the actual generation time.
[0230] Third, using a simple numerical adjustment method, the base weight is initially set to zero and the scaling weight to one to operate as a relative score, and then the scaling weight can be adjusted by raising or lowering it by a certain ratio to match the average generation time level during operation.
[0231] An example of numerical substitution can be explained as follows. For instance, time weight (w evaluation1 ) is 5ms, complexity weight (w evaluation2 Set ) to 2ms, and the number of records (P evaluation ) is 2000, number of partitioned sections (N evaluation ) is 100, number of change occurrences (K evaluation ) is 50, number of processing attribute items (A evaluation ) is 3, precision ratio (ε evaluation If ) is derived as 0.1, the time evaluation score (T evaluation ) can be output in about 277 ms.
[0232] Time evaluation score (T) output according to the example described above evaluation ) can be used as grounds to explain that the generation time may increase relatively under those conditions.
[0233] From the perspective of implementing an algorithm to evaluate the time of generating processed data, it can be explained as follows.
[0234] Count the length of the list of partitioned areas generated by the partitioning module (110) to determine the number of partitioned areas (N). evaluation ) can be obtained, and whenever the generation module (130) generates a coordinate value (coordinate data) record, the counter is increased to obtain the number of records (P evaluation ) can be derived.
[0235] The generation module (130) records the radius value of each coordinate value (coordinate data), and then the radius difference between adjacent coordinate values (coordinate data) is the curvature change threshold (R th Determine if it is greater than or equal to the number of changes (K evaluation ) can be accumulated.
[0236] Count the number of attribute items actually included in the generation module (130) and the number of processed attribute items (A evaluation It can derive the precision ratio (ε) using the tolerance entered by the user and the reference tolerance. evaluation ) can be derived.
[0237] Afterwards, the obtained values are input into the processing data generation time evaluation algorithm to obtain the time evaluation score (T evaluation It can output ) and branch to adjust the splitting or creation policy if the output value exceeds the threshold.
[0238] The processing data generation time evaluation algorithm can be configured to reflect the influence of the number of coordinate values (coordinate data), the complexity of curvature change, the number of attributes, and precision requirements in separate blocks, and to multiply these blocks so that the evaluation value increases together as multiple burden factors increase simultaneously.
[0239] Also, the curvature change threshold (R th The standard tolerances and weights can be configured to be set to at least one of the administrator input method, the record data-based method, or the simple numerical adjustment method, so that they can be adjusted to suit the operating environment.
[0240] The processing logic according to the time flow of the processing data generation time evaluation algorithm can be explained as follows.
[0241] Number of partitioned sections at the start of the operation (N evaluation When ) is determined and the user's tolerance is entered, the precision ratio (ε evaluation ) can be derived first.
[0242] Subsequently, as the generation module generates coordinate values (coordinate data) for each divided section, the number of coordinate values (coordinate data) and the number of curvature changes may accumulate; therefore, the generation time evaluation value can be repeatedly calculated at regular divided section units to check for changes in the evaluation value.
[0243] For example, it can be configured to recalculate evaluation values in units of ten divided zones and adjust the coordinate value (coordinate data) generation policy if it is determined that the growth rate compared to the previous calculated value is large.
[0244] The variability in operation based on user input can be explained as follows: if the user inputs a smaller tolerance, the precision ratio (ε evaluation ) can become smaller, and accordingly, the value of the block reflecting the precision requirement can be increased, and the generation time evaluation value can be evaluated in a direction that increases.
[0245] Therefore, if the user increases precision requirements, it is possible to implement an operation that evaluates in advance the possibility of increased generation time and adjusts the number of divisions or the coordinate value (coordinate data) generation policy based on the results.
[0246] The above technical configurations and examples are sufficient to enable a person skilled in the art to easily implement the processing data generation time evaluation algorithm of the present invention in accordance with the algorithm and variable definitions. Although the present invention is not limited to specific examples and various modifications are possible within its scope, it can be confirmed that a person skilled in the art can obviously understand and realize it.
[0247] The processing module (150) transmits the processing data generated by the generation module (130) to the CNC equipment, and receives processing completion data from the CNC equipment (500) after the processing of the workpiece is completed.
[0248] Meanwhile, the processing module (150) can utilize a communication instability summary algorithm that outputs a numerical summary of the degree of communication instability, taking into account errors occurring during the CNC equipment communication process of the processing module, including retries.
[0249] The communication instability summary algorithm uses the observation interval length (m commu ), error status(f i ), number of retries (R i ), retry weight(w commu1 ) and error weights (w commu2 Input the accumulated communication error value (E based on the last m times) based on ) commu Can output ).
[0250] In addition, the communication instability summary algorithm can be utilized as a means to calculate status indicators by converting communication processing logs generated by processing modules (transmission / reception / retry / timeout processing) into numerical values.
[0251] In existing methods, errors with zero retries and errors with many retries may be treated the same, but the communication instability summary algorithm utilizes a logarithmic function to reflect errors with many retries more significantly, making it easier to detect deterioration in communication status.
[0252] The communication instability summary algorithm can be structured to check and add up all recent m communication attempts (i=1~m), and can be multiplied by indicating whether there is an error for each i-th communication attempt so that the score is added only when there is an error.
[0253] The aforementioned error status is an error status (f) that derives 1 if it is an error and 0 if it is normal, so that the score is added only when it is an error. i It can be characterized by being configured so that ) is multiplied.
[0254] In addition, the communication instability summary algorithm may be characterized by being designed to smoothly add a value based on the number of retries to a default value of 1 for one error by inputting that value into a logarithmic function.
[0255] In addition, in the case of normal communication, whether there is an error (f i Since ) is 0, the entire corresponding item becomes 0, so it can be made so that it has no effect on the accumulated value, and in the case of error communication, error status(f i ) becomes 1, so the default 1 is added, and a log function may be added depending on the retry.
[0256] The communication instability summary algorithm first counts only errors excluding successful communications by representing the error status (f) of the success and failure of the i-th communication as 0 or 1. i You can use ) to make the algorithm add only when there is an error.
[0257] Next, the communication instability summary algorithm indicates that if there are many retries even for a single error, it is highly likely that the communication was unstable; therefore, the number of retries (R i It can be characterized by being composed by reflecting ).
[0258] However, since simply summing the number of retries can cause large retry values to excessively amplify the indicator, it can be characterized by the use of a logarithmic function that smooths out the increase in retries.
[0259] Also, since there is no meaning in retries for successful communication, error status (f i By inputting ) into the logarithmic function and making the result of the logarithmic function 0 in the case of successful communication, unnecessary weighting in successful communication can be avoided.
[0260] Finally, the communication instability summary algorithm can adjust the sensitivity of retry reflection per site by multiplying by a retry weight (wcommu1).
[0261] As described above, the communication instability summary algorithm can be characterized by utilizing a logarithmic function in which the output increases as the input increases, but the rate of increase becomes progressively gentler, and the input value of the logarithmic function is the error status (f i ) and number of retries (R i It can be composed of the product of ) plus 1.
[0262] Here, error status (f i ) and number of retries (R i The value obtained by adding 1 to the product of ) can be used as a dimensionless value.
[0263] As described in [Table 3] below and the above description, the communication instability summary algorithm may be characterized by being designed using functions such as logarithmic functions through examples of various tests, and may be characterized by being designed to reflect actual data distribution and experimental experience.
[0264] [Table 3]
[0265]
[0266] As shown in [Table 3] above, the communication instability summary algorithm may be characterized by using a logarithmic function so that as the number of retries increases, the score increases but the rate of increase slows down, thereby preventing large retries from excessively dominating the whole.
[0267] Each variable used in the communication instability summary algorithm, the observation interval length (m commu ), error status(f i ), number of retries (R i ), retry weight(w commu1 The characteristics of ) are as follows.
[0268] Observation interval length (m commu ) may refer to the number of recent communication attempts to evaluate the communication status with the CNC equipment, and the unit may be expressed as count.
[0269] The processing module (150) may assign a transaction ID or a transmission attempt number whenever transmission is performed to the CNC equipment, and may store the result of each transmission attempt (whether a normal response is received, whether a timeout occurs, whether an error code is received, etc.) in a log, and the processing module (150) may select m items in reverse order from the latest item in the log and use them for mathematical formula calculation, and may be implemented, for example, by obtaining the last m records from a ring buffer or queue structure.
[0270] Observation interval length (m commu The initial value and settings of ) can be performed in multiple ways, and the administrator can set the observation interval length (m) as calculated based on the last 100 cases in the settings screen. commu You can set the value of ) by directly entering it.
[0271] In addition, during the initial installation, the observation section length (m commu) applies 100 and the default value, and in environments with very frequent communication, the observation interval length (m commu Reduce ) to make it sensitive to short-term changes, and in environments with infrequent communication, the observation interval length (m commu It can be set so that the operator manually adjusts it by increasing the value to prevent excessive fluctuation.
[0272] Furthermore, the number of communications that occurred during the last minute is aggregated from the log, and the aggregated result is observed over the observation interval length (m commu It is also possible to use the method of ), but in this case, the length of the time window as '1 minute' can be provided by the administrator as a setting value, and the actual observation interval length (m commu ) can be clearly distinguished and applied as a value calculated as the number of logs aggregated within that time window.
[0273] The communication instability summary algorithm enables the evaluation of accumulated error values by reflecting recent communication conditions while ensuring that old communication errors do not obscure the judgment of the current state, using an observation interval length (m commu It can be characterized as being composed using ).
[0274] In addition, compared to the simple accumulation method for the entire period, the communication instability summary algorithm is based on the recent interval-based observation interval length (m commu By using ), the effect of detecting current communication anomalies more quickly can be achieved.
[0275] Error status (f i ) can be defined as a value indicating whether the i-th communication attempt is an error (1) or normal (0), and the unit is dimensionless and can be expressed as a value of 0 or 1.
[0276] The processing module (150) applies a predetermined judgment rule to each communication transaction to determine whether there is an error (f i) can be recorded; for example, if an ACK or normal acknowledgment frame is not received within a predetermined response waiting time (e.g., 200ms) after transmission, it is determined as a timeout, and the error status (f i ) can be recorded as 1.
[0277] In addition, even if the status code returned by the CNC machine is an error code (NACK, ERROR_CODE, etc.) other than OK, the transaction is determined to have failed, and the error status (f i ) can be recorded as 1.
[0278] Furthermore, if an event occurs where the communication socket or port switches to a disconnected state, the corresponding transaction is recorded as a failure and the error status (f i ) can be set to 1, but conversely, if ACK / OK is received normally, the error status (f i ) can be recorded as 0.
[0279] Error status (f i ) can be fixed and stored as 0 or 1 depending on the communication result at the time each transaction ends, and the value stored in this way can be referenced as is when calculating mathematical expressions later.
[0280] The communication instability summary algorithm uses a direct decision value that clearly distinguishes between success and failure to aggregate the number of errors, determining whether an error occurs (f). i It can be characterized as being composed using ).
[0281] For example, if 2 out of 5 communication attempts terminated due to a timeout, the error status of those 2 transactions (f i ) can be recorded as 1, and in this way, whether there is an error (f i By using ), you can achieve the effect of excluding successful communications and clearly counting only error communications.
[0282] Retry count (R i) can represent the number of retransmissions (retries) performed on the same data (or the same transaction ID) when a failure or timeout occurs in the i-th communication transaction, and the unit can be expressed as counts.
[0283] The processing module (150) can set the retry counter to 0 when starting the i-th transaction, and increase the counter by 1 each time a retransmission is performed with the same transaction ID, so that the counter value at the time when the transaction is finally terminated is the number of retries (R i It can be saved to the log as ).
[0284] Retry count (R i ) can be derived by setting it to 0 at the start of the transaction and increasing it by +1 each time a retransmission is performed.
[0285] The communication instability summary algorithm indicates that even if an error is counted as exactly 1, a higher number of retries suggests that the communication instability may have been more severe; therefore, the number of retries (R i It can be characterized as being utilized to reflect ) in the error accumulation value.
[0286] For example, if a retransmission succeeds after two attempts following a timeout, the number of retries for that transaction (R i ) can be recorded as 2.
[0287] In this way, the number of retries (R i By reflecting ), it is possible to obtain the effect of additionally expressing the degree of instability that is difficult to distinguish with only a simple count of error = 1.
[0288] Retry weight (w commu1 ) is the number of retries (R i ) is the accumulated communication error value (E commu It can be defined as a weight that controls the degree of contribution to ), and the unit can be dimensionless.
[0289] Retry weight (w commu1The derivation or setting of ) can be performed in several ways; first, the administrator can directly enter a number (e.g., 0.5, 1.0) into the retry reflection strength item on the settings screen to set the retry weight (w commu1 You can set ).
[0290] In addition, retry weights (w) based on historical data commu1 When deriving ), statistics such as the average number of retries for errors during the recent period (e.g., the last 1 day) can be calculated first from the operation logs, and the administrator can refer to these statistics to determine the retry weight (w) if the average number of retries is 2. commu1 If ) is 0.5 and the average is 5 times, the retry weight (w commu1 ) according to an internal rule table such as 1.0, the retry weight (w commu1 You can select and input ).
[0291] At this time, the retry weight (w commu1 It can be clearly distinguished and stated that ) is not a value directly produced by the log, but a value determined and entered by the manager based on log statistics.
[0292] In addition, using a simple numerical adjustment method, the retry weight (w) at initial installation commu1 Use a default value such as 1.0 for ), but if communication error warnings occur too frequently during operation, the retry weight (w commu1 Lower ) (e.g., 1.0→0.5), and conversely, if a communication error is detected late, the retry weight (w commu1 The operator can manually adjust it by increasing (e.g., 0.5→1.5).
[0293] If retry weight (w commu1 When AI is utilized to derive ), for example, the AI (simple regression or classification model) may receive statistical data as input, such as the error rate from the last day's logs, the average number of retries per error, and the maximum number of retries, and as output, the recommended retry weight (w commu1) value (e.g., 0.8) can be derived as a recommended method.
[0294] Subsequently, final application can be managed by having an administrator approve the proposed values and save them as settings, at which time the AI input and AI output can be clearly distinguished and specified.
[0295] Retry weight (w commu1 The reason for using ) can be explained as the need to adjust the strength of the retry because, even with the same communication error, the meaning of the retry may differ depending on the field environment (protocol, cable condition, noise environment, etc.).
[0296] Also, retry weight (w commu1 By making it possible to configure ), the operator can achieve the effect of adjusting sensitivity without enforcing a single rule.
[0297] For example, the length of the observation interval (m commu ) is 5, retry weight(w commu1 We can assume that ) is set to 1 and the results of the last 5 communications are normal, error (0 retries), error (2 retries), normal, error (5 retries) in order.
[0298] At this time, since a normal response was received for the first communication, the error status (f i ) is 0, number of retries (R i ) can be derived as 0, and since the 2nd communication is an error but there is no retry, the error status (f i ) is 1, number of retries (R i ) can be derived as 0.
[0299] Also, since there was an error on the 3rd communication and 2 retries occurred, the error status (f i ) is 1, number of retries (R i ) can be derived as 2, and since 4 communications are normal, the error status (f i ) is 0, number of retries (R i) can be derived as 0, and since 5 communication attempts are errors and 5 retries occurred, the error status (f i ) is 1, number of retries (R i ) can be derived as 5.
[0300] When these input values are applied to the communication instability summary algorithm, the first iteration checks for errors (f i Since ) is 0, 0 can be output, the 2nd time can be output as 1, the 3rd time can be output as approximately 2.099, the 4th time can be output as 0, and the 5th time can be output as approximately 2.792.
[0301] Therefore, the accumulated communication error value (E), which is the total accumulated value of the 1st to 5th rounds. commu ) can be output as 5.891, which can be interpreted as meaning that although there are 3 errors, the degree of communication instability may be displayed more significantly when considering retries.
[0302] The communication instability summary algorithm can be implemented to assign a transaction ID and record the transmission start time whenever the processing module (150) performs transmission to the CNC equipment (500).
[0303] In addition, the processing module (150) checks whether an ACK / OK or an error code is received within a predetermined response waiting time, and at the time of transaction termination, checks whether an error (f) is received according to the result. i It can be derived by determining ) as 0 or 1.
[0304] Furthermore, whenever a retransmission is performed for the same transaction ID, the retry counter is incremented by 1, and the number of retries (R i It can be derived as ).
[0305] Subsequently, the processing module (150) checks for errors (f) in the most recent m log records. i ) and number of retries (R i) can be derived, and the accumulated communication error value (E) is calculated by cumulatively summing the values of the communication instability summary algorithm implemented for each record. commu Can output ).
[0306] Finally, the processing module (150) outputs the accumulated communication error value (E commu ) can be stored as a communication status value and utilized for screen display, log recording, warning judgment, etc.
[0307] The communication instability summary algorithm is the accumulated communication error value (E commu In outputting ), conditions such as warning generation can be implemented by values set by receiving input from the administrator.
[0308] For example, the manager [uses] the accumulated communication error value (E commu Set the threshold of ) and the accumulated communication error value (E commu If the output value exceeds a preset threshold, it can be configured to determine that there is a communication error and attempt to reconnect or generate a notification.
[0309] Also, the length of the observation interval (m commu Setting ) to a large value allows for advantageous operation in judging long-term trends, and the observation interval length (m commu Since setting ) to a small value allows for operation advantageous for short-term anomaly detection, managers should set the observation section length (m) according to the equipment characteristics. commu You can select ).
[0310] In addition, the retry weight (w commu1 If ) is set high, it becomes sensitive to retries, and the retry weight (w commu1 If ) is set small, it approaches a simple error count, so the manager sets the retry weight (w) according to the operational goal. commu1 You can set ).
[0311] When combining multiple conditions, the accumulated communication error value (E commuIt can also be implemented by combining conditions such as outputting a value greater than or equal to a preset threshold and consecutive errors of K or more times using AND.
[0312] Since this formula is based on the most recent m cases, it can operate in a way that updates as communication accumulates; that is, whenever a new communication attempt log is added, the oldest log can be excluded to always maintain the most recent m cases.
[0313] If the error decreases, error status (f i As the number of rounds where ) is 1 decreases, the accumulated communication error value (E commu ) can gradually decrease, and if errors and retries increase, the accumulated value of communication errors (E commu ) can increase.
[0314] Therefore, the accumulated communication error value (E commu ) can be periodically updated as an indicator that reflects changes in communication quality over time and the number of communication attempts.
[0315] In addition, depending on the setting value entered by the administrator, the accumulated result communication error value (E commu ) can change.
[0316] More specifically, the manager [uses] retry weights (w commu1 If ) is set high, errors with many retries are reflected more significantly even with the same number of errors, so the accumulated communication error value (E commu ) can increase, and the manager retry weight (w commu1 If ) is set close to 0, the reflection of retries weakens, and the accumulated communication error value (E commu This can effectively behave similarly to the number of errors. Additionally, if an administrator changes m, the referenced log range changes, which may alter short-term or long-term sensitivity.
[0317] Using AI to retry weights (w commu1Even when a recommendation is received, the AI input (e.g., error rate, average number of retries, maximum number of retries) and AI output can be clearly defined, and the final application can be operated by having an administrator approve it and save it as a setting value.
[0318] The above technical configurations and examples are sufficiently provided so that a person skilled in the art can easily implement the communication instability summarization algorithm and variable definitions of the present invention. Although the present invention is not limited to specific examples and various modifications are possible within its scope, it can be confirmed that a person skilled in the art can obviously understand and realize them.
[0319] The correction module (170) derives an actual processing value based on the processing completion data, and compares and analyzes the processing data of each divided area of the processing object with the derived actual processing value to apply the correction value when generating the next divided area processing data.
[0320] The correction module (170) derives an error value as a result of comparing and analyzing the processing data and the actual processing value, and accumulates and stores the derived error value, and provides it to the generation module (130) so that the generation module (130) can use the error value to correct when generating the processing data.
[0322] The embodiments described above are for illustrative purposes only, and those skilled in the art will understand that the embodiments described above can be easily modified into other specific forms without altering the technical concept or essential features of the embodiments described above. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, each component described as a single unit may be implemented in a distributed manner, and components described as distributed may likewise be implemented in a combined form.
[0324] The scope of protection sought through this specification is defined by the claims set forth below rather than by the detailed description, and should be interpreted to include all modifications or variations derived from the meaning and scope of the claims and the concept of equivalents. Explanation of the symbols
[0325] 100: Processing Server
Claims
Claim 1 A CNC control system for generating a subdivided coordinate-based machining path comprises: a machining server that communicates with a CNC machine that scans an input workpiece and performs machining; wherein the machining server comprises: a dividing module that divides the shape of the workpiece into a plurality of divided sections; a generating module that derives a start point coordinate and an end point coordinate for each divided section divided by the dividing module, derives a radius or curvature value (R value) of the derived start point coordinate and end point coordinate, and generates machining data for each divided section of the workpiece; a machining module that transmits the machining data generated by the generating module to the CNC machine and receives machining completion data from the CNC machine after the machining of the workpiece is completed; and a correction module that derives an actual machining value based on the machining completion data, compares and analyzes the machining data of each divided section of the workpiece with the derived actual machining value, and applies a correction value when generating machining data for the next divided section.The invention includes, wherein the CNC equipment processes the divided sections sequentially but independently, and processes the workpiece based on the processing data, wherein each divided section processes the workpiece according to separately defined processing data while excluding the processing error of the previous divided section; the dividing module creates divided sections by dividing a workpiece of various shapes including a circle, ellipse, curve, and freeform surface, and the divided sections are configured to be applicable to shapes including at least one of a circle, ellipse, curve, or freeform surface shape; the dividing module automatically sets the number of divided sections according to the size and shape of the workpiece, and if there is a previously received requirement for shape precision of the workpiece, sets the number of divided sections of the workpiece based on the requirement for shape precision; the processing data refers to data transmitted to the CNC equipment including processing conditions of the workpiece, including at least one processing attribute among the feed rate, processing speed, processing path, feed rate, and cutting condition of the CNC equipment processing the workpiece; and the correction module determines an error value as a result of comparing and analyzing the processing data and the actual processing value. Deriving and accumulating the derived error values, and providing them to the generation module so that the generation module utilizes the error values to correct when generating the processing data; the division module receives the entire generated division area as input and derives an approximate error (E) relative to the original shape of the processing object; suitability ), uniformity indicators from the distribution of partitioned section lengths and radii (B suitability ), temperature deviation (ΔT) input by the operator or acquired by a sensor and tolerance (T req Final score (S) reflecting ) suitability A subdivided coordinate-based machining path generation CNC control system characterized by numerically determining whether the result of dividing the segmented area of the workpiece using a data suitability judgment algorithm that outputs ) is suitable for generating machining data of the generation module. Claim 2 delete Claim 3 delete Claim 4 In claim 1, the division module comprises the final score (S suitability If ) is below a preset threshold, the corresponding division is adopted and the corresponding division area is provided to the generation module so that the generation module generates processed data, and the final score (S suitability A subdivided coordinate-based machining path generation CNC control system characterized by performing re-division by increasing the number of division zones when ) exceeds a preset threshold. Claim 5 In claim 1, the data suitability determination algorithm comprises a shape-based approximation error (E suitability ) and tolerance (T req The error weight (w) on the result of inputting the value normalized by adding 1 to the ratio of ) into the logarithmic function suitability1 A granular coordinate-based machining path generation CNC control system including a first element configured to multiply by ). Claim 6 In claim 1, the data suitability determination algorithm comprises a uniformity index (B suitability After inputting the sum of the ) and temperature deviation items into a clamp function that limits the value to between 0 and 1, normalize it by multiplying by π, input the normalized result into the trigonometric function cosine, and then subtract the uniformity weight (w) from the value obtained by subtracting from 1 suitability2 A granular coordinate-based machining path generation CNC control system including a second element configured to multiply by ).
Citation Information
Patent Citations
Roundness working method and roundness working device in NC machine tool
KR1020070046102A
Server for generating machining area optimization toolpath of 3-dimensional objects and operating method thereof
KR102840541B1