A whole-house customized furniture parameterized design method and system based on a standardized module library
By utilizing the leftover material window and Lagrange relaxation dynamic programming algorithm in the parametric design of whole-house customized furniture, the computational resources of the central processing unit are constrained in reverse, solving the problem of ineffective utilization of factory leftover material dimensions and achieving more efficient design optimization and resource allocation.
Patent Information
- Application Number
- CN202611036241.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-13
- Publication Date
- 2026-11-06
AI Technical Summary
In parametric design of whole-house custom furniture, existing technology fails to effectively utilize the dimensions of factory surplus materials to allocate design calculation resources in reverse, resulting in some panel dimensions not falling within the surplus material range. This leads to problems such as the need to readjust cabinet width, secondary splitting of panel lists, changes in quotation results, and repeated generation of cutting tasks.
By converting factory surplus materials into surplus material windows with cut-in boundaries and sealing directions, and using the surplus material acceptance results to inversely constrain the calculation time allocation of the central processing unit of the industrial internet platform, the surplus material acceptance-type Lagrange relaxation dynamic programming algorithm is used to process the uncalculated branch table, thereby optimizing the design calculation process.
Reducing invalid parameter branch calculations and material rework improves the verifiability of design results and resource utilization efficiency, and reduces secondary splitting of the sheet metal list and changes in quotation results.
Smart Images

Figure CN123049694A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of furniture parametric design and computational resource allocation technology under the industrial internet platform. More specifically, this invention relates to a parametric design method and system for whole-house customized furniture based on a standardized module library. Background Technology
[0002] Existing parametric design for whole-house custom furniture is mostly used to improve the efficiency of cabinet assembly, panel splitting, quotation calculation and production data generation. In actual implementation, the design end usually calls a standardized module library according to the room dimensions to generate parametric objects such as cabinets, door panels, shelves, and paneling. Then, the BOM, material cutting and quotation calculation are submitted to the industrial Internet platform for processing. The leftover board material is mostly matched during the factory's production scheduling and material cutting stage.
[0003] In scenarios where store drawings are generated centrally, factory surplus materials change in real time with the daily batch of cutting, and design schemes need to generate quotable results in a short period of time, if the platform still allocates computing resources according to the ideal cabinet size first, and then the factory determines whether the surplus materials can be accepted, some panels will not fall into the existing surplus material size range after the size split and quotation calculation have been completed. This manifests as the cabinet width needing to be readjusted, the panel list being split a second time, the quotation results changing before and after, and the cutting tasks being generated repeatedly. The reason for this phenomenon is that the surplus material size is only used as a post-production factor for verification and does not reversely determine the order of computing power usage of each parameter branch in the parametric design calculation stage.
[0004] The technical problem this application aims to solve is: how to enable the industrial internet platform to allocate design calculation resources in reverse according to the factory's leftover material size window in the parametric design of whole-house customized furniture based on a standardized module library, so as to prioritize the generation of parametric schemes that can be undertaken by leftover materials, thereby reducing invalid parameter branch calculations and material cutting revisions. Summary of the Invention
[0005] To overcome the aforementioned deficiencies of the prior art, embodiments of the present invention provide a parametric design method and system for whole-house customized furniture based on a standardized module library. This method converts factory surplus materials into surplus material windows with cut-in boundaries and edge banding directions, and uses the surplus material acceptance results to inversely constrain the calculation time allocation of the central processing unit of the industrial internet platform, thereby solving the problems mentioned in the background art.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a parametric design method for whole-house customized furniture based on a standardized module library, comprising:
[0007] S1. Obtain the factory cutting surplus material flow from the industrial internet platform, deduct each piece of surplus material from the outer contour inward according to the saw kerf width, write the edge banding edge position on the contour after deduction according to the edge banding machine feed direction, and output the surplus material window.
[0008] S2. Based on the wall clear distance, floor finished surface and ceiling finished surface obtained from the room measurement, read the standard component library, perform width recursion, depth deduction and height supplementation on the cabinet components in sequence, and generate the corresponding board size after each recursion, output the component size, and output the branch table to be calculated.
[0009] S3. The branch table to be calculated is processed by the Lagrange relaxation dynamic programming algorithm of the surplus material acceptance type. The order of the plates is used as the recursive stage, the remaining cut area formed after the plates are cut into the surplus material window is used as the stage state, and the calculation time occupied by the central processing unit for one design optimization, one layout verification and one material simulation is used as the relaxation deduction. The cut area is accumulated along the order of the plates and the relaxation deduction is deducted to output the branch support replacement value.
[0010] S4. For the recursive path corresponding to the replacement value of the sub-support, execute the backtracking pruning algorithm, read back the remaining material occupancy position from the tail section plate to the first section plate, and when the remaining cut area after backtracking cannot accept the unread plate, delete the recursive path that generates the corresponding remaining material occupancy position and output the productionable design branch.
[0011] S5. Based on the sub-support value allocation of the manufacturable design branch, the central processing unit of the industrial internet platform calculates the time slice, performs design optimization, surplus material layout verification and material pricing simulation on the manufacturable design branch, and outputs the parametric design results of the whole-house customized furniture supported by the surplus materials.
[0012] In a preferred embodiment, S1 includes:
[0013] S1-1. Taking the arrival order of the leftover materials in the factory's leftover material flow and the thread number table of the central processing unit as input, divide the arrival order of the leftover materials by the total number of threads to get the remainder, add one to the remainder as the thread number, and write the corresponding sequence of the outer contour points of the leftover materials into the deduction task queue under the corresponding thread number, and output the leftover material deduction task table.
[0014] Among them, the factory cutting waste material flow refers to the waste material data flow received by the industrial Internet platform from cutting equipment, waste material scanning station or waste material registration terminal. Each waste material data is written into the waste material arrival sequence according to the order of entry into the platform, and carries the corresponding waste material outer contour point sequence, plate thickness, material identification and source cutting task number.
[0015] The Central Processing Unit Thread Number Table refers to the thread registration table of the Central Processing Unit in the Industrial Internet Platform, which is used to perform residual material deduction calculation. The table records the thread number starting from 1 as an integer and records the total number of threads, so that the residual material can be assigned to a specific thread number according to the remainder result when it arrives.
[0016] The outer contour point sequence refers to the set of two-dimensional coordinate points arranged in the order of surrounding the outer boundary of the material in the same plate coordinate system. Two adjacent outer contour points form a contour edge, and the last outer contour point and the first outer contour point form a closed contour edge.
[0017] S1-2. For the sequence of outer contour points in the task table of excess material deduction, generate contour edge vectors according to the coordinate difference of adjacent outer contour points, determine the inner direction according to the directed area of the outer contour point sequence, translate each contour edge along the inner direction by the saw kerf width, and reconstruct the cut-in contour using the intersection of adjacent translated edges, and output the cut-in contour point sequence.
[0018] The directed area refers to the directional area value calculated side by side according to the sequence of outer contour points. When calculating, the current outer contour point and the next outer contour point are taken in sequence. The current horizontal coordinate is multiplied by the next vertical coordinate and then subtracted from the next horizontal coordinate multiplied by the current vertical coordinate. All the differences are accumulated and then half is taken.
[0019] The process of determining the inner direction based on the directed area of the outer contour point sequence is as follows: when the directed area is positive, the outer contour point sequence is counterclockwise, and the inner direction of each contour edge is the left normal direction of the contour edge vector; when the directed area is negative, the outer contour point sequence is clockwise, and the inner direction of each contour edge is the right normal direction of the contour edge vector.
[0020] The kerf width refers to the width of the board surface occupied and removed by the panel saw blade in one cut. It is given by the panel saw parameters or the panel saw task record and is used to deduct the outer contour of the remaining material inward to obtain the actual cuttable area.
[0021] The process of reconstructing the cut-in contour using the intersection of adjacent translation edges is as follows: First, each contour edge is translated along the inner direction by the saw kerf width to obtain the translation edge corresponding to the original contour edge. Then, the intersection of the previous translation edge and the next translation edge is calculated according to the sequence of outer contour points, and the cut-in contour point sequence is formed according to the sequence of intersection points.
[0022] S1-3. Based on the cut-in contour point sequence and the edge banding machine feed direction, calculate the cross product of the edge vector of each cut-in contour edge and the edge banding machine feed direction vector. Cut-in contour edges with a cross product of zero are written into the edge banding edge position, and cut-in contour edges with a cross product of non-zero are written into the avoidance edge position. Output the excess material window.
[0023] The edge banding machine feed direction refers to the direction in which the edge banding machine conveys the board into the edge banding processing channel. After the coordinate system of the edge banding equipment is transformed into the coordinate system of the leftover board surface, the edge banding machine feed direction vector is formed, which is used to determine whether the cut contour edge can be edge banded according to the feed direction of the equipment.
[0024] In a preferred embodiment, S2 includes:
[0025] S2-1. Starting from the net distance of the wall in the room measurement record, first deduct the left edge space to get the left width after deduction, then deduct the right edge space to get the recursive width margin. Starting from the width step of a cabinet, accumulate the width code according to the same cabinet width step. Stop the recursion before the accumulated result exceeds the recursive width margin. Then, divide the width code generation sequence by the total number of threads in the central processing unit and add one to the remainder and write it into the thread number. Output the width recursion table.
[0026] The measurement record refers to the data record formed after measuring the target installation space. It includes at least the net distance between the walls, the finished height of the floor, and the finished height of the ceiling under the same coordinate reference, and serves as the input source for cabinet width extrapolation, depth deduction, and height supplementation.
[0027] The finishing edge space refers to the width reserved between the side of the cabinet and the adjacent wall, column or corner for the installation of the sealing plate. The finishing edge space on the left side is deducted from the left end of the net distance from the wall, and the finishing edge space on the right side is deducted from the width after the left deduction.
[0028] S2-2. For the width code in the width recursion table, read the cabinet reference depth using the width code as the index, first deduct the wall clearance depth to get the depth after wall contact, then deduct the back panel groove depth to get the depth after panel groove, then deduct the door panel opening clearance depth to get the deducted depth, and write the deducted depth into the corresponding width code, and output the width-depth calculation table.
[0029] The reference depth refers to the original depth value of the cabinet corresponding to the width code in the standard component library. This original depth value has not yet deducted the wall clearance depth, back panel groove depth and door opening clearance depth.
[0030] The wall clearance depth refers to the depth value deducted from the cabinet's base depth to avoid wall protrusions, baseboards, or installation errors on the back side of the cabinet. It is used to obtain the effective depth of the cabinet after it is attached to the wall.
[0031] The back panel groove depth refers to the groove depth of the cabinet side panel or shelf used to embed the back panel. This groove depth is subtracted from the depth after the back panel is attached to the wall to obtain the groove depth after the back panel is embedded.
[0032] The door panel opening clearance depth refers to the depth value reserved for hinge rotation, door panel thickness swing and front edge avoidance when the door panel is opened. This depth value is deducted from the depth of the panel groove to obtain the deducted depth.
[0033] S2-3. Based on the width-depth calculation table, read the deducted depth under the same width code. Subtract the finished floor surface from the finished top surface to obtain the clear height of the space. Then, subtract the skirting board height and the top sealing height from the clear height of the space to obtain the height code. Generate the side panel size according to the height code and the deducted depth. Subtract twice the side panel thickness according to the width code and the deducted depth to generate the shelf size. Subtract the door gap allowance according to the width code and the height code to generate the door panel size. Write the corresponding width code according to the thread number and output the branch table to be calculated.
[0034] The door gap allowance refers to the total gap width deducted from the width code when the door panel is generated. This total width is formed by adding the left door gap, the right door gap, and the center gap of double doors, and is used to prevent the door panels from interfering with each other or touching the sides of the cabinet after installation.
[0035] In a preferred embodiment, S3 includes:
[0036] S3-1. Using the same branch in the branch table to be calculated as the calculation object, read the current board size and the current surplus window according to the board position, align the first corner point of the current board with the cutting outline point of the current surplus window in sequence, and place the current board in the direction of consistent edge sealing, delete the placement result where the board outline goes beyond the current surplus window, and write the retained placement result into the cutting action table.
[0037] The first corner point refers to the outline point located at the lower left corner in the local coordinate system of the board after the current board size is converted into the rectangular outline of the board; when the board is rotated and placed in the same direction as the edge banding, the first corner point rotates together with the rectangular outline of the board and serves as the reference point for fitting the current material window cutting outline point.
[0038] S3-2. The cutting action table is processed by the Lagrange relaxation dynamic programming algorithm for the leftover material receiving type. The cost value of the previous layer of the first piece is zero. The current cutting area is subtracted from the product of the calculation time slice and relaxation multiplier of the central processing unit under the current thread number as the current layer increment. The cost value of the previous layer is added to the current layer increment to obtain the cost value of the current layer. The cutting action, the remaining cutting area, the thread number and the cost value of the current layer are written into the dynamic programming table.
[0039] The cost value refers to the value used to evaluate whether the same branch to be calculated can continue to occupy the central processing unit's computing resources in the board sequence recursion. When calculating, it is obtained by adding the cost value of the previous layer to the current cut area, and then subtracting the product of the central processing unit's computing time slice and the relaxation multiplier under the current thread number.
[0040] The central processing unit (CPU) computing time slice refers to the processor execution time slice allocated by the industrial internet platform to the corresponding thread number for completing a design optimization, layout verification, and material simulation of the current board component. It is accumulated layer by layer in the dynamic programming table according to the same thread number and is used to calculate the computing resource consumption of the thread number.
[0041] The relaxation multiplier is a computational resource reduction factor written into the dynamic programming table for the corresponding thread number, initially set to 0. In each round of recalculation, the CPU time slices occupied by each branch to be calculated under the same thread number are first accumulated, and then the available computation time slices of the thread number are subtracted from the accumulated result to obtain the excess time slice. When the excess time slice is positive, the original relaxation multiplier is added to the excess time slice to obtain a new relaxation multiplier. When the excess time slice is zero or negative, the new relaxation multiplier uses the original relaxation multiplier. The new relaxation multiplier is written back to the corresponding thread number in the dynamic programming table for use in the next round of cost calculation for this layer.
[0042] In a preferred embodiment, S3 further includes:
[0043] S3-3. Under the same thread number, accumulate the central processing unit calculation time slices occupied by each branch to be calculated according to the dynamic programming table. Subtract the available calculation time slice of the corresponding thread number from the accumulated result to obtain the excess time slice. Add the excess time slice to the original relaxation multiplier to obtain the new relaxation multiplier. Replace the original relaxation multiplier of the same thread number in the dynamic programming table with the new relaxation multiplier and output the dynamic programming table after writing back.
[0044] S3-4. Based on the dynamic programming table after writing back, recalculate the value of this layer, and retain the records of the first-ranked value in the same branch to be calculated and the remaining cut-in area can accept the next board in order of board position, until the last board is cut in. Write the value of this layer corresponding to the last board as the branch support connection value.
[0045] In a preferred embodiment, S4 includes:
[0046] S4-1. Using the recursive path corresponding to the sub-support replacement value as input, read the leftover window number, the four corner points occupied by the board, the edge sealing position, the thread number and the calculation time of the central processing unit of each layer in reverse order of the board position. Taking the cutting contour point sequence under the same leftover window number as the starting area, deduct the area enclosed by the four corner points of the board that has been read in reverse order in turn, and output the readback remaining area table.
[0047] The four corner points occupied by the board refer to the four vertices of the rectangular area occupied after the board completes one cutting action in the surplus window. The four vertices are recorded in the recursive path according to the board placement direction, which is used to deduct the corresponding occupied area from the starting area enclosed by the cutting contour point sequence when reading back in reverse order.
[0048] S4-2. For each read-back remaining area in the read-back remaining area table, read the dimensions of the adjacent previous board that have not yet been read in reverse order, match the first corner points of the adjacent previous board to each cut-in outline point of the read-back remaining area one by one, and generate trial placement four corner points in the same direction as the sealing edge, calculate whether the trial placement four corner points all fall into the read-back remaining area and whether the trial placement edge lines do not cross the edge lines of the read-back remaining area, and output the receiving position table.
[0049] The process of generating trial placement four corner points according to the consistent direction of the edge banding is as follows: First, read the dimensions of the adjacent previous panel to form the local rectangle of the panel; then read the edge position of the adjacent previous panel that needs to be edge banded and read back the edge line of the area marked as the edge banding position in the remaining area; when the edge position of the panel is the same as or opposite to the direction of the area edge line, translate the local rectangle of the panel in this direction to the first corner point to match the corresponding cut-in outline point to generate trial placement four corner points; when the edge position of the panel is inconsistent with the direction of the area edge line, rotate the local rectangle of the panel by 90 degrees and compare the direction again, and generate trial placement four corner points after the direction is the same or opposite.
[0050] The process of calculating whether all four corner points of the trial placement fall within the remaining area of the readback and whether the trial placement edges do not cross the edges of the remaining area of the readback is as follows: First, perform a point-in-polygon determination for each of the four corner points of the trial placement. During the determination, a ray is emitted horizontally from the four corner points of the trial placement and the number of intersections between the ray and the edges of the remaining area of the readback is counted. If the number of intersections is odd, it is written into the point position; if the number of intersections is even, it is written into the point position. Then, perform a line segment intersection determination on the four trial placement edges formed by sequentially connecting the four corner points of the trial placement and the edges of the remaining area of the readback. If all four corner points of the trial placement are in the point position and none of the four trial placement edges intersect with the edges of the remaining area of the readback, then the corresponding corner points of the trial placement are retained.
[0051] In a preferred embodiment, S4 further includes:
[0052] S4-3. When a board position with no corner points retained during trial placement appears in the acceptance position table, write the corresponding board position as the failure position, restore the area enclosed by the corner points of the board that was deducted after the failure position one by one, and re-execute the trial placement calculation of the adjacent previous board position after each restoration. Write the position of the corner points of the board that first made the corner points of trial placement retained as the pruning source position, and output the pruning source table.
[0053] S4-4. Based on the pruning source table, delete the pruning action corresponding to the pruning source order in the same recursive path, the dynamic planning record after the pruning source order, and the corresponding central processing unit calculation time slot occupation record. Regenerate the readback remaining area table and the receiving position table according to the retained recursive path until each board order in the receiving position table has a retained trial placement four corner point. Output the corresponding recursive path as a manufacturable design branch.
[0054] In a preferred embodiment, S5 includes:
[0055] S5-1. Using the sub-support cost value of the design branches that can be produced as the sorting object, first sort the branches from high to low according to the sub-support cost value to obtain the execution order of the branches. If the sub-support costs are the same, sort them sequentially according to the branch number from small to large. Then, deduct the corresponding branch's computing time slice from the available computing time slices in the central processing unit according to the branch execution order, and write the branch number that was successfully deducted into the branch time slice table.
[0056] S5-2. Based on the branch time-slice table, read the cabinet width, cabinet depth and cabinet height under the corresponding branch number. First, generate the side panel size according to the cabinet height and cabinet depth. Then, use the cabinet width to deduct the thickness of the two side panels and combine it with the cabinet depth to generate the shelf size. Then, use the cabinet width to deduct the door gap allowance and combine it with the cabinet height to generate the door panel size. Output the design optimization table.
[0057] In a preferred embodiment, S5 further includes:
[0058] S5-3. For each board size in the design optimization table, read the surplus window and the four corner points occupied by the board under the corresponding branch number. Deduct the area occupied by the board from the surplus window according to the area enclosed by the four corner points occupied by the board. If the edge of the surplus window after deduction does not intersect and the four corner points occupied by the board all fall into the surplus window, then write the corresponding board size into the surplus layout verification table.
[0059] S5-4. Using the same branch number in the surplus material layout verification table as the pricing object, calculate the board cutting area according to the board size and multiply it by the material area unit price to obtain the board value. Calculate the edge banding length according to the edge banding position of the board and multiply it by the edge banding length unit price to obtain the edge banding value. Add the board value and the edge banding value to obtain the material pricing result. Write the design optimization table, surplus material layout verification table and material pricing result into the same branch number, and output the parametric design result of the whole-house customized furniture undertaken by the surplus material.
[0060] A parametric design system for whole-house custom furniture based on a standardized module library, the system including a window module, a recursive module, a connection module, a pruning module, and a pricing module:
[0061] The window module is used to obtain the factory cutting waste material flow accessed by the industrial Internet platform. For each piece of waste material, it deducts from the outer contour inward according to the saw kerf width. According to the feeding direction of the edge banding machine, the contour after deduction is written into the edge banding position, and the waste material window is output.
[0062] The recursive module reads the standard component library based on the wall clear distance, floor finished surface and ceiling finished surface obtained from the room measurement, and performs width recursion, depth deduction and height supplementation on the cabinet components in sequence. After each recursion, it generates the corresponding panel size, outputs the component size and outputs the branch table to be calculated.
[0063] The receiving module is used to process the branch table to be calculated by the Lagrange relaxation dynamic programming algorithm of the leftover material receiving type. The order of the plates is used as the recursive stage, the remaining cut area formed after the plates are cut into the leftover material window is used as the stage state, and the calculation time occupied by the central processing unit to complete one design optimization, one layout verification and one material simulation is used as the relaxation deduction. The cut area is accumulated along the order of the plates and the relaxation deduction is deducted to output the value of the branch support receiving.
[0064] The pruning module is used to perform a backtracking pruning algorithm on the recursive path corresponding to the replacement value of the sub-support. It reads back the remaining material occupancy position from the tail section plate to the first section plate. When the remaining cutting area after the back reading cannot accommodate the unread plate, the recursive path that generates the corresponding remaining material occupancy position is deleted, and a productionable design branch is output.
[0065] The pricing module is used to allocate the calculation time slices of the central processing unit of the industrial internet platform according to the sub-support value of the manufacturable design branch, perform design optimization, surplus material layout verification and material pricing simulation on the manufacturable design branch, and output the parametric design results of the whole house customized furniture supported by the surplus materials.
[0066] The technical effects and advantages of this invention are as follows:
[0067] 1. This solution introduces the surplus material window into the central processing unit for calculation time allocation, so that the parameter branches are first screened by the surplus material acceptance constraint, which relatively reduces invalid design calculations and material cutting revisions;
[0068] 2. By generating a scrap window through saw kerf inward and edge sealing direction marking, the scrap boundary and processing direction are entered into the design calculation simultaneously, which relatively improves the verifiability of the plate cutting results;
[0069] 3. Perform width extrapolation, depth deduction, and height supplementation on the measuring room dimensions to ensure that the measuring room dimensions are gradually aligned with the standard component parameters, which helps to reduce inconsistencies in the source of dimensions;
[0070] 4. In the Lagrange relaxation dynamic programming, the area to be cut and the calculation time slice are coordinated so that the relationship between the utilization of surplus material and the platform's computing power consumption participate in the branch sorting, thereby improving the resource allocation.
[0071] 5. By using backtracking pruning to reverse-check the occupied space of leftover material, the recursive path that would prevent subsequent panels from being accepted is deleted, thus relatively suppressing the secondary splitting of the panel list. Attached Figure Description
[0072] Figure 1 This is a flowchart of the process for generating the surplus material window and the branch to be calculated in this invention;
[0073] Figure 2 This is a flowchart illustrating the calculation of the replacement value of the sub-support in this invention;
[0074] Figure 3 This is a flowchart of the backtracking pruning and design result output of the present invention;
[0075] Figure 4 This is a schematic diagram of the system module structure of the present invention. Detailed Implementation
[0076] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0077] Refer to the instruction manual appendix Figure 1-4 The present invention provides a parametric design method for whole-house customized furniture based on a standardized module library, comprising:
[0078] S1. Obtain the factory cutting surplus material flow from the industrial internet platform, deduct each piece of surplus material from the outer contour inward according to the saw kerf width, write the edge banding edge position on the contour after deduction according to the edge banding machine feed direction, and output the surplus material window.
[0079] After the industrial internet platform accesses the factory's leftover material flow, this implementation method converts each piece of leftover material data into a leftover material window that can be read for subsequent sub-support and replacement value calculation. The processing link sequentially completes thread assignment, saw kerf inward reduction, and edge banding direction marking, so that the leftover material window simultaneously carries the cutting outline, edge banding position, avoidance position, plate thickness, material identification, and thread affiliation; the specific processing is as follows.
[0080] When the surplus material data arrives at the platform, the cutting equipment, surplus material scanning station or surplus material registration terminal sends the surplus material data to the platform. The platform writes the surplus material arrival order starting from 0 according to the order of receipt.
[0081] When the external input sequence starts from 1, the platform subtracts one from the input sequence to obtain the internal surplus material arrival sequence. When executing S1-1, the platform reads the total number of threads in the thread number table of the central processing unit, divides the internal surplus material arrival sequence by the total number of threads to obtain the remainder, adds one to the remainder to determine the thread number, and writes the outer contour point sequence, plate thickness, material identifier and source cutting task number carried by the same surplus material data into the deduction task queue under the thread number to form the surplus material deduction task table.
[0082] The sequence of outer contour points is recorded using the same plate coordinate system and arranged in the order of surrounding the outer boundary of the remaining material. Adjacent outer contour points form contour edges, and the last outer contour point and the first and second outer contour points form a closed contour edge.
[0083] When the scrap data lacks the outer contour point sequence, source cutting task number, or plate coordinate system identifier, the platform will write the scrap data into the scrap anomaly record and stop entering the scrap deduction task table.
[0084] After entering the geometric deduction process, the platform reads the sequence of outer contour points in the residual material deduction task table, first deletes the outer contour points with the same adjacent coordinates, and then deletes the middle outer contour point in the three-point collinear structure.
[0085] When the contour edges intersect, the platform splits the contour edges according to the intersection points and takes the point sequence that forms a non-zero area outer ring as the new outer contour point sequence.
[0086] Subsequently, in S1-2, the platform generates contour edge vectors based on the coordinate differences of adjacent outer contour points, and accumulates the difference between "the current horizontal coordinate multiplied by the next vertical coordinate minus the next horizontal coordinate multiplied by the current vertical coordinate" on each side, and then takes half of the accumulated result to obtain the directed area.
[0087] When the directed area is positive, the sequence of outer contour points wraps around in a counterclockwise direction, and the left normal of the contour edge vector is taken as the inner direction;
[0088] When the directed area is negative, the outer contour point sequence wraps around in a clockwise direction, and the right normal direction of the contour edge vector is used as the inner direction; when the directed area is zero, the platform writes the surplus material data into the surplus material anomaly record and stops the cutting contour calculation.
[0089] The kerf width is read from the cutting equipment parameters or the cutting task record associated with the source cutting task number. The platform divides the contour edge vector by the edge length to obtain the unit edge vector, then rotates the unit edge vector to obtain the unit in-direction normal, and translates each contour edge along the unit in-direction normal by the kerf width to form a translation edge. Then, the intersection point of the previous translation edge and the next translation edge is calculated according to the sequence of outer contour points, and the cutting contour point sequence is generated according to the intersection point sequence.
[0090] When adjacent translation edges are parallel and cannot form an intersection, the platform writes the remaining material data into the parallel corner point record and stops passing the cutting contour point sequence to subsequent cutting calculations.
[0091] After the cutting contour point sequence is generated, the platform generates the cutting contour edge vector according to the coordinate difference between adjacent cutting contour points, and transforms the feed direction in the edge banding equipment coordinate system to the scrap plate surface coordinate system to obtain the edge banding machine feed direction vector.
[0092] Both the cut-in contour point coordinates and the edge banding machine feed direction vector are represented by millimeter integer coordinates, so that the cross product result has a definite integer value;
[0093] The processing of S1-3 is as follows: The platform calculates the cross product of each cut-in contour edge vector and the edge sealing machine feed direction vector. When the cross product is zero, the cut-in contour edge is written into the edge sealing edge position. When the cross product is not zero, the cut-in contour edge is written into the avoidance edge position.
[0094] The avoidance edge position is only used to read when the non-sealed edge position of the panel is close to the edge line of the excess material window; the sealing edge position is used for subsequent panel sealing edge position fitting calculation.
[0095] The platform uses the source material cutting task number and the order of arrival of leftover material to generate a leftover material window number, and writes the leftover material window number, the cutting outline point sequence, the edge sealing position, the avoidance position, the board thickness and the material identification into the leftover material window.
[0096] After the above processing is completed, the factory cutting surplus material flow is converted into a surplus material window with thread affiliation, cutting outline and edge banding direction identifier. Subsequent branches to be calculated can read the cutting outline point sequence, edge banding position, avoidance position, board thickness and material identifier according to the surplus material window number to participate in the calculation.
[0097] In practical applications, after a piece of scrap material enters the platform through the scrap material scanning station, the platform first writes the scrap material data into the deduction task queue under the corresponding thread number according to the arrival order of the scrap material. Then, according to the saw kerf width in the cutting task record, the outer contour point sequence is deducted inward to generate the cutting contour point sequence. Subsequently, the cutting contour edge parallel to the edge banding machine's feed direction is written as the edge banding edge position, and the remaining cutting contour edges are written as the avoidance edge positions. Finally, a scrap material window that can enter the sheet cutting, layout verification, and central processing unit calculation and sheet allocation process is obtained.
[0098] S2. Based on the wall clear distance, floor finished surface and ceiling finished surface obtained from the room measurement, read the standard component library, perform width recursion, depth deduction and height supplementation on the cabinet components in sequence, and generate the corresponding board size after each recursion, output the component size, and output the branch table to be calculated.
[0099] After the surplus material window is generated, the measurement record needs to be converted into a branch table to be calculated that can participate in the allocation of the central processing unit and the calculation of surplus material acceptance.
[0100] This implementation method focuses on the net wall distance, finished floor height, and finished ceiling height. First, the net wall distance is converted into a width recursive table with thread numbers. Then, the width code is associated with the depth deduction result. Finally, plate dimensions are generated and saved according to branch numbers, enabling the subsequent Lagrange relaxation dynamic programming algorithm for surplus material handling to read the dimensions of each plate individually. The specific processing is as follows:
[0101] When the room measurement record enters the width calculation link, the industrial internet platform first confirms that the net distance between the walls, the finished height of the floor, and the finished height of the ceiling are on the same coordinate reference.
[0102] When the coordinate reference is missing, the corresponding room measurement record is written into the room measurement anomaly record, and the generation of the width recursion table is stopped; when executing S2-1, the platform takes the wall net distance as the starting value, reads the left end position, right end position and cabinet width step from the standard component library according to the cabinet series number, first subtracts the left end position from the wall net distance to get the left deduction width, and then subtracts the right end position from the left deduction width to get the recursion width margin;
[0103] The cabinet width increment starts from a increment value and accumulates. Each time the accumulated result is less than or equal to the recursive width margin, a width code is written. The recursion stops when the next accumulated result is greater than the recursive width margin.
[0104] The width code generation sequence starts from 0. The platform divides the width code generation sequence by the total number of threads in the central processing unit to obtain the remainder, and then adds one to the remainder and writes it into the thread number to form a width recursion table with thread numbers. When the recursion width remainder is less than the cabinet width step, the platform writes the recursion width remainder into the closing compensation bit and does not generate a width code.
[0105] After the width recursion table is written, the platform uses the width code as the depth deduction index so that each width code can obtain a deducted depth that matches the installation clearance and door opening.
[0106] After entering S2-2, the platform reads the cabinet reference depth from the standard component library according to the width code. The cabinet reference depth is the original depth value before deducting installation clearance and panel slots.
[0107] The wall clearance depth is given by the wall protrusion record, skirting board thickness record or installation rule table in the room measurement record. The back panel groove depth and door panel opening clearance depth are read from the standard component library according to the cabinet series number.
[0108] The platform first subtracts the wall clearance depth from the cabinet's base depth to obtain the wall-mounted depth, then subtracts the back panel groove depth from the wall-mounted depth to obtain the panel groove depth, and then subtracts the door panel opening clearance depth from the panel groove depth to obtain the deducted depth. The deducted depth is then written into the same width code and the width-depth calculation table is output.
[0109] When the depth after deduction is less than or equal to zero, the platform writes the corresponding width code into the depth anomaly record and stops the width code from entering the height padding calculation.
[0110] During the height completion stage, the width code and the deducted depth in the width-depth calculation table are converted into the panel size that can be cut into the surplus material window, and the calculation results are bound to the thread number; when S2-3 is executed, the platform first uses the height value of the top finished surface to subtract the height value of the ground finished surface to obtain the clear height of the space, and then reads the skirting height, top sealing height, side panel thickness and door gap deduction from the standard component library;
[0111] The door gap allowance is obtained by adding the left door gap, right door gap, and center gap of double doors, and is used to deduct the door panel width. The door panel height is generated according to the height code.
[0112] The platform obtains the height code by subtracting the skirting board height and the top sealing height from the net height of the space. Then, it generates the side panel size by subtracting the side panel thickness from the width code and then generating the shelf size by subtracting the depth. Finally, it generates the door panel size by subtracting the door gap allowance from the width code and then generating the door panel size by subtracting the door gap allowance from the width code and then generating the door panel size by subtracting the door gap allowance from the width code.
[0113] The width code serves as a candidate value for the width of a single cabinet. One or more width codes are sequentially generated to form branches to be calculated. When the sum of the continuous widths is less than or equal to the recursive width margin, the branch number is written. The remaining width is written to the closing compensation bit.
[0114] The uncalculated branch table stores the branch number, thread number, width code, depth after deduction, height code, board position, board size, edge banding position, and source surplus material window number, which are used by S3 to read according to the board position.
[0115] At this point, the measurement record is converted into a branch table to be calculated with thread number, branch number and board order. The width recursion result, depth deduction result and height completion result can all be traced by the same branch number in subsequent calculation steps.
[0116] In practical applications, the net distance of a wall is first reduced by the left and right end space to obtain the recursive width margin. The platform generates multiple width codes according to the cabinet width step and assigns them to the central processing unit thread. Then, the wall clearance depth, back panel groove depth and door opening clearance depth are deducted for each width code. Finally, the side panel size, shelf size and door panel size are generated by combining the net height of the space, forming a branch table to be calculated that can enter the Lagrange relaxation dynamic programming algorithm for surplus material acceptance.
[0117] S3. The branch table to be calculated is processed by the Lagrange relaxation dynamic programming algorithm of the surplus material acceptance type. The order of the plates is used as the recursive stage, the remaining cut area formed after the plates are cut into the surplus material window is used as the stage state, and the calculation time occupied by the central processing unit for one design optimization, one layout verification and one material simulation is used as the relaxation deduction. The cut area is accumulated along the order of the plates and the relaxation deduction is deducted to output the branch support replacement value.
[0118] After the branch table to be calculated enters the surplus material acceptance calculation, this implementation method takes the same branch to be calculated as a unit and organizes the board sequence, board size, surplus material window and central processing unit calculation time slice into a recursive data chain.
[0119] The platform first generates the available cutting actions for the current board in the current surplus material window, and then uses the surplus material receiving type Lagrange relaxation dynamic programming algorithm to write the cutting area and computing resource usage into the same generation value calculation process. Subsequently, the thread calculation time slice excess result is written back as the relaxation multiplier change, and finally the sub-support replacement value that can be read by backtracking pruning is obtained; the specific processing is as follows;
[0120] The cutting action table is formed by S3-1. The platform takes the same branch to be calculated in the branch to be calculated table as the calculation object. First, it reads the plate position according to the branch number, then reads the current plate size, edge banding position, thread number and source surplus window number according to the plate position, and reads the cutting outline point sequence, edge banding position and avoidance position in the current surplus window according to the source surplus window number.
[0121] The current panel size is first converted into a rectangular outline in the local coordinate system of the panel. The lower left corner outline point is used as the first corner point. The four outline points are formed into the panel outline according to the local coordinate system of the panel.
[0122] The platform will sequentially align the first corner point with each cutting contour point of the current surplus material window, and first generate a placement result according to the original direction of the plate, and then rotate it 90 degrees to generate a placement result. Each placement requires that the edge sealing direction of the plate is the same as or opposite to the edge sealing direction of the current surplus material window.
[0123] For each placement result, the platform determines the intersection of the four corner points of the plate with the current surplus material window execution point within the polygon, and determines the intersection of the four sides of the plate with the current surplus material window edge line execution segment.
[0124] If all four corner points are located within or on the edge of the current surplus window, and the edge of the board does not cross the edge of the current surplus window at a non-endpoint position, the platform retains the placement result and deducts the area occupied by the board from the current surplus window according to the area enclosed by the four corner points of the board to obtain the remaining cutting area; placement results that do not meet the above geometric criteria are written into the cutting failure record.
[0125] The platform writes the retained placement results, the four corner points of the board, the remaining cutting area, the thread number, and the order of cutting actions into the cutting action table;
[0126] If the current panel does not have a placement result in the current surplus window, then write an empty cut-in action record in the corresponding panel order for subsequent recursive stopping reading;
[0127] The initial layer of the dynamic programming table starts from the virtual layer before the first board position, and the virtual layer value is 0; when entering the recursive calculation of S3-2, the platform reads the retention and placement results in the cut-in action table according to the board position, and takes the current cut-in area as the area of the rectangular area enclosed by the four corner points of the current board. When the current board is an irregular outline, the area enclosed by the outline of the board is taken.
[0128] The calculation time slice of the central processing unit is obtained by adding the design optimization time slice, the layout verification time slice, and the material simulation time slice. The three types of time slices first read the difference between the start time and the end time of the previous round of calculation of the same type of board in the industrial Internet platform. When calculating for the first time, the basic time slice table registered on the platform is read.
[0129] The platform reads the relaxation multiplier under the current thread number, and the relaxation multiplier is set to 0 in the first round. The increment of this layer is obtained by subtracting the product of the calculation time slice of the central processing unit under the current thread number and the relaxation multiplier from the current cut area. The cost of this layer is obtained by adding the cost of the previous layer to the increment of this layer.
[0130] After each cutting action calculation is completed, the platform writes the branch number, board sequence, surplus material window number, cutting action generation sequence, remaining cutting area, thread number, central processing unit calculation time slice, and the value of this layer into the dynamic programming table.
[0131] If there is no valid record in the previous layer, the current layer will not generate the value of this layer, and the corresponding board sequence will be written into the recursive interrupt record;
[0132] The constraint write-back of computing resources is completed in S3-3. The platform reads the dynamic programming table by thread number and adds up the central processing unit computing time slices that have been written to each branch to be calculated under the same thread number to obtain the thread time slice occupancy.
[0133] Then read the available computing time slice for that thread number. The available computing time slice is read from the central processing unit's running record at the start of this round of computing by the industrial internet platform, and the idle processor time slice of that thread number is taken as the available computing time slice for this round.
[0134] The platform subtracts the available computing time slice from the thread time slice usage to obtain the excess time slice; when the excess time slice is positive, the new relaxation multiplier is the original relaxation multiplier plus the excess time slice; when the excess time slice is zero or negative, the new relaxation multiplier uses the original relaxation multiplier.
[0135] The new relaxation multiplier is written back to the relaxation multiplier field of the corresponding thread number in the dynamic programming table according to the thread number. At the same time, the time slice occupancy of the current thread, the available computation time slice, the time slice exceeded, and the new relaxation multiplier are written to the relaxation write-back record.
[0136] If a thread number lacks a record of available computation time slices, the platform will write the uncomputed branch under that thread number into the suspended computation record and wait for the next round of central processing unit operation record to be refreshed before continuing the computation.
[0137] The dynamic programming table after writing back is used to recalculate the cost value of this layer. During the recalculation process, S3-4 reads the dynamic programming records in the same branch to be calculated layer by layer according to the board order, and recalculates the increment and cost value of this layer using the new relaxation multiplier.
[0138] After the sequence of each piece is recalculated, the platform first arranges the records in descending order of the value of the current layer. If the values of the current layer are the same, they are arranged in descending order of the area of the remaining cutting area. If the area of the remaining cutting area is still the same, they are arranged in ascending order of the remaining material window number and the cutting action, and the first record of the arrangement is retained.
[0139] The platform then reads the size of the next panel, aligns the first corner point of the next panel with the remaining cut-in area outline point in the reserved record, and performs the four corner point falling in judgment and edge line crossing judgment. If the next panel placement result can be formed, the reserved record enters the next layer of recursion. If the next panel placement result cannot be formed, the reserved record is written to the subsequent failure record and deleted from the reserved record of this round.
[0140] The platform proceeds layer by layer to the last board in the above manner. When the last board has a replacement value for this layer, the replacement value for this layer corresponding to the last board is written as the replacement value of the sub-support connection.
[0141] If the new relaxation multiplier for each thread number in this round is the same as the relaxation multiplier in the previous round, and each uninterrupted branch generates the last component's value for this layer, the platform stops recalculating. If there are still changes in the relaxation multiplier, the next round of recalculation will be carried out using the rewritten dynamic programming table.
[0142] After the above processing, the plate dimensions in the branch table to be calculated are no longer just used as geometric dimensions for layout, but are entered into the value calculation together with the surplus material window acceptance relationship, thread number and central processing unit calculation time slice, forming a branch support acceptance value that can reflect the surplus material acceptance capacity and the platform's computing resource occupation.
[0143] In practical applications, when a branch to be calculated includes side panels, shelf panels and door panels, the platform first aligns the first corner point of the side panel with the outline point of the material window to generate the cutting action, and then writes the cutting area of the side panel together with the thread calculation time slice into the value of this layer.
[0144] If multiple branches under the same thread number occupy more computation time slices than the available computation time slices for that thread number, the platform will write back the excess time slices as relaxation multiplier changes and reduce the cost of the pruning path that occupies too much computation time slice in the next round. Finally, it will retain the recursive path that can complete the pruning of the last board and whose computation resource usage is in line with the available time slices of the thread.
[0145] S4. For the recursive path corresponding to the replacement value of the sub-support, execute the backtracking pruning algorithm, read back the remaining material occupancy position from the tail section plate to the first section plate, and when the remaining cut area after backtracking cannot accept the unread plate, delete the recursive path that generates the corresponding remaining material occupancy position and output the productionable design branch.
[0146] After the value of the sub-support is completed, this implementation method expands the recursive path in reverse into a verifiable residual material occupation process. By deducting the occupied area of the plate in reverse order, placing adjacent previous plates, restoring the position of the pruning source of the deducted area, and deleting the failed recursive records, the recursive path is further converged from "the value of the sub-support is acceptable" to a manufacturable design branch of "each plate can be accepted".
[0147] The reverse reading of the recursive path starts from the last board. The platform takes the recursive path corresponding to the sub-support replacement value as input, reads the branch number, and reads the remaining material window number, the four corner points occupied by the board, the edge sealing position, the thread number and the calculation time of the central processing unit layer by layer from the last to the first according to the board position.
[0148] The four corner points occupied by the board are the four vertices of the rectangular area occupied by the board after the board is cut into the leftover material window. The four vertices are stored in the recursive path according to the placement direction of the board.
[0149] S4-1 is responsible for reading back the remaining area generation here: the platform takes the area enclosed by the sequence of cut-in outline points under the same left material window number as the starting area, and deducts the area enclosed by the four corner points of the board one by one according to the reverse reading results;
[0150] When a single region is obtained after deduction, the platform directly writes it back to the remaining region table. When multiple separate regions are obtained after deduction, the platform writes the sub-region order according to the region area from largest to smallest, and simultaneously saves the branch number, surplus window number, sub-region order, thread number and central processing unit calculation time slice.
[0151] When non-adjacent edge lines intersect after deduction, the platform will write the board order into the deduction anomaly record and terminate the calculation of the continuation position of the recursive path.
[0152] The receiving position table is generated from the trial placement results of adjacent previous plates and is used to confirm whether the remaining space after reverse deduction can continue to accommodate plates that have not yet been read back.
[0153] When the board sequence k is read back, the platform determines the board corresponding to sequence k-1 as the adjacent preceding board; when k is the first board, the platform writes the acceptance completion position.
[0154] When S4-2 processes each readback remaining area, it first reads the size of the adjacent previous board and generates the local rectangle of the board, then reads the board edge position that needs to be sealed of the adjacent previous board and the edge line of the area marked as the sealing edge position in the readback remaining area.
[0155] When the edge of the panel is in the same or opposite direction as the edge of the area, the platform will translate the local rectangle of the panel to the first corner point to match the corresponding cut-in outline point, and generate the four corner points for trial placement.
[0156] When the orientations are inconsistent, the platform will rotate the local rectangle of the board by 90 degrees and compare it again. If the orientations are the same or opposite, the platform will generate four corner points for trial placement.
[0157] The platform performs a point-in-polygon determination for each trial placement corner point. When the trial placement corner point falls on the edge of the remaining area after the readback, it is written into the point position. When the ray passes through the vertex of the area, only the intersection of the ordinate of the area edge of the ray is counted. When the number of intersection points is odd, it is written into the point position. When the number of intersection points is even, it is written into the point position.
[0158] The platform then sequentially connects the four corner points of the trial placement into four trial placement edge lines, and performs line segment intersection determination with the remaining area edge lines of the readback area one by one. When the trial placement edge line coincides with the area edge line, it writes the edge-attaching position; when the trial placement edge line intersects at a non-endpoint position, it writes the crossing position.
[0159] When all four corner points of the trial placement are within the point and none of the four trial placement edges are written into the crossing position, the platform retains the corresponding corner points of the trial placement and writes the plate sequence, surplus material window number, sub-area sequence and retention mark into the receiving position table.
[0160] The failure priority location is initiated after the acceptance position table is formed. The platform searches for board positions that do not have reserved trial placement four corner points and writes the board position as the failure priority.
[0161] The pruning source solution for S4-3 adopts a position-by-position recovery rule: the platform starts from the position after the failure position and recovers the area enclosed by the four corner points of the deducted plate one by one according to the plate position to the last plate.
[0162] For each occupied area restored, the platform immediately re-executes the first corner point fitting of the adjacent front panel, edge sealing direction comparison, point inside polygon determination, and line segment intersection determination.
[0163] When the first reserved trial placement four corner points are generated, the order of the four corner points occupied by the restored board is written as the pruning source order; when the last board is restored and no reserved trial placement four corner points are generated, the platform writes the failure order into the unacceptable record and removes the corresponding recursive path from the candidate path set.
[0164] After obtaining the pruning source priority, the platform writes the branch number, failure priority, pruning source priority, surplus material window number and thread number into the pruning source table for the deletion and recalculation process to read.
[0165] The solution after pruning is completed in S4-4. The platform locates the pruning action, dynamic programming record and central processing unit calculation time slot occupation record by branch number, board sequence, surplus material window number and thread number. It also deletes the pruning action corresponding to the pruning source sequence, the dynamic programming record after the pruning source sequence and the corresponding calculation time slot occupation record.
[0166] After deletion, the platform deducts the deleted computation time slice from the time slice occupancy of the corresponding thread number, and then regenerates the readback remaining area table and the acceptor bit table according to the retained recursive path;
[0167] If there are still board positions in the acceptance position table where no trial placement corner points are retained, the platform will continue to perform failed position positioning and pruning source deletion.
[0168] Each board in the receiving position table has four corner points that are reserved for trial placement. When the recursive path is matched layer by layer with the corresponding thread number of the central processing unit calculation time slot occupancy record, the platform writes the recursive path into the manufacturable design branch and retains the branch number, surplus material window number, board corner points, edge sealing position, thread number and central processing unit calculation time slot occupancy record.
[0169] After this reverse processing, the production design branch can simultaneously meet the requirements of surplus material space acceptance, edge sealing direction fitting, and consistency of calculation time recording. Subsequent design optimization, surplus material layout verification, and material pricing can directly read and retain the recursive path.
[0170] In production layout scenarios, in practical applications: when the cutting action of the door panel occupies the remaining cutting area required for the subsequent trial placement of the shelf, the platform will write the shelf order as the failure order in the reverse readback, and then restore the area occupied by the panels after the failure order one by one, locate the pruning source order that caused the shelf to be unable to accept, then delete the corresponding cutting action and subsequent dynamic planning records, and regenerate the readback remaining area table and the acceptance position table until the side panel, shelf, and door panel can all obtain the reserved trial placement four corner points in the same recursive path.
[0171] S5. Based on the value allocation of the support of the manufacturable design branch, the central processing unit of the industrial internet platform calculates the time slice, performs design optimization, surplus material layout verification and material pricing simulation on the manufacturable design branch, and outputs the parametric design results of the whole-house customized furniture supported by the surplus materials.
[0172] After the manufacturable design branch is pruned, this implementation method transfers the manufacturable design branch to the central processing unit of the industrial internet platform for computing time allocation, and binds the computing resource usage results with the production board size, surplus material layout verification and material pricing results to the same branch number, so that the output results can simultaneously reflect the design size, surplus material acceptance relationship and platform computing resource usage; the specific processing is as follows;
[0173] When a branch enters the execution schedule, the industrial internet platform reads the branch number, branch support replacement value, thread number and computing time slice occupancy in the manufacturable design branch, and reads the available computing time slice of the central processing unit corresponding to the current thread number.
[0174] In the processing corresponding to S5-1, the platform first arranges the branches in descending order of their replacement value to obtain the branch execution order. When the replacement values of the branches are the same, they are arranged in ascending order of their branch numbers. Then, the computing time slices occupied by each branch are read one by one according to the branch execution order and deducted from the available computing time slices of the central processing unit of the corresponding thread number.
[0175] When the remaining time slices after deduction are zero or positive, the platform writes the branch number, thread number, available computing time slices before deduction, branch computing time slice occupancy, and remaining time slices after deduction into the branch time slice table;
[0176] When the remaining time slices after deduction are negative, the platform does not write them into the branch time slice table, but writes the branch number into the deferred branch table. After the same thread number releases a new available computing time slice for the central processing unit, the deduction continues according to the original branch execution order.
[0177] The dimensions of the production panels are generated after the sheet table is formed during branching. The platform reads the width code, the depth and height code after deduction according to the branch number, and reads the side panel thickness, door gap deduction, panel naming rules and panel sequence rules from the standard component library.
[0178] During S5-2 processing, the platform uses the dimensions of the board to be calculated generated by S2 as the verification input, and then confirms that the current branch has obtained the calculation time slice of the central processing unit according to the branch time slice table. Then, it generates the side panel dimensions according to the height code and the deducted depth, generates the shelf dimensions according to the width code and the deducted depth, and generates the door panel dimensions according to the width code and the door gap deduction amount and the height code.
[0179] When the board size generated by S5 is consistent with the board size to be calculated in S2, the platform copies the board size to be calculated in S2 and writes it into the verification pass bit. When the two are inconsistent, the platform writes the board size generated by S5 into the production board size and writes the difference field into the size verification record.
[0180] The design optimization table stores branch number, thread number, board sequence, production board size, approval status, and size approval record.
[0181] The verification of leftover material layout is performed based on the production panel dimensions in the design optimization table. The platform reads the leftover material window, the four corner points occupied by the panel, the sequence of cut-in outline points, the edge sealing position, and the avoidance position according to the branch number.
[0182] After entering S5-3, the platform first deducts the area occupied by the board from the surplus material window according to the area enclosed by the four corner points of the board. When a remaining area is obtained after deduction, it directly enters the edge line check. When multiple separated areas are obtained after deduction, the sub-area order is written according to the area from largest to smallest.
[0183] The platform then performs a self-intersection check on the edge lines of the deducted excess material window. Specifically, it performs line segment intersection judgment on each non-adjacent edge according to the edge line order. When any non-adjacent edge intersects, it writes the self-intersection position and stops the corresponding board size from entering the excess material layout verification table.
[0184] When no self-intersection position is written, the platform performs a point determination within the polygon for the four corner points occupied by the board. If all four corner points are located within the surplus material window or on the edge of the surplus material window, the platform writes the corresponding board size, the four corner points occupied by the board, the surplus material window number, the sub-region order, and the edge sealing position into the surplus material layout verification table; if there are points outside the layout, the platform writes the corresponding board order into the layout failure record.
[0185] The material pricing result is generated by the surplus material layout verification table. The pricing process corresponding to S5-4 is organized according to the same branch number to collect the verified board dimensions and edge banding positions.
[0186] The platform first calculates the cut area of the board using the board size. For rectangular boards, the area is calculated by multiplying the longer side by the shorter side. For irregularly shaped boards, the area is calculated by enclosing the outline of the board. Then, the material price per unit area is obtained by indexing the material price list based on the material identification and board thickness. Finally, the board cut area is multiplied by the material price per unit area to obtain the board value.
[0187] The edge banding length is obtained by summing the corresponding edge lengths of the edge banding positions on the board. The platform then uses the edge banding strip model corresponding to the edge banding position to index the edge banding price list to obtain the unit price of the edge banding length, and multiplies the edge banding length by the unit price of the edge banding length to obtain the value of the edge banding.
[0188] The platform adds the value of the board material to the value of the edge banding to obtain the material pricing result. It then writes the design optimization table, the surplus material layout verification table, the material pricing result, the central processing unit calculation time slot occupancy record, and the deferred branch table processing result into the same branch number, and outputs the parametric design result of the whole-house customized furniture undertaken by the surplus material.
[0189] After S5 processing is completed, the parametric design results of whole-house customized furniture output by the industrial internet platform include branch number, surplus material window number, production panel size, panel occupancy of four corner points, edge banding position, surplus material layout verification table, material pricing results, and central processing unit calculation time slot occupancy record, so that the design results can be read by the design end, quotation end and factory cutting end.
[0190] In practical applications, the platform first prioritizes high-value, manufacturable design branches in the central processing unit. After obtaining the calculation time slice, it generates the production panel dimensions for side panels, shelves, and door panels. Then, it substitutes the four corner points occupied by the panels back into the surplus material window to verify the self-intersection of the edges and the relationship within the points. After verification, it generates the material pricing result based on the material identification, board thickness, and edge banding model. Finally, it forms a parametric design result for whole-house custom furniture that can directly accept factory surplus materials.
[0191] Furthermore, the present invention also includes a parametric design system for whole-house customized furniture based on a standardized module library, the system comprising a window module, a recursive module, a connection module, a pruning module, and a pricing module:
[0192] The window module is used to obtain the factory cutting waste material flow accessed by the industrial Internet platform. For each piece of waste material, it deducts from the outer contour inward according to the saw kerf width. According to the feeding direction of the edge banding machine, the contour after deduction is written into the edge banding position, and the waste material window is output.
[0193] The recursive module reads the standard component library based on the wall clear distance, floor finished surface and ceiling finished surface obtained from the room measurement, and performs width recursion, depth deduction and height supplementation on the cabinet components in sequence. After each recursion, it generates the corresponding panel size, outputs the component size and outputs the branch table to be calculated.
[0194] The receiving module is used to process the branch table to be calculated by the Lagrange relaxation dynamic programming algorithm of the leftover material receiving type. The order of the plates is used as the recursive stage, the remaining cut area formed after the plates are cut into the leftover material window is used as the stage state, and the calculation time occupied by the central processing unit to complete one design optimization, one layout verification and one material simulation is used as the relaxation deduction. The cut area is accumulated along the order of the plates and the relaxation deduction is deducted to output the value of the branch support receiving.
[0195] The pruning module is used to perform a backtracking pruning algorithm on the recursive path corresponding to the replacement value of the sub-support. It reads back the remaining material occupancy position from the tail section plate to the first section plate. When the remaining cutting area after the back reading cannot accommodate the unread plate, the recursive path that generates the corresponding remaining material occupancy position is deleted, and a productionable design branch is output.
[0196] The pricing module is used to allocate the calculation time slices of the central processing unit of the industrial internet platform according to the sub-support value of the manufacturable design branch, perform design optimization, surplus material layout verification and material pricing simulation on the manufacturable design branch, and output the parametric design results of the whole house customized furniture supported by the surplus materials.
[0197] Working Principle: This solution first connects to the factory's leftover material flow through the industrial internet platform. Each piece of leftover material is deducted inwards according to the saw kerf width and marked with edge-sealing positions according to the edge banding machine's feed direction, forming a leftover material window that can be directly used in calculations. Then, based on the wall clearance, floor finish, and ceiling finish obtained from the room measurements, the cabinet width is recursively calculated, the installation depth is deducted, and the cabinet height is supplemented, generating a branch table to be calculated. Subsequently, using a Lagrange relaxation dynamic programming algorithm for leftover material acceptance, the ability of a panel to be cut into the leftover material window, the cut-in area, and the central processing unit's calculation time slots are calculated in the same recursive process to obtain the sub-support replacement value. Then, using a backtracking pruning algorithm, the leftover material occupancy relationship is checked from the tail panel, and recursive paths that would prevent the preceding panels from being accepted are deleted, resulting in a productionable design branch. Finally, the central processing unit's calculation time slots are allocated according to the sub-support replacement value to complete design optimization, leftover material layout verification, and material pricing, outputting the parametric design results of the whole-house customized furniture accepted by the leftover material.
[0198] In scenarios where stores can quickly generate drawings and factories can simultaneously utilize leftover materials, after the designer inputs the dimensions of a wall, the platform simultaneously reads the data of leftover materials left over from the factory's cutting that day. It first converts the leftover materials into leftover material windows with cutting boundaries and edge banding directions, and then generates multiple combinations of cabinet width, depth, and height. The platform does not calculate all combinations completely at first, but prioritizes calculating branches that can be accommodated by existing leftover materials and occupy more reasonable calculation time. If a door panel occupies the leftover material space needed for the subsequent shelf, backtracking pruning will delete the corresponding path and retain the accommodateable path again. The generated solution, from design dimensions and leftover material layout to quotation, corresponds to the existing leftover materials in the factory, reducing invalid calculations and cutting revisions.
[0199] The above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A parametric design method for whole-house customized furniture based on a standardized module library, characterized in that, include: S1. Obtain the factory cutting surplus material flow from the industrial internet platform, deduct each piece of surplus material from the outer contour inward according to the saw kerf width, write the edge banding edge position on the contour after deduction according to the edge banding machine feed direction, and output the surplus material window. S2. Based on the wall clear distance, floor finished surface and ceiling finished surface obtained from the room measurement, read the standard component library, perform width recursion, depth deduction and height supplementation on the cabinet components in sequence, and generate the corresponding board size after each recursion, output the component size, and output the branch table to be calculated. S3. The branch table to be calculated is processed by the Lagrange relaxation dynamic programming algorithm of the surplus material acceptance type. The order of the plates is used as the recursive stage, the remaining cut area formed after the plates are cut into the surplus material window is used as the stage state, and the calculation time occupied by the central processing unit for one design optimization, one layout verification and one material simulation is used as the relaxation deduction. The cut area is accumulated along the order of the plates and the relaxation deduction is deducted to output the branch support replacement value. S4. For the recursive path corresponding to the replacement value of the sub-support, execute the backtracking pruning algorithm, read back the remaining material occupancy position from the tail section plate to the first section plate, and when the remaining cut area after backtracking cannot accept the unread plate, delete the recursive path that generates the corresponding remaining material occupancy position and output the productionable design branch. S5. Based on the sub-support value allocation of the manufacturable design branch, the central processing unit of the industrial internet platform calculates the time slice, performs design optimization, surplus material layout verification and material pricing simulation on the manufacturable design branch, and outputs the parametric design results of the whole-house customized furniture supported by the surplus materials.
2. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 1, characterized in that: S1 includes: S1-1. Taking the arrival order of the leftover materials in the factory's leftover material flow and the thread number table of the central processing unit as input, divide the arrival order of the leftover materials by the total number of threads to get the remainder, add one to the remainder as the thread number, and write the corresponding sequence of the outer contour points of the leftover materials into the deduction task queue under the corresponding thread number, and output the leftover material deduction task table. S1-2. For the sequence of outer contour points in the task table of excess material deduction, generate contour edge vectors according to the coordinate difference of adjacent outer contour points, determine the inner direction according to the directed area of the outer contour point sequence, translate each contour edge along the inner direction by the saw kerf width, and reconstruct the cut-in contour using the intersection of adjacent translated edges, and output the cut-in contour point sequence. S1-3. Based on the cut-in contour point sequence and the edge banding machine feed direction, calculate the cross product of the edge vector of each cut-in contour edge and the edge banding machine feed direction vector. Cut-in contour edges with a cross product of zero are written into the edge banding edge position, and cut-in contour edges with a cross product of non-zero are written into the avoidance edge position. Output the excess material window.
3. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 2, characterized in that: S2 includes: S2-1. Starting from the net distance of the wall in the room measurement record, first deduct the left edge space to get the left width after deduction, then deduct the right edge space to get the recursive width margin. Starting from the width step of a cabinet, accumulate the width code according to the same cabinet width step. Stop the recursion before the accumulated result exceeds the recursive width margin. Then, divide the width code generation sequence by the total number of threads in the central processing unit and add one to the remainder and write it into the thread number. Output the width recursion table. S2-2. For the width code in the width recursion table, read the cabinet reference depth using the width code as the index, first deduct the wall clearance depth to get the depth after wall contact, then deduct the back panel groove depth to get the depth after panel groove, then deduct the door panel opening clearance depth to get the deducted depth, and write the deducted depth into the corresponding width code, and output the width-depth calculation table. S2-3. Based on the width-depth calculation table, read the deducted depth under the same width code. Subtract the finished floor surface from the finished top surface to obtain the clear height of the space. Then, subtract the skirting board height and top sealing height from the clear height of the space to obtain the height code. Generate the side panel size according to the height code and the deducted depth. Subtract twice the side panel thickness according to the width code and the deducted depth to generate the shelf size. Subtract the door gap allowance according to the width code and the height code to generate the door panel size. Write the corresponding width code according to the thread number and output the branch table to be calculated.
4. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 3, characterized in that: S3 includes: S3-1. Using the same branch in the branch table to be calculated as the calculation object, read the current board size and the current surplus window according to the board position, align the first corner point of the current board with the cutting outline point of the current surplus window in sequence, and place the current board in the direction of consistent edge sealing, delete the placement result where the board outline goes beyond the current surplus window, and write the retained placement result into the cutting action table. S3-2. The cutting action table is processed by the Lagrange relaxation dynamic programming algorithm for the surplus material receiving type. The cost value of the previous layer of the first piece is zero. The current cutting area is subtracted from the product of the calculation time slice and the relaxation multiplier of the central processing unit under the current thread number as the current layer increment. The cost value of the previous layer is added to the current layer increment to obtain the cost value of the current layer. The cutting action, the remaining cutting area, the thread number and the cost value of the current layer are written into the dynamic programming table.
5. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 4, characterized in that: S3 also includes: S3-3. Under the same thread number, accumulate the central processing unit calculation time slices occupied by each branch to be calculated according to the dynamic programming table. Subtract the available calculation time slice of the corresponding thread number from the accumulated result to obtain the excess time slice. Add the excess time slice to the original relaxation multiplier to obtain the new relaxation multiplier. Replace the original relaxation multiplier of the same thread number in the dynamic programming table with the new relaxation multiplier and output the dynamic programming table after writing back. S3-4. Based on the dynamic programming table after writing back, recalculate the value of this layer, and retain the records of the first-ranked value in the same branch to be calculated and the remaining cut-in area can accept the next board in order of board position, until the last board is cut in. Write the value of this layer corresponding to the last board as the branch support connection value.
6. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 5, characterized in that: S4 includes: S4-1. Using the recursive path corresponding to the sub-support replacement value as input, read the leftover window number, the four corner points occupied by the board, the edge sealing position, the thread number and the calculation time of the central processing unit of each layer in reverse order of the board position. Taking the cutting contour point sequence under the same leftover window number as the starting area, deduct the area enclosed by the four corner points of the board that has been read in reverse order in turn, and output the readback remaining area table. S4-2. For each read-back remaining area in the read-back remaining area table, read the dimensions of the adjacent previous board that have not yet been read in reverse order, match the first corner points of the adjacent previous board to the cut-in contour points of the read-back remaining area one by one, and generate trial placement four corner points in the same direction as the sealing edge. Calculate whether the trial placement four corner points all fall into the read-back remaining area and whether the trial placement edge lines do not cross the edge lines of the read-back remaining area, and output the receiving position table.
7. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 6, characterized in that: S4 also includes: S4-3. When a board position with no corner points retained during trial placement appears in the acceptance position table, write the corresponding board position as the failure position, restore the area enclosed by the corner points of the board that was deducted after the failure position one by one, and re-execute the trial placement calculation of the adjacent previous board position after each restoration. Write the position of the corner points of the board that first made the corner points of trial placement retained as the pruning source position, and output the pruning source table. S4-4. Based on the pruning source table, delete the pruning action corresponding to the pruning source order in the same recursive path, the dynamic planning record after the pruning source order, and the corresponding central processing unit calculation time slot occupation record. Regenerate the readback remaining area table and the receiving position table according to the retained recursive path until each board order in the receiving position table has a retained trial placement four corner point. Output the corresponding recursive path as a manufacturable design branch.
8. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 7, characterized in that: S5 includes: S5-1. Using the sub-support cost value of the design branches that can be produced as the sorting object, first sort the branches from high to low according to the sub-support cost value to obtain the execution order of the branches. If the sub-support costs are the same, sort them sequentially according to the branch number from small to large. Then, deduct the corresponding branch's computing time slice from the available computing time slices in the central processing unit according to the branch execution order, and write the branch number that was successfully deducted into the branch time slice table. S5-2. Based on the branch time-slice table, read the cabinet width, cabinet depth and cabinet height under the corresponding branch number. First, generate the side panel size according to the cabinet height and cabinet depth. Then, use the cabinet width to deduct the thickness of the two side panels and combine it with the cabinet depth to generate the shelf size. Then, use the cabinet width to deduct the door gap allowance and combine it with the cabinet height to generate the door panel size. Output the design optimization table.
9. The parametric design method for whole-house customized furniture based on a standardized module library according to claim 8, characterized in that: S5 also includes: S5-3. For each board size in the design optimization table, read the surplus window and the four corner points occupied by the board under the corresponding branch number. Deduct the area occupied by the board from the surplus window according to the area enclosed by the four corner points occupied by the board. If the edge of the surplus window after deduction does not intersect and the four corner points occupied by the board all fall into the surplus window, then write the corresponding board size into the surplus layout verification table. S5-4. Using the same branch number in the surplus material layout verification table as the pricing object, calculate the board cutting area according to the board size and multiply it by the material area unit price to obtain the board value. Calculate the edge banding length according to the edge banding position of the board and multiply it by the edge banding length unit price to obtain the edge banding value. Add the board value and the edge banding value to obtain the material pricing result. Write the design optimization table, surplus material layout verification table and material pricing result into the same branch number, and output the parametric design result of the whole-house customized furniture undertaken by the surplus material.
10. A parametric design system for whole-house customized furniture based on a standardized module library, used to implement the parametric design method for whole-house customized furniture based on a standardized module library as described in any one of claims 1-9, the system comprising a window module, a recursive module, a connection module, a pruning module, and a pricing module, characterized in that: The window module is used to obtain the factory cutting waste material flow accessed by the industrial Internet platform. For each piece of waste material, it deducts from the outer contour inward according to the saw kerf width. According to the feeding direction of the edge banding machine, the contour after deduction is written into the edge banding position, and the waste material window is output. The recursive module reads the standard component library based on the wall clear distance, floor finished surface and ceiling finished surface obtained from the room measurement, and performs width recursion, depth deduction and height supplementation on the cabinet components in sequence. After each recursion, it generates the corresponding panel size, outputs the component size and outputs the branch table to be calculated. The receiving module is used to process the branch table to be calculated by the Lagrange relaxation dynamic programming algorithm of the leftover material receiving type. The order of the plates is used as the recursive stage, the remaining cut area formed after the plates are cut into the leftover material window is used as the stage state, and the calculation time occupied by the central processing unit to complete one design optimization, one layout verification and one material simulation is used as the relaxation deduction. The cut area is accumulated along the order of the plates and the relaxation deduction is deducted to output the value of the branch support receiving. The pruning module is used to perform a backtracking pruning algorithm on the recursive path corresponding to the replacement value of the sub-support. It reads back the remaining material occupancy position from the tail section plate to the first section plate. When the remaining cutting area after the back reading cannot accommodate the unread plate, the recursive path that generates the corresponding remaining material occupancy position is deleted, and a productionable design branch is output. The pricing module is used to allocate the calculation time slices of the central processing unit of the industrial internet platform according to the sub-support value of the manufacturable design branch, perform design optimization, surplus material layout verification and material pricing simulation on the manufacturable design branch, and output the parametric design results of the whole house customized furniture supported by the surplus materials.
