Method for implementing three-dimensional design route in bim field

By constructing a spatial accessibility grid model and using path optimization technology, the design conflicts and accessibility issues in 3D path planning in the BIM platform were resolved, achieving efficient and reasonable path generation and automatic layout, and improving the efficiency of BIM component modeling.

CN122365652APending Publication Date: 2026-07-10GUANGZHOU MUNICIPAL GRP DESIGN INST CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGZHOU MUNICIPAL GRP DESIGN INST CO LTD
Filing Date
2026-04-09
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

In BIM platforms, 3D path planning suffers from frequent design conflicts, poor path accessibility, low design efficiency, and a lack of standardized path models. In particular, it is difficult to achieve reasonable planning in complex spaces, which affects construction feasibility and project progress.

Method used

By collecting 3D model data to construct a spatial accessibility grid model, extracting path feasibility influencing factors, generating and optimizing a set of 3D paths, and combining this with a BIM modeling platform for automatic layout, intelligent path planning is achieved.

Benefits of technology

It significantly improves the accuracy and rationality of path planning, increases the efficiency of BIM component modeling, reduces the cost of manual intervention, and has good value for engineering application and promotion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122365652A_ABST
    Figure CN122365652A_ABST
Patent Text Reader

Abstract

This invention discloses a method for implementing 3D design routes in the BIM field, specifically relating to Building Information Modeling (BIM). The method involves: collecting 3D model data of components to be arranged and constructing a spatial accessibility mesh model; extracting a set of path feasibility influencing factors based on the mesh model and assigning accessibility scores to voxel units; setting path target requirements based on component type and design parameters; establishing a path optimization model and calculating path feasibility weights by combining scores and target requirements to generate a preliminary 3D path set; performing conflict detection and local optimization on the path set, eliminating inconstructible paths, and obtaining the optimal 3D path; and outputting the path to a BIM modeling platform to drive automatic component placement. This method enables automatic path planning and modeling of components in complex spatial environments, improving design efficiency and space utilization, and possessing good engineering adaptability and intelligent level.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of Building Information Modeling (BIM), specifically to a method for implementing a 3D design route in the BIM field. Background Technology

[0002] With the increasing complexity of construction projects, Building Information Modeling (BIM) is widely used in engineering design, construction, and operation and maintenance phases. BIM technology integrates design information from multiple disciplines, including architecture, structure, and electrical / plumbing, through 3D modeling, playing a crucial role in improving collaborative efficiency and reducing design conflicts. However, in actual engineering design processes, especially in the cross-disciplinary collaborative design phase, the 3D path planning of design routes (such as pipeline layout, structural beam and column arrangement, and duct routing) by different disciplines heavily relies on manual judgment.

[0003] Specifically, current BIM platforms primarily rely on designers manually planning the 3D paths for various components. This path planning needs to consider multiple factors such as spatial feasibility, inter-component clearance, specification conflicts, and installation accessibility. Due to the lack of effective intelligent modeling logic, the following technical problems often arise: Design conflicts are frequent: In three-dimensional space, different professional paths are prone to collision, and the automatic detection function can only passively report conflicts without reasonable preset logical paths, and cannot avoid them in advance.

[0004] Poor accessibility of routes: Some routes may not be visually conflicting, but they lack consideration for construction and installation processes, making them unfeasible.

[0005] Low design efficiency: When faced with complex floors or small spaces, manual path planning is extremely time-consuming and easily influenced by the designer's experience, leading to inconsistent solutions and frequent iterations.

[0006] Lack of standardized path models: It is impossible to create reusable path templates, and repeated modeling is required in similar floors or standard floors, wasting a lot of resources.

[0007] Especially in high-density spaces, with limited clearance and severe structural overlap in electromechanical shafts or vertical shafts, the difficulty of rationally planning three-dimensional design routes increases exponentially. Without an effective path pre-setting mechanism, it will directly affect construction feasibility and project progress, becoming a key bottleneck restricting the deep implementation of BIM technology. Summary of the Invention

[0008] The purpose of this invention is to provide a method for implementing three-dimensional design routes in the field of BIM, so as to overcome the shortcomings of the prior art.

[0009] To achieve the above objectives, the present invention provides the following technical solution: a method for implementing a 3D design route in the BIM field, comprising: S100: Collects three-dimensional model data of the target space of the components to be placed, identifies the geometric boundaries of the space, the distribution of structural components and the set of obstacles, and constructs a spatial accessibility grid model; S200, based on the spatial accessibility grid model, extract the set of path feasibility influencing factors, including minimum spatial clearance, obstacle density, passage angle, and slope limitation, and assign an accessibility score to each grid cell; S300: Based on the component type and design parameters, obtain the path target requirements of the components to be arranged; S400, Establish a path optimization model, combine the accessibility score and path target requirements, calculate the path feasibility weight of the spatial grid, and generate a preliminary three-dimensional path set; S500, perform conflict detection and optimization on the preliminary three-dimensional path set, eliminate paths that collide with existing components or are unreachable during construction, and obtain the optimal three-dimensional path; The S600 outputs the optimal 3D path to the BIM modeling platform, driving the automatic placement of components.

[0010] Preferably, the construction of the spatial reachability grid model in S100 includes: The space to be arranged is divided into regular voxel units with side lengths ranging from 100 mm to 300 mm; The spatial overlap relationship between each voxel unit and structural components, equipment components, or obstacle components is detected. When the intersection volume is greater than 10% to 15% of the total volume of the voxel, it is marked as an unreachable region.

[0011] Preferably, in S100, connectivity detection adopts the 6-adjacency principle, establishes a path connectivity graph based on the breadth-first traversal algorithm, and forms multiple passable regions by extracting connected components; when the number of voxel units in a connected region is less than 10, the region is determined to be an invalid path set and is removed.

[0012] Preferably, the calculation of the minimum spatial clearance in S200 includes: For each voxel element, find the nearest unreachable voxel element within a radius of 500 mm and calculate the 3D Euclidean distance; if the distance is less than the minimum channel size required for the component, assign a low score.

[0013] Preferably, the calculation of obstacle density in S200 includes: constructing a cubic neighborhood with a side length of 1 meter centered on each voxel unit, counting the proportion of unreachable voxels in it, and using this proportion as the obstacle density factor value in the scoring function.

[0014] Preferably, the calculation of the passage angle in S200 includes: Calculate the path angle for three consecutive voxel elements in the path; When the included angle is less than a set threshold, the score for that segment of the path decreases; When the included angle is greater than 90 degrees, the path segment is considered a gentle path, and the score is improved.

[0015] Preferably, the slope limitation calculation in S200 includes: for each vertical path segment, calculating the ratio of the height difference in the Z direction to the projected distance in the XY plane; if the obtained slope value is greater than the slope threshold set by the component, the path segment is marked as a non-compliant path.

[0016] Preferably, the path target requirements in S300 include the starting point coordinates, the ending point coordinates, the component cross-sectional dimensions, the turning radius, the maximum slope, and the path preference parameters; the path preference parameters include layout strategies such as prioritizing wall placement, beam placement, and shaft placement.

[0017] Preferably, in S400, the path feasibility weight W_edge is jointly determined by the reachability score R and the path direction deviation angle θ, and is calculated... Obtain the path cost in the weighted graph and use it for path optimization ranking.

[0018] Preferably, the optimization of conflicting paths in S500 includes: Identify consecutive conflict segments in the conflict path and extract two non-conflicting voxel units as the start and end points of the alternative path; Re-search for alternative path segments within the local space; If the alternative route meets the restrictions on cross-sectional dimensions, turning radius, and slope, then it is spliced ​​with the original route.

[0019] The technical effects and advantages provided by the present invention in the above technical solution are as follows: 1. This invention, by introducing a spatial accessibility mesh model based on regular voxel partitioning, achieves for the first time high-precision digital representation and discrete modeling of component layout space in a building information modeling environment, significantly improving the efficiency and accuracy of determining feasible paths under complex spatial structures. Through joint modeling of multiple factors such as minimum spatial clearance, obstacle density, passage angle, and slope limitations, and by constructing an accessibility scoring function, the adaptability of each path unit can be comprehensively quantified, enabling the transition from "feasible" to "optimal" paths, significantly improving the rationality and engineering feasibility of component layout paths.

[0020] 2. This invention constructs a weight-driven 3D path optimization model, integrating path connectivity, structural collision detection, local reconstruction, and an automatic layout mechanism of the modeling platform to create a closed-loop automated process from path generation to component modeling. This method not only effectively avoids collisions and irregular turns in path layout but also automates the entire process of component family invocation and geometric layout through platform interfaces, significantly improving BIM component modeling efficiency, reducing manual intervention costs, and possessing good engineering application and platform compatibility. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0022] Figure 1 This is a flowchart of the method of the present invention. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, 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, 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.

[0024] For examples, please refer to Figure 1 As shown in this embodiment, the method for implementing a 3D design route in the BIM field includes: S100 collects three-dimensional model data of the target space of the components to be placed, identifies the geometric boundaries of the space, the distribution of structural components and the set of obstacles, and constructs a spatial accessibility grid model.

[0025] First, export the 3D building model data containing the target layout area from a Building Information Modeling (BIM) platform (such as Autodesk Revit). The data format can be IFC (Industry Foundation Classes), RVT, or a common 3D mesh file format (such as OBJ or STL). Then, extract the following content by parsing the above 3D data file: Geometric boundary information: Determines the three-dimensional boundary range of the arrangement space, including its minimum and maximum coordinates in the X, Y, and Z directions; Structural component distribution information: Extract the three-dimensional geometric data of structural components such as beams, columns, floor slabs, and walls; Obstacle collection information: Identify physical components that may obstruct the path layout, such as air ducts, cable trays, water supply and drainage pipes, and equipment hangers; Space naming and area identification information: used to identify bounded areas such as floors, height zones, and functional rooms, so as to facilitate subsequent path matching.

[0026] By establishing a fast localization mechanism based on three-dimensional bounding boxes, a category identifier code is assigned to each type of component, and a spatial index structure (such as a spatial search tree based on an octree) is constructed to accelerate the subsequent spatial judgment process.

[0027] After determining the 3D bounding box, the spatial region is divided into regular 3D meshes. The basic unit of voxel meshing is the regular voxel unit, which is a cubic volume block with fixed side lengths. The specific meshing method is as follows: Set the division accuracy: Select an appropriate voxel side length, usually 100 mm to 300 mm, based on the minimum passage distance of the arranged components, and it is recommended to be no less than 1 / 3 of the outer envelope dimension of the component; Calculate the number of grid cells: Set the starting coordinates (X0, Y0, Z0), and advance equidistantly from the starting point in the X, Y, and Z directions to divide the entire space into N×M×L individual cell units. The three-dimensional coordinates are numbered in the form of (i, j, k). Establish a grid data structure: record the spatial coordinates, status flag (occupied / unoccupied), access flag (accessible / inaccessible), score, and other attributes for each voxel cell.

[0028] The partitioning results form a complete three-dimensional spatial voxel mesh dataset, which forms the basis of the spatial discrete model.

[0029] Based on spatial mesh generation, geometric occupancy is determined for each voxel unit, with the main objective of identifying which voxels are actually occupied by the component. This process specifically includes: Obtain component bounding boxes: For each structural component, pipeline, or obstacle, extract its minimum axis-aligned bounding box (AABB) and record its spatial extent; Determine the positional relationship of voxels: Traverse each voxel element and quickly intersect its coordinates with the component AABB. If the center point or any corner point of the voxel is located within the bounding box of the component, mark it as "to be detected in detail". Fine-grained volume intersection calculation: Call Boolean geometry libraries (such as those based on Constructive Solid Geometry technology) to calculate the intersection volume between voxels and component meshes; Application occupancy threshold determination: If the intersection volume is greater than the set threshold of the total voxel volume (it is recommended to set it to 10% to 15%), then the voxel unit status is marked as "unreachable region" and removed from the path feasibility set.

[0030] This detection method ensures spatial accuracy while taking into account computational efficiency, providing clean input data for subsequent path connectivity analysis.

[0031] Connectivity checks are performed on all unoccupied voxel units to construct a set of walkable paths. The analysis steps are as follows: Connectivity rules are defined as follows: The 6-adjacency principle is adopted, which considers any two voxel units to be connected if they share a common surface in the front, back, left, right, top, and bottom directions and are both reachable units. Connectivity graph construction: Based on the voxel coordinates (i,j,k), a breadth-first traversal algorithm is used to build an adjacency graph between voxels; Connected component extraction: All connected components are marked using a connected component algorithm, and the number of voxels in each region is recorded; Island Removal: If the number of voxels in a connected region is less than a set threshold (e.g., 10 units), it is considered unsuitable as a complete placement path and is removed.

[0032] Ultimately, a set of accessible paths connected across the entire space is constructed to support path search and scoring optimization.

[0033] Based on the set of traversable paths, the traversability of each voxel unit is further evaluated. A multi-factor comprehensive scoring function is constructed to provide a quantitative basis for path optimization. The scoring model is constructed as follows: Scoring Factor Definition: The following attributes are extracted for each voxel unit: Euclidean distance from the start and end points (used to assess geometric accessibility); distance to the nearest obstacle (used to determine clearance); obstacle density in the area (number of obstacles per unit volume); and height position in the space (used to determine adaptability to high and low layouts). Scoring Function Formula: Accessibility Score R = W1 × D1 + W2 × D2 + W3 × D3 + W4 × D4, where: D1 represents the distance between the voxel unit and the path start point (closer distance, higher score); D2 represents the minimum distance to the nearest obstacle (farther distance, higher score); D3 represents the obstacle density in the local area (lower density, higher score); D4 represents the height difference of the voxel (ideal height range is set according to component type); W1~W4 are the weight values ​​of each factor, set according to the actual component characteristics (e.g., electrical conduits prioritize low-level layout, so D4 has a higher weight; ductwork prioritizes high-level layout, so D4 has a lower weight).

[0034] The scoring results are bound to voxel indices and recorded in the spatial grid dataset, allowing for priority selection of cells with higher scores during subsequent path searches. This scoring model digitally expresses the spatial preferences of components, ensuring that path generation not only avoids obstacles but also possesses practical construction feasibility and consistency with professional logic.

[0035] S200, based on the spatial accessibility grid model, extract the set of path feasibility influencing factors, including minimum spatial clearance, obstacle density, passage angle, and slope limitation, and assign an accessibility score to each grid cell.

[0036] In this embodiment, the path feasibility influencing factor set is defined as a set of parameters that quantify the feasibility of a component's passage, denoted as: The set of factors influencing route feasibility, A, is defined as follows: A = {Minimum spatial clearance, obstacle density, travel angle, slope limitation}. Each factor is calculated from the accessibility grid model using spatial analysis. The specific definitions and calculation methods are as follows: Minimum spatial clearance is used to measure the minimum passable distance between each regular voxel unit and its nearest obstacle, and is calculated as follows: For each regular voxel unit, iterate through the other voxel units in its neighborhood with a radius of 500 mm; Detect whether there are voxel units in the neighborhood that have been marked as unreachable regions; Calculate the 3D Euclidean distance between the current voxel cell and the nearest unreachable cell; If the distance is less than the minimum mounting channel size required for the component (e.g., 300 mm), the voxel unit is assigned a lower minimum clearance score.

[0037] The minimum clearance threshold can be set according to the type of component to be arranged, for example, 300 mm for duct components and 200 mm for cable trays.

[0038] Obstacle density is used to assess the degree of aggregation of inaccessible voxels within a voxel unit in a given area, reflecting the difficulty of placement. The calculation method is as follows: Define a cube neighborhood with a side length of 1 meter centered on the current voxel unit; Count the number of all unreachable voxel units in this neighborhood; The obstacle density value of a cell is obtained by dividing the number of unreachable cells by the total number of voxels in the neighborhood. The value ranges from 0 to 1. A higher value indicates a more compact surrounding space and greater difficulty in arranging components, and the score should be lowered.

[0039] Obstacle density is used to reflect the complexity of the local space and improve the algorithm's ability to identify areas with high-density obstacles.

[0040] The passage angle is used to assess whether a voxel element is located in a turning area where the path may bend, directly affecting construction feasibility. The calculation method is as follows: For three consecutive voxel units that are adjacent in the path direction (numbered i, i+1, i+2 in sequence), calculate the angle formed by the vectors i→i+1 and i+1→i+2. If the included angle is less than the set passage angle threshold (e.g., 45 degrees), the location is marked as a sharp bend, and the score is reduced. If the included angle is greater than the set value (e.g., more than 90 degrees), it is considered a smooth turning area, and the score increases; Special types of components (such as rigid ducts) can be subject to stricter travel angle restrictions to avoid connection difficulties caused by sharp turns.

[0041] The travel angle factor helps guide the selection of more natural and feasible winding routes for path optimization.

[0042] Slope restrictions apply to layouts where changes in height need to be considered, such as when ductwork or cable trays move from one floor to another, and must comply with building codes regarding slope restrictions. The calculation method is as follows: For each adjacent voxel element in a path segment, calculate the ratio of its height difference in the Z direction to the projected distance in the XY plane. The slope value is defined as the difference in elevation divided by the horizontal distance. If this value exceeds the maximum allowable slope value of the component (e.g., 1:12), the path is marked as having an excessive slope, and the score is significantly reduced. Paths with a reasonable slope will receive higher scores and will be prioritized for selection in the final path.

[0043] The introduction of slope limiting factors ensures the feasibility of the path during the construction phase and avoids non-standard angle layouts.

[0044] Based on the four path feasibility influencing factors extracted above, each reachable voxel unit is assigned a comprehensive score value for sorting and screening in path optimization.

[0045] The accessibility scoring function is defined as follows: Voxel score R = S1×F1 + W2×F2 + W3×F3 + W4×F4; where: F1 represents the minimum net distance score, with a value range of 0 to 1, and the greater the distance, the higher the score; F2 represents the obstacle density score, with a value range of 0 to 1, and the lower the density, the higher the score; F3 represents the passage angle score, with a value range of 0 to 1, and the more reasonable the angle, the higher the score; F4 represents the slope score, with a value range of 0 to 1, and the gentler the slope, the higher the score; S1, S2, S3, and S4 are the weight coefficients of the four factors, which are set according to different component types, satisfying the constraint condition S1+S2+S3+S4=1.

[0046] For example, when arranging the path of air ducts, the weights can be set as S1=0.3, S2=0.2, S3=0.3, and S4=0.2; when arranging cable trays, the weight of S4 can be set to 0.05, while S2 is increased to 0.4 to reflect the characteristic that cable trays are more sensitive to obstacle density.

[0047] The scoring results are stored in a data structure corresponding to each voxel unit and used as a sorting or weighting reference in subsequent path generation steps to realize the transformation of the path from "passable" to "preferred passable".

[0048] S300, based on the component type and design parameters, obtains the path target requirements for the components to be arranged.

[0049] The core objective of this step is to establish a path parameter set containing multiple constraints and objectives based on the engineering attributes of the components, construction specifications, and professional collaboration requirements, in order to guide the subsequent path generation and evaluation process.

[0050] The type of components to be deployed forms the basis for setting the path target requirements. Component types include, but are not limited to, the following categories: air ducts (rectangular air ducts, circular air ducts), water pipes (hot and cold water pipes, fire protection pipes), cable trays, low-voltage wiring, and gas pipelines. The component category field, identifier number, and professional information are extracted from the building information modeling data. This information is generally stored in the component parameter table and can be read through BIM platform interfaces (such as the Revit API) or the Element type field of the IFC file.

[0051] Different component types need to meet different design parameter requirements. The following is a general parameter set: The starting and ending coordinates (S, E) are the spatial starting and ending points for the component layout. They are usually preset by the designer or extracted from the connection points in the existing model. Each connection point includes three-dimensional coordinates (X, Y, Z) and interface type (such as air inlet, water outlet, cable tray connection). Once the start and end points are determined, the corresponding voxel element indices are marked in the voxel mesh model.

[0052] The component cross-sectional dimensions (W, H) represent the actual outer envelope width W and height H of the component, used to set the minimum passage cross-section required for the path; For example, if the duct cross-section is 400 mm × 250 mm, considering construction redundancy, the path width needs to be ≥ 600 mm.

[0053] Minimum turning radius (R): Some rigid components need to ensure a minimum radius of curvature when turning, especially ducts, cable trays, etc.; for example, the turning radius of a duct should be ≥ 1.5 times the width of the component, which can be set to R = 600 mm; guide curved paths rather than acute-angle broken lines in path generation.

[0054] Maximum permissible slope (θ) is used specifically for components involving changes in height, such as drainage pipes and cable tray ascending sections; the slope is set as the ratio of the vertical height change to the horizontal distance, for example, θ≤1 / 20 means that there is a maximum rise of 1 meter in every 20 meters of horizontal length.

[0055] The path preference parameter (P) is used to specify the professional preference for path layout, such as "wall-side laying", "upward priority", "shaft priority", etc. The preference parameter participates in the scoring function setting through weighting to guide the path to be laid in a specific area. For example, if the path preference for cable trays is set to "wall-side priority", the system will assign higher scores to voxel units that are closer to the wall when scoring.

[0056] To unify storage and retrieval, path target requirements are organized into a path parameter structure, defined as follows: Path target requirements: {Start point coordinates (S): (X1,Y1,Z1), End point coordinates (E): (X2,Y2,Z2), Component width (W): in millimeters, Component height (H): in millimeters, Turning radius (R): in millimeters, Maximum slope (θ): in percentage or angle, Path preference parameter (P): enumerated value (e.g., priority for walls, beams, and shafts)}.

[0057] The path objective requires the structure to be used as a constraint input during the path generation phase. This is used to filter paths that do not meet physical conditions and construction specifications, and also to configure the weights of the scoring function parameters to achieve differentiated layout.

[0058] In practical engineering, the path target requirements not only serve as the target input but also constitute the hard constraints for path generation. The constraint logic includes: Cross-sectional accessibility constraint: The continuous element through which the path passes must satisfy the requirement that the component cross-section is fully contained, and a safety redundancy of more than 100 mm must be considered. Bending angle constraint: The turning angle of each continuous path shall not be less than the set minimum allowable travel angle; Elevation variation constraint: In any path segment of length L, the vertical height variation shall not exceed L×tan(θ); Professional layout preference matching degree: If the path deviates from the set preference area by more than a certain threshold (e.g., more than 2 meters), the path is considered not to meet the target requirements.

[0059] All constraints will be involved in determining the validity of the path during the path search phase and will affect the final path score and ranking.

[0060] Through the above steps, based on the component type and its design parameters, a complete set of path objective requirements, including geometric objectives, construction constraints, and professional preferences, was successfully constructed, establishing a rigorous and quantifiable objective function input foundation for subsequent path search and optimization.

[0061] S400, Establish a path optimization model, combine the accessibility score and path target requirements, calculate the path feasibility weight of the spatial grid, and generate a preliminary three-dimensional path set.

[0062] Step S400 establishes a search model for 3D path optimization based on the spatial accessibility mesh model and path objective requirements. By constructing a weighted path search graph, path feasibility weights are assigned to the path connection relationships between voxel units, and a weighted path search algorithm is executed to generate a preliminary set of 3D paths that satisfy multiple constraints. The entire process consists of four consecutive sub-steps, detailed below: Traverse the entire spatial reachability mesh model and extract all regular voxel cells marked as "reachable"; Each voxel is defined as a path node, and its index number in the 3D mesh is set as (i,j,k), which uniquely identifies the position of the voxel; Create an attribute table for each node, containing the following fields: Node number; 3D coordinates (in millimeters); reachability score (R), from step S200; identifier of the connected region to which it belongs (used for path island determination); start / end marker (if it is the start or end point of the path).

[0063] For each "reachable" node, find its adjacent cells in the six main directions (front, back, left, right, up, down); if the adjacent voxel cell is also a "reachable" node, then create an undirected edge between them; the edge structure contains the following attribute fields: Starting node number; ending node number; spatial direction vector (used to calculate direction deviation); the initial state is set to "passable", and will be further filtered in the next step.

[0064] Implement a path graph using an adjacency hash table structure; Each node stores a dictionary containing all adjacent edges; All nodes and edges are stored in a separate data index table, which facilitates path traversal and backtracking.

[0065] The edges in the above voxel connected graph are screened one by one to remove connections that do not meet the physical or construction conditions. The process is as follows: Read the component cross-sectional dimensions W, H, and redundancy parameters (e.g., set to add an extra 100 mm) from the path target requirements. For the starting node of each edge, obtain N consecutive voxel units along the direction the edge points (where N = vector length / unit edge length). Check if all voxel units on the continuous path are "reachable"; If the continuous space cannot accommodate the outer envelope of the component section, then the state of that edge is set to "impassable".

[0066] For each pair of adjacent edges (three consecutive nodes A→B→C), calculate the angle θ between vectors AB and BC; The minimum allowable turning radius R of the component is converted into the minimum included angle θ_min, calculated as follows: Let the turning radius R of the component be R, and the side length of the voxel be L, then the minimum turning angle... If θ < θ_min, then mark the B→C edge as "out of bounds" and exclude it from the search.

[0067] Take the Z-coordinate difference ΔZ and the horizontal projection distance ΔH of the start and end nodes of any edge; calculate the slope value G=ΔZ / ΔH; if G>θ_max (the target requirement is given, such as 1 / 20), then the edge of the path is set to "slope exceeds limit".

[0068] If the component preference path is "along the wall", then the preference area is defined within 500 mm of the wall boundary; If both the start and end points of an edge are located in the non-preferred area and the deviation distance exceeds the set tolerance value (e.g., 2000 mm), then the edge is marked as "severely deviated," and its subsequent score is reduced or it is directly eliminated.

[0069] After removing illegal edges, each retained edge is assigned a comprehensive path feasibility weight, which serves as the basis for subsequent path search ranking: the path feasibility weight W_edge consists of two main factors: Factor 1: Accessibility weight (W_R), which is the average of the accessibility scores R1 and R2 of the start and end nodes, R_avg; let W_R = 1 - R_avg, the higher the value, the worse the accessibility, and the greater the weight.

[0070] Factor 2: Directional Deviation Weight (W_D), taking the direction vector V of the edge; calculating the angle θ between it and the global direction vector V_global from the start point to the end point; defining the directional deviation weight W_D=θ / π, ranging from 0 (completely in the same direction) to 1 (completely in opposite directions).

[0071] For example, the final weight calculation is: W_edge = 0.7 × W_R + 0.3 × W_D; after calculating the weights of all edges, they are written into the edge attribute structure; finally, a weighted path search graph is constructed, in which each edge has a quantifiable path quality index.

[0072] The A-heuristic search algorithm* is used, combined with edge weights and a heuristic distance function for path expansion; The heuristic function H(n) is the Euclidean distance from the current node n to the endpoint, ensuring that the search direction is reasonable; During implementation, a priority queue is used to manage the path expansion order.

[0073] Set a maximum number of paths N (e.g., N=5) to limit the number of results; Set a maximum traversal depth (e.g., 3000 nodes) to prevent infinite loops in the search; For each successful path from the starting point to the end point, record attributes such as path sequence, path length, cumulative weight, and number of turns.

[0074] Each path is stored as a sequence of voxel node indices and output in JSON format.

[0075] S500, perform conflict detection and optimization on the preliminary three-dimensional path set, eliminate paths that collide with existing components or are unreachable during construction, and obtain the optimal three-dimensional path.

[0076] Obtain the geometric information of all components in the BIM 3D model, including structural components (walls, columns, beams, floor slabs), electromechanical components (air ducts, water pipes, cable trays, etc.), and obstacle components (equipment, supports, etc.). The component boundaries are represented by triangular meshes, and a spatial index structure is constructed (octree or R-tree is recommended to speed up query efficiency); Each initial path consists of a set of regular voxel units, each voxel unit having a cubic geometric boundary.

[0077] For each voxel element in the path, first check if there is a bounding box of a component that intersects with it in space; if there is a candidate component that intersects, then perform precise Boolean geometry operations to calculate the actual spatial intersection volume between the voxel element and the component. The criterion is: if the intersection volume is greater than 5% of the total volume of the voxel, then the voxel is considered to have collided.

[0078] Boolean calculations use a polygon Boolean operation library (such as CGAL or ACIS); all voxel elements that collide record their colliding component number, voxel number, and collision volume.

[0079] If a model component lacks geometry (only has parameters), its bounding box is used instead of the detection and marked as "estimated conflict".

[0080] Traverse all paths; if one or more voxel elements in a path are determined to have a component collision, then the path is marked as a "collision path"; at the same time, add a collision identifier field to the path data structure to record the number and number of the collision voxels.

[0081] For each collision, classify them according to the colliding components: Structural conflict (intersection with components such as walls, beams, columns, and floor slabs); Mechanical and electrical conflicts (intersections with pipes, air ducts, cable trays, etc.); Obstacles (intersecting with electrical boxes, equipment supports, and other auxiliary components); Each type of conflict is assigned a severity weight: structural conflicts are the highest (impassable), and obstacle conflicts are the lowest (some are adjustable).

[0082] Let N_conflict be the number of conflicting voxel units in the path; N_total be the total number of voxel units in the path; V_conflict be the sum of the volumes of the intersections of conflicting voxels; and V_total be the total volume of the path. For example, the expression for calculating the conflict severity S_conflict is: S_conflict = 0.6 × (N_conflict / N_total) + 0.4 × (V_conflict / V_total). If S_conflict > 0.3, the path is considered a "severely conflicting path" and reconstruction needs to be attempted; if S_conflict ≤ 0.3, the path is considered a "repairable path".

[0083] This step reconstructs and replaces conflicting local path segments without discarding the entire path, thus maintaining overall path connectivity.

[0084] Extract the sequence of voxel units that collide continuously from each conflict path and define it as a "conflict segment"; the non-conflict voxel units before and after the conflict segment are defined as entry node A and exit node B, respectively.

[0085] In the spatial accessibility grid, a path search is performed within a limited area, starting from A and ending at B. The search range is limited to the neighborhood of A and B, which is no more than 5×5×5 voxel units, to avoid the time consumption of global search. The cross-sectional dimensions, minimum turning radius and slope restrictions in the original path target requirements must still be met during the search. If there are multiple alternative paths, they are sorted according to the weighted minimum value of the accessibility score, and the optimal path segment is selected.

[0086] The new alternative path segment is spliced ​​with the non-conflicting segments in the original path; if the number of bends in the alternative path exceeds twice that of the original path, it is marked as "inefficient reconstruction" and ranked as a lower priority; if the reconstruction fails (no feasible path can be found in the limited area), the path is marked as "unrepairable path" and removed.

[0087] The reconstructed paths are rewritten into the path collection, and the path number and version number are updated; a tag field is added to distinguish them from the original paths.

[0088] Finally, all original paths and reconstructed paths that were not eliminated are sorted by weight and the optimal path is selected.

[0089] For each path, the weight is calculated by considering the following three factors: W_path: The original cumulative passage weight of the path (from S400); S_conflict: Conflict severity (if the path is a reconstructed path, then the value after repair). L_bend: Penalty for the number of turns on the path. For each turn exceeding the original path's maximum number of turns, the penalty value increases by 0.05. For example, the weight calculation formula is: W_total = W_path + 0.5 × S_conflict + 0.3 × L_bend.

[0090] Sort all paths in ascending order of W_total; Prioritize routes with low conflict severity, high traffic score, and few turns; The path ranked first is taken as the "optimal 3D path", and its voxel unit sequence is used as the component layout input.

[0091] If alternative paths need to be reserved for subsequent simulations or multidisciplinary collaborations, the first three paths with the lowest weights can be retained as a set of alternative paths.

[0092] The S600 outputs the optimal 3D path to the BIM modeling platform, driving the automatic placement of components.

[0093] The voxel unit sequence in the optimal 3D path selected in step S500 is structurally transformed to form a set of path geometric parameters suitable for reading by the modeling platform.

[0094] The optimal path consists of several continuous regular voxel units; Extract the center coordinates of each voxel unit and organize them into an ordered point sequence P={P1,P2,...,Pn} according to the path order; each point Pk contains three-dimensional coordinates (Xk,Yk,Zk) and direction vector (if there are turns); mark each straight path segment and bend segment.

[0095] Construct adjacent coordinate points into spatial line segments; If there are multiple collinear continuous line segments, they are merged into one long line segment to reduce the number of segments. If there are spatial turns in the path (such as from horizontal to vertical), record the turning angle information and connection method (such as elbow, tee).

[0096] In the building information modeling platform, the corresponding component family is selected based on the component type and path information, and automatic layout rules are configured.

[0097] Match the component family library based on the component_type field in the path target requirements; for example: air duct → “air duct rectangular family”; cable tray → “cable tray straight segment family + elbow family”; water pipe → “standard pipe fitting family + tee / elbow”.

[0098] Each path segment is mapped to a "straight line segment component instance"; if the path changes angle at a certain node, a "bend component" of the corresponding type is inserted at the corner point; Set the component connection method to "automatic alignment" to ensure continuous connection of components at bends; if the path length exceeds the maximum standard length of the component family (e.g., a single section of duct should not exceed 3000 mm), then insert connectors (e.g., flanges, joints) at length intervals.

[0099] Using the interface provided by the BIM platform, component families are called and geometry is arranged segment by segment according to the path line.

[0100] Use the FamilyInstance.Create() method of the Revit API to call the family file layout; set the component placement point as the start point of the path segment, and the direction vector as the path direction; set the parameters: length = path segment length; width / height = component cross-sectional dimensions; material / system type = read from path target requirements; insert into the specified floor or view in the model.

[0101] For detected corner points: read the direction vectors of the preceding and following paths; calculate the included angle, determine whether a "bend" or "skew tee" needs to be inserted; call the corresponding family and automatically rotate to align the direction.

[0102] For continuous segment components, the ConnectorManager interface is called to automatically connect the component ports; ensure that there are no gaps or overlaps between components; and perform an alignment check on all deployed components.

[0103] After the components are arranged, the path information is associated with the component geometric model to complete the data-driven modeling process.

[0104] Write information such as path ID, path segment number, path weight, and score into the component instance parameters; this information will be used for subsequent path review, construction management, or path adjustment.

[0105] Components with different path sources or reconstruction methods are marked with different colors (e.g., green for the optimal path and yellow for the reconstructed path) to help designers intuitively identify the path generation logic. The model is saved as a new version; the component layout path version and generation time are automatically recorded for future auditing and adjustments.

[0106] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A method for implementing a 3D design roadmap in the BIM field, characterized by: include: S100: Collects three-dimensional model data of the target space of the components to be placed, identifies the geometric boundaries of the space, the distribution of structural components and the set of obstacles, and constructs a spatial accessibility grid model; S200, based on the spatial accessibility grid model, extract the set of path feasibility influencing factors, including minimum spatial clearance, obstacle density, passage angle, and slope limitation, and assign an accessibility score to each grid cell; S300: Based on the component type and design parameters, obtain the path target requirements of the components to be arranged; S400, Establish a path optimization model, combine the accessibility score and path target requirements, calculate the path feasibility weight of the spatial grid, and generate a preliminary three-dimensional path set; S500, perform conflict detection and optimization on the preliminary three-dimensional path set, eliminate paths that collide with existing components or are unreachable during construction, and obtain the optimal three-dimensional path; The S600 outputs the optimal 3D path to the BIM modeling platform, driving the automatic placement of components.

2. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: The construction of the spatial reachability grid model in S100 includes: The space to be arranged is divided into regular voxel units with side lengths ranging from 100 mm to 300 mm; The spatial overlap relationship between each voxel unit and structural components, equipment components, or obstacle components is detected. When the intersection volume is greater than 10% to 15% of the total volume of the voxel, it is marked as an unreachable region.

3. The method for implementing a three-dimensional design route in the BIM field according to claim 2, characterized in that: The connectivity detection in S100 adopts the 6-adjacency principle, establishes a path connectivity graph based on the breadth-first traversal algorithm, and forms multiple passable regions by extracting connected components; when the number of voxel units in a connected region is less than 10, the region is determined to be an invalid path set and is removed.

4. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: The calculation of the minimum clearance in S200 includes: For each voxel element, find the nearest unreachable voxel element within a radius of 500 mm and calculate the 3D Euclidean distance; if the distance is less than the minimum channel size required for the component, assign a low score.

5. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: The calculation of obstacle density in S200 includes: constructing a cubic neighborhood with a side length of 1 meter centered on each voxel unit, counting the proportion of unreachable voxels in it, and using this proportion as the obstacle density factor value in the scoring function.

6. The method for implementing a three-dimensional design route in the BIM field according to claim 5, characterized in that: The calculation of the passage angle in S200 includes: Calculate the path angle for three consecutive voxel elements in the path; When the included angle is less than a set threshold, the score for that segment of the path decreases; When the included angle is greater than 90 degrees, the path segment is considered a gentle path, and the score is improved.

7. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: The calculation of the slope limit in S200 includes: for each vertical path segment, calculating the ratio of the height difference in the Z direction to the projected distance in the XY plane; if the obtained slope value is greater than the slope threshold set by the component, the path segment is marked as a non-compliant path.

8. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: The path target requirements in S300 include the starting point coordinates, the ending point coordinates, the component cross-sectional dimensions, the turning radius, the maximum slope, and the path preference parameters; the path preference parameters include layout strategies such as prioritizing wall placement, beam placement, and shaft placement.

9. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: In S400, the path feasibility weight W_edge is determined by both the reachability score R and the path direction deviation angle θ, through calculation. Obtain the path cost in the weighted graph and use it for path optimization ranking.

10. The method for implementing a three-dimensional design route in the BIM field according to claim 1, characterized in that: The optimization of conflict paths in S500 includes: Identify consecutive conflict segments in the conflict path and extract two non-conflicting voxel units as the start and end points of the alternative path; Re-search for alternative path segments within the local space; If the alternative route meets the restrictions on cross-sectional dimensions, turning radius, and slope, then it is spliced ​​with the original route.