Revit-based woodworking sample drawing output method
By using an automated method based on Revit, construction detailing drawings are automatically generated, solving the problem of tedious and inefficient traditional carpentry detailing drawing and achieving efficient and standardized construction drawing generation.
Patent Information
- Application Number
- CN202211302733.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-24
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2042-10-24
AI Technical Summary
Traditional carpentry detailing drawings are tedious and inefficient. Drawings exported from existing BIM software require manual addition of component dimensions and annotations, which is prone to omissions and does not comply with national standards.
The Revit-based method for producing carpentry detail drawings automatically defines floor information, matches the section library, prefabricates view template files, and automatically generates construction detail drawings through the API. It also uses the Revit software API to process view styles and annotations, ensuring that the drawings comply with national standards.
It enables the automatic generation of construction detailing drawings from REVIT models, improving work efficiency, ensuring the standardization and completeness of drawings, and reducing human error.
Smart Images

Figure CN115688232B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a woodworking pattern drawing method based on Revit. Background Technology
[0002] Carpentry detailing drawings are essential for construction workers. They integrate various structural components, building elements, and construction details into a single drawing, greatly facilitating the work of construction teams and saving workers significant time spent checking design drawings. However, traditional carpentry detailing drawing requires manual work to meticulously analyze and compile the dimensions, locations, and construction information of each component in the design drawings—a tedious and inefficient process. The increasing volume of construction projects in recent years further consumes the time and energy of carpentry detailing staff.
[0003] Currently, BIM technology is widely used in building construction. The geometric spatial information inherent in the model, along with added engineering information, can be exported as drawings to meet the requirements of construction detailing. However, drawings exported from conventional BIM software still require manual addition of component dimensions, positioning annotations, and key identification information, which is different from directly drawing detailing on two-dimensional drawings. Figure 1 The process is cumbersome and prone to human error. Furthermore, drawings exported from Revit often do not conform to standards in terms of font styles, annotation styles, layers, and legend representation. Summary of the Invention
[0004] The purpose of this invention is to provide a woodworking pattern drawing method based on Revit.
[0005] To address the above problems, this invention provides a method for woodworking detailing and drawing based on Revit, comprising:
[0006] Step 1: Define floor information based on the elevation of the REVIT model, and create a view based on the defined floor information;
[0007] Step 2: The Revit model automatically matches the cross-sectional shapes in the cross-section library of the system to complete the identification of family parameters of the Revit model;
[0008] Step 3: Create a project template file for the aforementioned view, define the drawing standards, and transfer the project standard view;
[0009] Step 4: Select the output drawing type according to the required drawing type, and set the view and legend according to the selected output drawing type;
[0010] Step 5: Automatically generate construction detail drawings based on the selected drawing conditions.
[0011] Furthermore, in the above method, step 1: Define floor information based on the elevation of the REVIT model, and create a view based on the defined floor information, including:
[0012] Step 1.1: The API provided by the Revit model lists all the elevations that the user has set in the Revit model;
[0013] Step 1.2: Create a view based on the defined floor information; and set a view range, which is the floor elevation plus the bottom offset and top offset values; the lower offset distance of the view range is the floor bottom elevation value plus the bottom offset value, and the upper offset distance of the view range is the floor top elevation value plus the top offset value.
[0014] Furthermore, in the above method, step 2: The Revit model automatically matches the section shape in the section library of the system to complete the identification of the family parameters of the Revit model, including:
[0015] Step 2.1: Construct a section library, which includes pre-defined family type parameters;
[0016] Step 2.2: Based on the source of the family library, browse to the directory where the family library is located, which is either the families already loaded in the current Revit model or the families in the disk file.
[0017] Step 2.3: Perform a family library read. When loading family files from the directory where the family library is located, the family files are loaded into the current project;
[0018] Step 2.4: After reading the family files already loaded in the current Revit model, list the read type section families by category, set the matching of family category, model and material in the section mapping table, and set the matching of specific attributes in the attribute mapping column to match the Revit family type parameters with the prefabricated family type parameters in the section library;
[0019] Step 2.5: After completing the matching settings, click the Apply and OK buttons to complete the identification of family parameters in the Revit model.
[0020] Furthermore, in the above method, step 3: pre-fabricate the project template file for the view, define the drawing standards, and transfer the project standard view, including:
[0021] Step 3.1: Create a pre-made standard drawing template file for the project. The project template file allows users to customize and edit the set view template, modifying the line type, line width, text height, and fill legend.
[0022] Step 3.2: Determine the standard for outputting drawings, and iteratively replace the view template according to the project template file.
[0023] Furthermore, in the above method, step 4: Select the output drawing type according to the required output drawing type, and set the view and legend according to the selected output drawing type, including:
[0024] Step 4.1: Define a base class for outputting drawings. The base class provides the functionality for generating views, i.e., calling the output range.
[0025] Step 4.2: After creating the view using the drawing range in the drawing base class in the beam and slab drawing class, determine whether the view uses a project template file. If not, call the Revit software API in the beam and slab drawing class to process the style of the newly generated view: only display Revit family instances, linked models, walls, slabs, model lines, and holes; set the view precision to fine; hide section lines, section frames, and elevations; and draw according to the beam and slab drawing rules.
[0026] Step 4.3: After creating the view using the drawing range in the base class in the wall and column drawing class, determine whether the view uses a view template. If not, call the REVIT software API in the wall and column drawing class to process the style of the newly generated view: only display the linked model, wall, column, model line and hole; set the view precision to fine, hide section lines, section frame and elevation, and draw according to the wall and column drawing rules.
[0027] Step 4.4: Use the Revit software API to provide the beam and slab drawing types and wall and column drawing types to the Revit menu, obtain the type of drawing required by the user, and then click "Draw - Beam and Slab" or "Draw - Wall and Column" to generate the drawing.
[0028] Furthermore, in the above method, step 5: automatically generating construction detailing drawings based on the selected drawing conditions, includes:
[0029] Step 5.1: Create dimensioning and positioning for general horizontal and vertical components in the plane, including: obtaining the GeometryElement value of the model Element provided by the Revit software API. The GeometryElement value records the three-dimensional geometric information of the model, the face, and the edges that make up the face. Based on the family parameters of the Revit model, obtain the actual length, width, and height information of the component. After creating the dimensioning, annotate the distance from the component edge to the grid.
[0030] Furthermore, in the above method, step 5: automatically generating construction detailing drawings based on the selected drawing conditions, includes:
[0031] Step 5.2: Parallel components generally use continuous dimensioning, including: creating positioning dimensions for each component that meets the parallel conditions, calculating the distance between the nearest endpoints of the line projected onto the line, identifying lines less than a specific base number, merging collinear and intersecting dimensions until there are no more objects to merge in the current Dimension collection, if there are dimensions with a length of 0 in the view, rebuilding the references, and cleaning up the dimension segment with a length of 0.
[0032] Furthermore, in the above method, step 5: automatically generating construction detailing drawings based on the selected drawing conditions, includes:
[0033] Step 5.3: Implementation of opening annotation, including: dividing the slab openings and wall openings from the Revit model, obtaining the opening information, and then using the Revit interface to create dimension annotations to generate the positioning of the openings to the axis.
[0034] Furthermore, in the above method, step 5: automatically generating construction detailing drawings based on the selected drawing conditions, includes:
[0035] Step 5.4: Identify the armpit model and obtain the data needed for plotting the armpit model;
[0036] Step 5.5: Non-orthogonal component annotation, including: First, clarify the definition of oblique components. Components that are not parallel or perpendicular to the axis are oblique components. Locate the intersection point of the edge line of the end of the oblique component with the edge line of other components to the nearby axis.
[0037] Furthermore, in the above method, step 5: automatically generating construction detailing drawings based on the selected drawing conditions, includes:
[0038] Step 5.6: Remove duplicates from all annotations, including: using the Revit geometry library Curve.Intersect to determine if line segments overlap, using Location.Move to move intersecting annotations, creating an initial value to move the annotation to the initial value, and finally using a While loop to move the annotations to the optimal placement position. The optimal placement position is 200mm away from the nearest annotation.
[0039] Compared to existing technologies, this invention can automatically generate woodworking detailing drawings by customizing the elevation and view range of a Revit model. Pre-made view templates control the line type, fill, and other symbols in the output drawings, ensuring compliance with national standards. Through data interaction between this invention and Revit, model families are read, and annotations and positioning are automatically generated for all types of basic and special components, ensuring no omissions in the drawings. One-click generation of construction drawings significantly improves the work efficiency of construction personnel and guarantees the standardization and completeness of drawings based on Revit technology, truly enabling the practical application of Revit for on-site construction drawing production. Attached Figure Description
[0040] Figure 1 This is a flowchart of a woodworking detailing and drawing method based on Revit, according to an embodiment of the present invention.
[0041] Figure 2 This is a schematic diagram of the interface for selecting floors and confirming the drawing range according to an embodiment of the present invention;
[0042] Figure 3 This is an embodiment of the present invention: Project 1 - Automatically generates standard drawing style beam and slab diagrams;
[0043] Figure 4 This is an embodiment of the present invention, Project 2, which automatically generates standard drawing style beam and slab diagrams;
[0044] Figure 5 This is an embodiment of the present invention that automatically generates standard drawing style wall and column diagrams for a certain project. Detailed Implementation
[0045] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0046] like Figures 1 to 5 As shown, this invention provides a woodworking detailing and drawing method based on Revit, comprising:
[0047] Step 1: Define floor information based on the elevation of the Revit model, and create a view based on the defined floor information. This includes the following steps:
[0048] Step 1.1: The API provided by the Revit model lists all the levels that the user has set in the Revit model.
[0049] In this system, most architectural elements (such as floor slabs and beams) are defined primarily by elevation, while other elements (such as columns and walls) are constrained by elevation. The system retrieves the elevations selected by the user from a list of elevations to define the floors. These selected elevations define the floor information. A floor is defined by two adjacent elevations. At least two elevations must be selected to define the floor. At the highest elevation, a roof level is automatically defined.
[0050] Step 1.2: Create a view based on the defined floor information; and set a view range, which is the floor elevation plus the bottom offset and top offset values; the lower offset distance of the view range is the floor bottom elevation value plus the bottom offset value, and the upper offset distance of the view range is the floor top elevation value plus the top offset value.
[0051] Step 2: The Revit model automatically matches the cross-sectional shapes in the system's cross-section library to identify the family parameters of the Revit model. This includes the following steps:
[0052] Step 2.1: Construct a section library, which includes pre-built family type parameters. The text description format for the section information of the family type parameters in the section library is [Type = section type or section shape; h = xxx; b = xxx; ...]. Enter the component library that comes with the Revit software and custom components, classifying them according to section type or section shape. h and b are the description information of each edge of the section, forming a library that records various sections.
[0053] Step 2.2: Depending on the source of the family library, browse to the directory where the family library is located, which contains families already loaded in the current Revit model (whether only sample families are read) or families from disk files.
[0054] Step 2.3: Perform family library read. When loading family files from the directory where the family library is located, the family files are loaded into the current project; external family file identification is completed in a blank Revit model, and identified family files do not need to be identified again subsequently. This invention adds a Type parameter to the family without making any other modifications to the family file.
[0055] Step 2.4: Match Family Parameters. After reading the family files already loaded in the current Revit model, list the read type section families by category. In the section mapping table, match the family category, model, and material grade. In the attribute mapping column, match the specific attributes to match the Revit family type parameters with the pre-built family type parameters in the section library to correctly identify the family parameters of the Revit model. Match other attributes similarly.
[0056] Step 2.5: After completing the matching settings, click the Apply and OK buttons to complete the identification of family parameters in the Revit model.
[0057] Step 3: Create a pre-built project template file for the view, define the drawing standards, and transfer the project standard view. This includes the following steps:
[0058] Step 3.1: Create a pre-made standard drawing template file for the project. The project template file allows users to customize and edit the set view template, modifying the line type, line width, text height, and fill legend.
[0059] Step 3.2: Determine the standards for output drawings, and iterate and replace the view templates according to the project template file. Select the "Transfer Project Standards" button in Revit "Manage" to copy and replace the settings of the current project with the settings of the project template file.
[0060] Step 4: Select either beam / slab drawing or wall / column drawing according to the required drawing type. Choose the drawing type based on the desired output drawing format, and set the views and legends accordingly. This includes the following steps:
[0061] Step 4.1: Define a base class for drawing output, which provides the functionality for view generation, i.e., calling the drawing scope (view generation) module. Derive two subclasses from this base class: beam and slab drawing output, and wall and column drawing output.
[0062] Step 4.2: After creating the view using the drawing scope (view generation) module in the beam / slab drawing class, determine if the view uses a project template file. If not, call the Revit software API in the beam / slab drawing class to style the newly generated view: only display Revit family instances, linked models, walls, slabs, model lines, and holes; set the view precision to fine; and hide section lines, section frames, and elevations. Render the view according to the beam / slab drawing rules.
[0063] Step 4.3: After creating the view using the drawing range (view generation) module in the base class in the wall / column drawing class, determine whether the view uses a view template. If not, call the REVIT software API in the wall / column drawing class to process the style of the newly generated view: only display linked models, walls, columns, model lines, and holes; set the view precision to fine; and hide section lines, section frames, and elevations. Render the view according to the wall / column drawing rules.
[0064] Step 4.4: Use the Revit software API to add beam / slab and wall / column drawing types to the Revit menu. Users select the type of drawing to be generated and click "Draw - Beam / Slab" or "Draw - Wall / Column" to generate the drawing.
[0065] Step 5: Automatically generate construction detailing drawings based on the selected drawing conditions. The system automatically generates various annotations for the components in the 2D drawing based on their dimensional information in the Revit model, such as section annotations, elevation annotations, and opening annotations. It also generates the positioning of the components relative to axes based on their spatial location in Revit, such as opening positioning, beam positioning, and wall / column positioning. Specifically, this includes the following steps:
[0066] Step 5.1: Create dimensioning and positioning for general horizontal and vertical components in the plane. Obtain the GeometryElement value of the model Element provided by the Revit software API. This value records the model's 3D geometric information, face, and edges that make up the face. Based on the Revit model's family parameters (Step 2.4), obtain the actual length, width, and height information of the component. After creating the dimensioning, annotate the distance from the component's edge to the grid.
[0067] Step 5.2: Use continuous dimensioning for general parallel components. Create a positioning dimension for each component that meets the parallel conditions. Calculate the distance projected onto the line between the nearest endpoints of the lines, identify lines with a distance less than a certain base, and merge collinear and intersecting dimensions until there are no more objects to merge in the current Dimension collection. If there are dimensions with a length of 0 in the view, rebuild the references and clean up the dimension segments with a length of 0.
[0068] Step 5.3: Implementation of opening annotation. After dividing the slab openings and wall openings from the Revit model and obtaining the opening information, the Revit interface for creating dimension annotations is used to generate the positioning of the openings to the axis.
[0069] The technical approach used to divide slab openings and wall openings is the same. Taking the division of slab openings as an example: the geometric data GeometryElement of the floor slab model is obtained from the drawing through the Revit interface. From this data, the Face of each slab and the Edge of the constituent faces can be obtained.
[0070] After obtaining the top surface of the board, collision checks are performed on both sides of the edge that constitutes the top surface of the board. If there is no model at this position, and this position is inside the polygon of the board surface, or the opening is blocked by other models, the system determines it as a board hole, thus realizing the acquisition of the board hole.
[0071] In this process, model collision calculation directly uses the interfaces provided by Revit. To improve the efficiency of model collision calculation, the Revit model collision interface is encapsulated. First, the fast collision interface BoundingBoxIntersectsFilter is used, which can filter out most of the models after running. Then, the Revit solid collision calculation interface ElementIntersectsSolidFilter is used. This interface has low internal running efficiency but very high accuracy. In order to more accurately calculate model collision and stretch the model solids, the GeometryCreationUtilities interface provided by Revit is used.
[0072] Step 5.4: Implement armpit annotation, identify the armpit model, and obtain the data needed for plotting the armpit model.
[0073] The Revit interface is called to filter the haunch model from Revit by family name, resulting in haunch model data. The raw data in Revit needs to undergo the following processing to further obtain data: after constructing the STSegment, construction annotations for the haunch model are generated on the Revit drawing as required.
[0074] Specifically, let's take beam armholes as an example: The identification method involves using a family name containing "beam armhole". Based on the values of the beam armhole family parameters, the drawing data is obtained: length and height. The original data (unit: feet) of the beam armhole length and height are obtained from Revit, converted to millimeters, and after constructing the STSegment data structure, the armhole component can be labeled and drawn.
[0075] Step 5.5: Labeling of non-orthogonal components. First, clarify the definition of an oblique component. A component that is not parallel or perpendicular to the axis is an oblique component. The intersection of the edge line of an oblique component with the edge line of other components must be located on the nearby axis.
[0076] Specifically, the intersection point of the end edge of the inclined member with the edge of other members is determined. After obtaining the intersection point, a dimensioning interface is created in Revit to generate the positioning to the nearby axis.
[0077] To acquire model data, the Revit interface FilteredElementCollector is used. However, since critical data such as component edges cannot be obtained directly using the Revit interface, an intermediate parameter, CenterCurve, is specifically set when defining the data structure. After obtaining the values of this data structure, it is simply a matter of finding the intersection points of the lines. Finally, based on the obtained positions, a dimensioning interface is created using Revit to achieve the positioning and dimensioning of non-orthogonal components.
[0078] Step 5.6: Remove duplicates from all annotations. Use the Revit geometry library's Curve.Intersect to determine if line segments overlap. For intersecting annotations, use Location.Move to move them. Prefab an initial value and move the annotation to the initial value. Finally, use a While loop to move the annotations until they are in the optimal placement position. The prefab optimal placement position is 200mm away from the nearest annotation.
[0079] In summary, this invention can automatically generate carpentry detailing drawings by customizing the elevation and view range of a Revit model. By controlling the line type, fill, and other legends in the output drawings through pre-made view templates, it ensures that the drawings conform to national standards. Through data interaction between this invention and Revit, it automatically generates annotations and positions for various basic and special components, ensuring that the drawings are complete. One-click generation of construction drawings significantly improves the work efficiency of construction personnel and ensures the standardization and completeness of drawings based on Revit technology, truly realizing the practical application of Revit for on-site construction drawing production.
[0080] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0081] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0082] Obviously, those skilled in the art can make various modifications and variations to the invention without departing from the spirit and scope of the invention. Therefore, if these modifications and variations fall within the scope of the claims of the invention and their equivalents, the invention is also intended to include these modifications and variations.
Claims
1. A woodworking detailing and drawing method based on Revit, characterized in that, include: Step 1: Define floor information based on the elevation of the REVIT model, and create a view based on the defined floor information; Step 2: The Revit model automatically matches the cross-sectional shapes in the cross-section library of the system to complete the identification of family parameters of the Revit model; Step 3: Create a project template file for the aforementioned view, define the drawing standards, and transfer the project standard view; Step 4: Select the output drawing type according to the required drawing type, and set the view and legend according to the selected output drawing type; Step 5: Automatically generate construction detail drawings based on the selected drawing conditions; Step 1: Define floor information based on the elevation of the Revit model, and create a view based on the defined floor information, including: Step 1.1: The API provided by the Revit model lists all the elevations that the user has set in the Revit model; Step 1.2: Create a view based on the defined floor information; and set a view range, which is the floor elevation plus the bottom offset and top offset values; the lower offset distance of the view range is the floor bottom elevation value + bottom offset value, and the upper offset distance of the view range is the floor top elevation value + top offset value. Step 2: The Revit model automatically matches the section shapes in the section library of the system to complete the identification of family parameters of the Revit model, including: Step 2.1: Construct a section library, which includes pre-defined family type parameters; Step 2.2: Based on the source of the family library, browse to the directory where the family library is located, which is either the families already loaded in the current Revit model or the families in the disk file. Step 2.3: Perform a family library read. When loading family files from the directory where the family library is located, the family files are loaded into the current project. Step 2.4: After reading the family files already loaded in the current Revit model, list the read type section families by category, set the matching of family category, model and material in the section mapping table, and set the matching of specific attributes in the attribute mapping column to match the Revit family type parameters with the prefabricated family type parameters in the section library; Step 2.5: After completing the matching settings, click the Apply and OK buttons to complete the identification of family parameters in the Revit model; Step 3: Pre-create the project template file for the aforementioned view, define the drawing standards, and transfer the project standard view, including: Step 3.1: Create a pre-made standard drawing template file for the project. The project template file allows users to customize and edit the set view template, modifying the line type, line width, text height, and fill legend. Step 3.2: Determine the standards for outputting drawings, and iteratively replace the view templates based on the project template files; Step 4: Select the output drawing type according to your needs, and set the view and legend according to the selected output drawing type, including: Step 4.1: Define a base class for outputting drawings. The base class provides the functionality for generating views, i.e., calling the output range. Step 4.2: After creating the view using the drawing range in the drawing base class in the beam and slab drawing class, determine whether the view uses a project template file. If not, call the Revit software API in the beam and slab drawing class to process the style of the newly generated view: only display Revit family instances, linked models, walls, slabs, model lines, and holes; set the view precision to fine; hide section lines, section frames, and elevations; and draw according to the beam and slab drawing rules. Step 4.3: After creating the view using the drawing range in the base class in the wall and column drawing class, determine whether the view uses a view template. If not, call the REVIT software API in the wall and column drawing class to process the style of the newly generated view: only display the linked model, walls, columns, model lines, and holes; set the view precision to fine; hide section lines, section frames, and elevations; and draw according to the wall and column drawing rules. Step 4.4: Use the Revit software API to provide the beam and slab drawing types and wall and column drawing types to the Revit menu, obtain the type of drawing required by the user, and then click "Draw - Beam and Slab" or "Draw - Wall and Column" to generate the drawing.
2. The woodworking detailing and drawing method based on Revit as described in claim 1, characterized in that, Step 5: Automatically generate construction detailing drawings based on the selected drawing conditions, including: Step 5.1: Create dimensioning and positioning for general horizontal and vertical components in the plane, including: obtaining the GeometryElement value of the model Element provided by the Revit software API. The GeometryElement value records the three-dimensional geometric information of the model, the face, and the edges that make up the face. Based on the family parameters of the Revit model, obtain the actual length, width, and height information of the component. After creating the dimensioning, annotate the distance from the component edge to the grid.
3. The woodworking detailing and drawing method based on Revit as described in claim 2, characterized in that, Step 5: Automatically generate construction detailing drawings based on the selected drawing conditions, including: Step 5.2: Parallel components generally use continuous dimensioning, including: creating positioning dimensions for each component that meets the parallel conditions, calculating the distance between the nearest endpoints of the line projected onto the line, identifying lines less than a specific base number, merging collinear and intersecting dimensions until there are no more objects to merge in the current Dimension collection, if there are dimensions with a length of 0 in the view, rebuilding the references, and cleaning up the dimension segment with a length of 0.
4. The woodworking detailing and drawing method based on Revit as described in claim 3, characterized in that, Step 5: Automatically generate construction detailing drawings based on the selected drawing conditions, including: Step 5.3: Implementation of opening annotation, including: dividing the slab openings and wall openings from the Revit model, obtaining the opening information, and then using the Revit interface to create dimension annotations to generate the positioning of the openings to the axis.
5. The woodworking detailing and drawing method based on Revit as described in claim 4, characterized in that, Step 5: Automatically generate construction detailing drawings based on the selected drawing conditions, including: Step 5.4: Identify the armpit model and obtain the data needed for plotting the armpit model; Step 5.5: Non-orthogonal component annotation, including: First, clarify the definition of oblique components. Components that are not parallel or perpendicular to the axis are oblique components. Locate the intersection point of the edge line of the end of the oblique component with the edge line of other components to the nearby axis.
6. The woodworking detailing and drawing method based on Revit as described in claim 5, characterized in that, Step 5: Automatically generate construction detailing drawings based on the selected drawing conditions, including: Step 5.6: Remove duplicates from all annotations, including: using the Revit geometry library Curve.Intersect to determine if line segments overlap, using Location.Move to move intersecting annotations, creating an initial value to move the annotation to the initial value, and finally using a While loop to move the annotations to the optimal placement position. The optimal placement position is 200mm away from the nearest annotation.
Citation Information
Patent Citations
Revit-based fabricated shear wall automatic modeling method and system
CN113360965A
Efficient revit-based complex piled raft foundation parameterization deepening design method
CN114818074A