A method, apparatus, equipment, and medium for planning the transportation of building components.

By automatically generating 3D transportation models of building components using Grasshopper and genetic algorithms, the problem of time-consuming and labor-intensive transportation planning in existing technologies is solved, and efficient and low-cost transportation solutions are generated.

CN120806788BActive Publication Date: 2025-12-02CHENGLIN TECH (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511299847.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-12
Publication Date
2025-12-02
Estimated Expiration
2045-09-12

AI Technical Summary

Technical Problem

The existing process for planning the transportation of building components is time-consuming and labor-intensive, relies on manual experience and is inefficient, making it difficult to quickly obtain high-quality 3D transportation models.

Method used

Grasshopper is used to decompose the 3D building model into components, create a local coordinate system, and combine a genetic algorithm to generate the optimal transportation sequence. The transportation 3D model and component list are automatically generated, and the fitness score is calculated through a decoder to optimize the component stacking posture and loading order.

Benefits of technology

It improves the processing speed of building components, reduces labor and time costs, generates high-quality transportation solutions, and meets the loading needs of the workshop.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120806788B_ABST
    Figure CN120806788B_ABST
Patent Text Reader

Abstract

This invention relates to the field of industrial network security technology, and discloses a method, apparatus, equipment, and medium for transportation planning of building components. The method includes: S1, importing a 3D model of the building into Grasshopper and splitting all building components based on component identifiers; S2, creating a local coordinate system for each component to align the physical structure of each component, calculating the bounding box size of each component, and adjusting the stacking posture of the components based on the bounding box size; S3, obtaining the dimensions of the transportation space and generating an optimal transportation sequence using a genetic algorithm; S4, outputting a transportation 3D model, a component list, and a 3D model of each component for transportation planning based on the optimal transportation sequence. This invention, based on the combined application of Grasshopper and genetic algorithms, can quickly obtain 3D models of various building components and automatically generate transportation 3D models of building components, effectively improving the quality of transportation planning while reducing manpower and time costs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial network security technology, and in particular to a method, apparatus, equipment and medium for planning the transportation of building components. Background Technology

[0002] Based on the 3D model of the building, the factory will produce various types of components such as ladders, composite beams, curved beams, and beams and columns with corbels. Since the building involves a large number of components, it is usually necessary to make reasonable transportation plans for all components, that is, to divide and stack all components so that all components can be loaded and transported in batches by multiple vehicles to realize the construction of the building at the destination. Therefore, obtaining the 3D model of each component and the transportation plan of all components are necessary tasks for transporting building components.

[0003] Currently, engineers select components one by one based on the 3D building model in 3D software to output the 3D model of each component. Furthermore, engineers need to manually adjust the stacking posture of each component, and then repeatedly try to divide and stack all components based on personal experience or comparison with reference models to obtain the required transportation plan and output the transportation 3D model corresponding to each truck. The transportation 3D model is a visual model of the components that the truck needs to load and the stacking form. The entire transportation planning process is not only time-consuming and labor-intensive, but also requires a certain level of loading experience from the engineers. Summary of the Invention

[0004] The purpose of this invention is to address the problems of long time consumption and low efficiency in the transportation planning of building components in related technologies, and to provide a method, device, equipment and medium for transportation planning of building components. This method can quickly obtain three-dimensional models of various building components and automatically generate three-dimensional transportation models of building components, effectively improving the quality of transportation planning while reducing manpower and time costs.

[0005] To achieve the above objectives, in a first aspect of the present invention, a method for transportation planning of building components is provided, comprising: S1, importing a three-dimensional building model into Grasshopper, and splitting all building components based on component identifiers; S2, creating a local coordinate system for each component to align the physical structure of each component, calculating the bounding box size of each component, and adjusting the stacking posture of the components based on the bounding box size; S3, obtaining the dimensions of the transportation space, and generating an optimal transportation sequence using a genetic algorithm, wherein the genetic algorithm comprises: S31, using the loading order of all components as the encoding of individuals, generating multiple heuristic individuals and random individuals to form an initial population; S32, decoding the individuals in the population through a decoder to obtain the transportation three-dimensional model corresponding to the individual, and calculating the fitness score based on the transportation three-dimensional model; S33, performing selection, crossover, and mutation operations on the current population to generate a new generation population; S34, repeating steps S32-S33 for a preset number of iterations, and outputting the individual with the highest fitness score as the optimal transportation sequence; S4, outputting a transportation three-dimensional model, a component list, and a three-dimensional model of each component for transportation planning based on the optimal transportation sequence.

[0006] In a second aspect of the invention, a transportation planning device for building components is provided, comprising: a splitting module for importing a three-dimensional building model into Grasshopper and splitting all building components based on component identifiers; an adjustment module for creating a local coordinate system for each component, aligning the physical structure of each component, calculating the bounding box size of each component, and adjusting the stacking posture of the components based on the bounding box size; a calculation module for obtaining the dimensions of the transportation space and generating an optimal transportation sequence using a genetic algorithm, the genetic algorithm comprising: an encoding module for using the loading order of all components as the encoding of individuals, generating multiple heuristic individuals and random individuals to form an initial population; a decoding module for decoding individuals within the population using a decoder to obtain the transportation three-dimensional model corresponding to the individual, and calculating a fitness score based on the transportation three-dimensional model; a derivation module for performing selection, crossover, and mutation operations on the current population to generate a new generation population; an iteration module for repeatedly executing the decoding module and the derivation module to a preset number of iterations, outputting the individual with the highest fitness score as the optimal transportation sequence; and an output module for outputting a transportation three-dimensional model, a component list, and a three-dimensional model of each component for transportation planning based on the optimal transportation sequence.

[0007] In a third aspect of the invention, an electronic device is provided, including a memory and a processor coupled to the memory, the processor being configured to perform the method of the first aspect based on instructions stored in the memory.

[0008] In a fourth aspect of the invention, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method of the first aspect.

[0009] The technical solution of this invention is based on Grasshopper to decompose the 3D model of a building into components. It can decompose and output the 3D model of each component in batches, which can effectively improve the processing speed of building components and meet the loading needs of the workshop. At the same time, combined with the design and application of genetic algorithm, it can automatically generate the transportation 3D model of building components in Rhino, which can not only obtain a high-quality transportation solution, but also effectively reduce manpower and time costs. Attached Figure Description

[0010] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0011] Figure 1 This is a flowchart of the transportation planning method for building components described in the embodiment.

[0012] Figure 2 This is a partial schematic diagram of the three-dimensional model of the building described in the embodiment.

[0013] Figure 3 This is a partial schematic diagram of the batch adjustment of the posture of the building components described in the embodiment.

[0014] Figure 4 This is a schematic diagram of the three-dimensional transportation model described in the embodiment.

[0015] Figure 5 This is a schematic diagram of the stacking of L-shaped steel as described in the embodiment. Figure 1 .

[0016] Figure 6 This is a schematic diagram of the stacking of L-shaped steel as described in the embodiment. Figure 2 .

[0017] Figure 7 This is a structural schematic diagram of the transportation planning device for the building components described in the embodiment.

[0018] Figure 8 This is a schematic diagram of the structure of the electronic device described in the embodiment. Detailed Implementation

[0019] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.

[0020] Rhino (a 3D modeling software) is widely used in architectural and industrial design, as well as mechanical design. Grasshopper is a visual programming language that runs on the Rhino platform. It connects different types of Components (batteries) to form a visual model. Components, also known as elements, components, or operators, are editable and reusable computing units in an algorithm program. Rhino allows for quick parameter adjustments, and Grasshopper efficiently builds the required visual model.

[0021] This application is described below with reference to the accompanying drawings and specific embodiments.

[0022] like Figure 1 As shown, this embodiment of a method for planning the transportation of building components includes: S1, importing the 3D model of the building into Grasshopper, and splitting all building components based on component identifiers; S2, creating a local coordinate system for each component to align the physical structure of each component, calculating the bounding box size of each component, and adjusting the stacking posture of the components based on the bounding box size; S3, obtaining the dimensions of the transportation space, and generating an optimal transportation sequence using a genetic algorithm, the genetic algorithm including: S31, using the loading order of all components as the encoding of individuals, generating multiple heuristic individuals and random individuals to form an initial population; S32, decoding the individuals in the population through a decoder to obtain the transportation 3D model corresponding to the individual, and calculating the fitness score based on the transportation 3D model; S33, performing selection, crossover, and mutation operations on the current population to generate a new generation population; S34, repeating steps S32-S33 for a preset number of iterations, and outputting the individual with the highest fitness score as the optimal transportation sequence; S4, outputting the transportation 3D model, a component list, and a 3D model of each component based on the optimal transportation sequence for transportation planning.

[0023] In Grasshopper, creating a local coordinate system for each component aligns it with its physical structure. This involves analyzing the component's geometric features using algorithms, extracting structural data, and generating an independent coordinate system aligned with its physical structure. For example, Grasshopper's geometric analysis tools (such as Deconstruct Brep) can be used to extract the component's vertex, edge, or face data. Then, the component's principal axis direction (such as the longest side, axis of symmetry, or the maximum extension direction from the center of gravity to the surface) can be calculated to determine the X-axis of the local coordinate system. The Y-axis and Z-axis can then be generated with the component's endpoints or center of gravity as the origin. For instance, the Y-axis is perpendicular to the principal axis and points towards the component's width, while the Z-axis points towards the component's height. Finally, the component can be transformed to the local coordinate system using the Transform component to complete the creation of the local coordinate system. By creating a local coordinate system for each component, the component's orientation is standardized, eliminating the problem of inconsistent orientations among components in the same architectural coordinate system within a 3D architectural model. This not only simplifies the calculation of the bounding box size but also facilitates subsequent batch adjustment of the component's stacking posture using Grasshopper components, effectively reducing the computational complexity of subsequent constraint checks.

[0024] A bounding box is a virtual outer frame used to simplify the calculation of 3D geometry. It is a cube structure that can completely contain the corresponding component. By using bounding boxes, the geometric features of complex components are abstracted into simple regular shapes, thereby reducing the complexity of calculations in subsequent transportation planning and improving processing efficiency. In Grasshopper, for example, the Bounding Box component can be used in conjunction with the XYZ axes of the component's local coordinate system to calculate the bounding box.

[0025] like Figure 2 The image shown is a partial schematic diagram of a 3D building model. In the 3D building model, each component is in a pre-set connection position. For example, ladder components are usually placed vertically or tilted at various angles. As a result, the original posture of many components is not conducive to stacking and transportation. Adjusting the stacking posture of the components means rotating and rearranging the building components to facilitate subsequent stacking planning and transportation. The specific adjustment of the stacking posture can be determined according to the structural shape of the components or the on-site working conditions of the transportation space. For example, for ladder components, when there is sufficient transportation space, multiple ladders are usually adjusted to a horizontal state as the stacking posture to facilitate stable transportation.

[0026] Depending on the actual working conditions, the stacking posture can be adjusted manually one by one within the software interface, or in batches using algorithms, or a combination of both to adjust the stacking posture of all components, such as... Figure 3The diagram shows how some components are adjusted in batches using an algorithm. Adjusting the component's posture based on the bounding box size not only facilitates quick manual adjustment of component rotation, avoiding visual confusion caused by complex component shapes, but also simplifies shape parameters, making it easier to perform batch posture adjustments and subsequent transportation planning via algorithms.

[0027] Transportation space can be provided by various means of transportation. Taking a truck as an example, transportation space corresponds to the size of the truck's cargo box. The loading sequence of components is the loading sequence of the truck when transporting the components. The loading of all components may require multiple transportation spaces, that is, multiple trucks are needed to complete the transportation.

[0028] In the design of the genetic algorithm, each individual corresponds to a loading method for all components. For example, if a building has three components numbered C1, C2, and C3, then a certain individual can be a sequence code of (C3, C1, C2), indicating that the loading order of the components is C3, C1, and C2.

[0029] Selecting, crossing over, and mutating the current population are existing techniques in genetic algorithms for initializing individuals within the population. In this application, the main approach is to adjust the loading order of components through various means to generate multiple individuals with different codes (i.e., the loading order of all components), thereby optimizing and expanding the population sample for iteration. Specifically, the algorithm can be implemented through components such as Grasshopper's Goat or HoopSnake, or by directly encapsulating part of the algorithm's functionality into a Grasshopper battery component using languages ​​such as C# or Python. Different battery components are coupled to implement all the functions of the algorithm, and the preset number of iterations is determined based on the computing power and computation time limit under actual working conditions. Of course, the loop can also be stopped when the iteration results gradually converge to the preset target.

[0030] Since the decoder decodes all individuals within multiple populations and obtains one or more 3D transportation models for each individual, it then selects the optimal transportation sequence through a fitness score. The fitness score serves as the optimization objective of the genetic algorithm, and its specific calculation method can be determined based on actual working conditions. Each 3D transportation model corresponds to a transportation space and its loaded components, such as... Figure 4The image shows a schematic diagram of a 3D transportation model. After determining the optimal transportation sequence, the number of corresponding transportation spaces and the components loaded in each transportation space can be obtained based on the decoding results. Finally, a visualized 3D transportation model is formed in the Rhino view. After outputting the 3D transportation model and component list, workers can divide the actual production components according to the component list and carry out specific loading plans according to the 3D transportation model. Outputting the 3D model of each component is to facilitate workers to find the corresponding components by combining the component list and the 3D model of the components, so as to successfully complete the subsequent transportation planning.

[0031] This invention uses Grasshopper to decompose building 3D models into components, enabling batch decomposition and output of 3D models for each component. This effectively improves the processing speed of building components and meets the loading requirements of workshops. Furthermore, by combining the design and application of genetic algorithms, it can automatically generate 3D transportation models of building components within Rhino. This not only provides high-quality transportation solutions but also effectively reduces labor and time costs.

[0032] In some optional implementations, in step S32, the decoder is configured to: load each component into the transport space sequentially based on the individual's encoding and preset loading rules, and simultaneously perform collision and boundary constraint checks. If the current component violates the constraint check, a new transport space is added to load the current component until all components are loaded. Then, the number and utilization rate of the transport space are obtained to calculate the fitness score.

[0033] Preset loading rules are usually determined based on actual working conditions. For example, if the transport space is a truck bed, it can be set to load components as low as possible, as far to the left as possible, and as close to the front of the truck bed as possible, thus conforming to the conventional loading order of trucks. If the transport space is a trailer platform, appropriate loading rules can be formulated based on other factors such as the crane position.

[0034] Collision and boundary constraint checks refer to the process of performing collision detection between the current component and existing components in the transport space when a candidate position for the current component is found within the transport space. At the same time, it checks whether the current component exceeds the dimensions of the transport space when it is in the candidate position. Specifically, collision detection can be performed by calculating whether the bounding boxes have an intersection using the Bounding Box component, while boundary checks can be performed by determining whether the coordinates of each corner point of the bounding box are within the coordinate space of the transport space.

[0035] If a component violates the constraint check—that is, if the component is loaded into a candidate position in the transport space and collides with other components or exceeds the transport space—it indicates that the current transport space is not suitable for placing the component. Therefore, a new transport space is created to load the component. After loading all components according to the individual's encoding order, the number of transport spaces required for that individual and the corresponding components loaded in each transport space can be determined. The space utilization rate after loading the corresponding components into each transport space can also be calculated. The encoder decodes all individuals in the population and obtains the corresponding fitness score. In addition, the decoder can be implemented and run in Grasshopper using C# or Python components.

[0036] In some alternative implementations, in step S32, the fitness score G = a*(1 / Q) + b*K, where a and b are weighting coefficients, Q is the number of transport spaces, and K is the utilization rate of the transport spaces.

[0037] The utilization rate K of the transportation space is the average volume utilization rate of all transportation spaces. The volume utilization rate of each transportation space = the sum of the volumes of the bounding boxes corresponding to all components in that transportation space / the volume of the transportation space. a and b are used to balance the importance of the number of transportation spaces and the utilization rate. The number of transportation spaces is the most important optimization objective of transportation planning, so the weight coefficient of a can be larger, for example, a=0.7 and b=0.3, because the cost savings brought by reducing one transportation space are far greater than the improvement of space utilization rate. Therefore, the higher the fitness score, the better the component loading order represented by the corresponding individual.

[0038] In some optional implementations, in step S31, the heuristic rules for generating heuristic individuals include one or more of the following: arranged in descending order by volume, arranged in descending order by base area, and arranged in descending order by volume-to-base area ratio. Multiple heuristic individuals are generated based on any one of the heuristic rules combined with random perturbations.

[0039] Heuristic individuals are individuals generated based on heuristic rules. Sorting by volume in descending order means that components are sorted from largest to smallest according to the volume of their corresponding bounding boxes to generate sequence-encoded individuals. This allows the decoder to prioritize large components that are difficult to place, making it easier to generate high-quality transport sequences. Sorting by base area in descending order prioritizes loading components with the largest base area (length x width of the bounding box), which can effectively utilize space. Sorting by volume-base area ratio calculates the ratio of the volume to the base area of ​​each component and sorts them in descending order. Since components with high ratios are usually tall and thin unstable components that are prone to wasting surrounding gap space, they can be prioritized to avoid tall and thin components being difficult to insert into gaps in the later stages of loading.

[0040] Random perturbation refers to randomly swapping the positions of a small portion (e.g., 5%) of the components generated strictly according to a certain heuristic rule, thereby generating multiple individuals with similar sequence codes to improve the diversity of high-quality individuals.

[0041] In addition, random individuals are individuals generated by arranging all components in a completely random manner, which helps to explore the optimization space and avoid getting trapped in local optima too early. Therefore, the method of combining heuristics and randomness to generate the initial population can effectively ensure that the initial population has both high-quality individuals and diverse individuals.

[0042] In some alternative implementations, in step S33, the current population is subjected to tournament selection, sequential crossover, and exchange mutation operations to generate a new generation of population.

[0043] Further refining the genetic manipulation methods, when selecting individuals for crossover and mutation operations, one approach is to rank them based on fitness scores, selecting the top 10%-20% for crossover and mutation to form new individuals and a new generation population. Alternatively, a tournament selection method can be used, where multiple individuals are randomly selected from the current population to form a competitive group, and the individual with the highest fitness score is selected as the winner. All winners from these competitive groups are then used as parents for crossover and mutation to form a new generation population. Compared to roulette wheel selection, tournament selection better maintains population diversity and is easier to perform in component loading scenarios. Sequential crossover, compared to partial matching crossover, preserves the relative order of components in the parent individuals to the greatest extent, which is more suitable for finding the optimal solution in component loading problems. Exchange mutation, compared to inversion mutation, avoids excessively destructive random operations. After fine-tuning the component loading order, it is easier to explore and obtain an even better loading order under a better loading order.

[0044] In some optional implementations, step S2 further includes: stacking multiple components with the same or related structural shapes to form a packaging component, calculating the bounding box size of the packaging component, and treating the packaging component as a single component to participate in a genetic algorithm.

[0045] Components with structural shape-related characteristics refer to those that are structurally complementary or interconnected, facilitating assembly and transportation, such as mortise and tenon joints, curved structural components, etc. After adjusting the orientation of all components, the genetic algorithm in step S3 performs stacking planning based on bounding box dimensions. This has certain limitations and may miss the optimal stacking method for some components. For example, when the component is a conventional L-shaped steel, stacking based on bounding box dimensions may result in... Figure 5The stacking result shown indicates that, before stacking planning using a genetic algorithm, multiple L-shaped steel beams with the same shape can be pre-stacked and packaged through manual adjustment or preset operations to form a stacked structure like this. Figure 6 The 3D packaging model shown further treats the packaging components formed by stacking multiple L-shaped steels as a single component and continues with subsequent steps. This involves using a genetic algorithm to plan the stacking of the packaging components with other components, thereby effectively improving the quality of the final transportation planning and obtaining a better stacking scheme. This also facilitates the direct batch stacking and packaging of multiple identical components produced on the same production line in actual production, followed by the subsequent final assembly process.

[0046] In some optional implementations, step S2 further includes: establishing a posture library based on the historical stacking postures and historical stacking forms of conventional components, and calling the posture library to adjust the posture of the components or form a packaged component.

[0047] Conventional components refer to commonly used components in construction, such as ladders and L-shaped steel beams. Based on historical stacking experience of conventional components, a posture library is established to store the optimal stacking posture and form for transporting conventional components. Then, in Grasshopper, components of existing 3D building models can be matched with components in the posture library. Specifically, a hash table can be used to achieve efficient mapping and fast querying of component features and posture library data. The stacking posture of the matched components can be automatically adjusted, or multiple matched components can be formed into packaged components according to a preset stacking form, thereby effectively reducing manual operation and improving the efficiency of transportation planning.

[0048] In some alternative implementations, component identification includes one or more layers, component numbers, and geometric features.

[0049] Component identifiers serve as the basis for component splitting. Grasshopper can identify and separate individual components based on these identifiers. Specifically, component identifiers can be derived from a single dimension or a combination of multiple dimensions, depending on the work conditions, to ensure the efficiency of component splitting. For example, if a 3D architectural model has a layered structure that distinguishes or preliminarily distinguishes various components, then the layer information can be directly used to split or preliminarily split the components. During splitting, relevant Grasshopper components can be selected based on the work conditions to utilize component identifiers. For example, the Dispatch and Split List components can be combined for conditional filtering and division, enabling automated classification of multiple components and quickly completing the component splitting work.

[0050] The following describes a transportation planning device for building components provided in an embodiment of this application. The device described below can be referred to in correspondence with the method described above. Based on the above embodiments, Figure 7This is a structural schematic diagram of a transportation planning device for building components provided in this embodiment.

[0051] like Figure 7 As shown, a transportation planning device for building components includes: a splitting module 10, used to import the 3D model of the building into Grasshopper and split all the building components based on the component identifier; an adjustment module 20, used to create a local coordinate system for each component, to align the physical structure of each component, to calculate the bounding box size of each component, and to adjust the stacking posture of the components based on the bounding box size; a calculation module 30, used to obtain the dimensions of the transportation space and to generate the optimal transportation sequence using a genetic algorithm, the genetic algorithm including: an encoding module, used to use the loading order of all components as the encoding of individuals, to generate multiple heuristic individuals and random individuals to form an initial population; a decoding module, used to decode the individuals in the population through a decoder to obtain the transportation 3D model corresponding to the individual, and to calculate the fitness score based on the transportation 3D model; a derivation module, used to perform selection, crossover and mutation operations on the current population to generate a new generation population; an iteration module, used to repeatedly execute the decoding module and the derivation module to a preset number of iterations, and output the individual with the highest fitness score as the optimal transportation sequence; and an output module 40, used to output the transportation 3D model, the component list and the 3D model of each component according to the optimal transportation sequence for transportation planning.

[0052] Based on the above method embodiments, please refer to Figure 8 , Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. An electronic device 300 provided in this application includes: a processor 301 and a memory 302. The memory 302 stores machine-readable instructions that can be executed by the processor 301. When the machine-readable instructions are executed by the processor 301, the above-mentioned method is performed. The electronic device may be a physical device.

[0053] Based on the above method embodiments, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the method as in any of the above embodiments.

[0054] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0055] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0056] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0057] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0058] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0059] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0060] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0061] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0062] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0063] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for planning the transportation of building components, characterized in that, include: S1: Import the 3D building model into Grasshopper and break down all the building's components based on component identifiers; S2 uses Grasshopper's geometric analysis tools to extract vertex, edge, or face data of components, calculates the main axis direction of the components, determines the X-axis of the local coordinate system, and then generates the Y-axis and Z-axis with the component endpoints or centroids as the origin to create a local coordinate system for each component, which is used to align the physical structure of each component, calculates the bounding box size of each component, and adjusts the stacking posture of the components based on the bounding box size of the components. S3, obtain the dimensions of the transportation space and use a genetic algorithm to generate the optimal transportation sequence. The genetic algorithm includes: S31, the loading order of all components is used as the individual code to generate multiple heuristic individuals and random individuals to form an initial population. The heuristic rules for generating heuristic individuals include one or more of the following: sorted by volume in descending order, sorted by base area in descending order, and sorted by volume-base area ratio in descending order. Multiple heuristic individuals are generated based on any heuristic rule combined with random perturbation. S32, each individual in the population is decoded by a decoder. The decoder is configured to: load each component into the transport space sequentially based on the encoding of each individual and the preset loading rules, and simultaneously perform collision and boundary constraint checks. If the current component violates the constraint check, a new transport space is added to load the current component until all components are loaded. Then, the number and utilization rate of the transport spaces are obtained to calculate the fitness score. Then, based on the decoding results, the number of corresponding transport spaces and the components loaded in each transport space are obtained and visualized in the Rhino view to obtain the transport 3D model corresponding to each individual. The fitness score G=a*(1 / Q)+b*K is calculated based on the transport 3D model, where a and b are weight coefficients, Q is the number of transport spaces, and K is the utilization rate of the transport space. S33 involves selecting, crossing over, and mutating the current population to generate a new generation of population. S34, Repeat steps S32-S33 until the preset number of iterations, and output the individual with the highest fitness score as the optimal transport sequence; S4, based on the optimal transportation sequence, outputs a 3D transportation model, a list of components, and a 3D model of each component for transportation planning.

2. The transportation planning method for building components according to claim 1, characterized in that, In step S33, the current population is subjected to tournament selection, sequential crossover, and exchange mutation operations to generate a new generation of population.

3. The transportation planning method for building components according to any one of claims 1-2, characterized in that, Step S2 also includes: stacking multiple components with the same or related structural shapes to form a packaging component, calculating the bounding box size of the packaging component, and treating the packaging component as a single component to participate in the genetic algorithm.

4. The method for planning the transportation of building components according to claim 3, characterized in that, Step S2 also includes: establishing a posture library based on the historical stacking postures and historical stacking forms of conventional components, and calling the posture library to adjust the posture of the components or form packaged components.

5. A transportation planning device for building components, characterized in that, include: The Split module is used to import 3D building models into Grasshopper and split all building components based on component identifiers. The adjustment module uses Grasshopper's geometry analysis tools to extract vertex, edge, or face data of components, calculates the main axis direction of the components, determines the X-axis of the local coordinate system, and then generates the Y-axis and Z-axis with the component endpoints or centroids as the origin to create the local coordinate system for each component, aligns the physical structure of each component, calculates the bounding box size of each component, and adjusts the stacking posture of the components based on the bounding box size of the components. The computation module is used to obtain the dimensions of the transportation space and generate the optimal transportation sequence using a genetic algorithm, which includes: The encoding module is used to encode the loading order of all components as individuals, generate multiple heuristic individuals and random individuals to form an initial population. The heuristic rules for generating heuristic individuals include one or more of the following: sorted by volume in descending order, sorted by base area in descending order, and sorted by volume-to-base area ratio in descending order. Multiple heuristic individuals are generated based on any heuristic rule combined with random perturbation. The decoding module decodes each individual in the population using a decoder configured to: load each component into the transport space sequentially based on the individual's encoding and preset loading rules, while simultaneously performing collision and boundary constraint checks. If the current component violates the constraint check, a new transport space is added for loading the current component, until all components are loaded. Then, the number and utilization rate of the transport spaces are obtained to calculate the fitness score. Based on the decoding results, the number of corresponding transport spaces and the components loaded in each transport space are obtained and visualized in the Rhino view to obtain the 3D transport model corresponding to each individual. The fitness score G = a * (1 / Q) + b * K is then calculated based on the 3D transport model, where a and b are weight coefficients, Q is the number of transport spaces, and K is the utilization rate of the transport spaces. The derivation module is used to perform selection, crossover, and mutation operations on the current population to generate a new generation of population; The iteration module is used to repeatedly execute the decoding module and the derivation module up to a preset number of iterations, and outputs the individual with the highest fitness score as the optimal transport sequence. The output module is used to output a 3D transportation model, a list of components, and a 3D model of each component based on the optimal transportation sequence for transportation planning.

6. An electronic device, characterized in that, The method includes a memory and a processor coupled to the memory, the processor being configured to perform the method as described in any one of claims 1 to 4 based on instructions stored in the memory.

7. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Material stacking mode estimation method and device based on AR technology

    CN111028342A

  • BIM (Building Information Modeling)-based method for automatically outputting pseudo-classic architecture wood component blank material list

    CN117195356A