Method for rapidly placing vehicle model based on Revit and Dynamo

Through Dynamo's visual programming, the automated placement of vehicle models is achieved in Revit, which solves the problem of cumbersome manual operations in Revit modeling, and realizes fast and random placement of vehicle models and parameter control, adapts to different garage needs, and improves work efficiency and scene authenticity.

CN120339559APending Publication Date: 2025-07-18CHINA STATE CONSTR PORT ENG GRP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510396248.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

The placement of vehicle models in existing Revit modeling requires manual operation, resulting in large workload, many repetitive operations and cumbersome, and the inability to achieve fast and random vehicle model placement and parameter control.

Method used

Dynamo's visual programming function is adopted, the parking space model is selected through the SelectModelElements node, the List.Shuffle node is used to randomly disrupt the component list, and the Count node calculates the number of vehicles and the coordinates of the position point, adjusts the vehicle rotation angle, realizes automatic vehicle model placement, and ensures accuracy through collision detection and correction functions.

Benefits of technology

It greatly saves manpower and time costs, can quickly and randomly place vehicle models, adapt to garage models of different sizes and types, supports accurate placement of multiple vehicle types, and can adjust collision detection accuracy and position angle according to needs, improving the realism of the scene.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120339559A_ABST
    Figure CN120339559A_ABST
Patent Text Reader

Abstract

The invention specifically relates to a method for rapidly placing a vehicle model based on Revit and Dynamo, and the method comprises the following steps: S1, screening out a parking space model in which a vehicle model needs to be placed from Revit, and carrying out the isolation; s2, in the Dynamo, through SelectModelElements nodes, a parking space model where the vehicle model needs to be placed is selected, and a corresponding component list L1 is constructed; s3, randomly disrupting the component list through a List.Shuffle node to obtain a new component list L2; and S4, obtaining the item number a of the list L2 through the Count node. According to the method, by means of the visual programming function of Dynamo, the original tedious operation of manually placing vehicle models one by one in Revit is converted into an automatic process; according to the method, a parking space model is rapidly selected through SelectModelElements nodes to construct a list, a parking space sequence is randomly disrupted by using List.Shuffle nodes, the number of placed vehicles is accurately calculated according to Count nodes and an input density value, parking space position coordinates are automatically obtained through a series of nodes, vehicle types and placement models are automatically selected, and angles are automatically adjusted, so that manpower and time cost are greatly saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of building modeling, and in particular to a method for quickly placing vehicle models based on Revit and Dynamo. Background Art

[0002] At present, the BIM (Building Information Modeling) technology in China has developed rapidly. The production of roaming videos is an important task in the BIM visualization application. The roaming videos based on BIM models can intuitively experience the usage experience after the completion of the construction project, discover problems in advance, and assist in decision-making.

[0003] Revit is one of the most commonly used BIM modeling software in China, and Dynamo is a secondary development platform for visual programming based on Revit.

[0004] The production of garage roaming videos often requires randomly placing some vehicle models on parking spaces to make the roaming videos look more realistic, and there are many usage scenarios. Revit modeling can only manually select the vehicle type, manually select the random placement points, and click to place. The garage roaming involves a large area, many models, and a large amount of repetitive and cumbersome operations, with a huge workload.

[0005] Therefore, a method is needed that can quickly and randomly place vehicle models and can control the vehicle density in the BIM model through parameters. Summary of the Invention

[0006] The purpose of the present invention is to propose a method for quickly placing vehicle models based on Revit and Dynamo in order to solve the above problems.

[0007] In order to achieve the above purpose, the present invention adopts the following technical solutions:

[0008] A method for quickly placing vehicle models based on Revit and Dynamo includes the following parts:

[0009] S1. Screen out the parking space models that need to place vehicle models in Revit and isolate them;

[0010] S2. In Dynamo, through the SelectModelElements node, select the parking space models at the positions where the vehicle models need to be placed, and construct the corresponding component list L1;

[0011] S3. Randomly shuffle the component list through the List.Shuffle node to obtain a new component list L2;

[0012] S4. Obtain the number of items a of list L2 through the Count node. By inputting the garage car density value b, multiply a by b to obtain the total number c of vehicle models to be created. Determine the random parking space list L3 and obtain its list of position point coordinates L4. Obtain the parking space orientation calculation and adjust the vehicle rotation angle to complete the placement of the vehicle model.

[0013] Preferably, the determining the random parking space list L3 and obtaining its list of position point coordinates L4, obtaining the parking space orientation calculation and adjusting the vehicle rotation angle to complete the placement of the vehicle model specifically includes the following steps:

[0014] S41. Obtain the first c items of list L2 through the List.TakeItems node to get the random parking space list L3 for placing vehicle models.

[0015] S42. Obtain the list of position point coordinates L4 of the parking space family of list L3 through the Element.GetLocation node.

[0016] S43. Select the family type of the vehicle model to be placed through the FamilyTypes node.

[0017] S44. Place the family instance of the vehicle model at the position point coordinates L4 through the FamilyInstance.ByPoint node.

[0018] Preferably, the following parts are also included:

[0019] S45. Obtain the orientation of the parking space family of list L3 through the FamilyInstance.FacingOrientation node, and obtain the rotation angle of the family instance of the vehicle model through the Vector.AngleAboutAxis node.

[0020] S46. Rotate the family instance of the vehicle model through the FamilyInstance.SetRotation node.

[0021] Preferably, S1 specifically includes the following parts: Open the Revit software and enter the project file containing the garage model. Use the selection filter function provided by the Revit software to screen out all the parking space models where vehicle models need to be placed. The parking space models are the parking spaces within the preset area determined by the design plan.

[0022] After the screening is completed, use the isolation function of Revit to display the selected parking space models in the view.

[0023] Preferably, the S2 specifically includes the following parts: Launch the Dynamo plug-in in the Revit interface to enter the Dynamo visual programming environment; Find the SelectModelElements node in the Dynamo node library and drag the node to the workspace; By clicking on the selection area of the SelectModelElements node, box-select or point-select the previously isolated parking space model in the Revit model view; After the selection is completed, Dynamo identifies and obtains the relevant information of the selected parking space model and constructs a corresponding component list L1.

[0024] Preferably, the obtaining the parking space orientation, calculating and adjusting the vehicle rotation angle specifically includes the following parts:

[0025] After obtaining the parking space family orientation vector by the FamilyInstance.FacingOrientation node, obtaining the default orientation vector of the vehicle model family instance based on the vehicle position and obtaining the rotation axis vector, calculate the vector modulus, calculate the vector dot product, calculate the cosine value of the included angle, and finally calculate the rotation angle.

[0026] Preferably, the S3 specifically includes the following parts: Find the List.Shuffle node in the Dynamo workspace and connect it to the previously constructed component list L1; The List.Shuffle node randomly shuffles the input list L1, rearranges the order of the elements in the list L1, and generates a new component list L2.

[0027] Preferably, when there are multiple vehicle family types, split the position point coordinate list L4 into multiple lists, and for each split list, repeat the operations of S43 - S46.

[0028] Preferably, after the vehicle model placement is completed, the placed vehicle model can also be inspected and corrected through Dynamo nodes, specifically including:

[0029] Use the collision detection node in Dynamo to perform collision detection on the placed vehicle model and surrounding building components; Set the accuracy and range of the collision detection. When it is detected that the vehicle model collides with other components, record the vehicle model number and collision position information of the collision;

[0030] For the vehicle model detected to have a collision problem, use the position adjustment node in Dynamo to fine-tune the position of the vehicle model according to the collision situation and the preset adjustment rules;

[0031] Re-check the rotation angle of the vehicle model to ensure that its rotation angle is within the preset range; if it is found that the rotation angle deviation of the vehicle model is greater than the preset range, re-calculate and adjust the rotation angle of the vehicle model by repeatedly executing steps S45 - S46 to make the vehicle head direction consistent with the parking space orientation;

[0032] After completing the position fine-tuning and angle correction, perform collision detection and angle verification again until there are no collision problems for all vehicle models and the rotation angles meet the preset requirements.

[0033] In summary, due to the adoption of the above technical solutions, the beneficial effects of the present invention are:

[0034] 1. By leveraging the visual programming function of Dynamo, the present invention transforms the cumbersome operation of manually placing vehicle models one by one in Revit into an automated process; quickly selects the parking space model construction list through the SelectModelElements node, randomly shuffles the parking space order using the List.Shuffle node, accurately calculates the number of vehicle placements based on the Count node and the input density value, and automatically obtains the parking space position coordinates, selects the vehicle type, places the model, and adjusts the angle through a series of nodes, greatly saving labor and time costs.

[0035] 2. On the one hand, when dealing with garage models of different scales and types, whether it is a large multi-story commercial garage or a small single-story residential garage, the present invention can quickly complete the placement of vehicle models by adjusting relevant parameters; on the other hand, for the complex situation of multiple vehicle family types, by splitting the position point coordinate list L4 and repeating the corresponding operations, the accurate placement of different vehicle types on different parking spaces can be easily achieved. In addition, after placement, the rich node functions of Dynamo can be used to customize the collision detection accuracy, range, and position and angle adjustment rules according to actual needs, and can well adapt to the diverse requirements of different projects for vehicle model placement.

[0036] 3. In application scenarios such as architectural walkthrough video production, the rationality of vehicle density and distribution is crucial for the sense of reality of the scene; the user is allowed to flexibly input the garage car density value b according to different scene requirements, such as a commercial center garage or a low-density residential garage, to control the number of vehicle models; and in the case of multiple vehicle types, different types of vehicles can be accurately placed in the corresponding areas according to the parking space distribution rules. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In the following description of the exemplary embodiments in conjunction with the drawings, more details, features, and advantages of the present application are disclosed. In the drawings:

[0038] Figure 1Flow chart of the present invention; Detailed implementation manners

[0039] Several embodiments of the present application will be described in more detail below with reference to the accompanying drawings so that those skilled in the art can implement the present application. The present application can be embodied in many different forms and for many different purposes and should not be limited to the embodiments set forth herein. These embodiments are provided so that this application will be thorough and complete, and will fully convey the scope of the present application to those skilled in the art. The embodiments do not limit the present application.

[0040] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the relevant art and / or the context of this specification, and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[0041] Please refer to Figure 1 as shown, the present invention provides a technical solution:

[0042] A method for quickly placing vehicle models based on Revit and Dynamo, including the following parts:

[0043] S1. Screen out the parking space models where vehicle models need to be placed in Revit and isolate them;

[0044] S1 specifically includes the following parts: Open the Revit software and enter the project file containing the garage model; Use the selection filter function provided by the Revit software to screen out all the parking space models where vehicle models need to be placed; The parking space models are the parking spaces within the preset area determined according to the design plan;

[0045] After the screening is completed, use the isolation function of Revit to display the selected parking space models in the view;

[0046] S2. In Dynamo, select the parking space models at the positions where vehicle models need to be placed through the SelectModelElements node, and construct the corresponding component list L1;

[0047] S2 specifically includes the following parts: Launch the Dynamo plug-in in the Revit interface and enter the Dynamo visual programming environment; Find the SelectModelElements node in the Dynamo node library and drag it to the workspace; By clicking on the selection area of the SelectModelElements node, box select or point select the previously isolated parking space models in the Revit model view; After the selection is completed, Dynamo identifies and obtains the relevant information of the selected parking space models and constructs a corresponding component list L1; The list L1 stores data such as the unique identifier, geometric information, and location information of each parking space model, facilitating subsequent batch operations on the parking space models;

[0048] S3. Shuffle the component list randomly through the List.Shuffle node to obtain a new component list L2;

[0049] S3 specifically includes the following parts: Find the List.Shuffle node in the Dynamo workspace and connect it to the previously constructed component list L1; The List.Shuffle node performs a random shuffling process on the input list L1, rearranging the order of the elements in the list L1 to generate a new component list L2;

[0050] The random shuffling operation is based on the computer's random algorithm. Each time the node is run, the order of the elements in the obtained list L2 may be different, thus providing a random parking space order for the random placement of vehicle models;

[0051] S4. Obtain the number of items a of the list L2 through the Count node. By inputting the garage vehicle density value b, multiply a by b to obtain the total number c of vehicle models to be created; Determine the random parking space list L3 and obtain its list of position point coordinates L4, obtain the parking space orientation calculation and adjust the vehicle rotation angle to complete the placement of the vehicle models;

[0052] Determine the random parking space list L3 and obtain its list of position point coordinates L4, obtain the parking space orientation calculation and adjust the vehicle rotation angle to complete the placement of the vehicle models, which specifically includes the following steps:

[0053] S41. Obtain the first c items of the list L2 through the List.TakeItems node to get the random parking space list L3 for placing vehicle models;

[0054] S42. Obtain the list of position point coordinates L4 of the parking space family of the list L3 through the Element.GetLocation node;

[0055] S43. Select the family type of the vehicle model to be placed through the FamilyTypes node;

[0056] S44. Place the vehicle model family instance at the position point coordinates L4 through the FamilyInstance.ByPoint node;

[0057] Obtain the parking space orientation calculation and adjust the vehicle rotation angle, specifically including the following parts:

[0058] After obtaining the parking space family orientation vector from the FamilyInstance.FacingOrientation node, obtaining the default orientation vector of the vehicle model family instance based on the vehicle position, and obtaining the rotation axis vector, calculate the vector modulus, calculate the vector dot product, calculate the cosine value of the included angle, and finally calculate the rotation angle;

[0059] Assume that the obtained parking space family orientation vector is

[0060] The default orientation vector of the vehicle model family instance When placing the parking space vehicle on the two-dimensional plane, the default vehicle orientation can be defined as along the positive X-axis, that is

[0061] The rotation axis vector When rotating on the two-dimensional plane (XY plane), the rotation axis is the Z-axis perpendicular to this plane, so the rotation axis vector is

[0062] Calculate the vector modulus:

[0063] The modulus of the parking space family orientation vector According to the modulus formula

[0064] The modulus of the default orientation vector of the vehicle model family instance For Its modulus

[0065] Calculate the vector dot product:

[0066] Calculate And The dot product of:

[0067] Calculate the cosine value of the included angle:

[0068] According to the dot product formula Get

[0069] Substitute the values calculated above into the cosine value calculation formula to get

[0070] Calculate the included angle θ through the inverse cosine function θ = arccos(cosθ);

[0071] That is

[0072] S45. Obtain the orientation of the parking space family of list L3 through the FamilyInstance.FacingOrientation node, and obtain the rotation angle of the vehicle model family instance through the Vector.AngleAboutAxis node;

[0073] S46. Rotate the vehicle model family instance through the FamilyInstance.SetRotation node;

[0074] When there are multiple vehicle family types, split the position point coordinate list L4 into multiple lists, and for each split list, repeat the operations of S43 - S46;

[0075] The specific operation is as follows. According to the parking space distribution rules corresponding to different vehicle family types or preset conditions, split the position point coordinate list L4;

[0076] For example, if the placement areas of different vehicle family types are divided according to the parking space areas, L4 can be split into sub - lists corresponding to the areas according to the area boundaries; for each split list, repeat the operations of S43 - S46 respectively, that is, select the corresponding vehicle model family type, place the vehicle model family instance, obtain the parking space orientation and calculate the rotation angle, and rotate the vehicle model family instance, so as to achieve the accurate placement of multiple vehicle types on different parking spaces;

[0077] After the vehicle model placement is completed, the placed vehicle model can also be inspected and corrected through Dynamo nodes. The specific operations include:

[0078] Use the collision detection nodes in Dynamo (such as nodes specifically for geometric collision detection) to perform collision detection on the placed vehicle model and surrounding building components (such as walls, columns, other vehicle models, etc.); set the accuracy and range of collision detection. When it is detected that the vehicle model collides with other components, record the vehicle model number and collision position information of the collision;

[0079] Among them, the accuracy setting is mainly achieved by setting a minimum distance threshold. For example, set the minimum distance threshold to 0.01 meters, which means that when the distance between the vehicle model and the surrounding components is less than 0.01 meters, it is determined that a collision has occurred; this threshold can be adjusted according to actual needs. In scenarios with higher requirements for model accuracy, a smaller threshold can be set;

[0080] The range can be determined by defining a detection area centered on the vehicle model; for the parking space scenario, the detection area can be set as a rectangular area centered on the vehicle model with a side length that is a certain multiple (such as 1.2 times) of the length and width of the parking space; this can ensure that the collision situation between the vehicle model and surrounding components is detected within a reasonable range;

[0081] For a vehicle model detected with a collision problem or an unexpected position, use the position adjustment node in Dynamo to finely adjust the position of the vehicle model according to the collision situation and the preset adjustment rules;

[0082] For example, if the vehicle model collides with a wall, the vehicle model can be translated a certain distance inward into the parking space, and the translation distance can be calculated based on the overlapping degree of the collision and the size of the parking space;

[0083] If the vehicle model collides with a wall, the vehicle model can be translated a certain distance inward into the parking space; the translation distance is calculated based on the overlapping degree of the collision and the size of the parking space; assume the length of the parking space is L space and the length of the vehicle model is L vehicle and the length of the overlapping part of the collision is L overlap ;

[0084] To avoid the vehicle model colliding with the wall again, the translation distance d translate can be set as d translate = L overlap + ε; where ε is a safety margin and can be set to 0.1 - 0.2 meters according to the actual situation;

[0085] Re-check the rotation angle of the vehicle model to ensure that its rotation angle is within the preset range; if it is found that the rotation angle deviation of the vehicle model is greater than the preset range, by repeatedly executing steps S45 - S46 or using the angle correction node in Dynamo, recalculate and adjust the rotation angle of the vehicle model so that the front direction of the vehicle is consistent with the orientation of the parking space;

[0086] If it is found that the rotation angle deviation of the vehicle model is greater than the preset range (such as ±5°), then the rotation angle needs to be corrected, and the correction methods are:

[0087] Repeatedly execute steps S45 - S46: Re-obtain the orientation of the parking space family, calculate the rotation angle of the vehicle model family instance through vector calculation, and use the rotation node to perform rotation adjustment on the vehicle model;

[0088] Use the angle correction node: There may be a dedicated angle correction node in Dynamo. By inputting the current rotation angle and the target rotation angle, the node can automatically calculate and adjust the rotation angle of the vehicle model so that the front direction of the vehicle is consistent with the orientation of the parking space;

[0089] After completing the position fine-tuning and angle correction, collision detection and angle verification are performed again until there are no collision problems for all vehicle models and the rotation angles meet the preset requirements, ensuring the accuracy and rationality of the placement result of the entire vehicle model.

[0090] After completing the position fine-tuning and angle correction, collision detection and angle verification are performed again. Repeat the above steps until there are no collision problems for all vehicle models and the rotation angles meet the preset requirements. Finally, confirm the accuracy and rationality of the placement result of the entire vehicle model to ensure that in subsequent building roaming videos or other applications, the display and layout of the vehicle model conform to the actual situation.

[0091] The above formulas are all obtained through software simulation by collecting a large amount of data and selecting a formula close to the true value. The influence weight factors and specific coefficient values in the formula are set by those skilled in the art according to the actual situation and can be adjusted and modified later.

[0092] The above description of the embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown herein, but will be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for quickly placing vehicle models based on Revit and Dynamo, characterized in that It includes the following parts: S1. Filter out the parking space models where vehicle models need to be placed in Revit and isolate them; S2. In Dynamo, through the SelectModelElements node, select the parking space models at the positions where vehicle models need to be placed and construct the corresponding component list L1; S3. Randomly shuffle the component list through the List.Shuffle node to obtain a new component list L2; S4. Obtain the number of items a of list L2 through the Count node. By inputting the garage car density value b, multiply a by b to get the total number c of vehicle models to be created; Determine the random parking space list L3 and obtain its position point coordinate list L4, obtain the parking space orientation calculation and adjust the vehicle rotation angle to complete the placement of the vehicle model.

2. The method for quickly placing a vehicle model based on Revit and Dynamo according to claim 1, wherein The determination of the random parking space list L3 and obtaining its position point coordinate list L4, obtaining the parking space orientation calculation and adjusting the vehicle rotation angle to complete the placement of the vehicle model specifically includes the following steps: S41. Obtain the first c items of list L2 through the List.TakeItems node to get the random parking space list L3 where vehicle models need to be placed; S42. Obtain the position point coordinate list L4 of the parking space family in list L3 through the Element.GetLocation node; S43. Select the family type of the vehicle model to be placed through the FamilyTypes node; S44. Place the vehicle model family instance at the position point coordinates L4 through the FamilyInstance.ByPoint node.

3. A method for quickly placing vehicle models based on Revit and Dynamo according to claim 2, characterized in that, It also includes the following parts: S45. Obtain the orientation of the parking space family in list L3 through the FamilyInstance.FacingOrientation node and get the rotation angle of the vehicle model family instance through the Vector.AngleAboutAxis node; S46. Rotate the vehicle model family instance through the FamilyInstance.SetRotation node.

4. A method for quickly placing a vehicle model based on Revit and Dynamo according to claim 1, characterized in that S1 specifically includes the following parts: Open the Revit software and enter the project file containing the garage model; Use the selection filter function provided by the Revit software to filter out all the parking space models where vehicle models need to be placed; The parking space models are the parking spaces within the preset area determined according to the design plan. After the filtering is completed, use the isolation function of Revit to display the selected parking space models in the view.

5. A method for quickly placing vehicle models based on Revit and Dynamo according to claim 1, characterized in that, S2 specifically includes the following parts: Start the Dynamo plugin in the Revit interface and enter the Dynamo visual programming environment; Find the SelectModelElements node in the Dynamo node library and drag the node to the workspace; By clicking on the selection area of the SelectModelElements node, box-select or point-select the previously isolated parking space models in the Revit model view; After the selection is completed, Dynamo identifies and obtains the relevant information of the selected parking space models and constructs the corresponding component list L1.

6. A method for quickly placing vehicle models based on Revit and Dynamo according to claim 3, characterized in that, Obtaining the parking space orientation calculation and adjusting the vehicle rotation angle specifically includes the following parts: After obtaining the parking space family orientation vector from the FamilyInstance.FacingOrientation node, calculating the vector modulus length, calculating the dot product of vectors, calculating the cosine value of the included angle, and finally calculating the rotation angle based on obtaining the default orientation vector of the vehicle model family instance according to the vehicle position and obtaining the rotation axis vector.

7. A method for quickly placing vehicle models based on Revit and Dynamo according to claim 1, characterized in that, S3 specifically includes the following parts: Find the List.Shuffle node in the Dynamo workspace and connect it to the previously constructed component list L1; The List.Shuffle node randomly shuffles the input list L1, rearranges the order of the elements in the list L1, and generates a new component list L2.

8. A method for quickly placing vehicle models based on Revit and Dynamo according to claim 6, characterized in that, When there are multiple vehicle family types, split the list of position point coordinates L4 into multiple lists, and for each split list, repeat the operations of S43 - S46.

9. A method for quickly placing a vehicle model based on Revit and Dynamo according to claim 8, wherein, After completing the placement of the vehicle model, it is also possible to perform inspection and correction operations on the placed vehicle model through Dynamo nodes, specifically including: Using the collision detection node in Dynamo to perform collision detection on the placed vehicle model and surrounding building components; Set the accuracy and range of collision detection. When it is detected that the vehicle model collides with other components, record the vehicle model number and collision position information of the collision; For the vehicle models detected to have collision problems, use the position adjustment node in Dynamo to fine-tune the position of the vehicle model according to the collision situation and the preset adjustment rules; Perform a second verification on the rotation angle of the vehicle model to ensure that its rotation angle is within the preset range; If it is found that the rotation angle deviation of the vehicle model is greater than the preset range, by repeating the steps of S45 - S46, recalculate and adjust the rotation angle of the vehicle model so that the vehicle head direction is consistent with the parking space orientation; After completing the position fine-tuning and angle correction, perform collision detection and angle verification again until all vehicle models have no collision problems and the rotation angles meet the preset requirements.